Hi Guys,<br><br>I am testing the following call flow:<br>Soft Phone =&gt; opensips (configured for B2B) =&gt; third party termination SIP proxy<br><br>Here is my config:<br><br>modparam(&quot;b2b_entities&quot;, &quot;script_req_route&quot;, &quot;b2b_request&quot;)<br>

modparam(&quot;b2b_entities&quot;, &quot;script_reply_route&quot;, &quot;b2b_reply&quot;)<br><br><br><br>local_route {<br>        xlog(&quot;================LOCAL_ROUTE ($rm - $rr)============\n&quot;);<br>        setflag(22);<br>

        if (is_method(&quot;INVITE&quot;)) {<br>                engage_rtp_proxy(&quot;e&quot;,&quot;&lt;OPENSIPS_IP&gt;&quot;);<br>                exit;<br>        }<br>        else if (is_method(&quot;BYE&quot;) ) {<br>

                xlog(&quot;================BYE============\n&quot;);<br>        }<br>}<br><br><br>route[b2b_request] {<br>        $avp(s:source_ip_address) := $si;<br>        perl_exec(&quot;messagedump_route&quot;, &quot;messages&quot;);<br>

        xlog(&quot;b2b_request ($ci) ($rm - $rr)\n&quot;);<br>}<br><br><br>route[b2b_reply] {<br>        $avp(s:source_ip_address) := $si;<br>        perl_exec(&quot;messagedump_reply&quot;, &quot;messages&quot;);<br>        xlog(&quot;b2b_reply ($ci) - $rm - $rr\n&quot;);<br>

}<br><br><br>route{<br>...<br>        if (is_method(&quot;INVITE&quot;) &amp;&amp; perl_exec(&quot;check_for_forwarding_number&quot;)) {<br>                engage_rtp_proxy(&quot;e&quot;,&quot;&lt;OPENSIPS_IP&gt;&quot;);<br>

                xlog(&quot;LOG: INVITE AUTHENTICATED TO: $avp(s:uid) ; FWD TO: $avp(s:fwd_ip)\n&quot;);<br>                setflag(1); # do accounting<br>                xlog(&quot;L_ERR&quot;, &quot;LOG: to uri=[$tu] [$avp(s:sip_proxy_ip)]\n&quot;);<br>

<br>                b2b_init_request(&quot;top hiding&quot;);<br>                exit;<br>        };<br><br>...<br>}<br><br><br>What happens is:<br>- INVITE from the soft phone to the opensips<br>- catched by the B2B and relayed to the third party SIP proxy + trying returned to the soft phone<br>

- &quot;Session Progress&quot; received from the third party SIP proxy -&gt; opensips -&gt; my soft phone<br><br>At that stage, here is what I have on the soft phone log:<br>18:56:50 UDP Packet Received from &lt;OPENSIPS_IP&gt;:5060 &lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;<br>

SIP/2.0 183 Session Progress<br>Via: SIP/2.0/UDP 192.168.1.2:5070;rport=5070;branch=z9hG4bK673604<br>To: &lt;sip:359883409291@&lt;OPENSIPS_DOMAIN&gt;:5060&gt;;tag=B2B.113.667<br>From: &quot;359883327749&quot; &lt;sip:359883327749@&lt;OPENSIPS_DOMAIN&gt;:5060&gt;;tag=1040<br>

Call-ID: <a href="mailto:1296636915-3604-SALASWORK@192.168.1.2">1296636915-3604-SALASWORK@192.168.1.2</a><br>CSeq: 361 INVITE<br>Content-Type: application/sdp<br>Contact: &lt;sip:&lt;OPENSIPS_IP&gt;:5060;transport=udp&gt;<br>

Server: OpenSIPS (1.6.3-notls (x86_64/linux))<br>Content-Length: 184<br><br>v=0<br>o=SBCSIPUAS 900116523 1 IN IP4 <span style="color: rgb(255, 0, 0);">&lt;THIRD_PARTY_SIP_PROXY_IP&gt;</span><br>s=SBCSIPUAS SIP STACK v1.0<br>

c=IN IP4 <span style="color: rgb(255, 0, 0);">&lt;THIRD_PARTY_SIP_PROXY_IP&gt;</span><br>t=0 0<br>m=audio 17900 RTP/AVP 0<br>a=rtpmap:0 PCMU/8000<br>a=sendrecv<br>a=maxptime:30<br clear="all"><br><br>As can be seen, the media IP is not rewritten by the opensips and the IP passed to my soft phone is the IP of the termination IP for the opensips (i.e. the third party SIP proxy IP). Because of that, my soft phone starts the RTP directly to my provider instead trough the RTP proxy that is attached to the opensips.<br>

Just to clarify, the media IP of my soft phone is not passed to my provider - that case is handled good.<br><br><br>Any idea what is missing ?<br><br>Thanks in advance.<br>-- Kamen<br>