I am having trouble setting up a failure route to roll over to another on failure. I have failure_route[1] set up to catch 302 redirects and act accordingly. If no redirect is detected then the INVITE should roll to failure route 2, as per the line that says t_on_failure("2");. This is however not what occurs. When an INVITE comes in, and hits failure_route[1] I can see in /var/log/messages that it hit that route, however it never gets to failure_route[2] even though there is no 302, instead the 408 is sent to my sip provider, they ack it, and the call is dropped. Any help is as always greatly appreciated.
######################################################################## ################################# # FAILURE ROUTE 1 --- 302 REDIRECT --- ######################################################################## ################################ failure_route[1] { xlog("got to failure route 1"); t_on_failure("2"); if(t_check_status("302")){ xlog("$tU has a forward"); get_redirects("*", "redirect"); t_relay("my.sip.proxy"); exit; }; }
######################################################################## ############################### # FAILURE ROUTE 2 ----- VOICEMAIL ------- ######################################################################## ################################ failure_route[2] { xlog("got to failure route 2"); xlog("$tU getting a vmail"); if (t_check_status("408|486|487")){ revert_uri(); strip(1); prefix("201"); rewriteport("5070"); append_branch(); t_relay(); exit; };
}