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 -----
  From: Moacir Ferreira
  To: Kamailio Mail List
  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...@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" <b...@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


---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus
_______________________________________________
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

Reply via email to