I’m looking for a way to distinquish between locally generated
408s triggered by the timers. My problem is that I’m using gateway
failover in a failure route and on 408s it would retry phones multiple times if
they didn’t answer (no voicemail etc) – so fr_inv_timer was
triggered after receiving a provisional reply. I need to failover in case a
gateway doesn’t respond with provisional (it’s set at 5 seconds
currently).
Will this work, is there a cleaner solution? I haven’t had the
oppurtunity to test it so I may have some syntax errors.
onreply_route {
if
(t_check_status("1[0-9][0-9]")) {
xlog("L_NOTICE", "KAM_HOST: ($ci) $pr $mi route[$rm][0] $fu TO
$ru -> Provisional Response --> $T_reply_code\n");
setflag(FLAG_PR_RECEIVED);
}
}
failure_route[ROUTE_DP_FAILURE] {
if
(t_local_replied("last") && t_check_status("408")
&& isflagset(FLAG_PR_RECEIVED)) {
xlog("L_INFO",
"KAM_HOST: ($ci) $pr $mi route[$rm][0] $fu TO $ru -> Local 408 after
provisional response, giving up\n");
exit;
}
}
Thanks!
Bob