Hello,
I'm using ser to forward to PSTN Gatways.
Before the t_relay I put the command:
t_on_failure("2");
So, after a timeout ser goes to:
failure_route[2] { log (1, "next gateway...\n"); if (t_check_status("408|500|503")) { if (!next_gw()) { t_reply("503", "Service not available, no more gateways"); break; } log (1, "gateway changed...\n"); } t_on_failure("2"); t_relay(); }
This is working very good... if the user doesn't make a hangup.
If caller hangs up, the CANCEL hits SER and the call is cleanly terminated. SER however continues to failure_route after timeout of the initial INVITE... ser sends out a new INVITE message to another PSTN-Server... and the phone rings (with nobody in the line)
Many thanks for your help!
Sebastian
Sebastian Kühner wrote:
This is working very good... if the user doesn't make a hangup.
If caller hangs up, the CANCEL hits SER and the call is cleanly terminated. SER however continues to failure_route after timeout of the initial INVITE... ser sends out a new INVITE message to another PSTN-Server... and the phone rings (with nobody in the line)
I think it's just a config error, and there shouldn't be the need for modifying the source.
I use
if(method == "INVITE" && t_check_status("408|500|503")) { ... next_gw(); ... }
in my failure route and don't have any problems with cancelled calls...
hth, Andy