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;

}