Users and Extensions

Not my recommendation, not strictly necessary but not a bad practice.

Phone Apps support is documented here:

Cool, thanks. I am changing one extension now to test.

Only one of our phones is supported (D65) but I did kind of like that idea. More important is that I may be able to reduce the number of overall extensions we currently have by using Max Contacts.

I changed one extension to Max Contacts = 8 and modified 3 of the 4 phones (Cisco 8841, Cisco SPA504 and Digium A30). The original phone using this particular extension is a Digium D65.

Some Results:
After some test calls from outside two of the phones - D65 and SPA504 - do not light the voicemail waiting indicator.

Listening to the voicemail from the 8841 resets the message waiting indicator on the 8841 but not on the A30.

Making another call from outside and listening to the voicemail from the A30 does not extinguish the message waiting indicator on the other phones so I presume that the message waiting feature is unaware when multiple devices are connected to the same extension.

Otherwise setting Max Contacts seems to work well. Would be perfect is all the devices were able to know when the voicemails were listened to from one of the other phones.

That is a subscription, no different than any other BLF. Check your phone settings. There is only a single Subscription for each extension.
There is a setting in the advanced tab of the extension about how Asterisk notifies.

I see that the extension I am testing with is already set to MWI “Auto”. I am not sure what I should be looking for on the phones themselves. I am configuring all the phones via their web interfaces.

It depends entirely upon what you mean by “extensions” and “user.”

If you are using chan_sip extensions, you can only have one device registered at a time to each extension. So, Extension 101 can only have ONE phone connected to it. Extension 102 can likewise only have ONE phone connected to it.

The FreePBX devs developed a number of work-arounds to allow you have to multiple phones that appear to have the same extension, but none is perfect. First, there was “device and user mode,” which was the most promising, but which the devs continue to state is “not supported” or something like that. I’m not going to go into any detail beyond that.

The second work around is to set up each phone with its own extension number, but then have a ring group that rings all the phones. You’d also set the internal caller ID field for each phone to be the ring group. You’d also set up only one of phones with voicemail, and then use the mailbox field to cross-reference the other phones to that extension’s voicemail so that everyone would show the contents of that voicemail box. This is the easiest method, but it won’t support force all internal auto answer if you use that feature.

Pjsip extensions are supposed to support multiple devices registered to the same extension number at the same time, but I’ve been told that the SIP headers will get split if you have too many and they go out over the public internet. I don’t know much about that otherwise.

If by extensions and users, you are referring to how many different extension numbers can be registered to a single phone, then the limit is based upon the capabilities of the phone.

If you want multiple extensions to share a single VM, that’s relatively easy.

First, create four extensions, i.e., x. 101, 102, 103, and 104. Enable VM only on extension 101. In the “mailbox” field of x. 102, 103, and 104, change what’s there to “[email protected]” Now, x. 102, 103, and 104, will show the contents of x. 101’s voicemail. Program the VM key on x. 102, 103, and 104 to dial *98101.

Voila! Now all four phones share a single VM, and check the VM, and will show no VM when the mailbox has been emptied.

You will find soft-links between /var/spool/asterisk/voicemail/default (by default) and
/var/spool/asterisk/voicemal/device/ changing a users voicemail context from default to otherwise will appropriately reflect those softlinks. This is just how Asterisk is written (supporting user or device mode) , I don’t think the channel driver used is pertinent as always iax2 or sip or dahdi followed the rubric . FreePBX is perhaps rethinking its support of user/device mode maybe . . .?

I tried using Device and User Mode once and found that it was amazing. However, there were several bugs, where FreePBX directly addressed devices when it should have addressed the users (or perhaps the other way around). I reported that bug and was told that Device & User Mode was not supported. I’ve occasionally seen forum posts reporting issues with DUM as well, with the same response from the devs.

It is true that, behind the scenes, FreePBX always runs in Device & User Mode. However, when in “Extension” mode, the devices and the users get the same identifier (the extension number) and so the fact that FreePBX addresses a call to a device rather than the user or the other way around won’t matter since they are the same.

My assumption is that with the ability of psjip to support multiple devices registering to the same extension, there is no longer any need for an explicit Device & User Mode and so it has an even lower chance of any support going forward.

KInd of a little muddled, please post exactly what didn’t work for you.

I’ve written this info above but maybe it got a little convoluted:

  • FreePBX - all modules are up to date.
  • Our FreePBX in in the cloud, so no phones (hardware nor soft phones) are local.
  • We are running chan_pjsip only.
  • I have changed extension to be shared among 4 different phones - Cisco 8841, Cisco SPA504, Digium A30 and Digium D65. This works with the exception of the message waiting indication on the phones. Checking (listening) to the voicemail on one phone does not extinguish the message waiting light on the other phones. On the D65 the message waiting light never lights - ever. But the missed calls indication on the D65 screen displays a missed call, and the correct number, but no LED light indicator.

All phones are provisioned manually via the individual phones web interface. Several times “Subscriptions” were mentioned, however there is no subscriptions options on the D65 - I have not looked at the other phones for subscription settings.

I was hoping to reduce the quantity of extensions on the FreePBX by using multiple phones for the same extension but the message waiting issues might be a deal breaker.

I did not think about this and this might be the best solution if I cannot get the message waiting indicators to synchronize among the phones configured with the same extension.

Don’t. That reply has nothing to do with what you are working on.

15 posts were split to a new topic: Discussion regarding sip/pjsip

Is ‘poll mailboxes’ enabled in voicemail settings ?

Yes, Poll Mailboxes is set to Yes.

Hey @BlazeStudios & @AdHominem - You guys seem to be discussing some important technical stuff that is way over my head. I need someone who can explain in dummy terms that I can understand on how what you are debating can help me resolve my issue of getting several phones using the same extension to synchronize the message waiting indicators on the phones.

Currently the synchronization is not working. Maybe this has to do with the phones being not only different models but also different brands. Strangely the D65 is the squirreliest of all the phones as far as message waiting indication goes.

I’m tending to lean towards @AdHominem suggestion to use different extensions on all the phones and point them to one voicemail.
Originally I did have all the phones with individual extensions (and associated voicemail boxes) and used ring groups, but I was hoping I could reduce the number of extensions per user so the one extension on many phones seemed to be a great solution. It’s just not cool if three of four phones show a new voicemail when it was already listened to on the fourth phone. I’m calling this synchronization, but maybe I am using the wrong terminology.

EDIT: Several have mentioned “Device” and “User” modes. Where can I see how my system is set?

OK so your issue is that you have, let’s say, 5 contacts registered to a PJSIP extension. That extension gets a new voicemail and only X phones are showing the new voicemail? Same when the voicemail is cleared, only X phones show that it is cleared?

So this is called MWI (Message Waiting Indicator) and there are two ways it can be done.

  1. The device subscribes to the mailbox. So just like a registration, it must update the system (in this case Asterisk/FreePBX) with a new subscription every so often or it will expire and no longer receive notifications of MWI state changes.

This means the endpoint needs to be setup of this in FreePBX. Under the Advanced tab there is a setting: MWI Subscription Type and set it to Solicited which means it will want subscriptions to send MWI updates.

  1. The devices cannot or doesn’t have subscribe abilities enabled. The system will send MWI notification to the contacts without any subscriptions.

So for this the MWI Subscription Type is Unsolicited.

The rest will be up to the phone. Some may or may not except unsolicited MWI if setup to subscribe or it might not be able to subscribe.

My suggestion is to never use Auto because there is no Auto function in Asterisk for this. If you are subscribing this is handled by the AOR/Contact config and if this is unsolicited then it is handled in the endpoint config. It can be one or the other but not both.

Auto claims that the PBX will determine how the endpoint will handle MWI but since that is phone based I’m not sure how it can build out the configs to support MWI in either method. Even if it is reading from the EPM then that means the phone must be in the EPM so it wouldn’t cover every phone used.

Try changing that setting and see what happens. Try unsolicited first to see if that helps.

1 Like

Thanks @BlazeStudios - I changed the MWI type to “Unsolicited” and made a test call from outside. All phones lit their message waiting - an improvement since prior only three of the four did - even the D65 lit this time which it never did before.
I listened to the voicemail on the Cisco 8841 and at first I thought there was no success because all the phones including the 8841 did not turn their message waiting LED off. But after a few minutes all the phones message waiting lights went off except the A30. I think on the A30 the voicemail waiting is also an indication of missed calls, not sure.

So this seems to be a success. My last question would be is if there is a time setting on the phones that might affect the delay related to the time after the voicemail was listened to to when the message waiting lights turn off? Do the phones poll the FreePBX server for this? If so, what is that setting called?

1 Like

Try it out and let us know how it works.

In the FreePBX GUI, if you pull down the “Applications” menu, if you see an option called “Extension,” then you’re in Extension mode, and NOT in Device & User Mode.

You can switch to Device & User Mode by pulling down the “Settings” menu, clicking “Advanced Settings,” and then changing the setting entitled “User & Devices Mode” from “extensions” to “deviceanduser” As soon as you do that, the “Extensions” option under “Applications” will disappear and be replaced with two separate options. One will be “Devices” and the other will be “Users.”

A little bit of background may be helpful here. When you create an “Extension” using the Extensions screen, FreePBX really creates two separate things with the same extension number.

First, it sets Asterisk up to communicate with a phone (a device) and gives it a name that matches the extension number. Certain of the Extension settings are relevant to that device, such as the password, SIP channel driver, etc.

Second, FreePBX sets up a phone number (the user) with that same extension number. Certain of the Extension settings are relevant to the user, such as whether he has VM, DND, Call Forwarding etc.

Third, FreePBX invisibly matches that user to that device. That means that when you pick up that device and call out, FreePBX will show the CID settings for that user. When you dial that user’s phone number, the calls will route to that device. When that user gets a VM, that device will get notified.

In Extension mode, these three things all occur invisibly.

When you switch to Device & User Mode, FreePBX splits up the “Extension” module into “Devices” and “Users” (as noted above). And you get a new setting: You can choose which user to match with which devices, and can even match a user to multiple devices.

So, you could configure devices called “Phone 1” and “Phone 2” and “Phone 3” and then create a user called “Extension 1000” (actually just 1000), and then map User 1000 to all three phones. Now, whenever anyone calls 1000, all three phones will ring. Whenever anyone calls from any of those phones, it will show as 1000. If User 1000 gets a VM, all the phones will display it. It will accomplish precisely what you are trying to accomplish.

In D&U mode, I believe that there’s also a feature code so that a user can go to a device, and login to it, thereby creating an association between that device and that user. And he can later logout, disassociating that user and that device.

The above is all independent of logging into and out of queues, which is a whole separate animal.

D&U Mode is really an amazing animal. But, since the devs say that they don’t support it, it has some bugs that have never been fixed. In certain instances, when something is supposed to be routed to the device, it gets routed to the user (or possibly the other way around). I reported one such bug many years ago, but it was never fixed (devs said “not supported”). The bug is a non-issue as long as the device and user have the same identifier, which is what happens in Extension mode. IMO- that’s a reason not to use it. :slight_smile:

None of that has anything to do with a device watching a subscription.