Branch Office Telephony Resilience and Survivable Branch Appliances (SBA)
In distributed enterprise telephony environments, remote branch offices, manufacturing plants, and medical clinics frequently rely on Microsoft Teams Direct Routing for inbound and outbound Public Switched Telephone Network (PSTN) calling. While Microsoft Teams Phone architecture offers high cloud availability, a wide-area network (WAN) outage or severed internet connection can isolate a branch site from Microsoft 365 cloud services, jeopardising mission-critical calling capabilities and emergency services (such as 911 or 999 dialing).
To provide failover telephony survivability, Microsoft supports Survivable Branch Appliances (SBA). An SBA is a hardware or virtual appliance combining a Session Border Controller (SBC) with an on-premises Microsoft Teams SBA application running locally within the branch network. During a cloud outage, registered branch users can continue placing and receiving external PSTN calls via the local SBC rather than failing silently.
Underpinning this branch survivability architecture are Audio Routing Groups (ARGs), provisioned and managed via the TeamsAudioRoutingGroup cmdlets in the MicrosoftTeams PowerShell module. Audio Routing Groups associate specific user identities and Direct Routing PSTN gateways with local SBA appliances, ensuring that Session Initiation Protocol (SIP) media and signaling route cleanly through on-premises gateways during both normal cloud operation and offline WAN failover scenarios.
Connecting to Microsoft Teams PowerShell
To inspect and configure audio routing groups and branch appliances, ensure the latest stable release of the MicrosoftTeams PowerShell module is installed. Connect to your Microsoft 365 tenant using an administrative account assigned the Teams Administrator or Global Administrator role:
# Install or update Microsoft Teams module
Install-Module -Name MicrosoftTeams -Scope CurrentUser -Force -AllowClobber
# Connect to tenant administration endpoint
Connect-MicrosoftTeams
Auditing Existing Audio Routing Groups via Get-CsTeamsAudioRoutingGroup
Before creating new branch routing topologies, review any existing audio routing groups configured in the tenant using Get-CsTeamsAudioRoutingGroup:
# Retrieve all existing Audio Routing Groups
Get-CsTeamsAudioRoutingGroup | Select-Object Identity, Description, PrimaryTollFreeGateways, SecondaryTollFreeGateways
The cmdlet returns structured configuration records detailing assigned PSTN gateways and failover routes:
Identity : London-Branch-ARG
Description : London Regional Office Survivable Branch Gateway
PrimaryTollFreeGateways : {sbc-lon01.domain.com}
SecondaryTollFreeGateways : {sbc-lon02.domain.com}
Provisioning a New Audio Routing Group for a Branch Office
To deploy an Audio Routing Group for a new branch facility, administrators use New-CsTeamsAudioRoutingGroup. The group links the primary on-premises SBC gateway FQDN (configured via CsOnlinePSTNGateway) with an optional secondary redundant gateway.
To create an Audio Routing Group for an Edinburgh branch facility:
# Create new Audio Routing Group with primary and secondary gateways
New-CsTeamsAudioRoutingGroup -Identity "Edinburgh-Branch-ARG" `
-Description "Edinburgh Facility Survivable Branch Appliance" `
-PrimaryTollFreeGateways @("sbc-edi01.domain.com") `
-SecondaryTollFreeGateways @("sbc-edi02.domain.com")
If the branch operates with a single local SBC gateway without local hardware redundancy:
# Create Audio Routing Group with a single local PSTN gateway
New-CsTeamsAudioRoutingGroup -Identity "Manchester-Branch-ARG" `
-Description "Manchester Branch Gateway" `
-PrimaryTollFreeGateways @("sbc-man01.domain.com")
Updating Gateway Associations in Existing Groups
When physical SBC gateways are upgraded, replaced, or migrated to new Fully Qualified Domain Names (FQDNs), update the Audio Routing Group parameters using Set-CsTeamsAudioRoutingGroup:
# Update primary gateway FQDN on target Audio Routing Group
Set-CsTeamsAudioRoutingGroup -Identity "Edinburgh-Branch-ARG" `
-PrimaryTollFreeGateways @("sbc-edi-new.domain.com") `
-SecondaryTollFreeGateways @("sbc-edi-backup.domain.com")
To clear a secondary gateway association when decommissioning backup hardware:
# Clear secondary gateway list
Set-CsTeamsAudioRoutingGroup -Identity "Edinburgh-Branch-ARG" `
-SecondaryTollFreeGateways @()
Assigning Users to Audio Routing Groups and Survivable Branch Appliances
After defining the Audio Routing Group, branch office users must be associated with the corresponding Survivable Branch Appliance so their Teams desktop and mobile clients cache local registration credentials for offline survivability.
To associate a user account with a local Survivable Branch Appliance via Set-CsUserCallingSettings or user policy assignment:
# Query SBA branch appliances registered in tenant
Get-CsTeamsSurvivableBranchAppliance
# Verify user voice routing policy and gateway assignment
Get-CsOnlineUser -Identity "[email protected]" | Select-Object UserPrincipalName, LineURI, OnlineVoiceRoutingPolicy, TeamsCallingPolicy
Branch users must have an active Phone System licence, an assigned E.164 LineURI, and an assigned OnlineVoiceRoutingPolicy whose PSTN usage records route calls through the SBC gateways specified in the Audio Routing Group.
Decommissioning an Audio Routing Group
If a remote office is closed or migrated to a cloud-native Operator Connect architecture, remove obsolete audio routing groups cleanly using Remove-CsTeamsAudioRoutingGroup:
# Delete an obsolete Audio Routing Group
Remove-CsTeamsAudioRoutingGroup -Identity "Manchester-Branch-ARG"
PowerShell will prompt for confirmation before deleting the group record from tenant configuration.
Testing WAN Outage and Telephony Survivability
To validate the branch survivability configuration:
- Simulate a WAN failure at the branch facility by disconnecting the branch router’s primary internet uplink while keeping local LAN connectivity active between the Teams client and the local SBA.
- Observe the Teams desktop client. A banner notifies the user that Teams is operating in offline branch mode.
- Place an outbound PSTN call. The Teams client detects the local SBA via cached mDNS/DNS records, sending SIP INVITE signaling directly to the local SBC gateway specified in the Audio Routing Group.
- Place an inbound call to the user’s DID from an external mobile phone. The local SBC routes the inbound call directly to the client’s local IP address.
Configuring CsTeamsAudioRoutingGroup provides the structural routing foundation required for enterprise branch survivability, safeguarding uninterrupted voice communications across distributed branch infrastructure.