[SR-Users] Does failure_route for redirection covers all error cases ?

Liviu ANDRON liviu.andron at bjtmail.com
Thu Oct 28 11:50:56 CEST 2021


Hello,

We are routing calls to FreeSWITCH servers.
We have a failure routing mechanism in place, which looks pretty common
from my research around:
route[INVITE] {
...
t_on_failure("REROUTE");
and
failure_route[REROUTE] {
    if (t_is_canceled()) {
        exit;
    }
    //  also 6xx ?
    if (t_check_status("5[0-9][0-9]") or (t_branch_timeout() and
!t_branch_replied())) {
        // re-route to another available FreeSWITCH server
    }
}

The problem is that we don't capture all the failures we would like to, one
such example being 480 sent by FreeSWITCH in various cases (even default in
hangup_cause_to_sip, mod_sofia.c,
https://github.com/signalwire/freeswitch/blob/master/src/mod/endpoints/mod_sofia/mod_sofia.c#L369),
like a Python script crash, but also legitimate cases like "user not
registered" (USER_NOT_REGISTERED).
Are there other cases? Like a timeout replied (t_branch_timeout() and
t_branch_replied()) which never recovers ? Shouldn't any t_branch_timeout()
re-arm the failure route ?

Thanks,
Liviu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20211028/f40209e7/attachment.htm>


More information about the sr-users mailing list