[OpenSIPS-Users] CANCELs with no transaction

Juri Nysschen juri at greydotelecom.com
Fri Feb 11 11:28:05 CET 2011


Hi All,

 

Need help with a nagging issue:

 

UA->Opensips 1->Opensips 2->PSTN

 

UA sends an invite on Opensips 1, and is routed via do_routing() to Opensips
2, Opensips 2 uses do_routing to get to the PSTN, call starts ringing.

 

UA cancels call before answer, but now t_check_trans fails and the CANCEL is
not passed onto the PSTN, with the result that the call rings forever and
can only be terminated by the remote answering and dropping the call or
through a timeout.

 

The scripts on Opensips 1 & Opensips 2 is virtuall identical:

 

How do I get the CANCEL to the PSTN ?

 

route{

.....

      if (is_method("CANCEL") ) {

            route(5); # drop media proxy

            if (t_check_trans()){ # this always fails after a do_routing()

                  xlog("L_INFO","CANCEL
Transaction[$fd/$fu/$rd/$ru/$si/]\n");

                  t_relay();

                  exit;

            };

            exit;

      }

}

 

 

route[4] {

      xlog("L_INFO","Route4 [$fd/$fu/$rd/$ru/$si/]\n");

 

      $avp(i:102)=1; # Default dr-group

      route(10); # Do custom stuff

      t_on_failure("4");

      if (do_routing("$avp(i:102)")){

            xlog("L_INFO","Route4 Route to Dyna Group:
$avp(i:102)[$fd/$fu/$rd/$ru/$si/]\n");

            t_newtran();

            route(1);

            exit;

      };

      xlog("L_INFO","Route4 No Route to Host[$fd/$fu/$rd/$ru/$si/]\n");

      sl_reply_error();

      exit;

}

 

Regards

 <http://www.greydotelecom.net/bcard/jnysschen.htm> Juri Nysschen

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20110211/7a601952/attachment-0001.htm>


More information about the Users mailing list