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;
}
Show replies by date