Home » Technology » The Digium Conundrum: Will Asterisk Be Just Another Asterisk on the VoIP Radar

The Most Versatile VoIP Provider: FREE PORTING

The Digium Conundrum: Will Asterisk Be Just Another Asterisk on the VoIP Radar

blankIt’s been several months since we last addressed the "Asterisk® Problem" and much has been written and spoken on the subject since then. In a nutshell, the problem is the code changes made in each new version of Asterisk which break existing business applications. We’ve come to a better appreciation of the point of view of some of the Asterisk developers. But I’m sorry to say they haven’t budged. The good news is that much has changed for the better in spite of the Asterisk developers. And today we wanted to share some of those developments with you.

The Developer Mentality. Suffice it to say that the Asterisk development community is quite small and mostly driven (like most programmers) by a fierce sense of independence. The puzzling part is that most of these guys (and it is an all-male club) work for companies that make their living in the Asterisk marketplace, either manufacturing or selling hardware for Asterisk-based telephony systems. For the most part, however, these companies are hardware peddlers rather than system integrators. One fact of life has become crystal clear. New versions and new beta releases NEVER break existing hardware. Why? Because these are the companies that feed these guys. "Whose bread I eat, his song I sing" goes the old adage. So hardware that was purchased in the Asterisk 1.2 days still works equally well with the latest 1.6 beta releases. Thank you very much.

Business application software for Asterisk is an altogether different equation. Here the developer mantra goes something like this. You’re using our code for free, and we’ll improve it in any way we think is best. If it breaks your application code, too damn bad! You can either fix it, stop using it, or go elsewhere. And we really don’t care which option you choose. The sad part of that mentality is a total lack of appreciation for the fact that, once demand for Asterisk systems in the business community dries up, the demand for Asterisk hardware will also take a nosedive.

The types of business applications that have been broken are major, not organization-specific. For example, Asterisk 1.4 broke the open source fax application. And Asterisk 1.6-beta broke both the open source and commercial text-to-speech (TTS) engines. The sad part is that the applications were broken by trivial code changes in Asterisk that just as easily could have been accomplished without breaking any application code.

This development approach, of course, keeps Asterisk out of most major corporations and government organizations even though it is an almost perfect fit for many of them. Why? It’s pretty simple. Business application software in most major organizations isn’t written in house. It’s developed by outside contractors who typically bid on a project, win the bid, develop the software application, and move on. Three to five years later, they usually are not around to rebuild something that the Asterisk developers have broken with their "improvements." Since phone systems usually are measured in decades and Asterisk releases are measured in years, it’s a pretty terrible fit for most major corporations and government organizations. Can you imagine a WalMart or a Hilton Hotel replacing their telephony applications every couple of years because all of their fax capability suddenly vanished? The same is equally true in the medical and legal communities as well as in major real estate and construction companies. Earth-to-Digium®: Companies have more to do than babysit their phone systems.

What we said four months ago is equally true today. When we began the PBX in a Flash project last November, our emphasis was radically different than some of the other Asterisk aggregations. First and foremost, we wanted a product that was stable. Of equal importance was our own Big Easy: easy to use, easy to enhance, and easy to upgrade. We didn’t want users or VARs having to reinvent the wheel each time a security patch or new enhancement was released. To look at it from the customer side, no business (that wants to stay in business) will tolerate a phone system that is routinely out of service for upgrades much less one that takes away features that the business depends upon. Whether it’s Caller ID, or Text-to-Speech, or Screen Pops, or Conferencing, or Phone Blasting, or even a Call Center really doesn’t matter. It does no good to tell a customer that they lost critical functionality but now they have the latest version of Asterisk. You can add your own customer expletive here if you’ve ever tried this approach in the real world.

In the good old days when there wasn’t much of a feature set and when no business would stake their livelihood on Asterisk, it really didn’t much matter when a new version of Asterisk was released. To put it charitably, things could only get better. But, businesses now rely upon Asterisk. So the dynamics are quite different. It’s no longer acceptable to trash big chunks of code without making certain that you didn’t break something that was already working. It’s no longer acceptable to invent new verbs in the programming language while deleting commands that used to work.

The Good News. There really is a silver lining to this story. There’s a new game in town: FreeSwitch. It may take a year, but this is an all new technology with a team of developers with an all new attitude about software development. This is a product that is being developed from the ground up to meet business needs. It employs modern, business interfaces with which most major organizations are already familiar. Can it do what Asterisk can do? For the 60% of Asterisk functions that already work, FreeSwitch not only gets a check mark but the performance improvement is staggering. And for the 60% of FreeSwitch functions that Asterisk can’t do at all… well, you’ll just have to try it. Give them six to twelve more months, and we predict the trickle of Asterisk defections is going to turn into a stampede. Both a Windows implementation for your desktop and a turnkey Linux install via ISO are now available. What’s still missing is a tool as simple as FreePBX to actually configure everything, but rumor has it that there are several GUI interfaces in the pipeline. And for the short term, nothing could be much simpler than the XML code that makes FreeSwitch tick. Indeed, dozens and dozens of sample XML scripts are already available which mirror most major Asterisk functions and dialplan applications.

And More Good News. The problem with breaking generic business applications is that the developers who initially wrote the open source apps are no longer around or interested in Asterisk. Wonder why? In any case, thanks to Antonio Gallo, open source faxing for Asterisk 1.4 is back. And, thanks to Darren Sessions, open source text-to-speech with Flite for Asterisk 1.4 and 1.6 is a reality once again. Installation on CentOS systems still is a bit hairy. So we will include Flite for both Asterisk 1.4 and 1.6 in our new PBX in a Flash 1.3 release next week. And faxing will return for Asterisk 1.4 in our first SUSHI update shortly thereafter. Enjoy!

Another Good Read: Open Source VoIP: Asterisk or FreeSwitch by David Greenfield

And Another: Asterisk vs. FreeSwitch by Anders Brownworth


 

Special Thanks to Our Generous Sponsors


FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.

blankBOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.

blankThe lynchpin of Incredible PBX 2020 and beyond is ClearlyIP components which bring management of FreePBX modules and SIP phone integration to a level never before available with any other Asterisk distribution. And now you can configure and reconfigure your new Incredible PBX phones from the convenience of the Incredible PBX GUI.

blankVitalPBX is perhaps the fastest-growing PBX offering based upon Asterisk with an installed presence in more than 100 countries worldwide. VitalPBX has generously provided a customized White Label version of Incredible PBX tailored for use with all Incredible PBX and VitalPBX custom applications. Follow this link for a free test drive!
 

blankSpecial Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.
 


Some Recent Nerd Vittles Articles of Interest…


13 Comments

  1. I look forward to Free Switch; I cringe every time I have to upgrade asterisk! I had to completely re-implement a system last year because of the 1.2->1.4 changes. I’m not sure I’ll ever go to 1.6 if I have an option not to. Thank you for giving us something stable to work from… it saves me a good chunk of time over building the system from scratch.

  2. Finally! I will be testing this, I am still using 1.4 and 1.2, I have clients I haven’t been able to upgrade to 1.4 because of some custom integratiosn that no longer work, and would cost too much to update. And I see the same thing is going to happen to my new clients once 1.4 becomes obsolete… It’s going to be another PITA.

    I really hope FreeSwitch gets to the point Asterisk is right now, and we’ll see if Asterisk development will listen then!

    Thanks for the info Uncle Ward!

  3. Speaking of Open Source fax, I found all of the files for setting up SpanDSP and installing app_rxfax and app_txfax – except for the asterisk patch file. Every download link I came across was a dead end. Let me know if anyone finds it.

    I really liked your contrasting of hardware backward compatibility to software backward compatibility. Great point.

  4. I like the concept of freeswitch. Much like Asterisk it will need a GUI to gain mainstream apeal I and technical people such as myself could probably do well with a book called freeswitch the new face of telephony’s future ( I want a penny a book if you use that)… anyhow the only thing missing is good Hardware support. It works now but think the setup is over complicated or under documented. Over all solid hardware support + Gui for the mainstream it will deffinately compete.

  5. Ward,
    A fine article you’ve written! FreeSWITCH is definitely on the rise. The shortcomings are, as usual, the things that programmers and developers like doing the least: GUIs and documentation. We are working diligently on both fronts. Hopefully things will continue to improve steadily as they have been doing for the past few years. We have quite a number of "Asterisk refugees" coming over and we are trying our best to get them up to speed. BTW, if you are familiar with both Asterisk and FreeSWITCH then we invite you to add your knowledge to the "Rosetta Stone" document:
    http://wiki.freeswitch.org/wiki/Rosetta_stone

    Thanks again for a great article. We look forward to seeing "Uncle Ward" cook up some more goodies based on FreeSWITCH!

    -MC

  6. For a terrific FreeSwitch tutorial with sample code that will get you up and running with trunks, extensions, voicemail, and an IVR in less than 5 minutes, go here.

  7. So, does this mean that PBXiaF 1.4 (or 2.0) will be based on FreeSwitch? Can you post a link to any of the GUI projects in development for FreeSwitch? Also, how well does the Windows implementation of FreeSwitch work?

    I have been in love with Asterisk since the day I picked up the first edition O’Reilly book about it. I really wish the developers would wake up and smell the coffee. They need to take a look at another up-and-coming open source project which have multiple versions out: Linux. When a new major kernel version is released, does the Linux community change programming structure on the whim? No. They know it would break things and that would discourage people from using it. Do the good folks at Digium think that the Asterisk community is any different?

    [WM: No news yet on PBXiaF 1.4. As for a GUI, I’ve updated the article and added a link, but here it is again.]

  8. Good article, I had been hoping for some time that you might do a similar piece on Callweaver, a open source project that addresses many of the shortcomings of asterisk. The big advantage for all those using asterisk is that Callweaver is similar enough that the front end FreePbx would work with it with limited modification. However not having the technical depth in linux or programming have never tried to get it going.

  9. Another nail in the coffin…

    On Wednesday 13 August 2008 08:27:00 Kevin P. Fleming responded to Ralfe Poisson:

    >> Ralfe Poisson wrote:
    > > I’m busy developing an AGI application which was working well under 1.4.
    > > I’ve just upgraded to Asterisk 1.6 and am having two issues which I can’t seem to sort out.
    >
    >
    > Kevin Fleming’s response:
    > Your problems are caused by using vertical bar (pipe) characters as
    > argument separators; Asterisk 1.6 supports *only* commas as argument
    > separators to applications, unlike 1.2 and 1.4 which supported both.
    >
    > This is documented in the UPGRADE.txt file, and that file even tells you
    > about a configuration option to provide backward compatibility if you
    > need it. Please read the upgrade documentation when upgrading to new
    > major releases of Asterisk 🙂

  10. Based on some of the comments I’ve read here it should be pointed out that FreeSwitch is NOT an Asterisk clone. Just as TDM types like to think inside the box about SIP, please don’t use Asterisk to measure FreeSwitch or OpenSER – they are fundamentally different. FreeSwitch et al does SIP and only SIP – RTP is on it’s own. All other applications bolt on (typically with "XML"). This puts FreeSwitch MILES ahead of the pack when doing collaboration and presence (FMC and all the rest).

    VoIP is about to take off (for real this time).

  11. Thanks for this great article, which is accurate. My efforts on new products or deployments are all with FreeSWITCH and I must say it’s ready for serious usage.

    Of course there’s a lack of a GUI and documentation, which I’m sure will soon be solved. As it is now, it’s better than any other solution I’ve seen.

Comments are closed.