Hello All,
I am trying to get a failure route to work, I have got it working
partially.
When a call comes in, first I check the db_alias, if that is
positive I do a lookup location and relay if the location is valid.
But sometimes the sip client is still registered in the location
table, but not connected anymore, mainly with wifi connected
clients.
So, I have got the time out on 3 seconds (fr_timer). When that hits
I have configured the following failure route:
failure_route[NOTONLINE]
{
xlog("SCRIPT: Notonline failure route\n");
t_on_failure("STOP");
if (t_is_canceled())
{
exit;
}
if (t_check_status("408"))
{
xlog("SCRIPT: Status is time out");
$rU = $avp(orig_called); ( called number and
alias id not equal, so have to revert the rU back to the called
number)
prefix("9993"); ( needed to get the right
manipulation done within asterisk)
xlog("SCRIPT: uri is $ru");
$ru = "sip:" + $rU + "@w.x.y.x:5060";
xlog("SCRIPT: uri is $ru");
(w.x.y.z ip address of the asterisk box)
append_branch();
t_relay_to_udp("w.x.y.x","5060");
break;
}
}
I am not sure if the above is correct. I have based this on an old
"voicemail" failure route I could find.
It is working correct, the call is forwarded to an Asterisk box,
where some manipulation is done and then send to an pstn gateway.
The only problem I have is one way audio. RTP from the called number
reaches the callee but not vice versa.
Now I am wondering, can that be caused by the failure route, or
should I be looking in another direction?
Hope someone can give me a pointer.
Thanks.
Gertjan Wolzak