Voicemail in a Multi-Server Environment

It’s very often the case that when using Asterisk-based call center ACD software, we want some calls to be directed to a voicemail box. This may be simply a call to the extension of someone who is busy or away from their phone, or could be a community voicemail for callers who have exited the queue.

Back in the day, your options were limited when you were running multi-server call center software. If a call came in to Asterisk server A, the voicemail application on Asterisk server B would be unaware of the message. The voicemail application that comes with Asterisk only has one valid option in this case; sending the voicemail message via email. This is not always what works in the call center environment, so a second solution can sometimes be engineered. Using a shared file system or file synchronization allows both voicemail systems to work with the same set of files and prompts. There are, of course, issues with both of these. Shared filesystems are sometimes unavailable to one system or another due to drivers or connectivity problems. File synchronization is usually not immediate, and periodic syncing leaves gaps where changes or messages may not be available.

Database-backed voicemail has been around for a few years now, and is the default setting for Q-Suite installs. It supports the sending of voicemails as well, but allows instant updates to voicemail prompts on all Asterisk servers tied to a particular database, as well as immediate access to new voicemail messages. This makes it perfect for failover situations as well. ODBC drivers are available for multiple databases, and allow it to be used with Cloud-based database systems like Amazon RDS.