Hello,

Looking in your SIP trace, I see that in the 200OK Contact, you have Contact: <sip:72.XX.XX.140;did=7de.9accc6f5>. , and when OpenSIPS is routing the ACK out, it is routing it to

 U 182.XX.XX.164:5060 -> 72.XX.XX.140:5060
ACK sip:72.XX.XX.140;did=7de.9accc6f5 SIP/2.0.

so not sure where exactly is the loop.

Best Regards,

Vlad Paiu
OpenSIPS Developer
http://www.opensips-solutions.com

On 07.04.2015 19:32, Satish Patel wrote:
It is URGENT!!

can some one help?  This is very strange issue and i am stuck here :(

loose_route()  sending ACK/BYE itself instead of next hope :(

I have removed all entries from "domain" table but no luck :(

On Thu, Mar 26, 2015 at 12:09 AM, Satish Patel <[email protected] <mailto:[email protected]>> 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
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to