Improved VM functions in FreePBX2.3.x

There are notable improvements in FreePBX2.3.x related to VM:

  1. Password protection becomes an option --makes it easier for a smaller environment
  2. Destination can be “Unavailable” greeting, or Busy greeting, or non-greeting with direct recording. This makes it possible for me to establish multiple appearance (through different announcement before direct VM recording) yet with simplicity of managing only one voice mail box.

However, the current extension-dependent VM philosophy needed to be revised. A stand-alone VM module is more useful:

  1. When we have outside agents and who only need a VM box. The current VM configuration, we have to creat the equal number of extensions that noboy will use anyway to get voie mail boxes. This use up resource in terms of number planning and computer resource.

  2. If I have 2 locations. It will be nice if one voice mail is left, extensions at both locations can light up. This can be achieved through creating an independent VM box and assigning the same VM box to each of the extensions at the 2 locations. When using either one extension to check voice mail, the lights on both extensions will go off. This can allow users to proactively monitor the voicemail activities. However, in the current voice mail configuration, it is not possible to light up multiple extensions. When a user is at a different location, he has to dial into the VM system from time to time to see whether any voice mails have been left.

  3. Allow a voice mail box to automatically “copy” or “remove” received voice mails to other voice mail boxes. This is very useful to easily send an announcement to a group of users.

To achieve these, the key is to remove the dependence of VM on extensions. There is a need to creat a module for VM alone. After a VM box is created, it can be assigned to one extension or multiple extensions.

You already can effectively create a “voicemail-only” extension when you are in device-and-user mode. Simply create a user, and don’t make any device for it. You end up using an extension number, sure - but there is no effective limit to the number of extensions you can have (you can make up to 20-digit extensions, if you are really a BOFH). The only extra “computer resources” it takes is a bit more memory in asterisk (asterisk is known to handle several thousands of idle extensions on a single cpu/system).

Number 2 brings up two separate issues though, I think.

Depending on your setup, you may already be able to do what you’re after. If you switch to device and user mode, you can assign multiple devices to one user. When that user gets a voicemail, all devices light up. I use this setup, for example, so I have a phone in my office and a phone on my desk at home, and a softphone on my laptop that are all the same extension.

The other thing (I think) that you’re getting into is what I’ll refer to as “shared” mailboxes. I’ve written about this before, but basically, this would be like a “sales” mailbox used by the entire sales department. This should be set up so when there is a message either in my personal mailbox, or in the sales mailbox, my MWI turns on. The message in the sales mailbox should just act like it’s a normal message in my own mailbox, perhaps prefixed by " message for : ". If I skip this message, it remains as a “new” message in everyone else’s mailbox (their MWI stays on), but if I delete it or move it or whatever, it is removed from everyone’s mailbox. Really, the only way to do this is to write our own voicemail AGI… which is a decently big project.

I agree, a voicemail groups delivery option could be useful. People have worked on this in the past, I don’t know what is out there. This could again be something better implemented in a new voicemail AGI - so there could be IVR prompts to help set up groups and send messages to them, etc), rather than creating a bunch of top-level feature codes.

Greg MacLellan - Core FreePBX Developer
http// - #freepbx

Thanks for the elaboration. One quesiton: if I have 3 extensions, as you did, share the same extension number, can they all registered to the system as the same time and ring at the same time?

yes - in devices and users mode, you can think of it as a kind of ‘poor mans’ shared extensions. As far as FreePBX is concerned they are all the same user. A call originating from one of them will look the same regardless of the end point used and a call made to them will ring all three as if they were in a ringall ringgroup.

Philippe Lindheimer - FreePBX Project Lead
http// - IRC #freepbx

I configured 2 devices with the same extension number. Both devices registered successfully and both have dial tone and can make out going calls. But, when I call the extension number, only the latest registered device is rining; the first-registered device does not.

In additon, if caller leaves a message, only the 2nd device’s light will be turned on.

If I disconnect the 2nd device, the first device’s message light does not turn on. I have to additionally to restart the 1st device to get theVM indicator on.

Looks like multiple registration of one extension may not perform as planned.

Is this a bug or should I enter it into the bug tracker?

You can’t register 2 devices with the same extension number. Switch you system to devicesanduser mode and create two separate devices for the same user, then each endpoint can register as a different device but both will be the same user.

Philippe Lindheimer - FreePBX Project Lead
http// - IRC #freepbx

When in device and user mode and you configure two devices to point to one user/extension - how can you call between those devices, if at all? Both device will have a Device ID number and the the User account will have it’s User Extension number. Can you call the device using just the Device ID number?

This is not an issue if you have each device pointing to a different user/extension and perform hunting/follow-me. You can still call each device using it’s user/extension number.



** sorry, didn’t intend posting this here **


Since I upgraded core and framework to I get a script error when editing extensions:

Line: 811
Char: 194
Error: Unterminated string constant
Code: 0



I created a patch that lets you assign a shared voicemail box to an extension. I use this at my house so all extensions access the same voicemail box, all accessible by dialing *97 and entering the password. It will also be used when an extension isn’t picked up without creating follow-me, ring groups, etc.
I just updated the patch to FreePBX 2.3.1, I’m happy to give it to anybody who is interested, or if you think I should submit it somewhere.



I know this post is a little old, but I am currently using a similar setup with User and Device mode, and find that I cannot use *97 (only *98) and would like to know what you did to get this to work…

Asterisk (Ver. & FreePBX