I would like to advise my users as to the reason the phone
stopped ringing (no, I’m not going to let it ring for 20 minutes as many
of them wish that I would). My grand design is to send the call to
Asterisk which plays a recording to the effect of, “the party you have
dialed does not answer, please try your call later” after the 2 minute
timeout.
Upon 408 the call is sent to Asterisk, however there is no
audio. The call stays alive until Asterisk hits the Hangup() in the
dialplan. I’ve tested by adding extra audio (to make sure the call
does stay up) and watching on the Asterisk console. In other situations, audio
passes fine between the Asterisk and the endpoint (ie. Calling voicemail).
Any advice would be greatly appreciated.
Some relevant portions of the config:
loadmodule "tm.so"
modparam("tm",
"fr_timer", 3)
modparam("tm",
"fr_inv_timer", 120)
modparam("tm",
"wt_timer", 10)
modparam("tm",
"fr_inv_timer_avp", "$avp(s:timeout)")
route[ROUTE_TO_PSTN]
{
…SNIP…
(RURI fixes, etc.)
rewritehostport("PSTN_IP:PSTN_PORT");
if
(!is_method("BYE")) {
t_on_reply("ROUTE_TO_PSTN_ONREPLY");
t_on_failure("ROUTE_TO_PSTN_FAILURE");
if
(isflagset(FLAG_DEBUG)) xlog("L_INFO", "Relaying to PSTN - M=$rm
RURI=$ru F=$fu T=$tu IP=$si ID=$ci - On Reply, On Failure Set\n");
};
if
(!t_relay()) {
if
(isflagset(FLAG_DEBUG)) xlog("L_INFO", "Relaying to PSTN - M=$rm
RURI=$ru F=$fu T=$tu IP=$si ID=$ci - Sending Reply Error\n");
sl_reply_error();
};
exit;
}
failure_route[ROUTE_TO_PSTN_FAILURE]
{
…SNIP…
(SQL, etc for updating the CDR)
if
(t_check_status("408")) {
rewriteuri("sip:ANC-408@ANS_IP:ANS_PORT");
append_branch();
t_relay();
exit;
};
exit;
}