[Freeswitch-users] Codec Negotiation Help
Spencer Thomason
spencer at 5ninesolutions.com
Thu May 26 20:04:26 MSD 2011
Hello all,
I have a problem regarding the codec negotiation on an outbound call. My setup is like this:
Polycom IP 650 (1-n) -NAT-> FS --> Our Signaling Proxy --> ITSP Proxy ---> ITSP Cisco GW
I'd like to use different codecs for different call paths (in order of pref), g729 in passthru only:
IP-650 -> IP-650 G722, PCMU, G729
Inbound -> IP-650 PCMU
IP-650 -> Outbound PCMU,G729
I have two sofia profiles, internal, public IPv4:5060 and external, public:IPv4:5080.
The phones use the internal profile and the external profile only communicates with our signaling proxy (no media proxy).
On the internal one:
CODECS IN G722,PCMU,G729,GSM
CODECS OUT G722,PCMU,G729,GSM
NOMEDIA false
LATE-NEG true
External:
CODECS IN PCMU,G729
CODECS OUT PCMU,G729
NOMEDIA false
LATE-NEG true
I have inbound-codec-negotiation set to greedy on both profiles and on outbound calls set absolute_codec_string=PCMU,G729 to prevent transcoding. Note that mod_g729 is enabled for passthru only.
The problem I have is this:
We use the dynamic routing module in OpenSIPS to select an outbound provider/GW, all support PCMU and G729. On one of the routes, the Cisco IOS GW on this route has G729, PCMU configured as its codec pref.
I have included a ladder diagram to better illustrate the problem but in a nutshell, the polycom negotiates PCMU with FS, FS asks for both PCMU and G729, the cisco GW sends G729 and FS sends a 488 because it can't transcode. I would like to keep G729 in the outbound prefs because some routes might not support PCMU. Should I set one of the profiles to generous, and if so which one?
When someone makes an outbound call the following happens (ladder diagram):
http://pastebin.freeswitch.org/16380
Sorry for the novella, :-)
Thanks!
Spencer
More information about the FreeSWITCH-users
mailing list