failure_route 2 will only be executed if the t_relay in failure route 1
generates a failure again. In your case, the you just forward the
failure back to the client.
Try this:
failure_route[1]
{
xlog("got to failure route 1");
if(t_check_status("302")){
xlog("$tU has a forward");
get_redirects("*", "redirect");
t_relay("my.sip.proxy");
exit;
};
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;
};
}
or if you want ot use route blocks:
failure_route[1]
{
xlog("got to failure route 1");
if(t_check_status("302")){
xlog("$tU has a forward");
get_redirects("*", "redirect");
t_relay("my.sip.proxy");
exit;
};
route(22);
}
failure_route[2]
{
route(22);
}
route[22] {
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;
};
}
regards
klaus