Description: The purpose of this article is to provide a comprehensive overview of the process of configuring and routing emergency calls and notifying security/emergency personnel based on the current location of the Teams client.
Overview
Dynamic E911 provides the capability to configure and route emergency calls and notify security/emergency personnel based on the current location of the Teams client.
Based on the network topology (network elements associated with emergency addresses) that the tenant administrator defines, the Teams client provides network connectivity information in a request to the Location Information Service (LIS). If there's a match, the LIS returns a location to the client.
The Teams client includes location data as part of an emergency call. This data is then used by the emergency service provider to determine the appropriate Public Safety Answering Point (PSAP) and to route the call to that PSAP, which allows the PSAP dispatcher to obtain the caller's location.
Network Detection
Trusted IP Address is the main data point used by Teams to determine the location of an emergency caller. Once an emergency call is identified as originating from a Trusted IP Address within the corporate network, Teams queries the LIS database for the Emergency Location. At the start of a 911 call, the Emergency Location is used to route the call and presented to the PSAP.
To configure a trusted IP address:
1. From the Teams admin center, click Locations and select Network Topology.
2. Select Trusted IPs, click Add, and enter a Trusted IP for IPv4 or IPv6. This is the public IP the Teams client will be using to communicate to Microsoft Teams services. Teams traffic over VPNs subnets should be split tunneled and not defined.
3. Select Network sites, click Add and add a new Network Region. Add the subnets associated with the Network site. This is where you define network sites associated with applying location based routing, dynamic Teams policies like network roaming, emergency calling policy and emergency call routing policy and not address detection.
4. Select Network & locations, click Add, and specify the network address of the subnet. Set the Emergency location to the address the subnet resides. Adding an emergency location may be required if there are more than one physical locations.
Emergency (Civic) Addresses
Emergency location is a civic address with an optional place. If the business has more than one physical location, it's likely that you'll need more than one emergency location.
When you create an emergency address, a unique location ID is automatically created for this address. If you add a place to an emergency address—for example, if you add a floor to a building address—a location ID is created for the combination of the emergency address and place. In this example, there will be two location IDs: one for the civic address; one for the joined civic address and associated place.
When you assign an emergency location to a user or site, it's this unique location ID that's associated with the user or site.
Place is typically a floor, building, wing, or office number. Place is associated with an emergency address to give a more exact location within a building. You can have an unlimited number of places associated with an emergency address. For example, if your organization has multiple buildings, you might want to include place information for each building and every floor within each building.
1. To create a Civic Address: From the Teams admin center, click Locations, select Emergency addresses, and click Add. Enter the name for the location and the address. Addresses are validated in real-time. Teams creates a CivicAddressID, LocationID, and populates the latitude/longitude of the address in Teams. If the address is not found, you may have to manually enter the longitude and latitude of the address.
After a Civic Address has been created and validated, you won’t be able to modify it. If any changes are required, delete the Civic Address, and create a new one.
2. Add a Place to an Emergency address, by clicking the address previously created and selecting Places, Add.
3. Add the Subnets, Wi-Fi access points, Switches, or Ports associated with the Place. This is what the Teams client uses to match an address and place after the trusted IP match.
Emergency Call Routing Policies
Emergency call routing policy is how Teams will route 911 calls.
1. From the Teams Admin Center, click Voice and select Emergency policies.
2. Select Add and enter the name of the policy.
3. Ensure Dynamic emergency calling is set to On.
4. Emergency dial string are the digits dialed by the caller and Emergency dial mask includes the digits used for the outbound call. In the U.S. both fields should be “911”. Select a PSTN usage record pointing to the Direct Routing service.
5. It is not recommended to use live 911 calls for testing. Adding Emergency dial string “933” and a PSTN usage record pointing to the Direct Routing service allows test users to dial 933 to validate the location information of the user.
It is recommended to create a policy per Network Site to ensure accurate calling behavior for certain users. When a 911 call is placed and a network policy conflicts with the user-assigned policy, the network site policy takes precedence.
Emergency Calling Policies
Emergency Calling Policies are notifications via Teams chat or conferenced phone calls that alert specific users when an emergency call is placed (911/933). These users could be a facility manager or a security team.
1. From the Teams Admin Center, click Voice, and select Emergency Policies.
2. Select Add, and specify the Name, External location lookup mode On to use the native device’s OS location service if it is not behind a trusted IP address.
3. Set the Notification mode: None, Send notification only, Conferenced in but are muted, or Conferenced in but are unmuted.
4. You can add a customer banner for users to enable E911 by specifying the Emergency service disclaimer message. Users can dismiss the banner when they confirm their address, and the banner will reappear when Teams is restarted. This field is optional when setting up a custom policy, and the string field is limited to 250 characters.
5. Number to dial for emergency notifications, or the users or groups for notifications.
The Emergency Call Routing Policy and Emergency Calling Policy can be assigned to users from the Teams Admin center, Users, Manage Users, and after selecting the users, click Policies. When a 911 call is placed and a network policy conflicts with the user-assigned policy, the network site policy takes precedence.
Work From Home E911
Teams can use the location services provided by the operating system to suggest an address. The end user can confirm the location of a suggested address, edit it, or manually enter a new one. A confirmed, edited, or manually entered address is then saved on the Teams client so that the user-confirmed address is automatically used when the client is connected to that network. The user-saved addresses are automatically cleared when the Teams client is signed out.
Emergency addresses for Teams can be categorized by different types. The following list shows the location precedence used when an emergency number is dialed:
- A dynamically acquired address defined by the tenant administer in the Location Information Service.
- An address the end user confirmed, edited, or manually entered which is associated to the local network the Teams client is connected to.
- An address automatically suggested by the operating system.
- An address the administrator statically assigns to the user.
To enable users to configure their emergency address, ensure you create an Emergency policy with “External location lookup mode” set to “On” and assign the policy to the work from home users.
To enable work from home E911 on Windows:
1. Set your Windows location service and privacy settings
a. By default, the Windows 10 location service is disabled when a device is turned on for the first time. You will need to ensure your Windows 10 location service is enabled.
b. Switch on Let apps access your location.
c. Switch on Let desktop apps access your location.
2. In Teams you can check your emergency location below the dial pad in Calls or at the bottom of the calls section in your Teams Settings
a. On the Teams dial pad, you can add, confirm, edit, or reset your emergency location.
To enable work from home E911 on a Mac:
1. From the Apple menus, System Settings, Privacy & Security, select “Enable Location Services”.
2. In the Maps app, click the click the Current Location button in the toolbar. Confirm your location with the dot on the map.
3. In Teams you can check your emergency location below the dial pad in Calls or at the bottom of the calls section in your Teams Settings
a. On the Teams dial pad, you can add, confirm, edit, or reset your emergency location.
Testing
When configured correctly, the Teams desktop and mobile clients will display the Emergency location associated with the user. This can be verified from the users Teams client Calls tab, below the dial pad and also in Settings, Calls, Emergency calling. If you can edit the address, then the address is being pulled from the device’s OS location service vs. Teams client network detection.
With the ability to register a phone number for Direct Routing, Operator Connect, or Calling Plans to an emergency addresses you need to ensure that for testing, you are not labeling an address on the phone number that happens to be the address that you are detecting. It needs to be different, so either undefined or define something else so that when you look at the Teams client Emergency calling address you see that the address is mapped dynamically instead of statically.
If the Emergency calling address is not displayed or is incorrect in the Teams client settings, ensure the IP address of the user matches the defined Network Region subnet with the correct Emergency Address defined. If the address is defined via Switch Chassis ID / Port ensure the user is on the correct network segment matching the switch and switch port. The Teams client debug logs can be reviewed to display the IP address and the LLDP information for switch chassis ID and port.
To pull the Teams client logs and open the debug log file:
1. From the system tray, right click the Teams icon, and click Collect Support Files.
2. Open Downloads, and navigate to the newly created PROD-WebLogs-*.zip file,
3. Open the User(Primary:*) folder, and open calling-debug.txt
In the example debug log below you can see the emergency address and associated policy settings, network location information such as IP address, ChassisID, PortID, and Dial strings for 911 & 933.
This information may be used to determine Place information needed when configuring an Emergency Address in the Teams admin center or to ensure the correct policies are applied.
Current Emergency Address: { "address": { "companyName": "Entergrade Solutions", "streetName": "Green Ave Southeast", "houseNumber": "777", "countyOrDistrict": "CA", "cityOrTown": "Calgary", "stateOrProvince": "AB", "additionalInfo": "Office Top Switch", "country": "CA", "postalOrZipCode": "T2P 1G7" }, "type": "LIS", "editable": false, "geocoordinates": { "latitude": 62.15725, "longitude": -103.0443 } }
Current MT location response: { "emergencyCallingPolicy": { "notificationGroup": "E911user@contoso.com", "externalLocationLookupMode": "Enabled", "notificationMode": "NotificationOnly", "policyDocument": "Default", "enhancedEmergencyServiceDisclaimer": "Always validate your emergency address when working remote." }, "emergencyCallRoutingPolicy": { "allowEnhancedEmergencyServices": true, "emergencyNumbers": [ { "dialString": "933", "dialMasks": "933", "onlinePSTNUsage": "Ooma" }, { "dialString": "911", "dialMasks": "911", "onlinePSTNUsage": "Ooma" } ], "policyDocument": "Default" }, "networkRoamingPolicy": { "allowIPVideo": true, "mediaBitRateKb": 50000, "policyDocument": "Default" }, "endpointNetwork": "Unknown", "locationInfo": { "confidence": "Low", "coordinates": { "latitude": "62.15725", "longitude": "-103.0443" }, "address": { "companyName": "Entergrade Solutions", "streetName": "Green Ave Southeast", "houseNumber": "777", "countyOrDistrict": "CA", "cityOrTown": "Calgary", "stateOrProvince": "AB", "additionalInfo": "Office Top Switch", "country": "CA", "postalOrZipCode": "T2P 1G7" }, "method": "LIS" }, "enableLocationBasedRouting": false, "debugInfo": { "ncsDebugInfo": { "trustedIpMatchInfo": { "publicIp": "2604:3d09:96f:cc00:5d8f:c9:f28:5951", "reason": "NotMatched", "_comment": "Match Client Public IP to Tenant Trusted IP" }, "siteMatchInfo": { "ipv4": "10.10.10.183", "subnetLengthIPv4": "24", "ipv6": "2604:3d09:96f:cc00::ec08", "subnetLengthIPv6": "128", "enableLocationBasedRouting": false, "reason": "NotMatched", "_comment": "Used to match endpoint subnet to Tenant site if trustedIpMatchInfo matches" }, "networkLocationMatchInfo": { "locationId": "ed2bdba0-8fae-11ee-a4b7-391371919c5a", "matchedNetworkType": "ChassisID", "matchingIdentity": "f4-92-bf-91-75-4c", "ipv4": "10.10.10.183", "ipv6": "2604:3d09:96f:cc00::ec08", "chassisId": "f4-92-bf-91-75-4c", "portId": "Port 2", "reason": "Matched", "_comment": "Used to find emergency address,against Tenant Location Network Information (LIS), otherwise against Client Geo Location Information (CLS) if available" } }, "mtDebugInfo": { "isDirectRoutingOnlyUser": true, "emergencyCallingPolicyTag": "Default", "emergencyCallRoutingPolicyTag": "Default", "networkRoamingPolicyTag": "Default", "emergencyCallingPolicyAssignedTo": "Tenant or Host Global", "emergencyCallRoutingPolicyAssignedTo": "Tenant or Host Global", "networkRoamingPolicyAssignedTo": "Tenant or Host Global", "ncsResponseReceived": true, "correlationId": "91457EADAC8742B4A877AB3C95871A19" Fallback Static Emergency Calling Policy: { "notificationGroup": "E911user@contoso.com", "externalLocationLookupMode": "Enabled", "notificationMode": "NotificationOnly", "policyDocument": "Default", "enhancedEmergencyServiceDisclaimer": "Always validate your emergency address when working remote." }
Fallback Static Emergency Call Routing Policy: { "allowEnhancedEmergencyServices": true, "emergencyNumbers": [ { "dialString": "933", "dialMasks": "933", "onlinePSTNUsage": "Ooma" }, { "dialString": "911", "dialMasks": "911", "onlinePSTNUsage": "Ooma" } ], "policyDocument": "Default" }
Populated Emergency Numbers (source DynamicLocationResponseECRP): { "933": [ "933" ], "911": [ "911" ] } |
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article