What is Microsoft Teams Direct Routing?
Microsoft Teams Direct Routing allows organisations to connect their own PSTN carrier to Microsoft Teams via a certified or compatible Session Border Controller (SBC). Instead of purchasing Microsoft Calling Plans — which are geographically limited and priced at a premium — Direct Routing gives you full control over carrier selection, rate structures, and number management.
Mokrina provides Direct Routing-compatible SIP trunks with full support for the Teams SIP signalling profile, including required header handling, DTMF via RFC 2833, and TLS/SRTP transport security.
Prerequisites
- Microsoft 365 tenant with Teams Phone (formerly Phone System) licences assigned to users
- A certified or compatible SBC (e.g. AudioCodes, Ribbon, Oracle, or open-source options like FreeSWITCH with appropriate TLS configuration)
- A public FQDN for your SBC with a valid TLS certificate from a trusted CA
- Mokrina SIP trunk credentials and proxy details
- Microsoft 365 Global Administrator or Teams Administrator access
Architecture Overview
The call flow in a Direct Routing deployment is:
- Teams client → Microsoft Teams Phone infrastructure → Your SBC (via TLS/SRTP) → Mokrina SIP trunk → PSTN
The SBC sits at the boundary between Microsoft's cloud infrastructure and the PSTN carrier network. It handles protocol translation, media transcoding if required, and signalling normalisation between Teams and your SIP trunk.
Step 1: Configure Your SBC
Your SBC must present a valid TLS certificate for its public FQDN and must be reachable on port 5061 (TLS) from Microsoft's Teams infrastructure IP ranges. Consult the Microsoft documentation for the current list of Teams infrastructure IP ranges to whitelist in your firewall.
On the SBC, configure two SIP trunks: one pointing to Microsoft Teams (sip.pstnhub.microsoft.com on port 5061 TLS), and one pointing to your Mokrina SIP proxy. Ensure SRTP is enabled on both legs — Teams requires encrypted media; Mokrina supports SRTP and will negotiate it automatically.
Step 2: Register Your SBC with Microsoft Teams
In the Microsoft Teams Admin Center, navigate to Voice > Direct Routing > SBCs and click Add. Enter your SBC's FQDN, enable the SBC, and configure the following:
- SIP signalling port: 5061
- Send SIP options: Enabled (required for Teams to monitor SBC health)
- Concurrent call capacity: Set to reflect your trunk's concurrent call limit
- Media bypass: Enable if your SBC supports it — this routes media directly between Teams clients and the PSTN, reducing latency
Step 3: Configure Voice Routing Policies
Teams uses a hierarchical voice routing policy to determine which calls are sent to which SBC. In PowerShell (or the Admin Center), create:
- PSTN Usage: A named usage record (e.g. "Mokrina_PSTN") that will be referenced by your routes
- Voice Route: A route pattern (e.g.
^\+to match all E.164 numbers) associated with your SBC FQDN and the PSTN Usage - Voice Routing Policy: A named policy referencing the PSTN Usage, assigned to users or as the tenant default
Step 4: Assign Phone Numbers to Users
Phone numbers for Direct Routing users are managed in the Teams Admin Center under Users > select user > Account > Phone number. Set the phone number type to "Direct Routing", enter the E.164 number (including country code), and save. The number should correspond to a DID assigned to your Mokrina trunk.
Step 5: Test and Validate
- Place an outbound call from a Teams client to an external PSTN number and verify audio quality in both directions.
- Call your DID from an external number and confirm it rings in Teams.
- Test DTMF (dial-tone) functionality — particularly important for IVR interactions.
- Verify that the SBC shows as active (green) in the Teams Admin Center > Direct Routing > SBCs dashboard.
- Review SBC call logs to confirm SIP 200 OK responses on both legs for successful calls.
Ongoing Management
Monitor your Direct Routing deployment using the Teams Admin Center's Call Quality Dashboard (CQD). The CQD provides detailed per-call quality metrics including jitter, packet loss, and round-trip time. Set up alerts for degraded call quality to catch issues before they impact users.
Mokrina's carrier portal provides complementary CDR data from the SIP trunk side, enabling end-to-end call quality analysis when correlated with CQD data.