Hi all,
I'm trying to do a serial call forwarding
if callees don't answer.
I've added a field in a table which is the number
the users want to forward the call if they don't answer.
I've a shell script (myScript.sh) which works like that:
If the forward mode is activated for the user,
then the address is overwritten and the script returns 0,
else it returns 1.
My main route ends by "t_on_failure("1");" in my ser.cfg,
and I've write these lines after the main route:
/failure_route[1]
{
if (exec_dset("/path/to/myscript/myScript.sh \"$SIP_HF_TO\""));
{
route(2);
}
break;
}
route[2]
{
sl_send_reply("300","Redirect");
break;
}
/
I also use the tm module and I've set the fr_inv_timer and the fr_timer
to the values I wanted.
In my configuration :
User 1 wants to forward the call to User 2.
User 2 wants to forward the call to User 3.
User 3 wants to forward the call to User 1.
When User 4 calls User 1, who doesn't answer, the call is well forwarded
to User 2 after
5 ringings. User 2 doesn't answer and the call is well forwarded to User
3 . Etc.
So it works fine, if at least one of the callee answers.
But if the caller hangs up (sending a CANCEL to the callee), the phones
are always ringing and forwarding
the call in the same order.
Does anybody have an idea to solve this problem?
Thanks.
B.R.
Xavier.
Show replies by date