Do it like what?<br><br>you are using FS as a b2bua, the default behavior is to make a list of codecs that are parsed on every inbound call as soon as the invite is received.<br>if you bridge that inbound leg to an outbound leg it will again use that same list with the one used by the inbound leg as the first choice (this is a favor we do by passing the chosen codec on the a leg over to the outbound call on the b leg) if this is not satisfactory i have left you with the option to control the behaviour yourself in a script.<br>
<br><br><br><div class="gmail_quote">On Fri, Feb 13, 2009 at 11:50 AM, ivdreg ivdreg <span dir="ltr">&lt;<a href="mailto:ivdreg@gmail.com">ivdreg@gmail.com</a>&gt;</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 Antony, <br><br>Can you tell me why you do codec negotiation like that. I&#39;m just curious. If you do not have time do not reply me.<br><br>Thanks a lot for your help.<div><div></div><div class="Wj3C7c"><br><br><div class="gmail_quote">
2009/2/13 Anthony Minessale <span dir="ltr">&lt;<a href="mailto:anthony.minessale@gmail.com" target="_blank">anthony.minessale@gmail.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">As i have already answered, no, it does not do what you want automaticly, the only way to influence codec negotiation is the way i have described.<br>

<br>parsing the sdp string allows you to set absolute_codec_string going both ways.<br>
if you set it before you answer the channel with late negotiation enabled it will influence the codecs accepted on the inbound call.<br>it you set it on the b leg either by using export instead of set on the a leg or putting it in {} in the dial string it controlls what codecs are offered in the outbound invite.&nbsp; <br>

<div><div></div><div>
<br><br><br><br><div class="gmail_quote">On Fri, Feb 13, 2009 at 10:50 AM, ivdreg ivdreg <span dir="ltr">&lt;<a href="mailto:ivdreg@gmail.com" target="_blank">ivdreg@gmail.com</a>&gt;</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>I&#39;m not sure that you understood the problem. As it shown bellow the offered codec in leg B contains only one codec (first matched in codec preference list for this profile). Is there way to offer in leg B not only first codec but all codecs that exists in INVITE in leg A that matches codec preference list. If not is the only way is to parse SDP and set absolute_codec_string manualy?<br>



<br>Regards<br><br> <div class="gmail_quote">2009/2/13 Anthony Minessale <span dir="ltr">&lt;<a href="mailto:anthony.minessale@gmail.com" target="_blank">anthony.minessale@gmail.com</a>&gt;</span><div><div></div><div>
<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
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.<div>



<br>
<br>&gt;&gt;&gt; Why I should parse variable_switch_r_sdp<br><br></div>Well....you must parse it because it&#39;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.<div>



<div></div><div><br>
<br><br><br><div class="gmail_quote">On Fri, Feb 13, 2009 at 8:57 AM, ivdreg ivdreg <span dir="ltr">&lt;<a href="mailto:ivdreg@gmail.com" target="_blank">ivdreg@gmail.com</a>&gt;</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&#39;m wrong but inbound-late-negotiation must be used proxy_media as I see in documentation. I don&#39;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>&nbsp;&nbsp; v=0<br>&nbsp;&nbsp; o=- 1 2 IN IP4 192.168.20.193<br>&nbsp;&nbsp; s=CounterPath eyeBeam 1.5<br>&nbsp;&nbsp; c=IN IP4 192.168.40.81<br>&nbsp;&nbsp; t=0 0<br>&nbsp;&nbsp; m=audio 56888 RTP/AVP 100 106 97 105 98 3 101<br>&nbsp;&nbsp; a=fmtp:101 0-15<br>




&nbsp;&nbsp; a=rtpmap:100 SPEEX/16000<br>
&nbsp;&nbsp; a=rtpmap:106 SPEEX-FEC/16000<br>&nbsp;&nbsp; a=rtpmap:97 SPEEX/8000<br>&nbsp;&nbsp; a=rtpmap:105 SPEEX-FEC/8000<br>&nbsp;&nbsp; a=rtpmap:98 iLBC/8000<br>&nbsp;&nbsp; a=rtpmap:101 telephone-event/8000<br>&nbsp;&nbsp; a=sendrecv<br>&nbsp;&nbsp; a=x-rtp-session-id:61940567309B49E8909127E1393A966E<br>





&nbsp;&nbsp; m=video 46378 RTP/AVP 125 115 34<br>&nbsp;&nbsp; a=fmtp:125 profile-level-id=42e015; max-br=4000; max-mbps=19800<br>&nbsp;&nbsp; a=fmtp:115 QCIF=1 MAXBR=4520<br>&nbsp;&nbsp; a=fmtp:34 QCIF=1 MAXBR=4520<br>&nbsp;&nbsp; a=rtpmap:125 H264/90000<br>&nbsp;&nbsp; a=rtpmap:115 H263-1998/90000<br>





&nbsp;&nbsp; a=rtpmap:34 H263/90000<br>&nbsp;&nbsp; a=sendrecv<br>&nbsp;&nbsp; a=x-rtp-session-id:E8244E608F65445BA183BBE641C5DF3C<br>&nbsp;&nbsp; a=nortpproxy:yes<br><br>SDP from Freeswitch to called <br><br>&nbsp;&nbsp; v=0<br>&nbsp;&nbsp; o=FreeSWITCH 6228154995644782318 4633980766357417433 IN IP4 10.10.10.10<br>





&nbsp;&nbsp; s=FreeSWITCH<br>&nbsp;&nbsp; c=IN IP4 10.10.10.10<br>&nbsp;&nbsp; t=0 0<br>&nbsp;&nbsp; m=audio 26920 RTP/AVP 3 101 13<br><b>&nbsp;&nbsp; a=rtpmap:3 GSM/8000</b><br>&nbsp;&nbsp; a=rtpmap:101 telephone-event/8000<br>&nbsp;&nbsp; a=fmtp:101 0-16<br>&nbsp;&nbsp; a=rtpmap:13 CN/8000<br>&nbsp;&nbsp; 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>&nbsp;&nbsp; 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>





&lt;X-PRE-PROCESS cmd=&quot;set&quot; data=&quot;all_codec_prefs=GSM,speex@32000h@20i,speex@16000h@20i,speex@8000h@20i,<b>iLBC@30i,PCMA,PCMU</b>,G729&quot;/&gt;<br>also we have in profile:<br>&lt;param name=&quot;inbound-codec-negotiation&quot; value=&quot;greedy&quot;/&gt;<br>





&lt;param name=&quot;disable-transcoding&quot; value=&quot;true&quot;/&gt;<br>In dialplan I&#39;ve set:<br>&lt;action application=&quot;set&quot; data=&quot;inbound-late-negotiation&quot;/&gt;<br>&lt;action application=&quot;set&quot; data=&quot;inherit_codec=true&quot;/&gt;<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&#39;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">&lt;<a href="mailto:anthony.minessale@gmail.com" target="_blank">anthony.minessale@gmail.com</a>&gt;</span><div><div></div><div>




<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">&lt;<a href="mailto:ivdreg@gmail.com" target="_blank">ivdreg@gmail.com</a>&gt;</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 ---&gt; Freeswitch rewrites codec
preference according absolute_codec_string but exclude all codecs not
offered by A ----&gt; INVITE to B with rewrited SDP.<br>
<br>example:<br>from A SDP:PCMA,PCMU,SPEEX&nbsp; ----&gt; absolute_codec_string=G722,<div>PCMU,PCMA,GSM&nbsp; ----&gt; 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" 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>
</div></div><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" 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>
</div></div><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><br>
</div></div><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>