[OpenSIPS-Users] Gateway failover special setup (t_check_status question)

Bogdan-Andrei Iancu bogdan at opensips.org
Fri Jan 20 07:57:57 EST 2017


Hi Max,

Something like:

      if( (t_check_status("444") || (t_check_status("408") && 
t_local_replied("all")) ) || !goes_to_gw("1") ) {

Do failover if 444 reply or if 408 without any reply received (internal 
408).

Regards,

Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com

On 01/20/2017 01:21 PM, Max Mühlbronner wrote:
> Hi,
>
>
> my scenario is a special setup where we are checking for the reply 
> code (t_check_status) and only do a failover to the next gateway when 
> there is a 444 reply or gateway type is not "1".
>
> ...
>
>         if (use_next_gw()) {
>                 if( t_check_status("444") || !goes_to_gw("1") ) {
>                         t_on_failure("2");
>                         t_relay();
>                         exit;
>                 }
>
>
> The problem is, there are multiple gateways in a carrier/gatewaylist 
> (gateway type 1) which are not responding (t1 timer hits and invite is 
> re-transmitted) and there is no failover after the first gateway 
> anymore. Is there anything i am missing, is it even possible to do 
> failover only for the 444 reply while at the same time still doing a 
> failover in case of Timeout-based failover ? (t1/t2 timers)
>
>
> I didn't try yet, but is something like !t_check_status("\d") 
> feasible? E.g. doing a failover if there is no t_check_status 
> (checking regular expression for !digits?) but i guess it does not 
> work that way?
>
>
>         if (use_next_gw()) {
>                 if( t_check_status("444") || !goes_to_gw("1") ) {
>                         t_on_failure("2");
>                         t_relay();
>                         exit;
>                 }
>
>                 if(!t_check_status("\d")) {
>
>                         t_on_failure("2");
>                         t_relay();
>                         exit;
>
>                  }
>
>     ...
>
>
>
> BR
>




More information about the Users mailing list