Using Citadel and Asterisk 1.4. This is based on a guide written by Stefan Reuter for use with another server. Thanks, Stefan.

Since version 1.4 Asterisk supports IMAP as a store for voicemail. The IMAP integration allows voicemail to be managed either through your email client or by phone through Asterisk's voicemail application.

Sending email notifications for new voice messages has been supported since the very beginning, the news is that you are now operating on the same data store. That means if you read a message in your email client it is also marked read when you use the phone to query messages. It's amazing to see the MWI (message waiting indicator) on your phone switch off as soon as you select the message in your mailbox. Of course messages can also be deleted and forwarded using both systems.

To enable support for the IMAP store you need the UW-IMAP client library.

Some Linux distributions ship with an old version of UW-IMAP's client library (such as libc-client-dev from 2002). Asterisk requires version 2004 or 2006. As Asterisk links statically against c-client this is not a big problem; just download a recent version, compile it and point Asterisk to it – there is no need to install it.

Asterisk must have access to all user's Voicemail folder. To accomplish that you can use the the “master user” feature available with Citadel server version 7.22 or newer. You can do this using the text-mode client, but the easier way to configure it is using WebCit, the web-based user interface to Citadel. Simply log in as an Aide (administrator) and select Administration –> Edit site-wide configuration and click the “Access” tab:

At the bottom of this pane are the settings you need to configure – master user name (which in this example is “asterisk”) and master user password (which in this example is “password”).

The last thing you have to do is assigning the IMAP user to your voice mail accounts in voicemail.conf:

1234 => 4321,John Doe,,,imapuser=john

And don't forget to create the Voicemail IMAP folder for that user before you receive the first message.