[asterisk-users] High Availability with Asterisk
adamk at 3a.hu
adamk at 3a.hu
Sat Mar 8 14:27:34 CST 2014
My approach (in theory only, so please correct me if I'm wrong) would be
to run asterisk on multiple boxes (one each). A dedicated monitoring
box (nagios? custom scripts?) would perform frequent checks against the
boxes (one of my previous projects one asterisk was using call files to
demonstrate its health to another one).
If a box fails, I would simply redirect/reroute its traffic to another
one, using network solutions. Such as shutting down the production
interface of a suspectedly failed asterisk box, having an idle one pick
up its IP address, or using load balancing / routing / NAT to redirect
the client's traffic to a standby box.
My approach is based on the experience that linux based HA tools are
often not free, or don't scale well, or engineered to circumvent an
error in a slower manner (eg. booting a second VM takes too much time).
However in the network world, there are well known protocols that were
designed to take over in a matter of miliseconds.
I do understand that this would not provide 'session' data, so failing
over to a different box would mean the need to re-register, could cause
calls to drop etc. This might be unacceptable for you. As I said in
the beginning, I haven't been building such systems, in my experience a
dropped call is not that big of a deal, if it happens because the
network cuts over to a different box. This could be handled with a pair
of frontend load balancers, where the number of asterisk boxes can be
hope this helps
More information about the asterisk-users