<div dir="ltr"><div><div><div><div>Hi,<br><br></div>senario:<br><br></div>[UA]-------------[Opensips]---------[Freeswitch]<br><br><br></div>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&#39;t have any IP address added in domain table also. <br><br></div>How do i check whether Freeswitch using loose_route for strict route? <br><div><div><br><div><div><div><br>I have following script:<br><br>if (has_totag()) {<br>               <br>                if (loose_route()) {<br>                       <br>                       if (is_method(&quot;BYE&quot;)) {<br>                                #setflag(ACC_DO); # do accounting ...<br>                                #setflag(ACC_FAILED); # ... even if the transaction fails<br>                        } else if (is_method(&quot;INVITE&quot;)) {<br>                                # even if in most of the cases is useless, do RR for<br>                                # re-INVITEs alos, as some buggy clients do change route set<br>                                # during the dialog.<br>                                record_route();<br>                        }<br><br>                        if (check_route_param(&quot;nat=yes&quot;))<br>                                setflag(NAT);<br><br>                        # route it out to whatever destination was set by loose_route()<br>                        # in $du (destination URI).<br>                        route(relay);<br>                     }  else {<br><br>                        if ( is_method(&quot;ACK&quot;) ) {<br>                                if ( t_check_trans() ) {<br>                                        # non loose-route, but stateful ACK; must be an ACK after<br>                                        # a 487 or e.g. 404 from upstream server<br>                                        xlog(&quot;non loose-route section\n&quot;);<br>                                        #t_relay();<br>                                        exit;<br>                                } else {<br>                                        # ACK without matching transaction -&gt;<br>                                        # ignore and discard<br>                                        xlog(&quot;ACK without matching transaction\n&quot;);<br>                                        exit;<br>                                }<br>                        }<br><br><br><br></div></div></div></div></div></div>