I currently have
several asterisk servers geographically distributed (for automatic fail-over in
the event of either a network or server problem). My carrier delivers to each
server based on the same priorities that I have set in the DNS SRV records
which the clients point to.
Users always have
dialtone regardless of a single server failure. In addition, once they have
re-registered with the backup server they will receive calls as normal until the
primary becomes available again.
However, there is a
slight issue in a few circumstances (and others not listed):
(1)The carrier can
see the primary, but the clients can't (or vice versa) meaning that a user won't
receive the call (but can make calls, and inbound will go into
voicemail).
(2)A user receives a
voicemail while temporarily failed-over to another server, then re-registers
with the primary server (meaning the voicemail will be "stuck" on the secondary
server).
The solution I
am using is to run rsync to synchronize configuration files, and
(hopefully soon) voicemail between all of my servers. The config files are
no problem since changes will always be made on the primary, then propagated out
(I run a script to look at the checksum of /etc/asterisk every 5 minutes, if it
is different i execute a reload).
However, the
voicemail (and potentially sound files, etc.) are a different story. Best I can
tell, voicemail data is entirely contained within /var/spool/asterisk/voicemail.
Are there any other files/directories I should be concerned with? Discussion
around this topic in general appears to be somewhat spotty (and there's nothing
on voip-info.org) so any comments or suggestions people have would be
appreciated.
-Steve