On 02/11/2009 12:18 PM, Henning Westerholt wrote:
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.
to complete, there is DNS SRV failover option, but it is not recommended
if you do not control the phones and you are not sure the phones support
it properly. However, this one would among the easiest to setup and not
complex to implement in a sip stack -- any phone vendor here hearing
me?!?! :-)
Cheers,
Daniel
--
Daniel-Constantin Mierla
http://www.asipto.com