Hi Ovidu,<br><br>I do not perform any changes on the received invite.<br><br>The "top hiding" does it and the problem is.. it does not change only the media IP. Everything else goes OK.<br><br>Are you saying the "top hiding" does not work properly with the nathelper ?<br>
<br>
Thanks<br>-- Kamen<br><br><br><br><br><div class="gmail_quote">On 2 February 2011 19:41, Ovidiu Sas <span dir="ltr"><<a href="mailto:osas@voipembedded.com">osas@voipembedded.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;">
The B2B module is operating on the received INVITE. Any changes that<br>
you make to the received INVITE are not visible by the B2B module.<br>
Use a proxy to perform whatever you want to do (rtpproxy, accounting,<br>
etc.) and a separate server only for b2b (top hiding).<br>
<br>
Regards,<br>
Ovidiu Sas<br>
<div><div></div><div class="h5"><br>
On Wed, Feb 2, 2011 at 12:11 PM, Kamen Petrov <<a href="mailto:kamen.petrov@gmail.com">kamen.petrov@gmail.com</a>> wrote:<br>
> Hi Guys,<br>
><br>
> I am testing the following call flow:<br>
> Soft Phone => opensips (configured for B2B) => third party termination SIP<br>
> proxy<br>
><br>
> Here is my config:<br>
><br>
> modparam("b2b_entities", "script_req_route", "b2b_request")<br>
> modparam("b2b_entities", "script_reply_route", "b2b_reply")<br>
><br>
><br>
><br>
> local_route {<br>
> xlog("================LOCAL_ROUTE ($rm - $rr)============\n");<br>
> setflag(22);<br>
> if (is_method("INVITE")) {<br>
> engage_rtp_proxy("e","<OPENSIPS_IP>");<br>
> exit;<br>
> }<br>
> else if (is_method("BYE") ) {<br>
> xlog("================BYE============\n");<br>
> }<br>
> }<br>
><br>
><br>
> route[b2b_request] {<br>
> $avp(s:source_ip_address) := $si;<br>
> perl_exec("messagedump_route", "messages");<br>
> xlog("b2b_request ($ci) ($rm - $rr)\n");<br>
> }<br>
><br>
><br>
> route[b2b_reply] {<br>
> $avp(s:source_ip_address) := $si;<br>
> perl_exec("messagedump_reply", "messages");<br>
> xlog("b2b_reply ($ci) - $rm - $rr\n");<br>
> }<br>
><br>
><br>
> route{<br>
> ...<br>
> if (is_method("INVITE") && perl_exec("check_for_forwarding_number"))<br>
> {<br>
> engage_rtp_proxy("e","<OPENSIPS_IP>");<br>
> xlog("LOG: INVITE AUTHENTICATED TO: $avp(s:uid) ; FWD TO:<br>
> $avp(s:fwd_ip)\n");<br>
> setflag(1); # do accounting<br>
> xlog("L_ERR", "LOG: to uri=[$tu] [$avp(s:sip_proxy_ip)]\n");<br>
><br>
> b2b_init_request("top hiding");<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<br>
> returned to the soft phone<br>
> - "Session Progress" received from the third party SIP proxy -> opensips -><br>
> 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 <OPENSIPS_IP>:5060<br>
> <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<br>
> SIP/2.0 183 Session Progress<br>
> Via: SIP/2.0/UDP 192.168.1.2:5070;rport=5070;branch=z9hG4bK673604<br>
> To: <sip:359883409291@<OPENSIPS_DOMAIN>:5060>;tag=B2B.113.667<br>
> From: "359883327749" <sip:359883327749@<OPENSIPS_DOMAIN>:5060>;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: <sip:<OPENSIPS_IP>:5060;transport=udp><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 <THIRD_PARTY_SIP_PROXY_IP><br>
> s=SBCSIPUAS SIP STACK v1.0<br>
> c=IN IP4 <THIRD_PARTY_SIP_PROXY_IP><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>
><br>
><br>
> As can be seen, the media IP is not rewritten by the opensips and the IP<br>
> passed to my soft phone is the IP of the termination IP for the opensips<br>
> (i.e. the third party SIP proxy IP). Because of that, my soft phone starts<br>
> the RTP directly to my provider instead trough the RTP proxy that is<br>
> attached to the opensips.<br>
> Just to clarify, the media IP of my soft phone is not passed to my provider<br>
> - that case is handled good.<br>
><br>
><br>
> Any idea what is missing ?<br>
><br>
> Thanks in advance.<br>
> -- Kamen<br>
><br>
</div></div>> _______________________________________________<br>
> Users mailing list<br>
> <a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a><br>
> <a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
><br>
><br>
<br>
_______________________________________________<br>
Users mailing list<br>
<a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a><br>
<a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
</blockquote></div><br>