Number types and where they come from
| Type | Source | Used for |
|---|---|---|
| Subscriber (user) | Microsoft (Calling Plans), operator (OC), or ported/owned via DR | A person's DID |
| Service | Microsoft/operator | Audio conferencing bridges, auto attendants, call queues — higher concurrency |
| DR-carried numbers | Your carrier via SBC | Anything; Microsoft only sees them as strings you assert |
Acquisition truths: Microsoft-sourced numbers are region-gated by licence and
address (regulatory); porting into Microsoft/OC follows carrier-country timelines
(days to months — plan launches around the slowest country); Direct Routing numbers
never live in Microsoft's inventory at all — Get-CsPhoneNumberAssignment shows
them as DirectRouting with no Microsoft lifecycle.
Assignment mechanics that bite
- A number assignment is
TelephoneNumber+AssignmentTarget(user/resource account) + capabilities. Unassigned ≠ free: recently released numbers sit in cooldown; deleted resource accounts can strand assignments. - Emergency address (LIS) binding: Calling Plan/OC numbers carry a validated civic address; assigning without one (or with a stale one) is a compliance hole that surfaces exactly once, badly. Dynamic emergency (next concepts) refines but does not replace the registered address.
- Licence sequencing: Phone licence before number assignment; removing a licence with a number attached produces half-states that confuse audits — strip in order (number → policies → licence).
The hygiene loop (quarterly, one hour)
- Export all assignments; diff against HR/reality — leavers holding DIDs are both waste and impersonation surface.
- Orphaned service numbers (target deleted) → release or reassign.
- Emergency addresses: sample-verify against actual office moves — the office that relocated in March still registered at the old address is the finding.
- DR number truth: reconcile carrier invoice ranges vs what's actually assigned — the delta is money or a misroute.
What to watch (proofs)
- The inventory:
Get-CsPhoneNumberAssignment(all of it, exported) — type, assignment, location id per number; this export IS the audit artifact. - Cooldown/stuck states: numbers in
Get-CsPhoneNumberAssignment -PstnAssignmentStatus Unassignedthat refuse reassignment — open the TAC number detail for the state. - LIS truth:
Get-CsOnlineLisLocation— the civic addresses your numbers claim; cross-check the sample against the building list. - Porting progress: TAC porting orders status page — per-order state; the slowest country gates the cutover date.