[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