[SR-Users] Active/active keepalived - Kamailio includes non-local virtual IP in "myself" which breaks DMQ call routing

Arnd Schmitter aschmitter at megasat.de
Wed Dec 15 08:04:50 CET 2021


Hi,

For the RPC command, take a look at https://kamailio.org/docs/modules/5.5.x/modules/pv.html#pv.rpc.shvSet

Regards
Arnd

Am Mi, Dez 15, 2021 um 04:59:06 schrieb Rhys Hanrahan:
> Hi Guys,
> 
> That's awesome - thanks to you both for the suggestions. I had overlooked anycast because my Ips are only active on one box at a time, but it makes sense that I'm basically dealing with the same challenges as an anycast setup, thanks Igor.
> 
> And thanks Arnd! This is what I was thinking of as a quick fix, but I couldn't find anything useful to change via RPC commands. A shared variable makes perfect sense!
> 
> I will work through these ideas and post back with whatever I manage to come up with.
> 
> Thanks! 
> Rhys.
> 
> On 15/12/21, 12:19 am, "sr-users on behalf of Arnd Schmitter" <sr-users-bounces at lists.kamailio.org on behalf of aschmitter at megasat.de> wrote:
> 
>     Hello Rhys,
> 
> 
>     For a quick solution, to can use notify scripts in keepalived which will alter a shared variable via RPC call. Then you can test the content of this variable to see if this instance is master or not.
> 
> 
>     Regards,
>     Arnd
> 
> 
>     Am Di, Dez 14, 2021 um 14:03:27 schrieb Igor Olhovskiy:
>     > Rhys,
>     > 
>     > Seems you're looking into something called "anycast". If it's the case, have
>     > you checked https://github.com/kamailio/kamailio/blob/master/misc/examples/mixed/kamailio-minimal-anycast.cfg
>     > ?
>     > 
>     > But overall you are correct, myself is not enough clever to get if interface
>     > is active or not.
>     > 
>     > Regards,
>     > Igor
>     > 
>     > On 14.12.2021 05:50, Rhys Hanrahan wrote:
>     > > 
>     > > Hi Everyone,
>     > > 
>     > > I have Kamailio acting as a registrar, using DMQ to replicate usrloc
>     > > between nodes. I’m relaying INVITEs to the home registrar, but skipping
>     > > this if (uri == myself) is true.
>     > > 
>     > > In my lab I just setup my SBCs in an active/active mode, similar to the
>     > > link below. So I have 2x VIPs and both SBCs listen on both, but the
>     > > first VIP is only master on SBC01 and the second VIP is only master on
>     > > SBC02.
>     > > 
>     > > https://docs.nginx.com/nginx/admin-guide/high-availability/ha-keepalived-nodes/ <https://docs.nginx.com/nginx/admin-guide/high-availability/ha-keepalived-nodes/>
>     > > 
>     > > 
>     > > My issue is that now “myself” will always return true even if the
>     > > virtual IP is actually not active on this node at the moment, so the
>     > > invite is never relayed properly if it’s on another node. I guess
>     > > “myself” is just blindly looking at the list of Ips that are configured
>     > > with either listen= or alias= and doesn’t care if the IP actually exists
>     > > on the server at the time, or not?
>     > > 
>     > > I am thinking I may have to ditch relying on “myself” entirely and come
>     > > up with some other way of checking for local requests, but I am
>     > > wondering if there’s a good way of approaching this? I was thinking of
>     > > perhaps triggering an add/remove of listen directives (or something)
>     > > when a failover of a VIP happens, though this seems kind of heavy
>     > > handed. Hoping there is a better way.
>     > > 
>     > > Has anyone else tried doing active/active Kamailio instances like this?
>     > > 
>     > > Thanks!
>     > > 
>     > > 
>     > > *Rhys Hanrahan* | Chief Information Officer
>     > > *e:* rhys at nexusone.com.au <mailto:rhys at nexusone.com.au>
>     > > 
>     > > www.nexusone.com.au <http://www.nexusone.com.au/>signature_132622389
>     > > <http://www.fusiontech.com.au/>
>     > > *
>     > > **NEXUS ONE****|** FUSION TECHNOLOGY SOLUTIONS**
>     > > **p:* 1800 NEXUS1 (1800 639 871) or 1800 565 845 *|* *a:* Suite 12.03
>     > > Level 12, 227 Elizabeth Street, Sydney NSW 2000
>     > > www.nexusone.com.au <http://www.nexusone.com.au/> *|*
>     > > www.fusiontech.com.au <http://www.fusiontech.com.au/>
>     > > 
>     > > /The information in this email and any accompanying attachments may
>     > > contain; a. Confidential information of Fusion Technology Solutions Pty
>     > > Ltd, Nexus One Pty Ltd or third parties; b. Legally privileged
>     > > information of Fusion Technology Solutions Pty Ltd, Nexus One Pty Ltd or
>     > > third parties; and or c. Copyright material Fusion Technology Solutions
>     > > Pty Ltd, Nexus One Pty Ltd or third parties. If you have received this
>     > > email in error, please notify the sender immediately and delete this
>     > > message. Fusion Technology Solutions Pty Ltd, Nexus One Pty Ltd does not
>     > > accept any responsibility for loss or damage arising from the use or
>     > > distribution of this email./
>     > > 
>     > > /Please consider the environment before printing this email./
>     > > 
>     > > 
>     > > __________________________________________________________
>     > > Kamailio - Users Mailing List - Non Commercial Discussions
>     > >    * sr-users at lists.kamailio.org
>     > > Important: keep the mailing list in the recipients, do not reply only to the sender!
>     > > Edit mailing list options or unsubscribe:
>     > >    * https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
> 
>     > __________________________________________________________
>     > Kamailio - Users Mailing List - Non Commercial Discussions
>     >   * sr-users at lists.kamailio.org
>     > Important: keep the mailing list in the recipients, do not reply only to the sender!
>     > Edit mailing list options or unsubscribe:
>     >   * https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
> 
> 
>     __________________________________________________________
>     Kamailio - Users Mailing List - Non Commercial Discussions
>       * sr-users at lists.kamailio.org
>     Important: keep the mailing list in the recipients, do not reply only to the sender!
>     Edit mailing list options or unsubscribe:
>       * https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
> 
> __________________________________________________________
> Kamailio - Users Mailing List - Non Commercial Discussions
>   * sr-users at lists.kamailio.org
> Important: keep the mailing list in the recipients, do not reply only to the sender!
> Edit mailing list options or unsubscribe:
>   * https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users



More information about the sr-users mailing list