What is Microsoft Teams Direct Routing?
Microsoft Teams Direct Routing is a feature that connects Microsoft Teams to the Public Switched Telephone Network (PSTN) through a third-party SIP trunk provider and a Session Border Controller (SBC). Instead of relying on Microsoft as your telephony carrier, Direct Routing lets you use any SIP trunk provider -- like IPComms -- to handle your voice traffic.
The architecture is straightforward: your Microsoft Teams environment connects to a certified SBC, which acts as a bridge between the Microsoft Phone System and your SIP trunk provider. When a Teams user places a call, the audio and signaling flow from Teams through the SBC and out to the PSTN via your SIP trunk. Inbound calls follow the reverse path -- arriving at IPComms, routing through the SBC, and ringing the assigned Teams user.
This approach gives organizations full control over their telephony infrastructure, carrier selection, and call routing. It is particularly valuable for businesses that already have an existing SIP trunk provider, need to keep their current phone numbers, or want to reduce per-user calling costs compared to Microsoft Calling Plans.
How Direct Routing Works
Teams Users
Desktop, mobile, web
Microsoft 365
Teams Phone System
SBC
Session Border Controller
IPComms
SIP Trunk to PSTN
Key Benefit: Direct Routing is the only Teams PSTN connectivity option that lets you choose your own carrier, keep your existing phone numbers, and control your calling costs. It is the preferred option for enterprises, multi-national organizations, and businesses already using SIP trunking.
Direct Routing vs Microsoft Calling Plans
Microsoft offers three ways to connect Teams to the PSTN: Calling Plans, Operator Connect, and Direct Routing. Here is how Direct Routing compares to the most common alternative -- Microsoft Calling Plans.
| Feature | Microsoft Calling Plans | Direct Routing (IPComms) |
|---|---|---|
| Monthly cost per user | $8-$12/user (Calling Plan) + $15/user (Teams Phone) | $0/channel + usage ($0.009/min) |
| Carrier | Microsoft only | Your choice (IPComms) |
| Number portability | Limited to Microsoft-supported regions | Full portability, any carrier |
| International calling | Add-on required, limited countries | 195+ countries, competitive rates |
| SBC required | No | Yes (physical or virtual) |
| Setup complexity | Simple (admin portal only) | Moderate (SBC + admin portal) |
| Call routing control | Basic | Full control (failover, LCR, etc.) |
| Survivability | Cloud-dependent | SBC can provide local survivability |
| Best for | Small orgs, quick setup | Cost savings at scale, control |
Cost Comparison: 50 Users
Microsoft Calling Plans
Based on $15/user Teams Phone + $8/user Domestic Calling Plan. Excludes international add-ons.
IPComms Direct Routing
*Excludes Teams Phone license (required with both options) and one-time SBC cost. Usage varies by call volume.
Savings at Scale: The cost advantage of Direct Routing increases with user count. At 200 users, Microsoft Calling Plans would cost approximately $4,600/mo, while IPComms Direct Routing usage typically stays under $800/mo (excluding the shared Teams Phone license cost). See our full pricing breakdown.
Prerequisites for Teams Direct Routing
Before you begin the setup, ensure you have the following components in place:
Microsoft 365 License with Teams Phone
Each user who needs PSTN calling must have a Teams Phone capability. This is included with Microsoft 365 E5 licenses. For E1 or E3 licenses, you need to add the Teams Phone Standard add-on ($15/user/month). Teams Phone is required regardless of whether you use Calling Plans or Direct Routing.
Certified Session Border Controller (SBC)
You need a Microsoft-certified SBC to act as the bridge between Teams and your SIP trunk. Supported options include AudioCodes (Mediant series), Ribbon/Sonus (SBC Edge, SBC Core), Oracle Enterprise SBC, and Cisco CUBE. Virtual SBC options are also available for cloud deployments.
SIP Trunk from IPComms
Sign up for an IPComms SIP trunk at portal.ipcomms.net/signup. You will receive your SIP credentials, which you will configure on the SBC. IPComms SIP trunks support TLS/SRTP encryption as required by Microsoft Teams.
Verified Domain in Microsoft 365
Your organization's domain must be verified in Microsoft 365. The SBC's FQDN must be a subdomain of one of your verified domains (e.g., sbc.yourcompany.com).
Public TLS Certificate
The SBC requires a public TLS certificate from a trusted Certificate Authority (DigiCert, Let's Encrypt, etc.) matching the SBC's FQDN. Self-signed certificates are not supported for the Microsoft Teams connection.
Network Requirements
Your firewall must allow outbound connections from the SBC to Microsoft SIP proxies (port 5061 TLS) and media relay IPs (UDP 49152-53247). The SBC also needs connectivity to IPComms on port 5061 (TLS). Adequate bandwidth is required: approximately 100 kbps per concurrent call with G.711.
Important: Microsoft requires TLS 1.2 for all Direct Routing connections. Make sure your SBC firmware is up to date and supports TLS 1.2. Older SBC firmware versions may only support TLS 1.0/1.1, which Microsoft has deprecated.
Setup Steps: Connecting Teams to IPComms
Follow these five steps to configure Microsoft Teams Direct Routing with your IPComms SIP trunk. The entire process typically takes 1-2 hours for an experienced administrator.
Get Your IPComms SIP Trunk Credentials
Sign up at portal.ipcomms.net/signup and create your SIP trunk. From your IPComms dashboard, note the following connection details:
If you need to port existing phone numbers to IPComms, submit a porting request through the portal before proceeding. Number porting typically takes 5-10 business days.
Configure Your SBC
Your SBC needs two trunk connections: one facing Microsoft Teams and one facing IPComms.
Microsoft Teams Side (SBC Upstream)
IPComms Side (SBC Downstream)
SBC Configuration Guides: Most SBC vendors publish step-by-step Teams Direct Routing configuration guides. AudioCodes provides a detailed Configuration Note for each Mediant model. Ribbon has a similar guide for the SBC Edge series. Check your SBC vendor's documentation for the exact configuration steps.
Configure Teams Admin Center
Open the Microsoft Teams Admin Center (admin.teams.microsoft.com) and configure the following:
Add PSTN Gateway
Navigate to Voice > Direct Routing and click Add. Enter your SBC's FQDN (e.g., sbc.yourcompany.com). Set the SIP signaling port to 5061 and enable the gateway.
Alternatively, use PowerShell for more control:
# Connect to Teams PowerShell Connect-MicrosoftTeams # Add SBC as PSTN Gateway New-CsOnlinePSTNGateway -Fqdn sbc.yourcompany.com ` -SipSignalingPort 5061 ` -MaxConcurrentSessions 100 ` -Enabled $true # Create PSTN Usage Record Set-CsOnlinePstnUsage -Identity Global ` -Usage @{Add="IPComms-Usage"} # Create Voice Route New-CsOnlineVoiceRoute -Identity "IPComms-Route" ` -NumberPattern ".*" ` -OnlinePstnGatewayList sbc.yourcompany.com ` -OnlinePstnUsages "IPComms-Usage" ` -Priority 1 # Create Voice Routing Policy New-CsOnlineVoiceRoutingPolicy -Identity "IPComms-Policy" ` -OnlinePstnUsages "IPComms-Usage"
Assign Phone Numbers to Users
Assign your IPComms DID numbers to Teams users and apply the voice routing policy:
# Assign phone number and policies to a user Set-CsPhoneNumberAssignment ` -Identity user@yourcompany.com ` -PhoneNumber "+12125551234" ` -PhoneNumberType DirectRouting # Apply voice routing policy Grant-CsOnlineVoiceRoutingPolicy ` -Identity user@yourcompany.com ` -PolicyName "IPComms-Policy" # Enable Enterprise Voice for the user Set-CsPhoneNumberAssignment ` -Identity user@yourcompany.com ` -EnterpriseVoiceEnabled $true
Repeat this for each user who needs a phone number. For bulk assignments, you can use a CSV file with a PowerShell loop or configure numbers in the Teams Admin Center GUI.
Test Inbound and Outbound Calling
After configuration, verify that calling works correctly:
- ✓ Outbound test: From the Teams client, dial an external phone number. Verify the call connects and audio is clear in both directions.
- ✓ Inbound test: Call the assigned DID number from an external phone. The Teams user should receive the incoming call notification.
- ✓ Caller ID: Verify the correct caller ID is displayed on outbound calls.
- ✓ Call transfer: Test transferring calls between Teams users and to external numbers.
- ✓ Voicemail: Ensure calls go to Teams voicemail if unanswered.
- ✓ Emergency calling: Configure and test E911 routing through your SBC (check local regulations).
Health Dashboard: In the Teams Admin Center, navigate to Voice > Direct Routing to view the health dashboard. It shows SBC connection status, call success rate, and latency metrics. A healthy connection should show the SBC as "Active" with minimal SIP option timeouts.
Supported SBC Platforms
Microsoft certifies specific SBC vendors and models for Teams Direct Routing. Here are the most commonly used options, all of which work with IPComms SIP trunks:
AudioCodes (Mediant Series)
The most popular choice for Teams Direct Routing. Models include the Mediant 500, 800, 2600, and 4000. Also available as a Virtual Edition (VE) for cloud deployments in Azure, AWS, or on-premises hypervisors.
Ribbon (formerly Sonus)
SBC Edge (for SMBs, up to ~250 sessions) and SBC Core (enterprise, thousands of sessions). The SBC SWe Lite is a virtual option that can run on a standard server or in the cloud.
Oracle Enterprise SBC
Enterprise-grade SBC suitable for large organizations and service providers. Supports high-density call volumes and advanced routing features. Available as hardware or virtual appliance.
Cisco CUBE
Cisco Unified Border Element runs on ISR and ASR routers. Ideal for organizations already invested in Cisco infrastructure. Supports Direct Routing with IOS XE 17.x and later.
Virtual SBC Options
If you do not want to deploy physical hardware, virtual SBCs are a cost-effective alternative. These can run in Azure (for lowest latency to Teams), AWS, or on your own VMware/Hyper-V infrastructure:
| Virtual SBC | Starting Price | Max Sessions | Best For |
|---|---|---|---|
| AudioCodes VE | ~$1,500 (perpetual) | Up to 250 | SMBs, Azure deployments |
| Ribbon SBC SWe Lite | ~$1,000 (perpetual) | Up to 100 | Small offices, budget-conscious |
| Ribbon SBC SWe | ~$5,000 (perpetual) | Up to 10,000 | Enterprise, high-volume |
| Oracle Virtual SBC | Contact vendor | Up to 16,000 | Service providers, large enterprise |
IPComms Configuration for Teams
Use the following IPComms settings when configuring your SBC's trunk toward the IPComms SIP platform. These settings are optimized for Microsoft Teams Direct Routing deployments.
Connection Settings
| Parameter | Value | Notes |
|---|---|---|
| SIP Server | sip.ipcomms.net | Primary SIP proxy |
| Signaling Port | 5061 | TLS required for Teams |
| Transport Protocol | TLS | TLS 1.2 for signaling |
| Media Encryption | SRTP | Preferred; RTP also supported |
| Preferred Codec | G.711 uLaw | Best audio quality |
| Alternate Codec | G.729 | Lower bandwidth |
| DTMF Mode | RFC 2833 | Out-of-band DTMF |
| Authentication | IP-based or Registration | IP auth recommended for SBCs |
| Max Sessions | Unlimited | Scale as needed |
Firewall Rules
Ensure your firewall allows the following traffic between your SBC and IPComms:
IPComms Tip: For Teams Direct Routing, we recommend IP-based authentication on the IPComms side. Whitelist your SBC's public IP address in the IPComms portal, and registration-based auth is not required. This simplifies the SBC configuration and avoids re-registration timing issues. Contact IPComms support if you need help identifying the correct IP ranges for your SBC.
Troubleshooting Common Issues
One-Way Audio or No Audio
- ✓ Check SBC media bypass settings -- if Media Bypass is enabled in Teams, ensure your SBC supports it and the network path between the Teams client and SBC allows direct media flow
- ✓ Verify firewall rules allow UDP traffic on RTP ports (10000-20000 for IPComms, 49152-53247 for Microsoft media relays)
- ✓ Ensure SRTP is configured consistently on both the Teams side and IPComms side of the SBC
- ✓ Check for NAT issues -- the SBC should have a public IP or proper NAT traversal configured
- ✓ See our detailed one-way audio troubleshooting guide for additional steps
SBC Registration / TLS Certificate Failures
- ✓ Verify your TLS certificate is from a trusted CA (not self-signed) and matches the SBC's FQDN
- ✓ Ensure the certificate chain is complete -- include intermediate certificates
- ✓ Check that TLS 1.2 is enabled on the SBC (Microsoft does not support TLS 1.0 or 1.1)
- ✓ Confirm DNS resolves your SBC FQDN to the correct public IP
- ✓ Verify port 5061 is open inbound from Microsoft's SIP proxy IPs (52.114.148.0/32, 52.114.132.46/32, 52.114.75.24/32)
Call Drops or Intermittent Failures
- ✓ Check for codec mismatch between the Microsoft side (Silk, G.722, G.711) and IPComms side (G.711 uLaw, G.729) -- the SBC should transcode if needed
- ✓ Verify SBC session timers and SIP timer values match Microsoft's requirements
- ✓ Monitor for SIP OPTIONS timeout errors in the Teams Admin Center health dashboard
- ✓ Check SBC CPU and memory usage -- overloaded SBCs can drop calls
- ✓ Review SBC logs for SIP error codes (403 Forbidden, 488 Not Acceptable, 503 Service Unavailable)
Outbound Calls Fail but Inbound Works
- ✓ Verify voice routing policy is assigned to the user (
Get-CsOnlineVoiceRoutingPolicy) - ✓ Check that the voice route number pattern matches the dialed number format
- ✓ Ensure PSTN usage records are correctly linked between the voice route and routing policy
- ✓ Confirm the user has a Teams Phone license and Enterprise Voice is enabled
Caller ID Not Displaying Correctly
- ✓ Ensure the phone number assigned in Teams matches the DID configured in IPComms (use E.164 format: +12125551234)
- ✓ Check SBC header manipulation rules -- the From header should contain the user's DID
- ✓ Verify caller ID policies in Teams Admin Center (
CallingLineIdentitypolicy)
Need Help? Contact IPComms support at support@ipcomms.net or visit our Help Center. For Teams-specific issues, you can also check the SBC health dashboard in the Teams Admin Center under Voice > Direct Routing.
Frequently Asked Questions
Direct Routing requires you to deploy and manage your own Session Border Controller (SBC) to connect your SIP trunk provider to Microsoft Teams. Operator Connect is a managed service where Microsoft-certified operators (carriers) provide a pre-integrated connection directly through the Teams Admin Center, eliminating the need for an SBC. Direct Routing offers more flexibility and control over your telephony infrastructure, carrier selection, and call routing. Operator Connect is simpler to deploy but limits you to participating carriers and may have higher per-user costs.
Yes. One of the key advantages of Direct Routing is full number portability. You can port your existing phone numbers to IPComms and use them with Microsoft Teams. The porting process typically takes 5-10 business days for standard local numbers and up to 15 business days for toll-free numbers. IPComms handles the entire porting process for you, including submitting the LOA (Letter of Authorization) to your current carrier.
You can use either. Virtual SBCs such as AudioCodes VE and Ribbon SBC SWe are fully certified by Microsoft and can run on-premises (VMware, Hyper-V), in Azure, or in AWS. Virtual SBCs are often more cost-effective for smaller deployments (under 100 concurrent calls), while physical appliances may be preferred for high-volume environments like call centers. Deploying a virtual SBC in Azure provides the lowest latency to Microsoft's Teams infrastructure.
IPComms SIP trunks for Teams Direct Routing cost $0 per channel with usage-based calling rates starting at $0.009 per minute for US/Canada calls. DID phone numbers start at $1.50 per month. You will also need a Microsoft 365 license with Teams Phone capability for each user (included with E5, or $15/user add-on for E1/E3). The one-time cost of an SBC varies from ~$1,000 for a virtual SBC to $3,000+ for a physical appliance. See our full pricing page for detailed rates.
If your internet connection fails, Teams Direct Routing calls will not work since they rely on internet connectivity. To mitigate this risk, consider: (1) implementing a redundant internet connection with automatic failover, (2) configuring failover routing on your SBC to a backup site, (3) setting up call forwarding rules in IPComms to redirect calls to mobile phones or an alternate location during outages, or (4) using Microsoft's Survivable Branch Appliance (SBA) feature with a local SBC to maintain basic calling during cloud outages.
Yes. Teams Phone Mobile (formerly SIM-enabled calling) works with Direct Routing. This feature allows users to use their mobile phone's native dialer with their Teams phone number. The mobile carrier routes calls through Teams, which then uses your Direct Routing SBC and SIP trunk for PSTN connectivity. This requires a compatible mobile carrier that participates in the Teams Phone Mobile program and a Teams Phone Mobile license for each user.
Ready to Connect Teams to the PSTN?
Get started with IPComms SIP trunking for Microsoft Teams Direct Routing. $0 per channel, usage-based pricing, and expert support to help you configure your SBC.