Not Logged in - No Account?

Don't have an account? Registering an account with us allows you to post to the forums, easily track new posts, subscribe to threads, pm (private message) other forum members, and receive periodic news letters (you can opt out if you desire). Once you are logged in this message will no longer appear. If you don't have an account, you can create one by registering here. Lost your password, request a new password. We respect your privacy which means we collect minimal information when you register and we do not resell that information or use it in any objectionable way. You can review our privacy policy for full details.


How to make multiple extensions use a common voicemail box

How to make multiple extensions use a common voicemail box

This is NOT officially supported in FreePBX, but you can link two
or more voicemail boxes together so that all extensions share the same
voicemail box.

First create the extensions and enable voicemail for all of them.
Do not change the mailbox string from the default when created. Decide
which will be the primary extension hosting the "real" voicemail box.
For this example let's say you create three extensions numbered 201,
202, and 203. 201 will contain the "real" voicemail box and the other
two will be symlinked to that box.

Now go to the /var/spool/asterisk/voicemail directory. You will see
two subdirectories - default and device. Go into default, you will see
directories for each extension. If you do not see one for 201, go leave
a voicemail for 201 and it should be created (assuming you have set
voicemail up correctly in the extension). If you see directories for
the other two extensions (202 or 203), delete them (if these are
pre-existing extensions, you may want to check first to make sure there
are no pending voicemails in those directories).

While still in /var/spool/asterisk/voicemail/default create a symlink for each of the two extensions:

ln -s 201 202

ln -s 201 203

Make sure that permissions and ownership for the symlinks are the
same as for the original directory (in particular, make sure that owner
and group are asterisk).

Now back up one directory level and go into the device directory
(you want to be in /var/spool/asterisk/voicemail/device). Chances are
that the symlinks for 202 and 203 will already have been created
automatically, and if they haven't they probably will be when
necessary. But if you want to insure they are there, just do this:

ln -s /var/spool/asterisk/voicemail/default/202/ 202

ln -s /var/spool/asterisk/voicemail/default/203/ 203

While this is a symlink to a symlink, it means that things won't
break if you ever decide to separate the directories (restore them to
the original condition) in the original default directory. "default"
seems to be the more important of the two directories - once you create
the symlinks there, everything seems to work as expected, so I wouldn't
mess with the device directory at all unless you are having problems.

What if I want individual greetings but a common voicemail box?

(Thanks to philippel for suggesting this in the #freepbx IRC channel.)

Let's say you have three tech support people, and when people call
one of them you want that person's voice to give a personalized
voicemail greeting, but you still want the actual voicemails to go to a
common voicemail box shared by all three (so in case one of them is
away, another can look at the issue).

In that case, the symlink trick still works but you have to do it
one level lower in the directory structure, and you will need to
symlink the INBOX, Old, and (possibly) tmp directories individually.

So instead of creating the symlinks in
/var/spool/asterisk/voicemail/default, you'd go one level lower, into
(for example) /var/spool/asterisk/voicemail/default/201 and from there
create the needed symlinks for each of the two other two extensions:

ln -s INBOX ../202/INBOX

ln -s INBOX ../203/INBOX

ln -s Old ../202/Old

ln -s Old ../203/Old

ln -s tmp ../202/tmp

ln -s tmp ../203/tmp

Again, I would assume that any symlinks from the
/var/spool/asterisk/voicemail/device branch will be created as needed
so I'm not going to bother with those here. You can create them
manually if you really want to, but I don't think it's necessary.

One thing you need to be aware of, when only the individual
subdirectories are symlinked, if a user takes an action that creates a
new subdirectory (a.k.a. a "folder" in voicemail jargon), such as using
advanced options to save a message in a specific folder, that folder
and its contents will be accessible only by the user that created the
folder, and not everyone in the group. This may or may not be desirable
behavior. For example, if a user happens to receive a personal message
and moves it to the "Family" folder (which was not previously created
or symlinked), it will thereafter only be accessible to the user that
moved the message, regardless of whether or not that was the user that
the message was intended for. If you want the additional folders (e.g.
Work, Family, Friends) to be accessible to everyone in the group, then
you must make sure those folders are created for the primary extension
(this can be accomplished simply by going into "advanced options" from
the primary extension's voicemail menu and then changing folders to
each available folder in turn - the act of simply accessing the folder
seems to create it if it doesn't already exist), then symlinking each
of the folder subdirectories to the other extensions, in the same
manner as is shown above for the INBOX, Old, and tmp subdirectories.

When you do it this way, the user of each extension should go into
voicemail and record their individual unavailable message, busy
message, and name. But you may want to instruct them to say something
like, "Hi this is Jan, I can't take your call at the moment, but if you
will leave a voicemail message, either I or someone else on our
technical support staff will get back to you as quickly as possible."
This lets callers know that they they are leaving a message that may be
heard by someone other than the person they called (so that, for
example, someone in the user's family doesn't leave a very personal
message in the common voicemail box).

Remember, nothing on this page is officially supported by the
developers of FreePBX. These are simply hacks that work. But if you
have, for example, three or four extensions that come into the same
phone (or group of phones), you can save yourself the hassle of
checking multiple voicemail boxes this way.


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

an easier way

ravenber's picture

A much easier way is to change the mailbox account in the individual extension setup in freepbx. Ie, if the mailbox you want account 3295 to point to is 2008, simply change the mailbox to 2008@default instead of its own. Then, use followme to make the failover for the extension goto the general box. In this manner, the MWI works for all the phones (ie, they all flash on when there's a message in the shared mailbox), and you can dial *97 to goto the same mailbox.