On 01/16/2012 02:10 PM, Alex Balashov wrote:
On Jan 16, 2012, at 5:08 PM, Nathan
Angelacos<nangel(a)nothome.org> wrote:
>
> I'm trying to arm the failure route for a message sent via uac_req_send - similar
to:
>
> {
> $uac_req(method)="OPTIONS";
> $uac_req(ruri)="sip:kamailio.org";
> $uac_req(furi)="sip:kamailio.org";
> $uac_req(turi)="sip:kamailio.org";
>
> t_on_failure("UAC_FAIL");
> uac_req_send();
> }
>
> failure_route("UAC_FAIL") {
> xlog ......
> }
>
>
>
> If there is no response from the remote server, kamailio resends until the timers
expire; but the failure route is not run. Similarly, if a 404 is sent back from the
remote server, the failure route is not run.
>
> Am I missing something obvious?
>
> Thanks
It is, unfortunately, not possible. The
uac_req_send() requests fly
under the radar of TM state.
Thanks for the quick response Alex!
As an alternative, this seems to work, although seems hackish; better
suggestions welcomed.
mhomed=1
route {
...
if (( $ru == "sip:deadbeef@127.0.0.1" ) && ($ri ==
"127.0.01") ) {
$ru = "sip:kamailio.org";
t_on_failure("UAC_FAIL");
t_relay();
exit;
}
...
$uac_req(ruri)="sip:deadbeef@127.0.0.1";
...
uac_req_send();
}