, I sat down with Digium's Steve Sokol, Asterisk Marketing Director,
to discuss the big
Asterisk 10 release. It's quite the version leap from 1.1, 1.2, 1.4 , 1.6, to 1.8 - and now to 10.0. Ironically, I knocked Asterisk's small version increments when I spoke with Mark Spencer 1-3 years ago. I asked Mark why the version numbering scheme was still less than 2.0. To me it seemed like Mark was rebelling against the typical software companies (Microsoft, Adobe, etc.), which release a major new version number pretty quickly.
I personally think Mark and his developer team wore their low numbering scheme as a badge of honor. Developers are all about adding more features, but more importantly under-promising and over-delivering to their users. Marketing and executives on the other hand are all about over-promising. Though you could argue Steve Jobs, an executive "got it" and had a habit of "surprising" users during his keynotes with some newfangled product or feature. I half expected that Asterisk would be on version 1.9999 in the year 2025 and keep adding 9s just to stay under v2.0!
I recall Mark saying something to the effect that Digium didn't want to simply increment the major release number (1st digit) for the sake of having a higher version number. I remember he wanted to be very conservative in the version numbering scheme. Mark's background is as a developer, so he probably gets annoyed by other companies that release a major new version number only to find 5 minor new feature added in. It fills the companies' coffers, but can annoy the user base. Digium has always tried to put the Asterisk community first
. Sure, they (Digium) want to make a profit, but they also don't want to sell their soul to get there. Still, I didn't necessarily agree with Mark on his conservative number scheme, but I understood and admire his rebellious thinking and his moxy.
In any event, when Steve Sokol explained the big jump from 1.8 to 10, I just had to laugh and think back to my discussion with Mark Spencer. I wonder how hard Mark fought against this. Of course, Danny Windham is the CEO of Digium now. Wish I could have been a fly on the wall to hear the discussion about the major version jump. On the one side you have the conservative developers like Mark and on the other you have marketing and executive folks like Steve Sokol and Danny Windham, likely arguing for a big version jump for the marketing message it carries. Of course, it could have been perfectly amicable with agreement on all sides. Nah!!! I'm going with a battle between developers vs. marketing & executives. Damn it all, why does my team (I'm a former developer) always have to lose to Marketing folks? Just kidding...
"The big jump is for a couple of reasons. One, we had a lot of people when we told we were going to release 1.10, they said, wouldn't that be 2.0?", said Steve. He then said, "No. But 2.0 has a connotation that has a big change in architecture or something like that." He then explained, "Asterisk though isn't a 1.x product. It hasn't been for a long time. Probably 8 years now."
"The decision was to let people believe it to be more mature and so we decided to simply drop the '1' and leave it at '10' and to simplify things next year it will be 11, the release after that will be 12, etc.," said Steve. There you have it, a whole number version numbering scheme for Asterisk. This is big news!
Asterisk 10 Release Candidate (RC) will be available sometime today if not tomorrow at the latest. It's not the final version - the GA release is expected in a few weeks.
The other big news is the media engine. Steve explained that up until now, Asterisk was built with telephony-grade audio and they did bolt on G.722 (HD) but it wasn't as flexible as Digium would have liked. He added that the world has moved onto from phone calls to video calls and faxes, IM, SMS and other modes of communication. The audio realm has moved from 8KHz to G.711 to "anything goes". Steve explained, "At DevCon last year, the community got together and said the biggest thing we can do to make Asterisk relevant for next 10 years is to replace the telephony media engine with a scalable, modern media engine, that can do wideband, better codec negotiation, and better integration with new media formats." He said that this has been the big focus of Digium and it took 6 months of coding by a combination of Digium employees and community engineers.
The result is that they now support dozens of sampling rates, bunch of new codecs, and now you can simply plug in a codec as needed. You can create your own codec and plug that in. Thus, as new codecs and applications come to fruition, it's much more flexible to plug these in.
To show off these new capabilities, they've done a huge upgrade to ConfBridge, the follow-on to MeetMe. In addition to supporting HD audio codecs, this version lets the system admin select own DTMF tones for controlling the conference. But more importantly they realized they could build a very basic video conferencing system. It won't do transrating or transcoding, so you have to use the same codec, frame rate, resolution, etc. Steve said "It doesn't do Brady Bunch because that requires actual mixing. But it does active speaker video presentation." This can be overriden with management controls with Asterisk 10's new management events or with DTMF tones for any "chatty" participants. Steve said it scales very well because they're not doing anything with the media (no transcoding).
"We've benchmarked Asterisk 10 and it is significantly faster." I asked what was the release behind the big improvement in benchmarks. Steve wasn't entirely sure of all the improvements but he mentioned that they swapped out the internal Sleepcat database (now owned by Oracle) to using SQLite now. He mentioned a lot of cleanups and changes. He also said they've moved away from link list lookups to hash table lookups, which are much faster by comparison. He also mentioned a "janitor" project that applies a new programming technique to old code to "refresh" and optimize it.
I asked if anything if upgrading to Asterisk 10 might "break" something, such a new dial plan scheme or new syntax. Steve responded, "There are new features that went into ConfBridge and series of new management events as part of ConfBridge and a number of other applications. We've tried our best not to make changes that are going to be negatively impactful. If you look at the changelog it will tell you what has changed and you should be able to update your dialplan fairly quickly."
I said, "It's probably adding more syntax than any changes to existing syntax?"
Steve responded, "I don't know if it's entirely backwards compatible, but if there are changes they are very very small."
Steve went onto to discuss how Asterisk has only had limited support for text messages in the form of Jabber and very limited support for the SIP message verb. With Asterisk 10 they've put in much more robust message handling for SIP that is actually done "out of band" and doesn't require a call to be setup in order to pass a SIP message. They've tied that into the dialplan so that you can actually bring in a message that comes in via SIP and route it out via XMPP, as an example. Or you can use it to control Asterisk. It enables both human-to-human text functionality and also machine-to-machine (M2M) related text functionality. Steve joked, "So you can use it as bridge between Asterisk systems or between Asterisk and your toaster if you can make a SIP SIMPLE or XMPP interface for it."
Steve explained they haven't built in a full SIP SIMPLE implementation, however, they put the "plumbing" into Asterisk 10 so the community could build a full-fledged SIP SIMPLE implementation. Importantly, this new messaging feature is exposed in the dialplan and management interface - available via AGI - so you can do things you haven't been able to do until now.
Steve continued, "We've closed the loop on fax". Anyone in the Asterisk community knows Asterisk history with fax, so it doesn't merit repeating. This is welcome news for Asterisk fans that have been clamoring for a 100% reliable real-time T.38 fax solution on Asterisk. Previously, they had support for basic fax. They had to spool to .tiff fax file and then once the full files was received, make another call to the fax machine. Now, Asterisk can bridge the call that came over T.38 direct to the fax machine. Steve told me that Commetrex provides the fax stack for this capability.
I asked "Will Asterisk 10 kill the notion that Asterisk is bad at faxing?"
Steve responded, "Yeah, I think it will."
This is everything you need to know about Asterisk 10. Now go grab a copy