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.
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.
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).
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 201
ln -s 200 202
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
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.
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.