Starting work on Asterisk: TFoT 3rd edition

As many of you know, I’m a co-author of Asterisk: The Future of Telephony. While my girlfriend is away in Mexico for a week with the girls, I’m going to try and focus a bunch of attention on getting A:TFoT 3rd edition started (which is much overdue).

If you have any ideas for topics you would like covered in the new edition, or something that wasn’t covered as heavily as you wanted in the 1st and 2nd editions, feel free to let me know, and your ideas will be considered! I hope to get the installation chapter written today, and as things progress, we’ll get them posted up on the web (likely somewhere on http://www.asteriskdocs.org) for review by the community.

We’re going to try and write mostly in the open as we have things ready to go, so a more thorough community review can be done this time around rather than the closed review we’ve used in the past and the “get it when it’s done” approach.

16 Responses

There isn’t really much to running Asterisk on a virtual machine outside of running it like normal. I’ve run several Asterisk systems on virtual machines, and I don’t do anything different just because of it. Just install dahdi_dummy just like you would if you didn’t have hardware, and be done with it.

That in and of itself might be worth mentioning. Personally I like the idea of mentioning VMs with Asterisk, although I agree that for the most part, there isn’t really anything that needs to be done differently.

My experience is very different from yours. Timing glitches causing dropped frames etc. is common when running inside a virtual machine is common and impossible to troubleshoot. The worst part is that you don’t know if it’s the virtual environment or something in the latest Asterisk which you just upgraded to that causes it and you start chasing ghosts after a while. I tend to stay away from it.

I’m honestly not too sure how much can really be done about that. You’ve virtualized the environment the timing is coming from a kernel that is virtualized, so unless you’re running something like Xen which is a little closer to host kernel, there may be very little that can be done about that.

I’ve experienced that kind of thing as well, and typically it’s the virtual machines (or the host) doing too much “stuff” and eliminating contentions from the CPU seems to be the solution to that. However, I don’t run enough virtual machines in busy production environments to really be able to speak at length about such a subject. I think Jim is probably right though, in that it deserves at least an honorable mention.

I would like to have a whole section on Real Time Asterisk rewritten, expanded, drop postgres, expand ODBC, bring it up to date. Also, I would like to see at least some focus on external tools integration (receptionist, jabber, unified messaging) and video conferencing. Otherwise, the book is awesome! [d]

I would like to see more on Real-time and AEL. Although I am successfully runnin a hosted PBX solution which I myself programmed using Asterisk realtime architecture and AEL, but it was a lot of guess work programming it, and still there are things which I don’t know how to do, e.g. when a user changes his sip secret, unless I do a sip reload, asterisk doesn’t update it. prune realtime bla bla bla I have no idea how it works and seems like it doesn’t work for me. I never had luck with real-time in Asterisk 1.6. So a better detail on real-time is good to have in the next edition of this beautiful book.

AEL now I know good enough, but there are many who don’t and they could be better at dial plan programming if they knew it.

There’s a lack of documentation on asterisk clustering.
As i’m working on deploying a voice message broadcasting service, i would like to have more background on clustering and load balancing in asterisk.

This is probably one of the more requested items and we are definitely covering it. We’ll be delving into defining the differences between fault tolerance, clustering, load balancing, and “five-nines” and what that really means.

Although there is a lot on Internet about the installation of Asterisk. This part remain unclear.
I would love to have more details on the needed package for the installation of Asterisk and add-on. (need of libeditline0?, DAHDI instead zaptel, libtonezone1, fxload, …)
And there is not much about Debian package needed for the installation.
There have been quite new developpements on asterisk and some documentation are a bit out of date.

New exemples about extensions.ael instead of extensions.conf.

More detailed explanations about the processing with calls and the use of [peer] [friend] [user]. These terms are subject to a lot of confusions in the community.

The differences between authentication, secret, remotesecret, and md5secret as there is so much mix by the VoIP providers.
i.e. the examples in the 2nd edition book for provider in Switzerland don’t work at all. For instance, only the “secret” and the “defaultuser” paramterers are required to login by the provider.
No need at all for “authentication” nor “remotesecret” paramters.

Most of this is being covered actually. We’re only a few days away from our first draft of the book, so it’s too late to request any new content, but you’re welcome to see what we’ve done at http://ofps.oreilly.com.

The book is entering Q2 which means we have one last chance to review a couple of minor things, and then it goes back to O’Reilly for page breaking, and then printing! We should see a print edition shipping in April 2011!