[SR-Users] Is t_on_failure with uac_req_send possible?

Klaus Darilion klaus.mailinglists at pernau.at
Tue Jan 24 09:43:19 CET 2012


I once had a similar problem. In my case I just "pinged" other hosts and 
wanted to know if they are alive. I solved it by reversing the logic - 
not reacting on errors but reacting on successful responses. Reply 
routes work fine with uac_req_send.

regards
Klaus

On 17.01.2012 01:16, Nathan Angelacos wrote:
> 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();
> }
>
>
>
>
>
>
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users



More information about the sr-users mailing list