Hello Iñaki. Thanks for your answer. I understand what you're saying about the 6XX responses, but my question is regarding to the 486 response, maybe you misunderstood my question: If you take a look at my failure_ruote block I have :
failure_route[1] { ... if ( t_check_status("486") ) { xlog("L_INFO","[$ci] 486 Received\n"); } ... t_relay(); } Under this configuration I have something like this : Caller Proxy Callee ------> | INVITE | | -----> | INVITE | <------ | 486 | -----> | ACK <------ | 486 | ------> | (error) ACK | I'm getting an error in the log file : 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 It seems that Kamailio is trying to forward the last ACK ? But instead if I have the a failure_route like this (just added a "exit" in the check status): failure_route[1] { ... if ( t_check_status("486") ) { xlog("L_INFO","[$ci] 486 Received\n"); exit; } ... t_relay(); } I have the same SIP message exchange above but without the error. So, it's working ok but I don't understand why this is happening. I would expect that the "exit" command at the end of the t_check_status would not forward the "486", but it seems that is not forwarding the ACK to the 486. Hope you could help me to understand this. Regards, Ricardo.- -----Mensaje original----- De: users-boun...@lists.kamailio.org [mailto:users-boun...@lists.kamailio.org] En nombre de Iñaki Baz Castillo Enviado el: miércoles, 02 de septiembre de 2009 18:54 Para: users@lists.kamailio.org Asunto: Re: [Kamailio-Users] t_realy in failure_route? El Jueves, 3 de Septiembre de 2009, Ricardo Martinez escribió: > 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 > According to RFC 3261 a 6XX response terminates ALL the transactions generated by the incoming request. This is, a 6XX response breaks/terminates serial and parallel forking even if there are still more pending branches (those are cancelled automatically). This is a bad design (IMHO) as it breaks many common scenarios (as forwarding to a voicemail server if the called rejects the call => serial forking). There is a core option to avoid it: disable_6xx_block http://www.kamailio.org/docs/modules/1.5.x/tm.html#id2530547 Hope it helps. -- Iñaki Baz Castillo <i...@aliax.net> _______________________________________________ Kamailio (OpenSER) - Users mailing list Users@lists.kamailio.org http://lists.kamailio.org/cgi-bin/mailman/listinfo/users http://lists.openser-project.org/cgi-bin/mailman/listinfo/users _______________________________________________ Kamailio (OpenSER) - Users mailing list Users@lists.kamailio.org http://lists.kamailio.org/cgi-bin/mailman/listinfo/users http://lists.openser-project.org/cgi-bin/mailman/listinfo/users