6 Feb 2009 21:52
Fix for G.722 sessions to connect properly
D. S. <dsuhpublic <at> gmail.com>
2009-02-06 20:52:45 GMT
2009-02-06 20:52:45 GMT
As it stands, G.722 sessions will not connect using Recon with sipXtapi. The reason is that G.722 sessions are negotiated with 8000 as the sample rate even though it actually operates at 16000. See sec. 4.5.2 in RFC3551 and the following link: http://en.wikipedia.org/wiki/G.722 I got it working with my Polycom phone with the patches to sipXtapi that follows. My old Grandstream Budgetone 102 phone insists on negotiating 16000 in the SDP which goes against what the RFC says. If anyone can add code to negotiate both rates, that would be appreciated. My patch also changes the default internal sample rate of the codec to get it working with the default internal sipXtapi sample rate of 8000. How do you build sipXtapi to use an internal sample rate of 16000? David Suh Index: SdpDefaultCodecFactory.cpp =================================================================== --- SdpDefaultCodecFactory.cpp (revision 11260) +++ SdpDefaultCodecFactory.cpp (working copy) <at> <at> -69,7 +69,8 <at> <at> { SdpCodec::SDP_CODEC_G726_40, "g726-40", 8000, 1, NULL }, { SdpCodec::SDP_CODEC_G729A, "g729a", 8000, 1, "annexb=no" }, { SdpCodec::SDP_CODEC_G729A, "g729", 8000, 1, "annexb=no" }, - { SdpCodec::SDP_CODEC_G722, "g722", 16000, 1, NULL }, + // This advertised G.722 SDP sample rate is required to maintain backward compatibility as stated in sec. 4.5.2 of RFC3551. + { SdpCodec::SDP_CODEC_G722, "g722", 8000, 1, NULL }, { SdpCodec::SDP_CODEC_TONES, "telephone-event", 8000, 1, NULL },(Continue reading)
RSS Feed