Failover Redundancy question

Discuss any topic about Brekeke SIP Server.

Moderator: Brekeke Support Team

Post Reply
ajlindy
Posts: 53
Joined: Tue Sep 12, 2017 1:47 pm

Failover Redundancy question

Post by ajlindy »

1. Brekeke Product Name and Version: 3.5.5.7

2. Java version: unknown

3. OS type and the version: Windows 2012 R2

4. UA (phone), gateway or other hardware/software involved: Cisco Cube

5. Your problem:

Matching Patterns
$request = ^INVITE
To = sip:(.+)@
$addr = <list of IP addresses>

Deploy Patterns
To = sip:%1@<IP1>
$session = failover sip:%1@IP2 sip:%1@IP3
&failover.timer.provisional = 35


Here's my problem -- If I send the dial to the first IP and get a 183 Trying back from them, but literally nothing else (like a Ringing message or a 200 OK that the call has been answered) and 35 seconds happens, it will send a call attempt to the 2nd IP address.

So basically, I am double-dialing numbers IF the carrier ever bogs down and SIP messaging doesn't come back fast enough.

To me, that's not really why I want to have a failover. I want to fail over to IP 2 or IP3 if IP1 truly is dead and is rejecting calls or something of that nature.

Is there any kind of change I can make to have my failover work like I truly want it to work?
Niloc
Posts: 70
Joined: Tue Sep 19, 2017 9:49 pm
Location: NL

Post by Niloc »

Why did you put "&failover.timer.provisional = 35"?
If you don't want to make a failover after any provisional response (1xx)
is received, let you set a big number there such as 86400 (=1 day)

&failover.timer.provisional = 86400
ajlindy
Posts: 53
Joined: Tue Sep 12, 2017 1:47 pm

Post by ajlindy »

For me, 35 seconds was an arbitrary number so that if we didn't get anything from the first IP we wouldn't sit there forever.

However, I can set it to that timer (1 day) and in doing so what actually would cause it to try to use IP2 or IP3 if IP1 was actually broken? How could we be able to tell?
Niloc
Posts: 70
Joined: Tue Sep 19, 2017 9:49 pm
Location: NL

Post by Niloc »

&failover.timer.provisional is the timer applied after any provisional response is received.

If you need a timer just after an INVITE is sent, use &failover.timer.inviting. The default value is 10 (sec)

https://docs.brekeke.com/sip/failover-w ... -dial-plan

[Matching Patterns]
$request = ^INVITE
To = sip:(.+)@
$addr = <list of IP addresses>

[Deploy Patterns]
To = sip:%1@<IP1>
$session = failover sip:%1@IP2 sip:%1@IP3
&failover.timer.inviting = 35

the above rule kicks the failover if IP1 doesn't respond for 35 sec.
ajlindy
Posts: 53
Joined: Tue Sep 12, 2017 1:47 pm

Post by ajlindy »

That's beautiful. I think that's what we need, Niloc.

Thank you! I'll take it back to the client and see what they think.
Post Reply