User & Device mode is only recommended for Advanced users. Many parts of FreePBX do not support this mode including any commercial modules.

About Device & User Mode

By default, FreePBX operates in "Extension Mode." In Extension Mode, devices (such as phones) and users (people) both use the same identification number, i.e. their extension number. Each Device (Phone) is assigned one User (Extension) and they cannot be changed without accessing the FreePBX User Interface. A single module, entitled "Extensions" will manage the device settings and the user settings.

FreePBX can be switched to operate in "Device & User Mode" by making changing the "User & Devices Mode" option in the Advanced Settings Module.

Device & User Mode will cause the Extensions Module to disappear and to be replaced with two separate modules, one entitled "Devices" (i.e., phones) and the other entitled "Users" (i.e., extensions).

The Devices module sets up device related settings, i.e. the Device Number (which should be a number that is different from any extension number), the Device's Name (usually the location of the phone), the password the Device uses to register with the PBX, etc. The Users module sets up the User related settings, such as the extension number, the person's name, whether that person has voicemail, the voicemail password, etc.

There are two main advantages to Device & User Mode.

First, two devices (i.e., phones) can share the same extension number. For example, if a manager has an office on two different floors, he might want to have the phones in both offices have the same extension number, so that regardless of which office he's in, a call to the same extension number will ring both phones. Both phones can also receive intercom calls to the same extension number, and both phones will show when he has a voicemail. This can be accomplished by setting up each of his phones as a Device, setting up one User (i.e. the manager), and then assigning the User to both devices.

Second, extensions can roam from one device to another. For example, suppose that John and Jane both work in the same office. John works Monday, Wedneday, and Friday. Jane works on Tuesday and Thursday. When John and Jane come to work each day, they could pick up any phone that's not in use and "login" using a feature code, thereby causing their extension # to be registered to the phone that they are in front of, so that they can start receiving and making calls. Before they leave, they can log-out using another feature code. If they both happen to come in on the same day for some reason, either can use any other unassigned phone.

Comments about User and Device mode should be taken to the forums for community discussion.

Device and user mode has a major gotcha - either use identical numeric IDs for devices and user or ensure they will never overlap. At present, a call is routed to both the device and the user on an ID so if user 100 has Device 101 and user 101 has device 109 a call to user 101 will also ring on device 101.

I reported several bugs on this issue three years ago. They replied that they're not going to fix it because the feature is deprecated and will be unnecessary once Asterisk full implements the new SIP stack that will allow multiple registrations using the same username.

I think, more positive user stories & success use cases for d&u need to be submitted here, in the Wiki.

Whether you selected it because pjsip was not a finished thing at the time you were building your system (my case) or whatever your reasons are - every story counts. Let's feed them positive feedback about it, not just bug reports.

I've used device and user mode for about a decade. It's a great feature. The two biggest things it gives is the chan_sip multiple devices/extension and the user login/logout.

One very compelling use case for the login/logout (in addition to "hot desking") is a conference room phone - it allows anybody to "login" to the conference phone and take the call there instead of at their desk without having to communicated additional instructions to the calling party.

Interesting - when I reported the bug last week I was told it was "a configuration error" and they swore up and down in the forums that device and user mode is a core feature that is impossible to remove.

This is completely incorrect. We often fix bugs in D&U mode. The criteria is it must NOT affect normal use. I personally have fixed 8 or 9 over the last year. We will not fix anything that is breaking for normal use. D&U tickets get a lower priority in some cases. The plumbing of FreePBX is devices and users. That is how it all works. This is abstracted to the user. So all testing in extension mode does test device and user functionality. What is DOES NOT test is the functionality used unabstracted. If there is a legitimate D&U bug it likely affects extension mode as well. Since there is no standard to use D&U mode everyone who does use it is using it "their way" and sometimes "your way" is wrong. So if you are doing something incorrectly in your workflow that happens correctly in normal operation this is NOT a bug, it is a workflow issue. Think of "Extensions" as the tested, verified workflow.

The James: You start by saying that I am "completely incorrect," but then you go on to essentially say what I said. I actually spoke with Tony & Co. about this issue long before you came on board, and have been told repeatedly that the feature is deprecated.

The fact that you have fixed D&U mode issues that also affect extension mode is totally irrelevant since there are bugs that only impact D&U mode that you have affirmatively stated that you will NOT fix. While its true that even extension mode is D&U mode underneath, extension mode is D&U mode configured in a certain fashion.

When D&U mode is enabled, the configurations unique to extension mode go away, particularly the relationship between the user's number and the assigned device's number. It appears that some of the other modules in FreePBX expect that relationship to exist, but when someone enable D&U mode, that relationship may no longer exist.

I use the word relationship because I don't know exactly how you now do it with extension mode. At one time, you created a device and a user with the very same identifier. I believe now that you've modified that slightly. The point, however, is that other portions of FreePBX seem to expect that naming convention, and screw up when it does not exist.

I recall reporting a bug that affected the paging operation where I had device 100 and 101 assigned to user 100. The response that I got was that D&U was deprecated and would not be supported.

Okay, at one time I thought I saw someone discussing the idea of making the device identifier different than the user identifier.

In any case, the bugs that I've seen with D&U mode tend to be situations where a part of FreePBX expects that Device 100 and User 100 are assigned to one another.

Presumably, someone who was coding inadvertently referred to the variable for the device number when they should have instead referred to the user number (or the other way around). When operation in Extension Mode, this won't make any different whatsoever since the result returned would be identical. But, in D&U mode, it won't be.

I also recall observing some bugs where you had some Device IDs and some User IDs that overlapped and other's that didn't, as described above by Elijah Martin-Merrill:

"Device and user mode has a major gotcha - either use identical numeric IDs for devices and user or ensure they will never overlap. At present, a call is routed to both the device and the user on an ID so if user 100 has Device 101 and user 101 has device 109 a call to user 101 will also ring on device 101."

And since that behavior is unacceptable in a production environment, and I believe that I reported that very bug more than 3 years ago, I think that its fair say that D&U mode is deprecated, unsupported, and shouldn't be used in a production environment.

The D&U Mode that users would talk about is the one that allows them to independently edit Devices and Users and to assign them different identifiers. Extensions Mode doesn't allow that functionality, and doesn't even allow the underlying D&U mechanisms to be modified by the end user.

As far as the end-user is concerned, D&U mode is when you go into the Advanced Settings module and enable "D&U Mode." Regardless of whether Extensions mode uses the underlying D&U mechanisms built into FreePBX, that option, in the Advanced Settings module, is deprecated, unsupported, etc.

One more thing: I wish you'd reconsider. I don't think PJSIP is really going to be ready for a while, and even when it is ready, it won't provide all of the functionality of D&U Mode.

You should deprecate extensions mode and make Device and User Mode the default. The concept of devices and users isn't that hard to grasp, and if you'd write some documentation (and reinstate much of what I wrote three years ago that you've erased), I don't think people would have much trouble understanding it.

You should deprecate extensions mode and make Device and User Mode the default. The concept of devices and users isn't that hard to grasp, and if you'd write some documentation (and reinstate much of what I wrote three years ago that you've erased), I don't think people would have much trouble understanding it.

The death of chan_sip is being discussed pretty heavily in the asterisk development world. It will eventually die. It may be a year or 2 but official development on the chan_sip stack is essentially not a thing. Some community patches are still happening but there is a desire to disable/remove chan_sip. So like it or hate it PJSIP is the future and will not be going away. It will over the next year or two likely become more "in your face" as they want to increase adoption.