Asterisk 1.4.20 Released

The Asterisk.org development team has released Asterisk version 1.4.20.

This release contains a large number of bug fixes over the previous release. For a full list of changes, see the ChangeLog included in the release.

http://svn.digium.com/view/asterisk/tags/1.4.20/ChangeLog?view=markup

Asterisk 1.4.20 is available for immediate download from the Digium downloads site.

http://downloads.digium.com/pub/telephony/asterisk/

Thank you for your continued support of Asterisk!

John Todd Joins Digium as Open Source Community Director

I am excited to point out the John Todd has joined Digium as the new Open Source Community Director. John joins us with a vast amount of experience within the Asterisk community and beyond. Without further introduction, I will just point to John’s recent message to the development community in this mailing list post.

Also, see the Digium press release, as well.

More Work on Asterisk as a Softphone … Inside Firefox?!

Luigi Rizzo, a community developer for the Asterisk project has posted a message to the developers mailing list talking about some of the work that he and his students are working on. Previously, I pointed out how they had done work to allow you to use Asterisk as a softphone that supports video. Now, it sounds like they are taking this even further.

He talks about:

1) Merge console channel drivers in Asterisk.

Currently, there are three console channel drivers in Asterisk: chan_oss, chan_alsa, and chan_console. chan_console uses libportaudio to act as a cross platform channel driver. However, it does not have all of the features of chan_oss. Once chan_console has all of the features of the others, chan_console will be the single console channel driver.

2) Add support for multiple audio and video inputs for a single call.

This will allow switching between inputs within a call, as well as implementing interesting audio and video effects such as picture-in-picture or split screen during a call.

3) Make Asterisk run as a Firefox extension

This one completely blows my mind.

The goal here is to allow Asterisk to be embedded into Firefox so that the interface for making phone calls can be written within the web browser. It sounds like they already have this working, too! I can’t wait to see what this turns in to.

Admittedly, it seems like it could be overkill, but at the same time, Asterisk is an extremely powerful and flexible telephony platform. If the functionality of Asterisk was available as the backend for people that are capable of developing a great UI and user experience, the possibilities are quite interesting.

See the full mailing list post here.

Asterisk 1.4.20-rc3 and 1.6.0-beta9 Now Avaialble

The Asterisk.org development team has released Asterisk versions 1.4.20-rc3 and 1.6.0-beta9.

These releases are intended to encourage community testing to improve the quality of the upcoming 1.4.20 and 1.6.0 releases. The testing process has proven extremely useful and we would like to thank everyone who has participated. Please help continue the effort. Any issues with test releases should be reported to http://bugs.digium.com/ or discussed on the asterisk-dev mailing list.

Both releases are available for download from the Digium downloads site.

http://downloads.digium.com/pub/telephony/asterisk/

Thank you for your continued support of Asterisk!

Asterisk 1.4.19.2 Released

This release is related to my IAX2 performance improvements.

—————————

The Asterisk.org development team has released Asterisk version 1.4.19.2.

This release includes some IAX2 channel driver updates. Asterisk 1.4.19.1 was released to address an IAX2 security vulnerability. Unfortunately, the changes to address the security issue had an unfortunate negative impact on IAX2 performance in Asterisk. These issues have been addressed and the related fixes are included in this release. The performance of IAX2 in Asterisk due to these changes should be far better than it was even before the changes were made for the security issue.

Anyone that uses IAX2 should use this release instead of 1.4.19.1.

The release is available for download from the Digium downloads site.

http://downloads.digium.com/pub/telephony/asterisk/

Thank you for your continued support of Asterisk!

Asterisk 1.4.20-rc2 Released

The Asterisk development team has released Asterisk version 1.4.20-rc2.

This release is a release candidate for the upcoming official release of 1.4.20. It includes a fix for a SIP channel driver regression introduced in 1.4.20-rc1, among a number of other changes. For a full list of changes since the last release candidate, view the contents of the ChangeLog that is distributed with
the release.

The release candidate is available on the download site.

http://downloads.digium.com/pub/telephony/asterisk

Please provide release candidate testing feedback to the asterisk-dev mailing list, or the issue tracker, http://bugs.digium.com/.

Thank you for your continued support of Asterisk!

IAX2 Performance

As a part of the latest Asterisk security release, the IAX2 channel driver in Asterisk got various changes to make it more difficult to abuse IAX2 in Asterisk in a traffic amplification attack. IAX2 uses call numbers to specify which packets are associated with which call. One of the changes that I made for the security issue was to have Asterisk randomly choose call numbers where it previously chose the lowest one that it could.

This change had an unfortunate side effect. It highlighted a part of chan_iax2 that was extremely inefficient. The higher the call number, the worse this piece of code performed. By choosing a very high call number, the performance of the server would plummet. On a small embedded platform, this may have meant that it couldn’t handle a single call. On my Intel Core 2 Duo machine @ 2.33 GHz, this meant that I couldn’t handle much more than about 16 IAX2 channels. That is terrible.

So, this got me motivated to fix up this code once and for all. I reworked some of the IAX2 code in Asterisk to index calls in a hash table in such a way that the lookup that previously had such terrible performance could be performed very quickly.

Testing my new code against chan_iax2 with my security fixes yielded a 3600% concurrent IAX2 channel increase! However, even when compared with the code before the security fixes, the IAX2 channel driver is still able to handle a lot more calls. On my machine, the most recent code can handle 55% more concurrent IAX2 channels than the code could handle before the security changes.

Asterisk 1.4.20 will contain these changes. Normally I would not put enhancements like this in the 1.4 release version of Asterisk. However, this was a special situation. So, enjoy!

There has been criticism of IAX2 performance in the past. However, during the 1.4 release series, I have put a lot of work into re-doing a lot of data structure management. Most of the changes were inspired by bugs that came up, but had nice performance impacts as a beneficial side effect.

At this point, I can not see any reason that the IAX2 channel driver in Asterisk would perform any worse than SIP. It would be interesting to do some more IAX2 versus SIP comparisons with the most recent code. In Asterisk trunk, a lot of work has gone into the data structures supporting both protocols. All critical data structures have been carefully converted to be indexed in hash tables using the astobj2 object model. Not only are lookups much faster with the hash tables, but the astobj2 object model has a lot of very nice locking features which provide even more performance improvements.

Anyway, thank you all for your continued support of Asterisk!

Asterisk 1.4.20-rc1 Now Available

The Asterisk development team has released Asterisk version 1.4.20-rc1.

This release is a release candidate for the upcoming official release of 1.4.20. It contains a large number of bug fixes over the previous release, 1.4.19. We would like to encourage the community to assist us in testing before we release 1.4.20.

The release candidate is available on the download site.

http://downloads.digium.com/pub/telephony/asterisk

Please provide release candidate testing feedback to the asterisk-dev mailing list, or the issue tracker, http://bugs.digium.com/.

Thank you for your continued support of Asterisk!