For Kamailio high availability you can refer to the following project:

https://github.com/ghrst/Kamailio-HA

Regards

On Mon, Jun 6, 2016 at 12:02 PM, <mark@brightvoip.co.uk> wrote:
Hi Moacir,
 
I use keepalived and MySQL in a similar way to what you have described.
 
Keepalived to manage an active/passive Kamailio pair and MySQL to store relevant data.  I have both Master-Master and Galera in use for MySQL.  Mater-Master (again using Keepalived for an active/passive pair) is rock-solid.  Galera is good, although occasionally the cluster will stop and need to be manually recovered - maybe I need to update to later software.
 
I use Kamailio primarily for call routing, so do not store state - so cannot advise on ability to find a called number.  If you are storing all info to the DB I would hope the 2nd server would have access to the system state at the time the first server became inactive.  You would just lose whatever calls ended during the period between 1st server failing and 2nd starting (max 20-30 seconds in my experience).
 
Kind regards,
Mark
 
 
 
 
 
 
 
----- Original Message -----
Sent: Sunday, June 05, 2016 10:26 PM
Subject: Re: [SR-Users] High availability

Hi,

Sorry... I should have mentioned before. You guys are thinking on the standard Internet SIP calls' behavior while I am trying to use Kamailio on a large "industrial" project. This said:

Assuming that the end-point is "smart", the DNS method is functional but it would take quite a while before the UA (phone) recovers from the previous name/IP binding it has in cache;
SRV is good for a "smart" UA that, unfortunately, is not the case;
Same for the phone units as they are industrial "Help Points" and so quite "dummy".

While I never tested it, I thought I could use two Kamailio servers with a mysql cluster like mariadb-galera where, for Kamailio functions, one server would be "active" and another "passive" server. Then use keepalived for monitoring the "active" Kamailio and starting the "passive" server if the active Kamailio fails. Without any testing, tests that I think I should have done before putting questions in here, my questions are:

Suppose that  I have two Kamailio servers, one "active" and another one "passive" (not running) where the mysql databases are synchronized in between two servers using MySQL Galera. Using keepalived I would monitor the active Kamailio instance. Should it fails, start the "passive" Kamailio instance using the same MySQL database that were supposed to be synchronized. Would this new Kamailio instance be able to find a called number? Why this question? As long as I understand, Kamailio will always challenge the UA for authentication before making a call, so if this second server gets a call request it would just challenge and authenticate the caller. The "key point" would be having this new Kamailio instance aware about the called destinations. So, delivering a MySQL database, with the latest data the active Kamailio had, to this new Kamailio instance would be enough to allow it find the called party?

Anyway, can you guys comment on my "thoughts"? Is it possible? Am I missing something? Would you suggest another approach for such scenario?

Cheers!
Moacir


Date: Sun, 5 Jun 2016 21:07:41 +0200
From: chabert.loic.74@gmail.com
To: sr-users@lists.sip-router.org
Subject: Re: [SR-Users] High availability

Hello Bill,

I have made kamailio ha using exabgp with loopbacks.

Check https://github.com/Exa-Networks/exabgp

With bgp, kamailio cluster can be splited on severals datacenters.

Regards.

Le 5 juin 2016 20:53, "Bill" <bill@novatrope.us> a écrit :
Hi Moacir

We have only found three ways to handle failover.
1. Change the DNS entry whenever a failure is detected.
2. Use SRV records to display an alternate route.
3. Use the failover mechanism in the phone itself

1. works, but it may take some time for your ua's to become aware of the change
2. never have been able to get this to work as advertised.
3. Works pretty well depending on the phone. (We use mostly Yealink's and they seem to handle the failover pretty well.)

Hope this helps

On 06/05/2016 07:41 AM, Moacir Ferreira wrote:
Hi,

I got two questions regarding high availability:

1 - Should my Kamailio server fail, I would like another Kamailio "box/server" to take over with minimum services disruption. What is the "community" advice for such environment?

2 - Should my main PSTN gateway fail, what would be the best mechanism to redirect calls to a second PSTN gateway?

Cheers!
Moacir


_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users


_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users


_______________________________________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users


_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users


Virus-free. www.avast.com

_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users