Almanac
Microsoft/teamsMicrosoft 365

Consultant-focused KB for Microsoft Teams: implementation notes, gotchas and configuration decisions beyond the official docs — across chat and collaboration, meetings, webinars and town halls, Teams Phone, PSTN connectivity (Direct Routing, Operator Connect, Calling Plans, Teams Phone Mobile), auto attendants, call queues and contact centre integration, Teams Rooms and devices, apps and extensibility, Copilot in Teams, administration and governance, security and compliance, network and call quality, and licensing — plus cross-cutting decision guides.

feature-pstn-dynamic-emergency-calling.mdv1 · history
CurrentApplies to Teams PhoneUpdated 3 weeks agoSource Microsoft Learn ↗

What it does

Teams works out where a client is from its network — Wi-Fi access point, switch and port, or subnet — looks that up in the Location Information Service (LIS), and sends the matching emergency location with the call. The same lookup drives which emergency calling policy (security desk notification) and, for Direct Routing, which emergency call routing policy applies.

Key facts

  • LIS identifiers, in match priority: wireless access point BSSID, switch plus port, switch chassis ID, subnet. Cmdlets: Set-CsOnlineLisWirelessAccessPoint, Set-CsOnlineLisPort, Set-CsOnlineLisSwitch, Set-CsOnlineLisSubnet (and their Get-/Remove- pairs).
  • Trusted IPs are required for any dynamic lookup — the client's public IP must match one before Teams asks for a location. Network sites are also needed for security desk notification. Network site changes take up to 4 hours.
  • Supported on Teams desktop, mobile, phones, Teams Rooms and VDI. Not supported on the Teams web client. Wi-Fi lookup works on everything except Teams phones; LLDP switch/port lookup needs LLDP support (Windows, macOS with LLDP software, recent Teams phones, Teams Rooms).
  • Emergency calling policy (Grant-CsTeamsEmergencyCallingPolicy) handles security desk notification and applies to Calling Plans, Operator Connect, Teams Phone Mobile and Direct Routing.
  • Emergency call routing policy (New-CsTeamsEmergencyCallRoutingPolicy) is Direct Routing only: dial string, dial masks and the PSTN usage per emergency number, plus the dynamic emergency calling toggle.
  • Policies can be assigned to users or network sites (Set-CsTenantNetworkSite -EmergencyCallRoutingPolicy / -EmergencyCallingPolicy). The site policy wins when the user is at that site.
  • For Direct Routing, Teams clients no longer send a + prefix on the emergency dial string — route patterns must match without it.
  • Direct Routing SBCs that pass location in the INVITE need Set-CsOnlinePSTNGateway -PidfLoSupported $true.
  • Emergency addresses must be validated before assignment, and addresses used for dynamic calling need geo codes. Map search in the admin center does both.
  • Dynamic emergency routing for Calling Plans, Operator Connect and Teams Phone Mobile is US and Canada. Elsewhere the location still feeds notification. For Direct Routing, availability depends on your emergency routing provider.
  • UK emergency numbers on Learn's reference: 999, 112 and 18000 (text relay), with dial masks 44999, 44112, 4418000.

When to use / skip

Every Teams Phone deployment needs emergency calling designed in, not bolted on. The question is how dynamic you go. In the US it's regulatory, and the full LIS build is expected. In the UK the PSAP model is different: the call goes to the BT 999/112 service with the CLI, and location comes from the address the carrier holds against that number, not a PIDF-LO object from Teams. So for a UK office-based estate, the number's registered address being right is what actually matters.

Where dynamic calling still earns its place in the UK is hybrid and multi-site estates: security desk notification so reception knows someone at the second floor of the Leeds office dialled 999, and on Direct Routing, site-based emergency call routing so calls leave via the local SBC or a trunk whose carrier has the right address on its CLI.

Configuration decisions

  • How deep to build LIS: subnets only (quick, coarse), or BSSIDs and switch ports (accurate, high maintenance).
  • Security desk notification — who gets the Teams chat or call, and whether they can conference in.
  • For Direct Routing: a dedicated emergency PSTN usage and route, and which CLI goes out on 999 calls from each site.
  • How home workers are handled — location sharing prompts and address confirmation, and what the client's policy says.
  • User-level vs site-level policy assignment.
  • Whether 999, 112 and the text relay number are all covered by masks in each policy.

Gotchas

  • Route patterns written as ^\+999$ don't match any more. Use ^999$ or cover both.
  • A missing trusted IP means no dynamic lookup at all — users fall back to their static address without any error.
  • Subnet matching fails on stateful DHCPv6 because clients report a /128. Use IPv4 subnets, LLDP or BSSIDs instead.
  • With Shared Calling for Calling Plans or Operator Connect in the same tenant as Direct Routing, site-assigned emergency call routing policies can't be used.
  • For UK Direct Routing, a central SBC sending every site's 999 calls with the head-office CLI means the carrier sees head office as the location. Set a per-site emergency CLI on the SBC or carrier trunk.
  • 933 test calls are US and Canada only. UK testing means a pre-arranged test with the carrier — don't let anyone "just try 999".

Consultant notes

  • Agree with the carrier, in writing, how they map CLI to address for 999 and how address changes are submitted. It's their database the call handler sees.
  • Export LIS and network sites into the as-built. Nobody can reconstruct it from the admin center after the fact.
  • Give the facilities team a process for new floors and moves — emergency data rots faster than any other config.
  • Test security desk notification from each site on go-live day, with security staff watching.

Recheck the UK carrier's 999 address process and any Microsoft change to dynamic routing country support before each new site goes live

Was this accurate?