Michael Graves
2008-Sep-28 00:54 UTC
[asterisk-users] G.722 between Eyebeam and a Polycom IP650
Hi All, So I've been exploring the use of G.722 encoded wideband audio recently. I have three different SIP devices that allow this: Eyebeam, IP650 and a Siemens S865IP. The Siemens and IP650 seems to work fine together. Calls pass between them in what the Polycom notes as "HD" mode and the audio quality is certainly very good. However, things are not so easy with Eyebeam and the IP650. When a call is placed between those two the audio stream from Eyebeam to the IP650 is never heard. The audio from the IP650 to Eyebeam is heard, and very good quality. David Frankel of ZipDX tells me that there is an error in RFC3551 such that G.722 RTP clock/timestamps are actually wrong. To quote the RFC directly. "Even though the actual sampling rate for G.722 audio is 16,000 Hz, the RTP clock rate for the G722 payload format is 8,000 Hz because that value was erroneously assigned in RFC 1890 and must remain unchanged for backward compatibility. The octet rate or sample-pair rate is 8,000 Hz." It seems that some manufacturers adhere strictly to the RFC while others correct for the error. As such there are problems with G.722 interoperability. Counterpath defends their implementation as being according to the RFC. This begs the question of what does Asterisk do with G.722? I've yet to try v1.6 so I open the question to the group. Michael -- Michael Graves mgraves<at>mstvp.com http://blog.mgraves.org o713-861-4005 c713-201-1262 sip:mjgraves at pixelpower.onsip.com skype mjgraves fwd 54245
Steve Underwood
2008-Sep-28 04:05 UTC
[asterisk-users] G.722 between Eyebeam and a Polycom IP650
Michael Graves wrote:> Hi All, > > So I've been exploring the use of G.722 encoded wideband audio > recently. I have three different SIP devices that allow this: Eyebeam, > IP650 and a Siemens S865IP. The Siemens and IP650 seems to work fine > together. Calls pass between them in what the Polycom notes as "HD" > mode and the audio quality is certainly very good. > > However, things are not so easy with Eyebeam and the IP650. When a call > is placed between those two the audio stream from Eyebeam to the IP650 > is never heard. The audio from the IP650 to Eyebeam is heard, and very > good quality. > > David Frankel of ZipDX tells me that there is an error in RFC3551 such > that G.722 RTP clock/timestamps are actually wrong. To quote the RFC > directly. > > "Even though the actual sampling rate for G.722 audio is 16,000 Hz, the > RTP clock rate for the G722 payload format is 8,000 Hz because that > value was erroneously assigned in RFC 1890 and must remain unchanged > for backward compatibility. The octet rate or sample-pair rate is > 8,000 Hz." > > It seems that some manufacturers adhere strictly to the RFC while > others correct for the error. As such there are problems with G.722 > interoperability. > > Counterpath defends their implementation as being according to the RFC. > > This begs the question of what does Asterisk do with G.722? I've yet to > try v1.6 so I open the question to the group. > > Michael >There is no error in RFC3551. There is a clear statement that an earlier RFC did things wrong, due to a typo, and classifying G.722 as an 8000 sample/second codec is, for better or worse, the standard. Its messy and inconsistent, but its "the standard". The only manufacturers I know of who do the wrong thing (i.e. using 16000 in the SDP) are Grandstream and Aastra. Both are aware that their products are incompatible with the rest of the universe, but seem uninterested in fixing them. If I were building a terminal, I'd make mine announce 8000, but accept 8000 or 16000 to try to maximise compatibility. It seems people don't do that. Unless you have some special version of eyebeam, I don't think it supports G.722. It supports G.722.2, but that is completely different. It also supports 16 bit PCM and DVI4 at 16000 samples/second. Regards, Steve