Brekeke Forum Index » Brekeke SIP Server Forum

Post new topic   Reply to topic
Failover Redundancy question
Author Message
ajlindy
Brekeke Talented


Joined: 12 Sep 2017
Posts: 53

PostPosted: Fri Nov 13, 2020 9:00 am    Post subject: Failover Redundancy question Reply with quote

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?
Back to top
View user's profile
Niloc
Brekeke Talented


Joined: 19 Sep 2017
Posts: 70
Location: NL

PostPosted: Fri Nov 13, 2020 11:37 am    Post subject: Reply with quote

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
Back to top
View user's profile
ajlindy
Brekeke Talented


Joined: 12 Sep 2017
Posts: 53

PostPosted: Fri Nov 13, 2020 11:41 am    Post subject: Reply with quote

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?
Back to top
View user's profile
Niloc
Brekeke Talented


Joined: 19 Sep 2017
Posts: 70
Location: NL

PostPosted: Fri Nov 13, 2020 12:21 pm    Post subject: Reply with quote

&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-with-the-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.
Back to top
View user's profile
ajlindy
Brekeke Talented


Joined: 12 Sep 2017
Posts: 53

PostPosted: Fri Nov 13, 2020 12:28 pm    Post subject: Reply with quote

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.
Back to top
View user's profile
Display posts from previous:   
Post new topic   Reply to topic    Brekeke Forum Index » Brekeke SIP Server Forum All times are GMT - 7 Hours
Page 1 of 1