Hi, Kevin!
There is a tutorial for 2.4 for this[1] but most of the functions
changed a bit in 3.1.
Your setup seems correct
* you should have different sharing tags for each node
* for each created dialog, you should set the tag of the current node
* you should setup dialog replication between the two nodes
* you must figure out when a node goes down (probably using external
tools) - once you figure out, you should change the active state of the
tag on the remaining node - he should be active for both tags (do this
using the clusterer_shtag_set_active command, as Social Boh indicated)
* since you're using a different IP, you should send re-invites for all
the affected dialogs (just as you indicated)
Please provide a trace for the messages sent after you switch, to
understand why the call is being terminated.
[1]
https://blog.opensips.org/2018/03/23/clustering-ongoing-calls-with-opensips-2-4/
Best regards,
Răzvan Crainea
OpenSIPS Core Developer
http://www.opensips-solutions.com
On 1/19/21 7:02 PM, Kevin Vines wrote:
Hi Social,
I'll try my luck with Google Translate if you want to share your tutorial.
Thanks,
Kevin V.
*From:* [email protected]
*Sent:* January 19, 2021 11:03 a.m.
*To:* [email protected]; [email protected]
*Reply to:* [email protected]; [email protected]
*Subject:* Re: [OpenSIPS-Users] v3.1 Active/Active maintain active calls
on node failure
I think your best option is KeepAlived; on keepalived configuration you
declare a script name where you execute:
/usr/local/bin/opensips-cli -x mi clusterer_shtag_set_active vip/3
to switch VIP TAG from one server to other.
In this case BYE go to the right place.
If anyone want translate from spanish to english, I have a complete
tutorial for OpenSIPs 3.1
Regards
---
I'm SoCIaL, MayBe
El 19/01/2021 a las 10:40 a. m., Kevin Wormington escribió:
I’m not using RTPEngine…the upstream proxies are handling all media,
NAT traversal, etc. so the OpenSIPS instances can always reach the
endpoints. I’m using clusterer module to share the user location and
dialogs with different active tags per node. There is zero loss of
media on switch-over and sometimes a little longer PDD for new calls
during switchover until the upstream proxies detect the instance down.
The only part I can’t seem to get to work is handling the final BYE
for calls that were on the failed node originally. The re-invite
ping will correct end them but would like to be able to fix it
completely…but maybe that is not currently possible.
Thanks,
Kevin
On Jan 19, 2021, at 9:31 AM, Social Boh via Users
<[email protected] <mailto:[email protected]>> wrote:
To switch calls from one server to another you have to use redis and
rptengine using HA with pacemaker y corosync.
You must have two OpenSIPs, Two RTPEngine, Two Redis servers
(primary-replica) Two Mariad servers (primary/primary)
With redis you can save calls data (ip, ports, callid) on active
server and then use these data on the replica server when swithc to
active. On my tests, when switching from a server to another I have
between 5 and 10 seconds without audio.
Regards
---
I'm SoCIaL, MayBe
El 19/01/2021 a las 10:00 a. m., Kevin Wormington escribió:
I’m not using a VIP and I have made some progress by setting a
different active tag on each node…then upon node failure setting the
failed node's tag to active on remaining node. This lets the
re-invite pinging work, etc. It’s almost there but the handling of
the BYE…they are still sent to the IP of the failed node even after
re-invite pings so any in-progress calls from the failed node are
zombie when they hang up until the re-invite ping times out (30
seconds). I found an article about initiating a re-invite on the
new node with something like "opensips-cli -x mi dlg_send_sequential
callid="442CB6C1-6005F8B80009DA08-FC731700" mode=challenge
body=outbound” but that either seems to terminate the call
immediately or say the dialog wasn’t found.
Thanks,
Kevin
On Jan 19, 2021, at 8:46 AM, Andy Dierlam <[email protected]
<mailto:[email protected]>> wrote:
With dialog writing to db that both servers use. And same tag on
both - modparam("dialog", "dlg_sharing_tag", "vip1=active")
had this working on opensips 2.4
thanks
Andy
On Mon, Jan 18, 2021 at 2:30 PM Kevin Wormington
<[email protected] <mailto:[email protected]>> wrote:
Hi,
I've been attempting to get a two node active/active setup to work
with the v3.1 clusterer module sharing usrloc and dialog. The
setup is fronted by a proxy that handles all of the NAT/media so
either OpenSIPS instance can communicate directly with the user.
What I have working so far:
Registrations and calls work when sent to either node and if you
stop OpenSIPS on a node new calls work fine using the other node.
What I can’t get to work:
Calls that are already in progress to switch between nodes when one
node fails.
I have messed around with various sharing tags…no tag, same tag,
different tags but haven’t had any luck. I’m guessing that I’m
missing something to trigger the remaining node to send re-invites.
Has anyone attempted this type of setup and have any ideas?
Thanks,
Kevin
_______________________________________________
Users mailing list
[email protected] <mailto:[email protected]>
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
[email protected] <mailto:[email protected]>
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
[email protected] <mailto:[email protected]>
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users