[Freeswitch-dev] Sofia and "ep_codec_string"
giovanni_visciano at yahoo.it
Fri Oct 21 09:34:49 MSD 2011
Preconditions on sip profile
inbound-codec-prefs NOT set
outbound-codec-prefs NOT set
inbound-late-negotiation=TRUE + inherit_codec=TRUE
SIP phone send INVITE with SDP to FS
SDP[codelist=PCMA, PCMU, G722, G729] --> FS
FS has just the CORE_PC_MODULE [PCMA, PCMU, PASS-THR,
The "ep_codec_string" channel variable is
loaded with [PCMA, PCMU]
In "proxy-media + late-negotiation" scenario:
According to the documentation (http://wiki.freeswitch.org/wiki/Codec_negotiation):
"ep_codec_string: This variable is only available if
late negotiation is enabled on the profile. It's a readable string containing
all the codecs proposed by the calling endpoint."
"inherit_codec=true (only applicable when
late-negotiation is enabled) will take the codec negotiated when the B leg
answers and pass it to the A leg so it also uses the same codec (if the A leg
supports it); otherwise, it will use whatever it can from its own list"
The variable ep_codec_string doesn't contain ALL the
codecs proposed by the calling endpoint. It contains the intersection between
the codecs proposed by the calling and the codecs loaded in FS.
In proxy-media / no-media configuration the called
endpoint doesn't have the calling codec list so he can't negotiate using all
the capabilities available.
(I'm working on a test endpoint module that should work
in proxy and no-media configuration ... mod_sofia vs mod_sofia works because they
look at the remote sdp variable)
Source reference -
Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-dev