You deployed Microsoft Teams Phone with Calling Plans. It was the easy path — a few clicks in the Microsoft 365 admin center, assign some licenses, and your users can make calls. No infrastructure, no SBC, no carrier negotiations.
And then the monthly bill arrived. And it kept growing.
If you have 1,000+ users on Microsoft Calling Plans, you're overpaying for voice. Significantly. This article shows you exactly how much, and how to fix it with Direct Routing — without changing the user experience.
The Hidden Cost of Microsoft Calling Plans
Microsoft Calling Plans use a per-user pricing model. Every user pays a fixed monthly fee for calling, on top of the Teams Phone Standard license:
- Teams Phone Standard: $8/user/month (required for all connectivity options)
- Domestic Calling Plan: $12/user/month
- International Calling Plan: $24/user/month
For a single user, this seems reasonable. For 5,000 users, it's a different story:
| Component | Per-user/month | 5,000 users/month | Annual |
|---|---|---|---|
| Teams Phone Standard | $8 | $40,000 | $480,000 |
| Domestic Calling Plan | $12 | $60,000 | $720,000 |
| Total (Domestic) | $20 | $100,000 | $1,200,000 |
| International Calling Plan | $24 | $120,000 | $1,440,000 |
| Total (International) | $32 | $160,000 | $1,920,000 |
The cost scales linearly with headcount. Every new hire adds $240–$384 per year to your voice bill. For a growing enterprise, this is a compounding problem.
And here's the part that stings: most of that cost is margin. The actual cost of carrying voice traffic over a SIP trunk is a fraction of what Microsoft charges per user. Calling Plans are priced for convenience — and the convenience tax is enormous at scale.
The Direct Routing Alternative
Direct Routing uses a shared-trunk pricing model. Instead of paying per user, you pay for the SIP trunk capacity (concurrent call paths) you actually need. A 5,000-user enterprise doesn't need 5,000 concurrent call paths — typical concurrency is 5–10% of user count, so 250–500 paths.
Direct Routing cost breakdown (5,000 users):
| Component | Cost | Annual |
|---|---|---|
| Teams Phone Standard | $8/user/month × 5,000 × 12 | $480,000 |
| SIP trunk (200 concurrent paths) | ~$1/path/month × 200 × 12 | $2,400 |
| SBC licensing (amortized over 3 years) | ~$4,000/year | $4,000 |
| SBC hosting (cloud VM or on-prem) | ~$5,000/year | $5,000 |
| Total | ~$491,400 |
Compared to Calling Plans Domestic ($1,200,000/year), that's $708,600 in annual savings — a 59% reduction.
Even using a more conservative blended rate of $8/user/month for trunking (including capacity headroom and managed support overhead), the all-in cost is $16/user/month — still $4–$16/user/month less than Calling Plans.
What You Keep, What You Gain
Migrating from Calling Plans to Direct Routing changes the billing model — not the user experience.
You keep:
- Every Teams Phone feature (call transfer, hold, park, delegate, group pickup, voicemail, auto attendants, call queues)
- Every phone number (ported from Microsoft to your SIP trunk)
- The Teams interface users already know
- Microsoft 365 integration (Presence, contacts, calendar)
You gain:
- Full SIP trunk control (choose any carrier, negotiate rates, use multiple carriers)
- Analog device support (elevator phones, paging, fax — through ATAs on your SBC)
- Custom routing (least-cost routing, time-of-day routing, overflow to mobile)
- E911 with PIDF-LO dynamic location (floor/room-level, not just civic address)
- Lower annual voice costs (60%+ reduction at scale)
- Visibility into call quality and SIP signaling (SBC logs and monitoring)
The Migration Process: Calling Plans to Direct Routing
The migration is phased — no dial-tone drop, no user disruption:
Step 1: Deploy SBC alongside Calling Plans. Stand up your SBC (AudioCodes Mediant VE or Ribbon SWe), configure SIP trunks, and validate connectivity. Users stay on Calling Plans during this phase.
Step 2: Migrate users in phases. Move users in batches from Calling Plans to Direct Routing. Both systems run in parallel. Users experience no change during migration.
Step 3: Port phone numbers. Transfer DIDs from Microsoft to your SIP trunk provider. Coordinated with your carrier and Microsoft — happens without user impact.
Step 4: Decommission Calling Plans. Remove Calling Plans licenses from your Microsoft 365 tenant. This is when the savings hit your budget.
Step 5: Configure E911 on Direct Routing. Ensure dynamic E911 with PIDF-LO is configured through your SBC and Teams emergency call routing policies. Validate with a 911 test call.
Timeline: 4–8 weeks for a mid-size enterprise, 3–6 months for a large enterprise.
Building the Business Case
The business case for migrating from Calling Plans to Direct Routing is straightforward:
Investment: $100,000 fixed-fee migration (discovery, design, pilot, production, hypercare).
Annual savings: $400,000–$960,000 for a 5,000-user enterprise (depending on current plan).
Payback period: 1–3 months of savings covers the entire migration cost. After that, every dollar of savings drops to the bottom line.
5-year TCO comparison (5,000 users, Domestic Calling Plan):
- Calling Plans: $1,200,000 × 5 = $6,000,000
- Direct Routing: $491,400 × 5 + $100,000 migration = $2,557,000
- 5-year savings: $3,443,000
This is not an estimate. It's a calculation based on published Microsoft pricing and typical SIP trunk costs. The numbers may vary based on your specific environment — but the direction is always the same: Direct Routing is cheaper at enterprise scale.
Use our ROI calculator to see your exact savings, or get a migration assessment for a full financial model tailored to your enterprise.