Site icon Graves On SOHO Technology

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

The Basics of Siren14

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.

Using Siren in Asterisk

Using Siren on your Asterisk systems is very easy. In the SIP.CONF and IAX.CONF files you can enable the codecs using the following syntax:

allow=siren7
allow=siren14

…or alternatively…

allow=g.722.1
allow=g.722.1c

The current implementation for the Siren codecs is outlined as follows:

Performance Considerations

Codec selection can have a dramatic impact on the performance of your Asterisk system. The complexity of the codec, and the possible necessity of transcoding, can place heavy demands on the systems CPU. In addition, the host platforms common to embedded systems often have limited hardware resources in an effort to control cost.

Happily, these two codecs from the Siren family do not present an onerous CPU burden.

All of this bodes well for the use of the Siren codecs on Asterisk systems of all sorts, from small embedded platforms to large scale servers.

* from a statement made by Polycom CTO Jeff Rodman in an interview with TMC

What Are The Advantages To Using Siren7 & 14?

Let’s set aside the common debate about the merits of HDVoice vs the PSTN.  Presuming that we find merit in using HDVoice, what does using the Siren codecs get you?

1. Optimal Wideband Interop With The Broad Range Of Polycom HDVoice Hardware

“Be all that you can be” was once the philosophy promoted in ads for the US Army. Consider that you’ve just installed a bundle of nice new Polycom phones, and specifically some conference phones or VVX-1500’s. Why not let them perform to their intended spec? Enabling HDVoice, including G.722, Siren7 & 14 where possible, is like taking off the training wheels. It ensures that your users have an optimal experience with the hardware in which they’ve just invested.

Of course, truly optimal results with Siren 14 awaits support for sample rates beyond 16 KHz in a future release of Asterisk.

2. Superior Voice Quality At Reduced Bitrates For On-Net Calling

Siren7 delivers call quality similar to G.722 but at half the network bitrate. When packet overhead is considered this amounts to around 35% less network traffic per call stream. This can be realized for internal calling, inter-office calling, SIP trunking and IP Peering. These are all situations where 100% IP call transit is possible. Siren 14 further extends call quality while remaining below the bitrate required for G.722 or G.711.

This possible advantage is significantly moderated by the fact that the more common SoundPoint phones support only G.722. That Polycom eventually provide some support for the Siren family in SoundPoint phones is clearly desirable.

However, the disparity in support of Siren7 & 14 creates an opportunity for Asterisk in many installations. With support for G.722, Siren7 & Siren14 Asterisk can play an critical role in transcoding media streams for installations that have a mix of end-points. In that role it brings the economics of open source to compete with dedicated hardware solutions from media gateway companies like Audio Codes.

3. Reduced Bitrate Trunking

Siren7 also makes some sense for use in wideband trunking  between Asterisk servers. If you have two locations with SoundPoint series desktop phones your Asterisk servers could transcode G.722 into Siren7 to make efficient of bandwidth between the two locations. That trunk could be via SIP or IAX2.

4. High-Quality Interop With Larger Conference Systems

Siren7 and 14 arise from Polycom’s rich history in video conferencing systems, which is where there are largely available today. In fact, Polycom is so dominant in the video conferencing arena that the Siren codecs are implemented in many competitive systems that aim to interoperate with Polycom conference suites. Implementation of Siren in Asterisk opens the door to more optimal interop between IP phone systems and large scale video conference systems.

There are other factors involved, since video conferencing is still largely driven by the older H.323 protocol stack, as opposed to SIP, the dominant signaling protocol in the VoIP realm. There are H.323 protocol stacks for Asterisk, making HDVoice interop with conference systems a very real possibility.

Implementation of the Siren codecs in Asterisk provides an opportunity to offer users a better IP telephony experience, and extends Asterisk into roles that it might not otherwise address. It’s an evolutionary step in extending wideband voice capability within Asterisk.

Part 2 in this series will offer comparison of a number of recordings made using various codecs, including; G.722, Siren7 & Siren14.

Exit mobile version