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

Reply via email to