Same Extension at more than one location

We have installed a PBXact that is in Vultr and this is for a medical facility with multiple sites.
The Doctors want just one extension for themselves between all sites so no-one has to look up where they are on a particular day.
So this is very easy with PJSIP and extension-1, extension-2 etc. as each doctor has their own office at each site.
Issue is when they dial 911 is there a way to have a different DID display to the PSAP for say EXT 1050-1 vs a EXT 1050-2 etc.?

The 911 issue is going to be a limiting factor, as you have already pointed out to having multiple appearances of the same extension, ie. ext-1, ext-2, ext-3.

Take a look at using Follow Me type of logic for the users primary extension. This is found in the Extensions module. A call to ext 1050 will be forwarded to an extension at the location of the day.

This can be setup to follow a schedule or be set manually, your choice. In the Follow-Me List just enter the extension that you wish to ring to.

When the roving destination user uses the local extension (which is not their primary extension #), the set 911 will be used for that extension.

Here is how we solved this issue, using Yealink phones.

  1. Create an e911 DID, per location, that is properly registered with the correct physical address of each unique location.

  2. Create a unique EPM template per physical location. Each template has a dial string change in the basefile with its “designator”. Meaning this: Location 1 is 10, location 2 is 20, etc. We then make the following basefile edits:

     dialplan.replace.replace.1 = 10911
     dialplan.replace.prefix.1 = 911
     dialplan.replace.replace.2 = 10933
     dialplan.replace.prefix.2 = 933
     dialnow.item.1 = 911
     dialnow.item.2 = 933
    

This tells the phone, if a user dials 911 (or 933 for test) change what is sent to the PBX to be 10911 for the location 1 template (location 2 would be 20911, location 3 would be 30911, etc)

  1. Create an outbound route for only 911 and 933 dialed calls, per location. So, emergency outbound route for location 1 looks for 10911 or 10933 only, in the accepted dial patterns. That route is NOT marked Emergency in the route settings, this allows us to specify the outbound caller ID for the whole route. We then specify the “Route CID” to be the e911 specified DID as the outbound caller ID number (using the DID we setup in step 1 with the correct physical address, for that location, in e911). We replicate this for all other locations, looking for 20911 in the next route, etc.

  2. We specify the dialnow variable for 911 and 933 that ensure a user dialing just 911 or 933 allows the call to immediately process without the need to have the user pressing dial, #, etc.

It takes a small bit of planning and detail, but it does provide for multiple correct e911 data being transmitted for the same extension that has physical devices located across multiple physical offices.

1 Like

This solution is fine for small locations but once a location meets certain criteria then you must provide the exact location of the phone making the call. I can’t remember off the top of my head but once the building reaches a certain size or has multiple ingresses or floors or is a specific type of location (clinic, school, hotel/motel, etc) then exact dispatchable location must be presented.

That would mean more than 1 DID per physical address, more then one address registration which includes more granular details in the address_2 field. The more dispatchable locations you have the more outbound routes and all that you will have to configure.

Again, a single location could be required to have multiple 911 location registrations with the exact location of the device within the location. You need to always make sure this is needed or not.

So if you have a motel with 50 rooms on a single floor, you are required to have a registered location per room and present that to the PSAP.

Xotpa2020 thank you for this!! Tested it with Yealinks and works perfectly.

@Sangoma is this possible with the P-Series phones? If yes will save us from having to swap out a bunch of phones.

This sort of solution, using the phone’s dial plan, is not currently supported in our Px phones. It strikes me, however, that it would not be a robust solution. One possible scenario that comes to mind is a user “spoofing” the wrong location by simply dialing “20911” where dialing “911” would otherwise get sent out as “10911”. Granted, a bit of a far-fetched scenario, but probably worth consideration.

Either way, the PBX would still need to be aware of the physical location of the device in order to provide the correct phone configuration to start with, so it seems that another solution, where the PBX is processing the outbound SIP INVITE completing it’s own dialplan processing, might be even more fool-proof.

Can’t say that I would be the biggest fan of swapping out a bunch of phones, but as of today this solution is not supported.

How would it process the INVITE? Based on the source IP? Using the source IP is flawed for a couple reasons. If phones are at a remote location there is no guarantee the private IP of the phone will be sent in the INVITE (a properly setup network just doesn’t do that) so all the phones at that location are going to come from the same source IP. As well if there are FXS gateways or multi-port ATAs involved, all the accounts on that gateway come from the same IP, locally or remotely, because one IP per device.

Until phone/gateway manufacturers allow for an emergency header per SIP account or in the case of a phone global emergency header, something that uniquely identify the account/device the best option is a universal setting all the devices have.

Every SIP account on a device has a From Name setting (naming conventions varies) but it is what sets the Name part of the From Header. Since the name field is ignored by FreePBX for setting callerid, the From Name can be used to denote the emergency profile needed to be used. In the case of IP phones, the From Name can be the same across all accounts since it identifies that devices location. For FXS devices, it can be set per account to denote the location of the analog phone itself.

This would require updates to the EPM for it to work properly with provisioning and those that manual provision would just have to make sure it is in the right field. I do this in my non-FreePBX platform and it works out pretty well. It would require the trusted_id_inbound to be enabled and a small tweak to user callerid dialplan but completely doable.

Thanks for the reply Alan Partis.
If you could add this as a feature request this would make this a highly desired feature and allow us to sell more P-Series phones. More $$$$ for us all.

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.