[Kamailio-Users] t_realy in failure_route?

Ricardo Martinez rmartinez at redvoiss.net
Thu Sep 3 00:43:15 CEST 2009


Hello

I have a question.  I hope that someone could clarify this to me.

I have the next situation.

I'm using a t_on_failure route along with the LCR module. So I have
something like this :

 

failure_route[1] {

        if (t_was_cancelled()) {

                xlog("L_INFO", "[$ci] $rm:$ru t_was_cancelled in
failure_route\n");

                exit;

        }

 

        if ( t_check_status("486") ) {

                xlog("L_INFO","[$ci] 486 Received\n");

                        

  }

 

        if (t_check_status("603")) {

                xlog("L_INFO","[$ci] 603 Received\n");

                if (!next_gw()) {

                        t_reply("503", "Service not available, no more
gateways");

                        xlog("L_INFO", "[$ci] No hay mas gateways para
$rm:$ou\n");

                        exit;

                } else  {

                        xlog("L_INFO", "[$ci] $rm cambiando $ou por $ru
en failure_route");

                }

                t_on_failure("1");

        }

        t_relay();

}

 

Maybe I'm misunderstanding how the failure_route works but with this
configuration I was expecting that If I have a 603 from the callee I
will do the "next_gateway" configuration.  And If I have a 486 I will
put a line in the log and then continue with the t_relay. So.. the 486
will be passed to the caller, but with the final answer from the caller
( ACK ) to the 486.. and I'm getting this error...

 

Sep  2 16:43:41 ERROR:tm:t_forward_nonack: no branch for forwarding 

Sep  2 16:43:41 ERROR:tm:w_t_relay: t_forward_nonack failed

 

So it seems that tries to forward the ACK with t_relay?

 

Caller     Proxy   Callee

  ------>

       INVITE

               ----->

                    INVITE

              <------

                     486

             ------->

                     ACK

 <------

  486

  ----->  (error?)

       ACK

 

But...

When I modified the next lines in the failure_route

 

        if ( t_check_status("486") ) {

                xlog("L_INFO","[$ci] 486 Received\n");

                 exit;                        

  }

 

And add the "exit" parameter, i don't have the above error and the "486"
is passed back to the caller as "expected".

 

Can someone explain me this?

 

Thanks in advance..

Regards

 

Ricardo Martinez.-

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20090902/00440277/attachment.htm>


More information about the sr-users mailing list