yes you are wrong.<br><br>inbound-late-negotiation setting delays the codec negotiation until the instant audio is needed.<br>It is not tied to inbound-proxy-media.<br><br><br>This allows the call to come into the dialplan before any codec negotiation is done giving you a chance to look at the SDP before the negotiation takes place and insert an absolute_codec string essentially letting you chose unique codec preferences per inbound call.<br>
<br>>>> Why I should parse variable_switch_r_sdp<br><br>Well....you must parse it because it's you who cares about what it says, as described above it lets you peek at the sdp and enforce a unique set of codec prefs per call.<br>
<br><br><br><div class="gmail_quote">On Fri, Feb 13, 2009 at 8:57 AM, ivdreg ivdreg <span dir="ltr"><<a href="mailto:ivdreg@gmail.com">ivdreg@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi Anthony,<br><br>Excuse me if I'm wrong but inbound-late-negotiation must be used proxy_media as I see in documentation. I don't want to proxy media because of some issues with MOH or 3-way conferencing. Also I want to exclude media codecs that are supported only in pass-trough mode. Let mi give you an example:<br>
<br>SDP from caller<br><br> v=0<br> o=- 1 2 IN IP4 192.168.20.193<br> s=CounterPath eyeBeam 1.5<br> c=IN IP4 192.168.40.81<br> t=0 0<br> m=audio 56888 RTP/AVP 100 106 97 105 98 3 101<br> a=fmtp:101 0-15<br>
a=rtpmap:100 SPEEX/16000<br>
a=rtpmap:106 SPEEX-FEC/16000<br> a=rtpmap:97 SPEEX/8000<br> a=rtpmap:105 SPEEX-FEC/8000<br> a=rtpmap:98 iLBC/8000<br> a=rtpmap:101 telephone-event/8000<br> a=sendrecv<br> a=x-rtp-session-id:61940567309B49E8909127E1393A966E<br>
m=video 46378 RTP/AVP 125 115 34<br> a=fmtp:125 profile-level-id=42e015; max-br=4000; max-mbps=19800<br> a=fmtp:115 QCIF=1 MAXBR=4520<br> a=fmtp:34 QCIF=1 MAXBR=4520<br> a=rtpmap:125 H264/90000<br> a=rtpmap:115 H263-1998/90000<br>
a=rtpmap:34 H263/90000<br> a=sendrecv<br> a=x-rtp-session-id:E8244E608F65445BA183BBE641C5DF3C<br> a=nortpproxy:yes<br><br>SDP from Freeswitch to called <br><br> v=0<br> o=FreeSWITCH 6228154995644782318 4633980766357417433 IN IP4 10.10.10.10<br>
s=FreeSWITCH<br> c=IN IP4 10.10.10.10<br> t=0 0<br> m=audio 26920 RTP/AVP 3 101 13<br><b> a=rtpmap:3 GSM/8000</b><br> a=rtpmap:101 telephone-event/8000<br> a=fmtp:101 0-16<br> a=rtpmap:13 CN/8000<br> a=ptime:20<br>
<br>So we offer <b>only first</b> in codec preference list<br><br>from called wich is normal receives<br> SIP/2.0 488 Not Acceptable Here<br><b>called suports - PCMA,PCMU,iLBC<br></b><br>Codec preference to this vars.xml we have witch is used in provile:<br>
<X-PRE-PROCESS cmd="set" data="all_codec_prefs=GSM,speex@32000h@20i,speex@16000h@20i,speex@8000h@20i,<b>iLBC@30i,PCMA,PCMU</b>,G729"/><br>also we have in profile:<br><param name="inbound-codec-negotiation" value="greedy"/><br>
<param name="disable-transcoding" value="true"/><br>In dialplan I've set:<br><action application="set" data="inbound-late-negotiation"/><br><action application="set" data="inherit_codec=true"/><br>
<br>About my second question:<br>Why I should parse variable_switch_r_sdp: [v=0<br>o=- 6 2 IN IP4 192.168.20.193<br>s=CounterPath eyeBeam 1.5<br>c=IN IP4 192.168.40.81<br>t=0 0<br>m=audio 60642 RTP/AVP 100 106 97 105 98 3 101<br>
a=rtpmap:100 SPEEX/16000<br>a=rtpmap:106 SPEEX-FEC/16000<br>a=rtpmap:97 SPEEX/8000<br>a=rtpmap:105 SPEEX-FEC/8000<br>a=rtpmap:98 iLBC/8000<br>a=rtpmap:101 telephone-event/8000<br>a=fmtp:101 0-15<br>a=x-rtp-session-id:0674790128EB43ACB8C7F55829BCFF14<br>
m=video 44938 RTP/AVP 125 115 34<br>a=rtpmap:125 H264/90000<br>a=fmtp:125 profile-level-id=42e015; max-br=4000; max-mbps=19800<br>a=rtpmap:115 H263-1998/90000<br>a=fmtp:115 QCIF=1 MAXBR=4520<br>a=rtpmap:34 H263/90000<br>
a=fmtp:34 QCIF=1 MAXBR=4520<br>
a=x-rtp-session-id:D1EAE543055746AC9C03006B91ADE6DF<br>a=nortpproxy:yes<br>]<br>In FS core this parse is already done I'm sure in much more intelligent way. It can be exported as a variable like a absolute codec string I think.<br>
<br>Thanks again.<br><br><div class="gmail_quote">2009/2/12 Anthony Minessale <span dir="ltr"><<a href="mailto:anthony.minessale@gmail.com" target="_blank">anthony.minessale@gmail.com</a>></span><div><div></div><div class="Wj3C7c">
<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
the entire sdp is available as a variable (route the call to the info app to see the variables) <br>so if you have inbound-late-negotiation set to true on the sip profile<br>then you can use a regex or a script to set absolute_codec string before you answer.<br>
<br><br><div class="gmail_quote"><div><div></div><div>On Thu, Feb 12, 2009 at 8:06 AM, ivdreg ivdreg <span dir="ltr"><<a href="mailto:ivdreg@gmail.com" target="_blank">ivdreg@gmail.com</a>></span> wrote:<br>
</div></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div></div><div>
Hi all,<br><br>Can I ask 2 questions about codec negotiation:<br><br>1. Is it possible Freeswitch to work negotiate codecs between two phones as it is described below.<br>INVITE
from A with some codecs in SDP ---> Freeswitch rewrites codec
preference according absolute_codec_string but exclude all codecs not
offered by A ----> INVITE to B with rewrited SDP.<br>
<br>example:<br>from A SDP:PCMA,PCMU,SPEEX ----> absolute_codec_string=G722,<div>PCMU,PCMA,GSM ----> to B SDP: PCMU,PCMA<br><br>2.
Can I get codec list in INVITE with mod_perl for example or via
xml_curl without processing SDP variable (switch_r_sdp). It will be
useful to be in format that absolute_codec_string variable takes.<br>
<br>Thanks</div>
<br></div></div>_______________________________________________<br>
Freeswitch-users mailing list<br>
<a href="mailto:Freeswitch-users@lists.freeswitch.org" target="_blank">Freeswitch-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>Anthony Minessale II<br><br>FreeSWITCH <a href="http://www.freeswitch.org/" target="_blank">http://www.freeswitch.org/</a><br>ClueCon <a href="http://www.cluecon.com/" target="_blank">http://www.cluecon.com/</a><br>
<br>AIM: anthm<br><a href="mailto:MSN%3Aanthony_minessale@hotmail.com" target="_blank">MSN:anthony_minessale@hotmail.com</a><br>GTALK/JABBER/<a href="mailto:PAYPAL%3Aanthony.minessale@gmail.com" target="_blank">PAYPAL:anthony.minessale@gmail.com</a><br>
IRC: <a href="http://irc.freenode.net" target="_blank">irc.freenode.net</a> #freeswitch<br><br>FreeSWITCH Developer Conference<br><a href="mailto:sip%3A888@conference.freeswitch.org" target="_blank">sip:888@conference.freeswitch.org</a><br>
<a href="http://iax:guest@conference.freeswitch.org/888" target="_blank">iax:guest@conference.freeswitch.org/888</a><br>
<a href="mailto:googletalk%3Aconf%2B888@conference.freeswitch.org" target="_blank">googletalk:conf+888@conference.freeswitch.org</a><br>pstn:213-799-1400<br>
<br>_______________________________________________<br>
Freeswitch-users mailing list<br>
<a href="mailto:Freeswitch-users@lists.freeswitch.org" target="_blank">Freeswitch-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<br></blockquote></div></div></div><br>
<br>_______________________________________________<br>
Freeswitch-users mailing list<br>
<a href="mailto:Freeswitch-users@lists.freeswitch.org">Freeswitch-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>Anthony Minessale II<br><br>FreeSWITCH <a href="http://www.freeswitch.org/">http://www.freeswitch.org/</a><br>ClueCon <a href="http://www.cluecon.com/">http://www.cluecon.com/</a><br>
<br>AIM: anthm<br><a href="mailto:MSN%3Aanthony_minessale@hotmail.com">MSN:anthony_minessale@hotmail.com</a><br>GTALK/JABBER/<a href="mailto:PAYPAL%3Aanthony.minessale@gmail.com">PAYPAL:anthony.minessale@gmail.com</a><br>
IRC: <a href="http://irc.freenode.net">irc.freenode.net</a> #freeswitch<br><br>FreeSWITCH Developer Conference<br><a href="mailto:sip%3A888@conference.freeswitch.org">sip:888@conference.freeswitch.org</a><br><a href="http://iax:guest@conference.freeswitch.org/888">iax:guest@conference.freeswitch.org/888</a><br>
<a href="mailto:googletalk%3Aconf%2B888@conference.freeswitch.org">googletalk:conf+888@conference.freeswitch.org</a><br>pstn:213-799-1400<br>