UnlimCall × Microsoft Teams

Plug UnlimCall in as the PSTN trunk behind Teams Phone via Direct Routing. Same Teams client your team already uses — real local numbers in 33 countries, flat per seat, no Microsoft Calling Plan bill. Use our managed Ribbon SBC and skip the infrastructure entirely.

countries · native CLI
33
managed Ribbon · optional
SBC included
end-to-end encrypted
TLS / SRTP
inbound to Teams
< 200ms

Why bring outside trunking into Teams.

Microsoft Calling Plans are a fine default if you call three countries and have light volume. For outbound-heavy teams across multiple markets the maths flip fast.

Microsoft Calling Plans

The default Microsoft path.

  • ~$8–$20 per user per month, plus bundled minutes that overage at per-minute rates
  • ~12 countries supported with native local numbers — anything else needs a Direct Routing carrier anyway
  • No bring-your-own-number for many regions; porting in foreign numbers is painful
  • Outbound caller-ID customisation limited
UnlimCall via Direct Routing

Same Teams client. Carrier you control.

  • Flat per seat — unlimited outbound included, no per-minute math
  • Native local numbers in 33 countries — UK, EU, US, CA, AU, plus 28 more
  • STIR/SHAKEN attestation A on US/CA outbound — answer rates hold up
  • Per-user caller-ID override — pick which number any agent presents
  • Port your existing numbers in — no service interruption

How Direct Routing wires together.

Teams uses a certified Session Border Controller as the demarcation point between your tenant and any outside SIP trunk. We provide the trunk and, if you want, the SBC too — we operate a managed Ribbon SBC so you can skip the infrastructure entirely. Microsoft signs off in PowerShell. End to end, this is a one-day setup.

Direct Routing call-flow architectureCalls flow from PSTN carriers through UnlimCall's edge POP over SIP, then over encrypted TLS / SRTP through the customer's certified SBC into Microsoft Phone System, which delivers them to Teams clients on desktop, web, and mobile.CARRIERSPSTN networks33 markets · in & outboundSTIR/SHAKEN US/CAUNLIMCALLEdge POPsip-XX.unlimcall.comTLS · port 5061UNLIMCALL · MANAGEDRibbon SBCWe run it · pair via PowerShellor bring your own SBCMICROSOFTPhone SystemDirect Routing endpointteams.microsoft.comMICROSOFTTeams clientsdesktop · web · mobileSIPTLS · SRTPTLS · SRTPSIP / SRTPALL HOPS ENCRYPTED · TLS 1.2+ FOR SIGNALLING · SRTP AES-256 FOR MEDIA
We provide
  • SIP edge with TLS/SRTP
  • Per-trunk credentials
  • Managed Ribbon SBC (optional)
  • Local numbers + porting
  • STIR/SHAKEN US/CA signing
  • E911/E112 routing
You provide
  • Microsoft 365 tenant
  • Teams Phone licenses
  • Your own certified SBC — if you don't use ours
  • Tenant admin PowerShell access
  • LIS / dispatchable-location records
Microsoft provides
  • Phone System (Teams Phone)
  • Direct Routing endpoint
  • Per-user number assignment
  • Teams clients + call routing
  • Tenant admin centre + LIS

Three ways to handle the SBC.

The fastest path: use our managed Ribbon SBC — we operate it, you pair it to your tenant in PowerShell. Or bring your own from Microsoft's certified list, or rent one from a third-party hosted SBC service.

VendorModelsHostingStatus
UnlimCall managed RibbonRecommended
We operate the SBC for you — pair it to your tenant, we run itManaged by usLive
AudioCodes
Mediant 500 / 800 / 1000 / 4000 / VESelf-hostedTested
Ribbon
SBC SWe / 1000 / 2000 / 5000Self-hostedTested
AnyNode
TE-SYSTEMS AnyNode software SBCSelf-hostedTested
Oracle
Acme Packet SBCSelf-hostedTested
Cisco
CUBE (Unified Border Element)Self-hostedTested
Sangoma
SBC + NetBorderSelf-hostedTested

Running something else certified by Microsoft? It almost certainly works — talk to us before you order seats and we will confirm against your specific SBC firmware.

Six steps to live calls.

Roughly one working day end-to-end if you have an SBC ready. Half a day with a hosted SBC. We pair on a call for the PowerShell step if you want a second set of eyes.

  1. 1

    Confirm Microsoft 365 licensing on your tenant

    Each user who will place / receive PSTN calls needs a Teams Phone license. Bundled into E5; add-on SKU for E1 / E3 / Business plans. Teams Phone Standard is the minimum.

    Microsoft Admin Center · ~5 min
  2. 2

    Provision UnlimCall seats + numbers

    Sign up at app.unlimcall.com, pick one or more countries, buy seats (one per concurrent Teams call you expect), and order local numbers. We hand you the SIP host, per-trunk credentials, and the FQDN of our regional edge.

    ~10 min
  3. 3

    Pick an SBC path

    Three options. (1) Easiest: use our managed Ribbon SBC — we operate the box, you do nothing except pair it to your tenant. (2) Bring your own — AudioCodes / Ribbon / AnyNode / Oracle / Cisco / Sangoma all certified by Microsoft, you handle the FQDN + TLS cert + ongoing patching. (3) Use a third-party hosted SBC service. Most SMB customers pick path 1.

    ~30 min on our SBC · half-day if BYO
  4. 4

    Pair the SBC with your Microsoft 365 tenant

    Run the PowerShell snippet below: New-CsOnlinePSTNGateway points your SBC FQDN at Microsoft. Create a voice route, PSTN usage, voice routing policy. Microsoft acknowledges your SBC after the first OPTIONS exchange — usually within 30 seconds.

    ~15 min
  5. 5

    Assign numbers to Teams users

    Set-CsPhoneNumberAssignment with PhoneNumberType DirectRouting hands an UnlimCall number to a specific user. Grant the voice routing policy to that user. They see the dial-pad in Teams the next time they refresh.

    ~2 min per user · bulk-scriptable
  6. 6

    Test from one user, then roll out

    Test outbound to a mobile + inbound from a mobile. Verify caller ID presents correctly, audio is clean both ways, and DTMF works (IVR navigation). Once one user is solid, batch-assign the rest of the floor.

    Same day

The trunk spec your SBC needs.

Teams Direct Routing is stricter than a plain SIP trunk — TLS + SRTP required, public CA cert on your SBC FQDN, specific codec set. The values below are what your SBC will be configured against.

unlimcall trunk · Teams Direct Routing profile
  • SIP host
    sip-<region>.unlimcall.comTLS only — Teams requires encrypted signalling
  • Transport
    TLS 1.2+TCP/UDP not accepted by Teams Direct Routing
  • Signalling port
    5061
  • Media
    SRTP (AES-256)Mandatory — non-SRTP rejected by Teams
  • Codecs
    SILK · G.722 · G.711 (μ-law / a-law) · OPUSSILK + G.722 used inside Teams; G.711 transcoded at the SBC
  • DTMF
    RFC 4733In-band DTMF disabled by Teams
  • Authentication
    IP whitelist (your SBC public IP) + per-trunk credential
  • TLS cert validation
    Public CA (Let’s Encrypt, DigiCert, Sectigo)Self-signed certs are rejected by both ends — your SBC FQDN must have a valid public cert

PowerShell pairing — copy, edit, run.

This is the Microsoft 365 side of the pairing. Replace sbc.contoso.com with your SBC's public FQDN and [email protected] with the first user you want to test on.

Microsoft Teams · PowerShell
run as tenant admin
# 1. Connect to your tenant
Connect-MicrosoftTeams

# 2. Register your SBC as a PSTN gateway
New-CsOnlinePSTNGateway `
  -Fqdn sbc.contoso.com `
  -SipSignalingPort 5061 `
  -ForwardCallHistory $true `
  -ForwardPai $true `
  -MediaBypass $false `
  -Enabled $true

# 3. Define a PSTN usage
Set-CsOnlinePstnUsage -Identity Global -Usage @{Add="UnlimCall"}

# 4. Create a voice route — match everything, send to your SBC
New-CsOnlineVoiceRoute `
  -Identity "UnlimCallRoute" `
  -NumberPattern ".*" `
  -OnlinePstnGatewayList sbc.contoso.com `
  -OnlinePstnUsages "UnlimCall" `
  -Priority 1

# 5. Build a voice routing policy
New-CsOnlineVoiceRoutingPolicy `
  -Identity "UnlimCallPolicy" `
  -OnlinePstnUsages "UnlimCall"

# 6. Assign the policy + a number to your first test user
Grant-CsOnlineVoiceRoutingPolicy `
  -Identity [email protected] `
  -PolicyName "UnlimCallPolicy"

Set-CsPhoneNumberAssignment `
  -Identity [email protected] `
  -PhoneNumber +12025550100 `
  -PhoneNumberType DirectRouting

Numbers shown are examples. Your portal exposes the exact E.164 numbers attached to your account. For bulk user assignment we'll hand you a parametrised script — mail [email protected].

What we cover. What stays on you.

On us

  • SIP trunk with TLS + SRTP, IP-locked to your SBC
  • Managed Ribbon SBC — we run the box, you skip the infrastructure
  • Local numbers in 33 markets · port-in supported
  • STIR/SHAKEN attestation A on US & CA outbound
  • E911 (US/CA) / E112 (EU/UK) emergency routing
  • SBC pairing assistance — we'll join a call
  • Carrier-side troubleshooting if anything breaks

On you

  • Microsoft 365 tenant + Teams Phone licensing
  • The SBC — or use ours, then skip this
  • Public FQDN + TLS cert — ditto, ours comes pre-certified
  • Per-user phone-number assignment in Teams admin
  • LIS / dispatchable-location records for E911 accuracy
  • Tenant-admin PowerShell access for the pairing

FAQ.

Do I need to provision my own SBC?+

No. We operate a managed Ribbon SBC and can pair it to your Microsoft 365 tenant directly — you do nothing on the infrastructure side. We hand you an FQDN, you paste it into the PowerShell pairing snippet, and you're wired up. Customers who want full control can still bring their own (AudioCodes / Ribbon / AnyNode / Oracle / Cisco / Sangoma all certified). Most SMB customers pick the managed path; teams with strict internal infra requirements bring their own.

Do I need to be on Microsoft Operator Connect?+

No. Direct Routing is the path you can run today — it just needs an SBC. Operator Connect is a separate Microsoft program where pre-integrated carriers show up directly inside the Teams admin centre with no SBC at all. We are applying for Operator Connect; meanwhile every UnlimCall customer using Teams runs Direct Routing.

What about Microsoft Calling Plans — do I keep them?+

You can run both side-by-side, but most customers drop Calling Plans entirely after migrating. Calling Plans bill per user (~$8–20/mo each) plus bundled minutes that overage at per-minute rates, and the country list is short. UnlimCall is flat per seat across 33 markets — usually 60–80% cheaper for an outbound-heavy team.

E911 / emergency services — how is that handled?+

For US/CA numbers we register the service address you provide in the portal with the appropriate Emergency Service Routing carrier (Bandwidth or Intrado). 911 dials from Teams route through us, hit ESRP, get the right PSAP based on the dispatchable location. For EU/UK we route 112/999 to the regional emergency authority per market. You configure the dispatchable location per user in the Teams Admin Centre (LIS).

Will media bypass work?+

Media bypass (Teams client ↔ SBC direct, skipping the Microsoft media path) is supported by us but is a Teams-side feature you enable on the PSTN gateway. We don't require it; if your SBC supports media bypass and your customers are geographically close to your SBC, you can enable it for ~30 ms lower one-way audio latency.

How many concurrent calls does the trunk support?+

Each UnlimCall seat = 1 concurrent outbound channel. Buy seats to match your peak concurrency — 50-agent team, peak 20 simultaneous calls, you want 20+ seats. We test SBCs in production at 1,000+ concurrent calls; the limit on your side is your SBC sizing.

Caller-ID — can I show a UK number from a UK Teams user even though the trunk is in EU Central?+

Yes. Caller ID is set per user in the Teams Admin Centre. The trunk region is about audio latency, not number presentation. A user in London with a UK number will show the UK number regardless of which UnlimCall edge POP carries their audio.

Inbound calls — how do they reach Teams?+

We route the PSTN call to your SBC over TLS/SRTP, the SBC forwards to Microsoft Phone System, Microsoft rings the assigned Teams user. End-to-end latency typically <200 ms one-way in our covered regions.

What if my SBC is on the AudioCodes hosted service or other SBCaaS?+

Works identically. The pairing instructions are the same — point us at your hosted SBC's FQDN; we whitelist its public IP; the customer-side admin runs the same Teams PowerShell against the hosted SBC FQDN.

Ready to wire UnlimCall into Teams?

Book a 30-minute session with a Teams Direct Routing specialist. We'll size your seats, recommend an SBC path, and pair on the PowerShell when you're ready.

Ready when you are

Pick a country.Pay in two minutes.

  • Magic-link signup
  • Cancel before commit ends
  • Lines live in ~2 min