[Kamailio-Users] Kamilio Failover Options

Henning Westerholt henning.westerholt at 1und1.de
Wed Feb 11 11:18:48 CET 2009


On Wednesday 11 February 2009, Stagg Shelton wrote:
> I am looking for some ideas on how to create a more redundant setup in
> my operation.  About 60 days ago our openser 1.3.2 system started
> sending out 500 errors.  Looking through the log file  I found alot of
> ERROR:tm:new_t: out of mem  that corresponded to the INVITES.  A
> simple restart of openser freed the memory and calls processed
> normally as expected.  Since then we have upgraded to openser 1.3.3
> and haven't experienced the problem since.  Currently I am testing
> kamilio 1.4.3 and planning my migration into kamilio from openser.
>
> What I would like to create is a system that has two kamailio systems
> where one can fail to the other in the event of an application error
> that prevents calls from processing.  Does anyone have any suggestions
> on implementing a redundant kamilio system, or can point me in the
> direction of where to start reading and researching.

Hi Stagg,

there are of course several ways of implementing something like this. You 
could setup a load balancer in front of the two systems, that distribute the 
traffic and removes one from the balancing if it returns errors. This can be 
done with the dispatcher module, which does a keep-alive ping, or with some 
external script that use sipp to setup a call or something similar and then 
call e.g. carrierroute to change the balancing. You also could re-route the 
traffic to the second system, if the first one fails in a failure_route in 
the config, on certain error codes. 

Another option is to implement IP level failover, where you kill the active 
machine and activate the hot standby on errors. There are projects (linux-ha, 
heartbeat) that provide solution for this, if you don't want to do it 
manually.

Cheers,

Henning




More information about the Users mailing list