I have put some thought to this question...
We recently added to our
3CX Emergency Notifier tool the ability to automatically change an extension's location (emergency group) based on the phone's IP address We monitor phone registration events and based on the IP address in the event, we update the extension's location. This process is straightforward for staff working at one of several known offices, but gets a little more complex when staff occasionally work from home.
There are 3 ways we can control the caller ID: (1) assign a DID to a trunk, (2) assign a DID to an extension, or (3) add a rule in the emergency numbers screen.
3CX evaluates what DID to present as follows:
1. Emergency numbers (groups or extensions)
2. Extension DID
3. Trunk DID
To handle employees working from home, they need their own unique DID, and have E911 configured with their home address. When working out of the office, we need to automatically remove them from their emergency group (location). When working at the office, we need to add them back to the appropriate emergency group (location). By adding and removing extensions from emergency groups we can ensure the correct DID is presented.
All this complexity could easily be hidden from the user by allowing them to choose their location (a web page or perhaps in the future by a new field in the web client). We could look at the IP address of their phone and if it is not a known subnet, we could pop up a message saying "You appear to be working out of the office. Please update your emergency address" and pop a screen similar to the following:.
Extension: 101 Matthew Orr
IP Address: 192.168.1.23
Locations:
_X_ Out of Office
___ Central Office
___ North Branch
___ West Branch
Current home address: [Update]
DID: 8016424655
1234 Elm Street
Cedar City, Utah 80462
|
Maybe a simple interface like the above, where the "Update" button allows them to enter their current address and have it automatically update their personal DID at the carrier
We could also mandate, as part of the trunk certification process, the carrier provide an API for changing a DID's address.