Labs Tests I brought Polycoms HD voice into the lab to see exactly what it would take to get HD Voice working with our Asterisk IP PBX implementation. Starting with Version 1.4, Asterisk supported the G.722 codec in passthrough mode only. This means that Asterisk can set up a G.722-enabled call between two endpoints that support the codec and then get out of the way, but the server cannot transcode the streams between different codecs for devices with mismatched support. And while Polycom officials are investigating adding support for other wideband codecs, G.722 is the only one supported at this time.However, interoperability with legacy devices was another story. While I could place calls from a non-HD Polycom SoundStation conference phone to an HD Voice-enabled phone using G.711, I could not complete a call in the reverse direction. The Asterisk server would show an error indicating congestion on the server, and the caller participating in the testing would experience a fast-busy signal. Click here to read about VOIP offerings from smaller vendors. It turns out that Asterisk 1.4 cannot handle the codec negotiation necessary to complete the call between an initiating caller with priority for G.722 and a receiving caller with priority for another codec. "Asterisks codec negotiations currently treat the call legs independently, and thus never renegotiate the initial call leg based on the requirements of the secondary call legs," said Digiums Fleming. Asterisk users can look to the bleeding edge for a resolution. "In the Asterisk SVN trunk, we have a G.722 codec module, so this problem would not occur, and well be putting that module into ABE [Asterisk Business Edition] as well," said Fleming. "We may also put it into future s800i [Asterisk Appliance] builds." In my communications with Polycom officials about this issue, I learned that the company has achieved expected codec negotiations when using an SVN trunk of Asterisk. While this feature will likely not be part of the forthcoming Asterisk Version 1.4, users should be able to look forward to full support in Version 1.6 down the road. Check out eWEEK.coms for the latest news, views and analysis on voice over IP and telephony.
To enable G.722 in Asterisk (our server is based on Version 1.4.9), I simply needed to add a single line to the sip.conf configuration file (allow=g722). I then had to configure each Polycom phone with G.722 as the codec with first priority. With these changes in place, I could make calls between my SoundPoint IP 550 and 650 devices and experience all the audio quality I expected from HD Voice.