[SR-Users] Is t_on_failure with uac_req_send possible?
Nathan Angelacos
nangel at nothome.org
Tue Jan 17 01:16:01 CET 2012
On 01/16/2012 02:10 PM, Alex Balashov wrote:
> On Jan 16, 2012, at 5:08 PM, Nathan Angelacos<nangel at 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 at 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 at 127.0.0.1";
...
uac_req_send();
}
More information about the sr-users
mailing list