Almanac
Microsoft/teamsMicrosoft 365

Consultant-focused KB for Microsoft Teams: implementation notes, gotchas and configuration decisions beyond the official docs — across chat and collaboration, meetings, webinars and town halls, Teams Phone, PSTN connectivity (Direct Routing, Operator Connect, Calling Plans, Teams Phone Mobile), auto attendants, call queues and contact centre integration, Teams Rooms and devices, apps and extensibility, Copilot in Teams, administration and governance, security and compliance, network and call quality, and licensing — plus cross-cutting decision guides.

feature-pstn-number-porting-and-assignment.mdv1 · history
CurrentApplies to Teams PhoneUpdated 3 weeks agoSource Microsoft Learn ↗

What it does

Microsoft acts as the carrier for Calling Plan numbers: you get new numbers from the admin center or port existing ranges in via a port order, then assign them to users or resource accounts. The same assignment cmdlets cover Direct Routing and Operator Connect numbers, so this is also where number management lives day to day.

Key facts

  • Port orders go through the wizard in the Teams admin center. Requests of 1,000+ numbers, hybrid numbers coming from Direct Routing or Operator Connect, and special cases go to the Telephone Number Services (TNS) Service Desk manually.
  • One port order needs the same losing provider, account number, billing telephone number (BTN), number type (user vs service) and service address. Anything that differs is a separate order.
  • You'll need the account number, authorising person, service address, business name, BTN, a document of record from the current provider and a Letter of Authorization — all matching the losing carrier's records exactly.
  • Ports for the same account number are processed one at a time, in series.
  • UK non-geographic numbers (0843, 0844, 0845, 0870, 0871, 0872) can't be ported. Fax-only numbers, data line numbers and UIFNs can't either.
  • User vs service usage can only be converted after the port completes, not during.
  • Typical end-to-end is 7–14 days and can run to 30. You can't pick a target date beyond 30 calendar days. Track progress in Voice > Phone numbers > Order history.
  • Know Your Customer (KYC) approval may be needed before acquiring or porting numbers. Most reviews complete within 3 business days.
  • Assignment: Set-CsPhoneNumberAssignment -Identity ... -PhoneNumber ... -PhoneNumberType CallingPlan|DirectRouting|OperatorConnect, with -LocationId for the emergency location. Remove-CsPhoneNumberAssignment undoes it. Assigning sets EnterpriseVoiceEnabled to True.
  • The number and the user's usage location must be in the same country. Calling Plan numbers need a Calling Plan licence on the user.
  • Assignment can take up to 24 hours to take effect. Admin roles: Teams Administrator, Teams Communications Administrator or Teams Telephony Administrator.

When to use / skip

You'll port when the client wants to keep their DDI ranges and is moving to Calling Plans. For Operator Connect and Teams Phone Mobile the operator runs the port; for Direct Routing the port is between carriers and Teams just sees numbers you assign. So most of the port order detail here only matters on Calling Plan projects.

New numbers from Microsoft are fine for greenfield sites, pilots and test accounts. Don't use them for anything customer-facing that might later move to Direct Routing or Operator Connect without checking the outbound port process from Microsoft first.

Configuration decisions

  • Full port vs partial port per account, and whether the BTN comes across. A full port can terminate the old service automatically.
  • Batching: by site, by account number, by number type. Remember the one-at-a-time rule for orders on the same account.
  • Target date strategy — Learn's conservative advice is 15+ business days out to allow for a rejection and resubmission.
  • Which numbers are service numbers (auto attendant and call queue main numbers) and need their own order.
  • Emergency location per number: assign on the number with -LocationId, and keep it in step with the user's actual site.
  • Who owns the number inventory going forward — the admin center list or an external register.

Gotchas

  • Rejections are nearly always data mismatches — business name formatting, an old address, the wrong BTN. Get a recent bill or the provider's record before you submit.
  • Account-level features on the losing side (hunt groups, distinctive ring, routing features) cause rejections. Ask the losing carrier to strip them first.
  • An account frozen against slamming needs the freeze lifted 1–3 weeks ahead.
  • Partial ports where the BTN stays behind — don't list the BTN in the numbers or you'll port it by accident.
  • Ported fax numbers become ordinary numbers. Teams doesn't do fax, so the fax machine stops working on port day.
  • Learn's lead-time figures are US and Canada. For UK ports, plan from the losing carrier's own lead time and assume the longer end.

Consultant notes

  • Build the port pack per order in a spreadsheet that mirrors the wizard fields. It makes rejection fixes a five-minute job.
  • Pre-stage users with licences, usage location and policies before the FOC date, then assign numbers on the day.
  • Keep the old carrier service alive until you've made a test call to every ported range from outside.
  • Use -Notify on Set-CsPhoneNumberAssignment if you want users to get an email when their number lands — it saves a round of "what's my new number" questions.

Recheck the porting lead times and non-portable number list before quoting a UK cut-over date

Was this accurate?