How to Configure Teams Emergency Calling and Security Desk Notification Policies Using PowerShell CsTeamsEmergencyCallingPolicy

Enterprise voice deployments in Microsoft Teams Phone must comply with strict emergency services mandates, including RAY BAUM’S Act and Kari’s Law in the United States, as well as European telecommunications regulations. When a user dials an emergency service number (such as 911, 112, or 999), the Teams Phone system must immediately route the call to the appropriate Public Safety Answering Point (PSAP) with accurate dispatchable location data. Concurrently, internal enterprise security personnel must receive real-time notifications to escort first responders. Administrators configure these alerting workflows and notification protocols using the Microsoft Teams PowerShell module and CsTeamsEmergencyCallingPolicy cmdlets.

Understanding CsTeamsEmergencyCallingPolicy Capabilities

An emergency calling policy governs how Microsoft Teams handles outbound emergency communications, client location tracking, and internal alerting. The policy controls three fundamental architectural components:

  • Notification Group and Type: Defines how internal responders are alerted when an emergency call is placed. Options include sending an automated email, triggering an interactive chat notification in Teams, or initiating an unmuted conference bridge that allows security officers to listen or participate.
  • Security Desk Bridging: Permits internal responders to be automatically conferenced into the emergency call in either a muted (listen-only) or unmuted (two-way) state to provide immediate first aid guidance.
  • External Location Routing: Works in conjunction with Teams Emergency Addressing (LIS – Location Information Service) to ensure dynamically discovered BSSIDs, subnets, and switch ports are transmitted to the emergency carrier.

Connecting to Microsoft Teams PowerShell

Before managing emergency calling policies, establish an authenticated session using the Microsoft Teams module. Ensure your administrator account holds the Teams Administrator or Global Administrator Entra ID role:

# Install or update Microsoft Teams module
Install-Module -Name MicrosoftTeams -Force -AllowClobber

# Connect to the tenant
Connect-MicrosoftTeams

Auditing Existing Emergency Calling Policies

Query the tenant to review all existing emergency calling policies, including the default Global policy:

Get-CsTeamsEmergencyCallingPolicy | Select-Object Identity, Description, NotificationGroup, NotificationType, ExternalLocationLookupMode

To inspect the detailed attributes of a specific policy:

Get-CsTeamsEmergencyCallingPolicy -Identity "Global" | Format-List

Creating a Custom Emergency Calling Policy with Security Desk Notification

Enterprise branch offices and headquarters facilities typically require dedicated notification channels. Create a new emergency calling policy named HQ-EmergencyCalling-Policy that sends an email alert to the security desk and establishes an unmuted conference bridge:

New-CsTeamsEmergencyCallingPolicy -Identity "HQ-EmergencyCalling-Policy" `
    -Description "Emergency calling policy for Headquarters with live conference bridging" `
    -NotificationGroup "[email protected];[email protected]" `
    -NotificationType "ConferenceUnmuted" `
    -NotificationDialOutNumber "+12065550199" `
    -ExternalLocationLookupMode "Enabled"

Parameter breakdown:

  • -NotificationGroup: Semicolon-delimited email addresses or distribution lists notified when an emergency call is initiated.
  • -NotificationType: Options include NotificationOnly (chat/email alert), ConferenceMuted (security joins as silent listener), or ConferenceUnmuted (security joins with active two-way audio).
  • -NotificationDialOutNumber: PSTN phone number of the internal physical security desk or guard station to be dialled out automatically into the conference.
  • -ExternalLocationLookupMode: Set to Enabled to permit dynamic location resolution when users connect from external networks.

Modifying Existing Calling Policies

To adjust the notification configuration of an existing policy, use Set-CsTeamsEmergencyCallingPolicy. For example, to switch a policy from an unmuted conference to a silent monitoring conference:

Set-CsTeamsEmergencyCallingPolicy -Identity "BranchOffice-Policy" `
    -NotificationType "ConferenceMuted" `
    -NotificationGroup "[email protected]"

Assigning the Emergency Policy to Users and Sites

Emergency calling policies can be assigned directly to individual users, security groups, or mapped to specific network sites:

# Assign directly to a user
Grant-CsTeamsEmergencyCallingPolicy -Identity "[email protected]" -PolicyName "HQ-EmergencyCalling-Policy"

# Bulk assign to an Entra ID security group
Get-AzADGroupMember -GroupDisplayName "Seattle Campus Personnel" | ForEach-Object {
    Grant-CsTeamsEmergencyCallingPolicy -Identity $_.UserPrincipalName -PolicyName "HQ-EmergencyCalling-Policy"
}

To verify the assigned policy on a specific user account:

Get-CsUserPolicyAssignment -Identity "[email protected]" | Where-Object { $_.PolicyType -eq "TeamsEmergencyCallingPolicy" }

Testing and Validating Emergency Call Routing

In the United States and Canada, emergency routing can be validated safely without dialling live 911 dispatchers by configuring test emergency numbers (such as 933 test call endpoints provided by carriers like Intrado or Bandwidth):

# Verify tenant emergency numbers in emergency call routing policy
Get-CsTeamsEmergencyCallRoutingPolicy | Format-Table Identity, Description

When placing a test 933 call from the Teams desktop client, confirm that the simulated PSAP automated readback confirms the registered street address, floor, and office number, while simultaneously verifying that the security desk receives the automated conference dial-out.

Get the best tech tips delivered straight to your inbox.

Join thousands of readers mastering Apple, Google, Microsoft, and Linux.