Source record · tier 2 current vendor documentation
Normalization rules for Microsoft Teams dial plans
- Publisher
- Microsoft
- URL
- https://learn.microsoft.com/en-us/microsoftteams/phone-normalization-rules
- Published
- 2025-08-11
- Updated
- unknown
- Accessed
- 2026-09-23
- HTTP status
- 200
- License
- Microsoft Learn terms of use; no-redistribution; short excerpts and locators only
Source notes citing this source
- Teams normalization rules whose first token is optional (for example ^0?(999)$) are not supported on 3PIP devices. Microsoft advises splitting such a rule into two rules. in context
- Teams normalization rules use .NET Framework regular expressions for the match pattern, plus a translation string applied when the pattern matches. in context
- The Get-CsEffectiveTenantDialPlan cmdlet takes a user identity and returns every normalization rule that applies to that user. Test-CsEffectiveTenantDialPlan tests a dialed number against it. in context
- Microsoft enforces a limit of 50 normalization rules per Teams dial plan. in context
- Teams tries normalization rules from top to bottom and uses the first rule that matches. No later rules are evaluated. in context
- Microsoft enforces a maximum of 50 normalization rules in a Teams dial plan. in context
- Teams normalization rules are written as .NET Framework regular expressions with a pattern and a translation. in context
- Teams normalization rules are evaluated top-down and the first matching rule is used, so more restrictive rules must be ordered above less restrictive ones. in context
- Teams normalization rules whose first token is optional (for example ^0?(999)$) are not supported on 3PIP devices and must be split into two rules. in context
- Teams normalization rules are written as .NET Framework regular expressions, each with a match pattern and a translation, that turn dial strings into E.164. in context
- Teams matches normalization rules from top to bottom, applies the first rule that matches and does not evaluate any later rules. in context
- Microsoft enforces a maximum of 50 normalization rules in a single Teams dial plan. in context
- Get-CsEffectiveTenantDialPlan takes a user identity and returns every normalization rule that applies to that user. Microsoft recommends it for checking which rules the service dial plan already covers before adding tenant rules. in context
- Normalization rules whose first token is optional (for example ^0?(999)$) are not supported on 3PIP devices such as the Polycom VVX 601. Microsoft advises splitting such a rule into two rules. in context
- Teams normalization rule patterns and translations are written as .NET Framework regular expressions. in context
- Microsoft enforces a limit of no more than 50 normalization rules per dial plan. in context
- Normalization rules in a dial plan are evaluated from top to bottom. The first matching rule is used and no further rules are tried, so rule order matters and more restrictive rules should sit above less restrictive ones. in context
Cite this source record
APA
WarmTransfer. (2025, August 11). Normalization rules for Microsoft Teams dial plans. WarmTransfer. https://warmtransfer.net/knowledge/sources/ms-learn-phone-normalization-rules
BibTeX
@misc{warmtransfer-ms-learn-phone-normalization-rules,
title = {Normalization rules for Microsoft Teams dial plans},
author = {{WarmTransfer}},
year = {2025},
url = {https://warmtransfer.net/knowledge/sources/ms-learn-phone-normalization-rules},
note = {Microsoft, accessed 2026-09-23}
}