[OpenSIPS-Users] loose_route() sending ACK itself

Satish Patel satish.txt at gmail.com
Thu Mar 26 05:09:48 CET 2015


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;
                                }
                        }
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20150326/8503d3e1/attachment.html>


More information about the Users mailing list