[Asterisk-Dev] High-Bandwidth codecs (again) G.722.1

John Todd jtodd at loligo.com
Sat Aug 6 16:22:32 MST 2005


There has been discussion here about the complexities of adding 
high-bandwidth codecs to Asterisk which use Asterisk's ability to 
insert/examine/redirect media flows.  In general, there was no 
interest (or at least too many naysayers) in putting effort forward 
to re-working Asterisk to handle higher bandwidth codecs, as 
Asterisk's internals are supposedly firmly tied to 8khz.  Speex 
stereo would be very nice, but has a limited number of endpoints that 
can use it because of speaker/microphone issues with most CPE. 
However, any PC with a SIP or IAX client could use G.722.1 quite 
well, and there are a growing number of nice USB-based speakerphone 
bases which serve as audio in/out.  Grandstream already runs G.711.1, 
despite my doubts about the quality of their microphone and speaker 
components.  Another really cool idea would be hooking one of those 
USB-based speakerphone boxes to the USB port of a Soekris running 
Astlinux.  Such a configuration would be a very cheap, super-high 
quality conferencing station with "brains".  Hmm...

I post this message to the list for the sake of the archives, since I 
see no notice of it earlier:  Polycom has made their G.722.1 Annex C 
codec available in a royalty-free fashion, which could quickly move 
G.722.1 from a concept to actual implementation if someone had some 
spare time on their hands this summer.

(Personally, I think things like TCP for SIP, and then TLS/SRTP for 
encryption should warrant a higher priority on the "basic 
functionality" list of things to do with low-level media and 
signalling work, but I'm all for any interesting twists to add to 
Asterisk if this catches someone's fancy.)

At first blush, their licensing terms may seem like they are too 
complex for inclusion in a package that is GPL.  However, I think 
that someone with better understanding than the typical "Internet 
legal second-guesser" should examine the license.  There are explicit 
mentions in the license about the licensee being able to modify the 
code to make it work, which perhaps would cover GPL distribution. 
The other terms of the license may perhaps be met with a banner of 
patent and copyright upon loading of the Polycom routines.

Just as G.723 and G.729 are separate license tools, it may be useful 
to create "hooks" into Asterisk for the G.722 code that Polycom makes 
available.  If someone then creates a codec library under the terms 
of the Polycom license, then it could possibly be a "drop-in".  Their 
code is called "Siren14", and it interestingly also includes code for 
"Siren7" as a bonus for those of you who wish to test with it (though 
it is clear that a royalty license is required for Siren7.)

Here are links to Polycom's site which describe (in surprisingly 
clear wording) the license and usage terms of the code:

http://www.polycom.com/common/pw_cmp_printScreen/0,,pw-10713,FF.html

http://www.polycom.com/common/pw_item_show_doc/0,,4442,00.pdf



PS: Authors of IAX clients: this would be a very nice inclusion for 
your client applications and would clearly be easily licensed by you, 
since almost all IAX implementations at this point are 
software-based, and thus can probably take advantage of better sound 
quality through local desktop hardware.

JT



More information about the asterisk-dev mailing list