Asterisk & HDVoice: Hearing The Siren’s Song Part 1
Preface: This post is a rework of the HDVoice session I presented in cooperation with Polycom at Astricon 2009. The Powerpoint slides in support of that session as well as a videotape recording of the session are anticipated in a few weeks on the Astricon web site.
In considering this subject I developed more demo material than was possible to use in the 40 minute session at Astricon. This post begins a series that is a kind of superset of the Astricon session, intended to go into more depth with a larger variety of HDVoice examples.
The introduction to the session was given by Tim Yankee, Director of Product Marketing, Voice Communications at Polycom. Tim’s intro gave an overview of the state of HDVoice in the industry. Hopefully his slide set will be included in the presentation materials to be put online at Astricon.net
HDVoice In Asterisk: Hearing The Siren’s Song
The title used for the session was actually just a working title that I came up with based upon the one simple fact that I knew when Digium asked if I’d be interested in presenting…they were on the way to implementing the Polycom Siren codecs in Asterisk v1.6. This fact, along with the popularity of Polycom phones amongst Asterisk installations appears to create some opportunity for the growth of HDVoice (aka wideband telephony.)
Asterisk & Polycom
Polycom is clearly a leading manufacturer of SIP hard phones. They have a diversity of products that have a well-earned reputation for quality and performance. Further, their technology shows up in many products from other major manufacturers like Cisco, 3COM and Adtran.
Polycom have been leading the charge for wideband IP telephony, or to use their terminology” HDVoice” for several years. At first it was focused on conference systems, but more recently it has appeared in desktop products as well. The news from their corner is that they will be supporting HDVoice across their entire line of SoundPoint and SoundStation products. That’s just about anything that you might want to use in conjunction with Asterisk.
Their approach to deploying HDVoice across the product range is not completely uniform. The larger conference systems, SoundStation conference phones and VVX-1500 Business Media Phones support a number of wideband codecs including; G.722, G.722.1 & G.722.1C. However, the more common SoundPoint series of desk phones support only G.722. Even so, this is a step forward as until recently only the high-end models had any support for HDVoice . You will soon be able to buy a very affordable Polycom SoundPoint IP335 and enjoy G.722 based wideband calling.
HDVoice In Asterisk
Astricon 2009 was also a celebration of the 10th anniversary of Asterisk. Until relatively recently Asterisk had no support for HDVoice whatsoever. From its earliest days all media handling in Asterisk was hard coded to 8 KHz sampling consistent with the best traditions of the PSTN. With the growing popularity of wideband voice Digium eventually added support for the legacy G.722 codec in the v1.6 branch. To be more specific, they added support for 16 KHz audio sampling rate, which includes the royalty-free, although vintage, G.722 codec.
On the Digium front the news is that as of Astricon 2009 Digium has added support for Polycom’s Siren7 & Siren14 codecs in v1.6 trunk. This pair of codecs are also known by their ITU designations of G.722.1 and G.722.1 Annex C.
The Basics of Siren7
- HDVoice call quality at reduced bitrates
- Based upon a Modulated Lapped Transform (MLT)
- Not a voice modeling codec, suitable for both music & speech
- 16 KHz sample rate
- 50 – 7,000 Hz audio response
- Three bitrates: 16*, 24 or 32 kbps
- 40 ms algorithmic delay (20ms frames)
- ITU-T Standard G.722.1 (9/1999)
The Basics of Siren14
- Siren 14 – “Super-Wideband” calling
- 32 KHz sample rate
- Not a voice modeling codec, suitable for both music & speech
- 50 – 14,000 Hz audio response
- Three bitrates: 24, 32 or 48 kbps
- 40 ms algorithmic delay (20ms frames)
- ITU-T Standard G.722.1 Annex C
So Siren14 is an extension of the Siren7 codec that supports sampling at 32 KHz, resulting in a useful audio channel all the way up to 14 KHz. That’s effectively the same passband as traditional FM radio.
*The 16 kbps implementation of Siren7 is not included in the formal ITU standard G.722.1.
Distribution & Licensing
The Siren codecs are not going to be distributed with Asterisk. Polycom licenses the codecs on a royalty free basis, but it’s under the terms of their license, not GPL. Therefore Digium cannot distribute the codecs as source code. Instead they will be making a binary module available, just as they do the G.729a codec and Skype-For-Asterisk module.
In theory any developer could contact Polycom and enter into a licensing agreement to get access to the source. Even if they did that they’d only be able to use it for their own purposes. They could not redistribute the source to others.
I bring this up specifically because I use the Astlinux embedded Asterisk distribution. Astlinux is compiled against uclibc and not glibc like the common Asterisk releases. In the past this has meant asking Digium to do a special compile of the G.729a codec for use in Astlinux. In the early days of the Astlinux project Digium provided this version. However, in the last revision of the G.729a codec they decided not to bother offering binaries compiled against uclibc. That decision left Astlinux users with G.729a licenses that they literally cannot use.
Hopefully Digium will provide binaries in support of more than just glibc. The developers responsible for Astlinux are trying to be helpful and supportive. The initial indications from within Digium are hopeful.