06 · Routing and dial plans

Normalize, then route

Routes match the number after the dial plan. A perfect route that expects E.164 will never see a local habit.

Room HTMLAll downloads

Learn it in 5 minutes

The person dials 020 7555 4010 or 425 555 0100. The first matching normalization rule rewrites it. Later rules do not run. The voice route then sees the result, usually E.164.

Put emergency short codes above any catch-all. A rule that turns every three-digit string into an extension will eat 999. Test the raw digits and the normalized form. The route is not wrong just because you typed the raw digits into it.

Normalize first, first match wins, then let the voice route see E.164.

Room HTML

Visual

Location-based routing gateLocation-based routingSite 1 subnetTrusted IP and siteLocal SBC allowedSite 2 subnetTrusted IP and siteLocal SBC allowedSite 3 subnetTrusted IP and siteLocal SBC allowed
A site map for Normalize, then route. LBR is toll-bypass control, not emergency location by itself.
OrderNormalize · FirstRoute · Second
You cannot route before you normalize. Counts in this drawing are teaching order, not customers.

SVGPNGHTML

Worked example

First matching normalization rule wins. I test the route with the normalized number.

  1. Digits What they dialed
  2. Rule First match
  3. E.164 What the route sees
  4. Route Pattern

If it fails: A catch-all rule is first, so the emergency rule never runs.

Checklist HTML

Quiz

Which description of Normalization is accurate?

A colleague reports: A catch-all rule is first, so the emergency rule never runs. Where do you start?

Which description of Tenant dial plan is accurate?

Flashcards

Ecosystem

Glossary

  • Normalization The dial plan rewrites what a person dialed into a number the routes can match, usually E.164. The first matching rule wins. Config: Put the specific rules above the general ones. Fault: A catch-all rule is first, so the emergency rule never runs.
  • Tenant dial plan A set of normalization rules you assign to users. A user can have a more specific plan than the tenant default. Config: Grant the plan to the user and test from that user. Fault: You edit the global plan and a branch with its own plan does not change.
  • PSTN usage A name that links a voice routing policy to one or more voice routes. The policy’s ordered list of usages is the permission to place those calls. Config: Create the usage, attach routes, then put the usage on the policy in the right order. Fault: International works because the international usage was left on a branch policy.
  • Voice route A number pattern plus an ordered list of SBC gateways. It does nothing until a PSTN usage on the user’s policy points at it. Config: Anchor the pattern. Test with the normalized number, not the raw digits. Fault: The route expects 10 digits and the dial plan already added +1.

Sister technologies

Around the call: compliance recording, workforce management, emergency location, analytics, CRM screen pop, and an agent with a human escape. Each one has its own failure.

Config and troubleshooting

A catch-all rule is first, so the emergency rule never runs.

Cross-platform bridges

CUCM

Cisco CUBE is one of the SBC families named in this lab’s certification lesson. A certified release can be the Direct Routing SBC between Unified CM and Teams.

The tenant still needs a verified domain on the SBC FQDN, and the user still needs Teams Phone. The studio translator does not open a live AXL session. Confirm the current certified release before you build.

Webex

Teams Phone and Webex Calling are separate clouds. This lab does not describe a feature that registers a Webex Calling user into a Teams tenant.

A number move is usually a carrier port, a certified SBC, or a meetings interop product. Confirm before relying.

UCCE

Unified CCE stays the ACD until you migrate it. Microsoft’s contact-center articles name Connect, Extend, and Unify. They do not name a UCCE connector in the notes this lab cites.

Voice into Teams is still Direct Routing or Operator Connect. The routing script stays on the contact-center product you bought. Confirm the vendor’s current model. Source: https://learn.microsoft.com/en-us/microsoftteams/teams-contact-center.

Future hooks

Copilot Studio, Azure Communication Services, and Graph are later tracks in this lab. Treat any uncited limit as confirm before relying.

BridgesEcosystem

Sources and go deeper

Opened 2026-10. A row marked confirm did not open. Wikipedia is background. The Teams blog row is the community index.

  • Create and manage dial plans — Microsoft Learn — last checked 2026-10.
  • Manage voice routing policies — Microsoft Learn — last checked 2026-10.
  • RFC 3966 — RFC — last checked 2026-10.
  • E.164 — Wikipedia — last checked 2026-10. Wikipedia fallback for background. Confirm the vendor page before you change a tenant
  • Microsoft Teams blog index — Community — last checked 2026-10. Community index for the Microsoft Teams blog. This is the index, not a claim that a post discusses this room

sources.json