[SR-Users] High availability

mark at brightvoip.co.uk mark at brightvoip.co.uk
Mon Jun 6 09:32:18 CEST 2016


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.74 at gmail.com
  To: sr-users at 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 at 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 at 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 at 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 at 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 at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20160606/b1217066/attachment.html>


More information about the sr-users mailing list