[Freeswitch-dev] Strange behaviour in SOFIA SIP

Visciano Giovanni Giovanni.Visciano at italtel.it
Sat Oct 22 22:30:06 MSD 2011


Now I understand.
If both legs use the same codec, the codec ("fake") will be used in a pass-through way,
so no additional transcoding is applied, as in PROXY PASS-THROUGH condition.

So let me reason in a default media scenario (no proxy-media).

Now, as I explained in the first mail, sofia build "ep_codec_string" (SWITCH_
ORIGINATOR_CODEC_VARIABLE) as the intersection between the codec list received
in SDP offer and the codec loaded in the core.
So if the offered SDP codec list is NOT a subset of the loaded core codecs the other
legs will miss some codecs proposed by the calling endpoint.
That said, if I want to be sure every codecs my endpoint support won't be filtered I
have to register a "fake" pass-through codec for each one.

... you did not answer to my last question :).
I haven't found any other endpoint module the can interwork in PROXY mode with
sofia (even h323 doesn't support this). My question: is there a standard/
recommended way to exchange capability between endpoint of different nature in FS
proxy mode? Maybe using SDP o/a as done in sofia sip?

Thank you again for you help.
Giovanni


-----Original Message-----
From: freeswitch-dev-bounces at lists.freeswitch.org on behalf of Anthony Minessale
Sent: Sat 10/22/2011 4:48 PM
To: freeswitch-dev at lists.freeswitch.org
Subject: Re: [Freeswitch-dev] Strange behaviour in SOFIA SIP
 
that's what I was trying to explain.
PROXY mode does not let you manipulate anything, it's pure
pass-through negotiation between the endpoints.

All the stuff with ep_codec_string are relevant only when you are not
trying to use proxy mode.
This is a common mistake people make assuming not using proxy mode
means somehow doing more work but it's not the case, any time both
legs of a call use the same codec it's equally efficient to what you
end up with in proxy mode.  proxy mode simply means take the inbound
SDP and offer it AS IS to the far end and vice-versa and use a fake
codec in the middle that is agnostic.



On Fri, Oct 21, 2011 at 10:36 AM, Visciano Giovanni
<Giovanni.Visciano at italtel.it> wrote:
> Hello Anthony.
> Maybe I want not so clear, let me explain.
>
> I do not want to apply any codec manipulation, I'm working on a prototype endpoint module that has "proxy media capabilty" and wants to interoperate with other endpoints.
> What I saw is that in a sofia vs sofia call (proxy mode+late negotiation) they exchange through FS calling/called endpoint capability looking at SDP session carried by channel variables, so internally they use SDP O/A scheme.
> I thought that "ep_codec_string"->SWITCH_ORIGINATOR_CODEC_VARIABLE could be used to exchange capability without using a protocol specific format (SDP).
> If this is not the case, what's the right way to negotiate capability between endpoints in proxy mode?
>
> Than you.
> Giovanni
>
> PS: I did not find any existing endpoint except sofia that support this. Am I right?
>
> -----Original Message-----
> From: freeswitch-dev-bounces at lists.freeswitch.org on behalf of Anthony Minessale
> Sent: Fri 10/21/2011 5:06 PM
> To: freeswitch-dev at lists.freeswitch.org
> Subject: Re: [Freeswitch-dev] Strange behaviour in SOFIA SIP
>
> any codec manipulation techniques and proxy media mode are not
> compatible.  Proxy media mode means stay completely out of the codec
> negotiation process.
>
> On Thu, Oct 20, 2011 at 3:11 PM, Visciano Giovanni
> <Giovanni.Visciano at italtel.it> wrote:
>> 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
>>
>>
>>
>> Internet Email Confidentiality Footer
>>
>> ********************************************************************************************************************************************
>>
>> La presente comunicazione, con le informazioni in essa contenute e ogni
>> documento o file allegato, e' rivolta unicamente alla/e persona/e cui e'
>> indirizzata ed alle altre da questa autorizzata/e a riceverla. Se non siete
>> i destinatari/autorizzati siete avvisati che qualsiasi azione, copia,
>> comunicazione, divulgazione o simili basate sul contenuto di tali
>> informazioni e' vietata e potrebbe essere contro la legge (art. 616 C.P.,
>> D.Lgs n. 196/2003 Codice in materia di protezione dei dati personali). Se
>> avete ricevuto questa comunicazione per errore, vi preghiamo di darne
>> immediata notizia al mittente e di distruggere il messaggio originale e ogni
>> file allegato senza farne copia alcuna o riprodurne in alcun modo il
>> contenuto.
>>
>> This e-mail and its attachments are intended for the addressee(s) only and
>> are confidential and/or may contain legally privileged information. If you
>> have received this message by mistake or are not one of the addressees
>> above, you may take no action based on it, and you may not copy or show it
>> to anyone; please reply to this e-mail and point out the error which has
>> occurred.
>> ********************************************************************************************************************************************
>>
>> _______________________________________________
>> Join us at ClueCon 2011, Aug 9-11, Chicago
>> http://www.cluecon.com 877-7-4ACLUE
>>
>> FreeSWITCH-dev mailing list
>> FreeSWITCH-dev at lists.freeswitch.org
>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
>> http://www.freeswitch.org
>>
>>
>
>
>
> --
> Anthony Minessale II
>
> FreeSWITCH http://www.freeswitch.org/
> ClueCon http://www.cluecon.com/
> Twitter: http://twitter.com/FreeSWITCH_wire
>
> AIM: anthm
> MSN:anthony_minessale at hotmail.com
> GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com
> IRC: irc.freenode.net #freeswitch
>
> FreeSWITCH Developer Conference
> sip:888 at conference.freeswitch.org
> googletalk:conf+888 at conference.freeswitch.org
> pstn:+19193869900
>
> _______________________________________________
> Join us at ClueCon 2011, Aug 9-11, Chicago
> http://www.cluecon.com 877-7-4ACLUE
>
> FreeSWITCH-dev mailing list
> FreeSWITCH-dev at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
> http://www.freeswitch.org
>
>
>
> _______________________________________________
> Join us at ClueCon 2011, Aug 9-11, Chicago
> http://www.cluecon.com 877-7-4ACLUE
>
> FreeSWITCH-dev mailing list
> FreeSWITCH-dev at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
> http://www.freeswitch.org
>
>



-- 
Anthony Minessale II

FreeSWITCH http://www.freeswitch.org/
ClueCon http://www.cluecon.com/
Twitter: http://twitter.com/FreeSWITCH_wire

AIM: anthm
MSN:anthony_minessale at hotmail.com
GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com
IRC: irc.freenode.net #freeswitch

FreeSWITCH Developer Conference
sip:888 at conference.freeswitch.org
googletalk:conf+888 at conference.freeswitch.org
pstn:+19193869900

_______________________________________________
Join us at ClueCon 2011, Aug 9-11, Chicago
http://www.cluecon.com 877-7-4ACLUE

FreeSWITCH-dev mailing list
FreeSWITCH-dev at lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
http://www.freeswitch.org


-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/ms-tnef
Size: 7024 bytes
Desc: not available
Url : http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20111022/38a1992f/attachment.bin 


Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-dev mailing list