Author |
Message |
ajlindy Brekeke Talented
Joined: 12 Sep 2017 Posts: 53
|
Posted: Fri Nov 13, 2020 9:00 am Post subject: Failover Redundancy question |
|
|
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 |
|
Niloc Brekeke Talented
Joined: 19 Sep 2017 Posts: 70
Location: NL
|
Posted: Fri Nov 13, 2020 11:37 am Post subject: |
|
|
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 |
|
ajlindy Brekeke Talented
Joined: 12 Sep 2017 Posts: 53
|
Posted: Fri Nov 13, 2020 11:41 am Post subject: |
|
|
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 |
|
Niloc Brekeke Talented
Joined: 19 Sep 2017 Posts: 70
Location: NL
|
Posted: Fri Nov 13, 2020 12:21 pm Post subject: |
|
|
&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 |
|
ajlindy Brekeke Talented
Joined: 12 Sep 2017 Posts: 53
|
Posted: Fri Nov 13, 2020 12:28 pm Post subject: |
|
|
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 |
|
|