[OpenSIPS-Users] Problem in handling BYE using topology_hiding_match()

Bogdan-Andrei Iancu bogdan at opensips.org
Fri Oct 20 11:32:15 EDT 2017


Hi Ravinder,

As per the trace, the ACK is properly routed (frames 17 & 18). Also the 
incoming BYE (frame 19) is forwarded after a long time (see frame 22), 
still there is a funny 501 reply for BYE (before the relay) in frame 21.

Could you also post somewhere the OpenSIPS logs (level 4, debug) 
corresponding to processing the incoming BYE (from 19) ?

Best regards,

Bogdan-Andrei Iancu
   OpenSIPS Founder and Developer
   http://www.opensips-solutions.com

On 10/18/2017 11:21 AM, Ravindrakumar Bhatt wrote:
> Hi Bogdan,
> please find my opensips call log as requested:
> https://pastebin.com/7ypH0z0x
>
> as well as pcap for same call is attached with mail.
> PFA
>
> Thanks and regards,
> Ravindra Bhatt
>
> On Wed, Oct 18, 2017 at 12:52 PM, Bogdan-Andrei Iancu 
> <bogdan at opensips.org <mailto:bogdan at opensips.org>> wrote:
>
>     Hi Ravindra,
>
>     Please post a link to the SIP trace/capture showing the entire SIP
>     call (INVITE + 200 OK + ACK + BYE). The trace must cover all in
>     and out traffic in OpenSIPS.
>
>     Regards,
>
>     Bogdan-Andrei Iancu
>        OpenSIPS Founder and Developer
>        http://www.opensips-solutions.com <http://www.opensips-solutions.com>
>
>     On 10/17/2017 12:29 PM, Ravindrakumar Bhatt wrote:
>>     Hello,
>>     i am using opensips v2.2.1 as SBC.
>>     call flow is like caller->opensips->server->opensips->callie.call
>>     is established successfully but when BYE is sent by any user it
>>     is not recognised by topology_hiding_match() also i am not
>>     getting any dialog related values(DLG_status,DLG_did etc) in ACK
>>     or BYE method.
>>
>>     here is my logic for  requset handling :
>>
>>     route[PROCESS_INVITE] {
>>
>>             route("SETCDR");
>>             if(t_check_trans()) {
>>                     drop();
>>             }
>>             route("CHECK_NAT");
>>             create_dialog();
>>             do_accounting("aaa","cdr|failed");
>>             route("REALY_ROUTE");
>>             exit;
>>     }
>>
>>     route[RELAY_ROUTE] {
>>             if(is_method("INVITE|UPDATE")) {
>>             xlog("L_INFO","CI:$ci In Relay Route RU:$ru DU:$du Tu:$tu
>>     TU:$tU CT:$ct\n");
>>                     if(!has_totag() && is_method("INVITE") &&
>>     !isflagset(15)) {
>>                             xlog("L_INFO","CI:$ci Topology_Hiding
>>     Call\n");
>>                             setflag(15);
>>                             topology_hiding("UC");
>>     #                       record_route();
>>
>>
>>                     }
>>                     if($avp(use-rtpproxy)=="YES") {
>>     route(PROCESS_RTPPROXY_OFFER);
>>                     }
>>                     xlog("L_INFO","CI:$ci Routing Call
>>     IP:$avp(dest-ip) PORT:$avp(dest-port)\n");
>>
>>                     $avp(call_status)="Failed";
>>                     t_on_branch("DEFAULT_BRANCH_ROUTE");
>>                     t_on_reply("DEFAULT_REPLY_ROUTE");
>>             }
>>
>>                     xlog("L_INFO","DAILOG STATUS::::  $DLG_end_reason
>>     $DLG_did $DLG_status $DLG_count\n");
>>
>>     #       record_route();
>>             if (!t_relay()) {
>>                     sl_reply_error();
>>             }
>>             exit;
>>     }
>>
>>     route[MATCH_DIALOG] {
>>
>>             xlog("L_INFO",":::::DAILOG STATUS:::: $rm:
>>     $DLG_end_reason $DLG_did     $DLG_status $DLG_count\n"); #HERE I
>>     AM GETTING most values null
>>             if(has_totag() &&
>>     is_method("INVITE|ACK|BYE|UPDATE|REFER|PRACK|INFO") ) {
>>                     xlog("L_INFO","INSIDE MATCH_DIALOG :::: $rm\n");
>>     #               loose_route();
>>                     xlog(" found match request to a dialog \n");
>>                     if(topology_hiding_match()) {                   
>>     #THIS CONDITIONS FAILS FOR ALL REQUESTS
>>                             if(is_method("BYE")) {
>>     rtpproxy_unforce();
>>                             }
>>                             route("RELAY_ROUTE");
>>                     }
>>             }
>>     }
>>
>>     what is going wrong here ? is there any way to handle this issue?
>>
>>     Thanks and  regards ,
>>     Ravindra Bhatt
>>
>>
>>     _______________________________________________
>>     Users mailing list
>>     Users at lists.opensips.org <mailto:Users at lists.opensips.org>
>>     http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>     <http://lists.opensips.org/cgi-bin/mailman/listinfo/users>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20171020/cc5acc2d/attachment-0001.html>


More information about the Users mailing list