Asterisk Grows Up, Turns '10'
Latest version of the open-source IP PBX engine emphasizes high-quality audio, video conferencing, and 'insane' sampling rate.
Digium, sponsor of the wildly successful open-source IP communications platform, Asterisk, announced the official release of what they're calling version 10.
In doing this, Digium departs from the practice, standard in the open-source community, of naming all software versions built on the same fundamental architecture with the same version number, according to Asterisk product manager Steve Sokol. "In the past we've used 1.x -- 1.2, 1.4, 1.6, 1.6.2, 1.6.3, and, last year 1.8," he elaborated.
Why the jump to Asterisk 10? For one thing, Sokol said, "a lot of feedback we had from partners was that anything that has a 1.x label associated with it, automatically turns off a certain percentage of the population—they're just leery of it."
"Asterisk is certainly not what one would call, in the usual sense, a 1.x product. It's quite mature -- with seven or eight major releases since its inception in 1999. So to do something a little more descriptive of what the product is, we decided to go with Asterisk 10."
The biggest single change in Asterisk 10 is a total overhaul of the media engine. "For years, we were a telephony engine, meaning that everything was built to run telco-grade audio, "Sokol said, "but the world has moved on since then." Indeed HD audio and video, if not yet commonplace, are becoming more and more widespread.
"We wanted to make Asterisk flexible enough that it'll stand the test of time," Sokol asserted.
One of the things the new media engine has achieved is the ability of Asterisk to handle sampling rates as "insanely" high as 192KHz. "So, if you wanted to use Asterisk to transmit a symphony in perfect fidelity from one side of the world to the other, you could," Sokol joked.
Noting that high-end conferencing systems operate somewhere in the 48KHz range, he commented that, in the interests of future-proofing Asterisk, "we went kind of crazy there."
Also greatly expanded in Asterisk 10 is codec support (compression/decompression technology). While just a handful of codecs are commonly used in standard, everyday telephony applications, "there's a whole world full of other codecs that are used for different audio applications, " Sokol pointed out.
"So, to make ourselves a sort of universal media switch, rather than just a telephony switch, we decided to go through and replace the fixed structure we were using for codec allocation and codec negotiation with something that's much more flexible."
So, you can add a new codec module into Asterisk, along with the identifier information, and the platform will immediately support it.
Moreover, several new codecs have been built directly into Asterisk, including the wideband version of the Speex codec, several variants of CELT, and Skype's SILK codec. "I don't know if there are any endpoints that support SILK," Sokol said, "but it does a brilliant job of connecting Asterisk to Asterisk," in applications like connecting two offices.
With version 10, Asterisk's classic MeetMe conferencing component is replaced with the high-def Confbridge. The coolest things about Confbridge, according to Sokol, is that, unlike other conferencing that support HD audio, it provides each participant with the highest grade audio their endpoint supports.
"A lot of conference bridging software these days will support G.722, for example," Sokol explained, "but if somebody jumps in with a G.711 call, everything gets down-sampled automatically to support that. We decided to go the extra step and leave everybody with the best audio they could possibly get."
Instant messaging (IM) is another area in which Asterisk 10 brings major changes. "We've had support for Jabber—XMPP—for some time as a client," Sokol said, "but it's never been a server." With Asterisk 10 users can generate, route, and receive text messages. "It's early days with this, but we've done a lot of testing to make sure it efficient enough that people can do not only person to person communication, you can also use it for machine to machine applications."
Finally, version 10 incorporates the beginnings of multiparty video conferencing.
"It's a freshman effort," Sokol acknowledged, "but I think it's an important step for us. What we are able to do is allow anybody who joins a conference in Confbridge who has a video feed, to feed that in."
The system then selects one speaker (usually the current speaker) and broadcasts that person's video to all the other participants.
At this point, all participants have to be using the same frame rate, the same codec, and the same screen size, Sokol explained. And while he concedes that these limitations don't make Asterisk a competitor to LifeSize or Vidyo, Sokol expects that the developer community will quickly pick this up and run with it, adding many refinements that are absent in the pioneering version.
A final note: While the actual Asterisk 10 code was not yet publicly available at the time the product was announced, it should be now.