[OpenSIPS-Users] loose_route() sending ACK itself

Bogdan-Andrei Iancu bogdan at opensips.org
Thu Mar 26 15:08:14 CET 2015


Hi,

It may possible be that the received ACK is broken, leading to that kind 
of looping. By broken I mean heaving wrong RURI or Route headers. Can 
you post on a pastebin a sip capture of that call ?

Regards,

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

On 26.03.2015 06:09, Satish Patel wrote:
> Hi,
>
> senario:
>
> [UA]-------------[Opensips]---------[Freeswitch]
>
>
> UA sending correct ACK to freeswitch but Opensips loose_route() 
> sending it to itself and it break dialog, If use fix_dialog_route() 
> then it works, I don't have any IP address added in domain table also.
>
> How do i check whether Freeswitch using loose_route for strict route?
>
>
> I have following script:
>
> if (has_totag()) {
>
>                 if (loose_route()) {
>
>                        if (is_method("BYE")) {
>                                 #setflag(ACC_DO); # do accounting ...
>                                 #setflag(ACC_FAILED); # ... even if 
> the transaction fails
>                         } else if (is_method("INVITE")) {
>                                 # even if in most of the cases is 
> useless, do RR for
>                                 # re-INVITEs alos, as some buggy 
> clients do change route set
>                                 # during the dialog.
>                                 record_route();
>                         }
>
>                         if (check_route_param("nat=yes"))
>                                 setflag(NAT);
>
>                         # route it out to whatever destination was set 
> by loose_route()
>                         # in $du (destination URI).
>                         route(relay);
>                      }  else {
>
>                         if ( is_method("ACK") ) {
>                                 if ( t_check_trans() ) {
>                                         # non loose-route, but 
> stateful ACK; must be an ACK after
>                                         # a 487 or e.g. 404 from 
> upstream server
>                                         xlog("non loose-route section\n");
>                                         #t_relay();
>                                         exit;
>                                 } else {
>                                         # ACK without matching 
> transaction ->
>                                         # ignore and discard
>                                         xlog("ACK without matching 
> transaction\n");
>                                         exit;
>                                 }
>                         }
>
>
>
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20150326/2b506299/attachment.htm>


More information about the Users mailing list