[Freeswitch-dev] Sofia and "ep_codec_string"
Giovanni Visciano
giovanni_visciano at yahoo.it
Fri Oct 21 11:45:01 MSD 2011
Sorry for the double posting. I sent this question also from my office email giovanni.visciano at italtel.it.
Please ignore this one.
Thanks.
Giovanni
-----Original Message-----
From: freeswitch-dev-bounces at lists.freeswitch.org [mailto:freeswitch-dev-bounces at lists.freeswitch.org] On Behalf Of Giovanni Visciano
Sent: Friday, October 21, 2011 7:35 AM
To: freeswitch-dev at lists.freeswitch.org
Subject: [Freeswitch-dev] Sofia and "ep_codec_string"
Preconditions on sip profile
----------------------------
inbound-codec-prefs NOT set
outbound-codec-prefs NOT set
inbound-proxy-media=TRUE
inbound-bypass-media=FALSE
inbound-late-negotiation=TRUE + inherit_codec=TRUE
TEST scenario
-------------
SIP phone send INVITE with SDP to FS
INVITE
SDP[codelist=PCMA, PCMU, G722, G729] --> FS
FS has just the CORE_PC_MODULE [PCMA, PCMU, PASS-THR,
VIDEO-PASS-THR, L16]
The "ep_codec_string" channel variable is
loaded with [PCMA, PCMU]
EXPECTED
--------
In "proxy-media + late-negotiation" scenario:
ep_codec_string=[PCMA,PCMU,G722,G729]
PROBLEM
-------
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."
and
"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 -
sofia_glue.c->sofia_glue_set_r_sdp_codec_string()
Regards,
Giovanni
Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-dev
mailing list