FreePBX – Common Voicemail Box

Overview

I have several extensions on my Asterisk / FreePBX box but currently only one landline. Ring groups solved the problem of one incoming call ringing multiple handsets but there was only one official solution to sharing voicemail.

Voicemail Blasting (VMB)

VMB is a way of disseminating incoming voicemail to multiple voicemail boxes. For example someone leaves a message on voicemail for one extension. When the person has finished leaving a message, VMB copies that message and puts it into designated extension voicemail boxes for other extensions to receive. The problem with this setup is that the voicemail may be heard from one extension and deleted but it still remains on others.

Symbolic Links To The Rescue

I found a neat trick to fool FreePBX / Asterisk to get multiple voicemail boxes pointing to one. The great point about this is that each extensions keeps most of their settings separate so things like password can be different for each extension but the messages are shared. This means one person can delete the message from one phone and another user will not see the message (maybe except in the trash).

How To

I have FreePBX running on a Ubuntu 10.04 install. First thing is to create all the extensions and enable voicemail on all of them.

Identify the one extension which will be shared amongst all others e.g 200.

Go to /var/spool/asterisk/voicemail/default Check if there’s a folder with the extension number of your designated voicemail. If not leave a message on extension 200 and it should create one.

Remove all other extensions which should share the same inbox as extension 200, e.g 201 and 202 sudo rm -rf 201 and replace 201 with 202 etc.

Switch user to the Asterisk user. This is needed because the original directories were “owned” by the Asterisk user. Once created also ensure the symbolic links have at least the same or more permissions as extension 200 (or the shared voicemail box) sudo su asterisk

Create a symbolic link to 200 with the previously removed folder names ln -s 200 201ln -s 200 202

Summary

This is a cool trick which should be transparent to FreePBX / Asterisk unless they change the way voicemail works. Updates and modules should not see any difference because the symbolic links point to a real directory.

Also it is easy to revert any extension back to having their own voicemail box or even create multiple shared voicemail boxes by removing the sym link and creating a new one to point to another extension directory.

How to make multiple extensions use a common voicemail box

About Danny

I.T software professional always studying and applying the knowledge gained and one way of doing this is to blog. Danny also has participates in a part time project called Energy@Home [http://code.google.com/p/energyathome/] for monitoring energy usage on a premise. Dedicated to I.T since studying pure Information Technology since the age of 16, Danny Tsang working in the field that he has aimed for since leaving school. View all posts by Danny → This entry was posted in Linux, PBX and tagged , , , . Bookmark the permalink.

2 Responses to FreePBX – Common Voicemail Box

  1. Ad Hominem says:

    There’s a much easier way to accomplish this:

    In FreePBX, go into the extension you want to show someone else’s voicemail status.

    Under “Device Options,” find the mailbox entry.

    Change it from

    extension#@default

    to

    extension#youwanttowatch@default

    In other words, if you want extension 4755 to see the voicemail status for extension 4700, change 4755@default to 4700@default.

    Then change the Voicemail button on your phone from *97 to *984700.

    • Danny says:

      Long time since revisiting this blog post and I have just tried out Ad Hominem suggestion and it worked a treat! Much easier and no hacking around with files.

      Thanks Ad Hominem.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.