On this page
6.2) Teams Calling
1. Teams Calling Hierarchy & Architecture
Teams Calling (Teams Phone) is a cloud-based private branch exchange (PABX) system that connects the Microsoft Teams client to the Public Switched Telephone Network (PSTN).
- The PABX Service: Microsoft Phone System provides call control, auto-attendants, call queues, and voicemail.
- Logical Layers:
- The Client: Teams app (Desktop, Mobile, or IP Phone) where the user interacts with the dialer.
- The Signal: SIP signaling traffic always travels to the nearest Microsoft 365 server “front door”.
- The Media: Voice/Video traffic (SRTP) follows the most direct path between participants or to the PSTN gateway.
- The Gateway: The bridge to the global telephone network.
2. Core Architecture Objects (Inbound/Outbound Logic)
Teams Phone separates the public number, the queue, the agents, and outbound service identity into distinct objects to manage complex call routing profiles. These roles are broken down as follows:
- Auto Attendant: Acts as the “front door” mapped to the primary public phone number.
- Call Queue: Handles the routing logic that rings the agents.
- M365 Group: Controls user mapping by defining exactly who the agents are.
- Assign Calling ID Setting: Allows agents to mask their direct lines and call out using the shared service number.
- Authorized Users Setting: Grants selected users administrative permissions to manage queue or attendant configurations.
- Resource Accounts: The service objects mapped to Auto Attendants and Call Queues that allow the assignment of licenses, phone numbers, and voice routing policies.
3. PSTN Connectivity Models
Choosing a connectivity model is the most critical architectural decision for a voice deployment.
- Microsoft Calling Plans: Microsoft acts as the carrier. Simple “all-in-the-cloud” setup with no infrastructure to manage, but can be more expensive per user.
- Operator Connect: A “happy medium.” You choose a certified third-party carrier (e.g., Telstra, Vodafone) from within the Teams Admin Center. The operator manages the hardware (SBCs) while you manage the numbers in the cloud.
- Direct Routing: The “Swiss Army Knife.” Connects Teams to any local SIP trunk or legacy PABX using a Session Border Controller (SBC).
- Media Bypass: A Direct Routing feature allowing media to flow directly between the client and the SBC, bypassing the Microsoft cloud to reduce latency and improve quality.
4. Call Flow & Media Logic
Understanding the distinction between how a call is controlled (Signaling) and how it is heard (Media) is the key to solving most “one-way audio” or “robotic voice” issues.
- Peer-to-Peer (P2P): For calls between two internal Teams users, media takes the shortest path. This is typically Direct IP-to-IP if users are on the same network, or via a Microsoft Transport Relay if firewalls block the direct path.
- PSTN Flow (Signaling): The “command” data that tells the phone to ring always travels via the Microsoft Cloud: Client → Microsoft Teams → SBC/Carrier → PSTN.
- PSTN Flow (Media): The actual voice packets follow one of two logic paths based on your Media Bypass configuration:
- Option A: Media Bypass ON (The “Direct” Path): Audio flows directly from the Client → SBC/Gateway. This is the preferred “Gold Standard” as it minimizes latency by keeping the audio stream out of the Microsoft Cloud.
- Option B: Media Bypass OFF (The “Cloud” Path): Audio flows Client → Microsoft Media Processor → SBC/Gateway. In this scenario, the Microsoft Cloud acts as a middleman. This is the required fallback when a client cannot establish a direct network connection to the SBC’s IP.
- Quality Requirements: As per the VoIP Fundamentals article, for reliable voice quality, the network path must adhere to these strict thresholds:
- Latency (RTT): < 200ms.
- Jitter: < 30ms.
- Packet Loss: < 1%.
5. Voice Routing Components
- Dial Plans: A set of normalization rules that translate a user’s dialed numbers (e.g.,
0412...) into E.164 format (+61412...). - Voice Routing Policies: Dictate which PSTN usage records (and therefore which SBCs/Routes) a user can access.
- Emergency Routing: Defines how emergency calls (e.g., 000, 911) are handled and ensure location data is sent to the dispatcher.
6. Diagnostics & Troubleshooting
Understanding how to interpret telemetry data is the final step in resolving voice quality issues.
- Real-time Call Health: During a call, users can check Settings > Call Health to see active packet loss and jitter stats.
- Call Analytics (Per-User): Found in the Teams Admin Center under the user’s profile. Provides technical telemetry (device used, network type, signal strength) for every call in the last 30 days.
- Call Quality Dashboard (CQD): An organization-wide dashboard for identifying systemic issues (e.g., “Why is audio quality poor specifically at the Sydney branch?”).
- PSTN Usage Report: Found in the Teams Admin Center under Analytics & reports. This provides a granular record of all PSTN activity, including call duration, start/end times, and phone numbers for Calling Plans, Operator Connect, and Direct Routing. It is the primary tool for verifying if a call successfully reached the PSTN and for diagnosing billing or connectivity discrepancies.
- Common Issue: One-Way Audio:
- Typically caused by NAT/Firewall issues where the media stream is blocked in one direction.
- In Direct Routing, often indicates the SBC is not sending media to the correct public IP of the Teams client or Media Processor.
7. Essential PowerShell Cmdlets (MicrosoftTeams Module)
- Connectivity:
Connect-MicrosoftTeams - Number Assignment (Modern):
Set-CsPhoneNumberAssignment -Identity user@domain.com -PhoneNumber "+123456789" -PhoneNumberType CallingPlan.
- Troubleshooting User Config:
Get-CsOnlineUser -Identity user@domain.com | Select-Object EnterpriseVoiceEnabled, LineURI, VoiceRoutingPolicy.
- Auto Attendants & Queues:
Get-CsAutoAttendant/Get-CsCallQueue.
- Direct Routing SBC Check:
Get-CsOnlineDirectRoutingSBCStatus(Checks if your SBC is successfully talking to Microsoft).