# Enterprise dial plan design and normalization

Canonical: https://warmtransfer.net/knowledge/dial-plan-design

Last verified: 2026-09-23

RFC 3966 specifies that global tel URI numbers are identified by a leading '+' and must follow E.164, requiring numbers to use the global form unless they cannot be represented that way[^3]. Under RFC 3966, visual separators like hyphens and parentheses serve readability purposes only and are ignored when comparing URIs or placing calls, while local numbers such as PBX extensions are unique only within a context and must carry a phone-context parameter identifying their valid scope[^4][^5].

## Microsoft Teams dial plans and normalization

In Microsoft Teams, a dial plan is a named set of 1 or more number-string translation rules, termed normalization rules, that translate called number strings into alternate formats[^12]. Teams dial plans translate numbers entered in various user formats into a standardized format, typically E.164, for matching against authorized resources and for routing[^20]. The Teams client normalizes numbers for all outbound calls using the user's effective dial plan, including calls placed from call history or telephone-number links[^9].

Teams uses 3 dial plan scopes: a service dial plan managed by Microsoft that administrators cannot configure, a configurable tenant dial plan named Global, and configurable user dial plans[^34]. Teams automatically assigns each user the service dial plan that matches their assigned usage location[^30]. A user always receives the service dial plan plus either the tenant dial plan or a user dial plan, but never both the tenant and a user dial plan at once[^33]. When normalizing a dialed number, user dial plan rules take precedence over tenant rules, and tenant rules take precedence over service dial plan rules[^29]. When an effective dial plan applies no normalization rule to a dialed number, the service dial plan prepends +CC, using the country code of the user's usage location[^31].

A Teams tenant can have at most 1000 tenant dial plans[^19]. A dial plan's Simple Name is derived from the dial plan name, can be edited in PowerShell, cannot be empty, and must be unique[^32]. Every Teams dial plan must have at least 1 normalization rule associated with it, and Microsoft enforces a limit of 50 normalization rules per dial plan[^7][^18]. 

Normalization rules use.NET Framework regular expressions for match patterns alongside a translation string[^13]. Teams evaluates normalization rules from top to bottom and applies the first matching rule without evaluating subsequent rules[^27]. When a number could match multiple rules, Microsoft advises placing more restrictive rules above less restrictive ones[^23]. If a rule outputs a number lacking a leading '+', the calling service attempts normalization again using tenant and regional rules; Microsoft recommends that all rules output numbers starting with '+'[^21]. Normalization rules whose first token is optional (such as `^0?(999)$`) are not supported on 3PIP devices, and Microsoft advises splitting such patterns into 2 separate rules[^6].

Administrators can use the `Get-CsEffectiveTenantDialPlan` cmdlet with a user identity to view all normalization rules applying to that user, and `Test-CsEffectiveTenantDialPlan` to test dialed numbers[^17]. According to Microsoft planning guidance, a custom dial plan is typically needed for non-E.164 dialing such as extensions or abbreviated national dialing, and only patterns missing from the service country dial plan require definition[^11]. For Teams Calling Plan, Operator Connect, and Teams Phone Mobile, dial plans and voice routing policies are preconfigured at the service level without requiring administration[^10].

## Teams routing and translation

For reverse number lookup, Calling Plan and Operator Connect numbers are E.164 values, whereas Direct Routing numbers can be between 3 and 38 digits without common symbols[^25]. A phone number can include an extension of 1 to 12 digits appended with the case-insensitive `;ext=` delimiter[^15]. When a user is assigned a number with an extension, an inbound called number must include that extension to match reverse number lookup; otherwise, the call fails or routes to unassigned number handling if configured[^24].

For Direct Routing, online voice routing policies evaluate PSTN usages in order, stopping once a match is found[^22]. Within an online voice routing policy, voice routes are attempted in priority order, but SBCs assigned to a single voice route are tried in random order[^28]. When a called number contains an extension, voice route number patterns are matched strictly against the number without the extension[^26]. For users with both a Calling Plan license and an assigned online voice routing policy, a call matching a policy pattern routes via Direct Routing, while an unmatched number falls back to Calling Plan; for Teams Phone-only users, unmatched calls are dropped[^8].

Teams Direct Routing translation rules apply at the SBC (online PSTN gateway) level in the order listed in PowerShell, and this order can be modified[^36]. Teams permits at most 400 translation rules in total, limiting rule names to 100 symbols, patterns to 1024 symbols, and translations to 256 symbols[^35]. These rules are assigned to an SBC using 4 gateway parameters: `InboundTeamsNumberTranslationRules`, `InboundPSTNNumberTranslationRules`, `OutboundTeamsNumberTranslationRules`, and `OutboundPSTNNumberTranslationRules`[^16].

## Webex Calling dial plans and pattern matching

Webex Calling dial plans are configured globally for an enterprise and apply to all users across all locations[^43][^57]. A customer may configure up to 10000 dial plans, each accommodating up to 10000 dial patterns[^46]. A single CSV upload can import up to 10000 dial patterns into a dial plan[^54]. A dial plan specifies exactly 1 routing choice: either a single trunk or a single route group[^57]. Dial plan patterns must be unique across the organization, preventing the same pattern from residing in 2 dial plans and ensuring deterministic routing[^42]. Over the same trunk or route group, a Webex Calling dial plan differentiates destinations bound for on-premises Unified CM (sent as enterprise calls) from all other destinations (sent as PSTN calls)[^45].

For calls resolving to Webex Calling, plus-prefixed E.164 patterns are evaluated first, then enterprise number patterns with no normalization applied beforehand, and finally domain or URI patterns[^41]. When multiple patterns match, the most specific pattern wins, with range patterns using `X` preferred over prefix patterns using `!`[^41]. Webex Calling dial patterns support 2 wildcards: an exclamation mark (`!`) matching any sequence of digits, and an `X` matching a single digit from 0 to 9[^55]. The `!` may appear only once, only at the end, and only in an E.164 pattern; an `X` cannot appear in the middle of a number; and an `!` cannot be combined with an `X` in the same pattern[^55]. SIP URI dial patterns match only the host portion to the right of the `@` sign; a pattern with a leading asterisk matches sub-domains of the specified domain but excludes the domain itself[^58]. Cisco states that a Webex Calling dial plan accepts `From` and `To` headers in either E.164 form or extension form, but the pair cannot be a combination of the two[^56].

## Webex Calling internal and external dialing settings

Webex Calling internal extension length can be configured between 2 and 10 digits, with a default of 4 digits[^47][^52]. Cisco states that if internal extension length is increased, existing speed dials to internal extensions are not automatically updated[^52]. Location routing prefixes may be 1 to 7 digits in length[^47][^53]. The configured routing prefix length includes the steering digit, meaning a 4-digit routing prefix leaves 3 digits to identify the site[^53].

The "Allow extension dialing between locations" setting defaults to enabled[^51]. This setting must be disabled when duplicate extensions exist across locations; once disabled, dialed extensions reach only users in the caller's location, requiring callers to dial the enterprise significant number to reach other sites[^51]. Cisco states that when an extension matches a national number, the extension takes precedence, and recommends configuring an outbound dial digit to prevent conflict[^50].

Locations with an outbound dial digit enforce the E.164 phone number format; the organization-level choice between E.164 and National format applies only to locations without an outbound dial digit[^39]. Cisco states that outbound calls dialed in E.164 format bypass the outbound dial digit requirement[^48][^37]. When an outbound dial digit is enforced, external destinations configured without it (such as call forwarding destinations) cease to function, whereas emergency calls can be dialed with or without the digit[^49]. If a national number begins with the same digit as the outbound dial digit, Webex Calling removes that initial digit, requiring the outbound dial digit to be prepended in front of the complete national number[^48].

Premises call routing provides 2 modes for handling unknown numbers: Standard Behavior (the default and Cisco-recommended mode for PBX interoperability) and Legacy Behavior (which provides backward compatibility for older local gateway deployments but is not recommended by Cisco when dial plans are configured)[^60]. For partially migrated locations, the per-location "Calls to On-Premises Extensions" setting preserves abbreviated dialing (such as 4 digits) by routing unmatched caller identities of 2 to 10 digits to a designated trunk or route group as premises calls[^44][^59]. The maximum unknown extension length can be configured across this same 2 to 10 digit span[^59].

## Cisco Unified CM routing behavior

When a Cisco Unified CM translation pattern matches, the call is not sent to an external entity; Unified CM applies the configured translation and then routes the call again[^2]. The Cisco Collaboration 14 Preferred Architecture recommends enabling "Use Originator's Calling Search Space" on normalization translation patterns, ensuring that the secondary lookup utilizes the same CSS as the primary lookup[^1].

## See also

- [Trunks route groups and dial plans in Control Hub](https://warmtransfer.net/knowledge/webex-calling-trunks-route-groups)
- [E.164 numbering and dial string normalization](https://warmtransfer.net/knowledge/e164-numbering)
- [Local Gateway design and configuration](https://warmtransfer.net/knowledge/webex-calling-local-gateway)
- [Cisco Unified Border Element configuration and licensing](https://warmtransfer.net/knowledge/cube-configuration)
- [Remote site survivability patterns](https://warmtransfer.net/knowledge/survivability-remote-site)
- [Session border controller selection and certification](https://warmtransfer.net/knowledge/sbc-selection)
- [SIP trunk capacity and concurrent call planning](https://warmtransfer.net/knowledge/sip-trunk-capacity-planning)
- [Unified CM SIP trunk to CUBE configuration](https://warmtransfer.net/knowledge/cucm-config-sip-trunk-to-cube)

## Applicability

Applies to: Cisco Webex Calling, Microsoft Teams Phone, Microsoft Teams Phone Direct Routing, Cisco Unified Communications Manager, and IETF tel URI. Deployments: on-premises, multi-tenant, and standard. Sources checked 2026-09-23.

## What remains uncertain

Specific caller ID manipulation rules applied directly at the local gateway level are not covered by the sources below. Routing interactions between simultaneous third-party PBX registrations and Teams Operator Connect within the same user profile are not covered by the sources below.

## Sources

[^1]: The Collaboration 14 Preferred Architecture recommends enabling Use Originator's Calling Search Space on normalization translation patterns, so the secondary lookup uses the same CSS as the primary lookup. Source: [Preferred Architecture for Cisco Collaboration 14 Enterprise On-Premises Deployments, CVD - Call Control](https://www.cisco.com/c/en/us/td/docs/solutions/CVD/Collaboration/enterprise/14/collbcvd/control.html), Dial Plan > dialing normalization. Checked 2026-09-23.
[^2]: When a Unified CM translation pattern matches, the call is not routed to an outside entity. Unified CM applies the translation and then routes the call again. Source: [System Configuration Guide for Cisco Unified Communications Manager Release 15 and SUs - Configure Call Routing](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cucm/admin/15/systemConfig/cucm_b_system-configuration-guide-15/cucm_b_system-configuration-guide-14_chapter_010010.html), Translation Patterns. Checked 2026-09-23.
[^3]: RFC 3966 identifies global tel URI numbers by a leading '+' and requires them to follow E.164. Numbers must use the global form unless they cannot be represented that way. Source: [RFC 3966: The tel URI for Telephone Numbers](https://www.rfc-editor.org/rfc/rfc3966), Sections 5.1 and 5.1.4. Checked 2026-09-23.
[^4]: RFC 3966 local numbers, such as PBX extensions, are unique only within a context and must carry a phone-context parameter that identifies the scope where they are valid. Source: [RFC 3966: The tel URI for Telephone Numbers](https://www.rfc-editor.org/rfc/rfc3966), Section 5.1.5. Checked 2026-09-23.
[^5]: Under RFC 3966, visual separators such as hyphens and parentheses are for readability only and are ignored when comparing URIs or placing calls. Source: [RFC 3966: The tel URI for Telephone Numbers](https://www.rfc-editor.org/rfc/rfc3966), Sections 5.1.1 and 4. Checked 2026-09-23.
[^6]: 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. Source: [Normalization rules for Microsoft Teams dial plans](https://learn.microsoft.com/en-us/microsoftteams/phone-normalization-rules), Creating normalization rules, Note. Checked 2026-09-23.
[^7]: Every Teams dial plan must have at least one normalization rule associated with it. Source: [Create and manage dial plans](https://learn.microsoft.com/en-us/microsoftteams/create-and-manage-dial-plans), Using the Microsoft Teams admin center > Create a dial plan, step 3. Checked 2026-09-23.
[^8]: For a Teams user with a Calling Plan license and an assigned online voice routing policy, a number that matches a policy pattern goes out through Direct Routing, and a number that matches nothing goes out through Calling Plan. For a Teams Phone-only user, an unmatched call is dropped. Source: [Configure call routing for Direct Routing](https://learn.microsoft.com/en-us/microsoftteams/direct-routing-voice-routing), Voice routing policy considerations; Example 1 Note. Checked 2026-09-23.
[^9]: The Teams client normalizes numbers for all outbound calls using the user's effective dial plan, including calls placed from call history or telephone-number links. Source: [Microsoft Teams Dial plans for phone call routing](https://learn.microsoft.com/en-us/microsoftteams/what-are-dial-plans), Dial plans and routing considerations. Checked 2026-09-23.
[^10]: For Teams Calling Plan, Operator Connect and Teams Phone Mobile, dial plans and voice routing policies are preconfigured at the service level, and no administration is needed. Source: [Microsoft Teams Dial plans for phone call routing](https://learn.microsoft.com/en-us/microsoftteams/what-are-dial-plans), User dial plans with Calling Plans and Operator Connect. Checked 2026-09-23.
[^11]: Microsoft's planning guidance says a custom Teams dial plan is typically needed to support non-E.164 dialing such as extensions or abbreviated national dialing. Only patterns missing from the service country dial plan need to be defined. Source: [Microsoft Teams Dial plans for phone call routing](https://learn.microsoft.com/en-us/microsoftteams/what-are-dial-plans), Planning for tenant dial plans, Steps 1 and 3. Checked 2026-09-23.
[^12]: In Microsoft Teams, a dial plan is a named set of one or more number-string translation rules, called normalization rules, that translate called number strings into alternate formats. Source: [Microsoft Teams Dial plans for phone call routing](https://learn.microsoft.com/en-us/microsoftteams/what-are-dial-plans), What are dial plans?. Checked 2026-09-23.
[^13]: Teams normalization rules use .NET Framework regular expressions for the match pattern, plus a translation string applied when the pattern matches. Source: [Normalization rules for Microsoft Teams dial plans](https://learn.microsoft.com/en-us/microsoftteams/phone-normalization-rules), Creating normalization rules. Checked 2026-09-23.
[^14]: Example 4 (outbound call to a four-digit number) in Microsoft's Direct Routing translation article labels the translations with InboundTeamsNumberTranslationRules and InboundPSTNNumberTranslationRules. That appears inconsistent with an outbound call, and Example 3 uses the Outbound parameters. The example should not be used as the reference for parameter semantics (inferred). Source: [Translate phone numbers for Direct Routing](https://learn.microsoft.com/en-us/microsoftteams/direct-routing-translate-numbers), Example 4: Outbound call using a four-digit non-E.164 number (table), compared with Example 3. Checked 2026-09-23.
[^15]: A Teams phone number can carry an extension of 1 to 12 digits appended with the case-insensitive ';ext=' delimiter. Source: [Microsoft Teams Dial plans for phone call routing](https://learn.microsoft.com/en-us/microsoftteams/what-are-dial-plans), Number lookup for inbound calls (Extension bullet). Checked 2026-09-23.
[^16]: Teams assigns translation rules to an SBC through four online PSTN gateway parameters: InboundTeamsNumberTranslationRules, InboundPSTNNumberTranslationRules, OutboundTeamsNumberTranslationRules and OutboundPSTNNumberTranslationRules. Source: [Translate phone numbers for Direct Routing](https://learn.microsoft.com/en-us/microsoftteams/direct-routing-translate-numbers), Configuring translation rules with PowerShell. Checked 2026-09-23.
[^17]: 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. Source: [Normalization rules for Microsoft Teams dial plans](https://learn.microsoft.com/en-us/microsoftteams/phone-normalization-rules), Determining the required normalization rules. Checked 2026-09-23.
[^18]: Microsoft enforces a limit of 50 normalization rules per Teams dial plan. Source: [Normalization rules for Microsoft Teams dial plans](https://learn.microsoft.com/en-us/microsoftteams/phone-normalization-rules), Introductory section, Note. Checked 2026-09-23.
[^19]: A Teams tenant can have at most 1,000 tenant dial plans. Source: [Microsoft Teams Dial plans for phone call routing](https://learn.microsoft.com/en-us/microsoftteams/what-are-dial-plans), Dial plans and routing considerations. Checked 2026-09-23.
[^20]: Teams dial plans translate numbers entered in various user formats into a standardized format, typically E.164, for matching against authorized resources and for routing. Source: [Microsoft Teams Dial plans for phone call routing](https://learn.microsoft.com/en-us/microsoftteams/what-are-dial-plans), What are dial plans?. Checked 2026-09-23.
[^21]: If a Teams normalization rule outputs a number without a leading '+', the calling service tries to normalize it again with tenant and regional rules. Microsoft recommends that all rules output numbers starting with '+'. Source: [Create and manage dial plans](https://learn.microsoft.com/en-us/microsoftteams/create-and-manage-dial-plans), Using the Microsoft Teams admin center > Create a dial plan, step 4 Note. Checked 2026-09-23.
[^22]: PSTN usages in a Teams online voice routing policy are evaluated in order. If a match is found in one usage, later usages are never evaluated. Source: [Configure call routing for Direct Routing](https://learn.microsoft.com/en-us/microsoftteams/direct-routing-voice-routing), Example 2: Voice routing with multiple PSTN usages, Note. Checked 2026-09-23.
[^23]: When a dialed number could match more than one Teams normalization rule, Microsoft advises placing the more restrictive rules above the less restrictive ones. Source: [Create and manage dial plans](https://learn.microsoft.com/en-us/microsoftteams/create-and-manage-dial-plans), Using the Microsoft Teams admin center > Create a dial plan, step 4 Note. Checked 2026-09-23.
[^24]: If a Teams user is assigned a number with an extension, an inbound called number must include that extension for reverse number lookup to match. Otherwise the call fails or follows unassigned number routing if configured. Source: [Microsoft Teams Dial plans for phone call routing](https://learn.microsoft.com/en-us/microsoftteams/what-are-dial-plans), Number lookup for inbound calls. Checked 2026-09-23.
[^25]: For Teams reverse number lookup, Calling Plan and Operator Connect numbers are E.164 values, while Direct Routing numbers can be between 3 and 38 digits without common symbols. Source: [Microsoft Teams Dial plans for phone call routing](https://learn.microsoft.com/en-us/microsoftteams/what-are-dial-plans), Number lookup for inbound calls. Checked 2026-09-23.
[^26]: When a called number carries an extension (for example +1425XXXXXXX;ext=YYY), Teams voice route number patterns are matched only against the number without the extension. Source: [Configure call routing for Direct Routing](https://learn.microsoft.com/en-us/microsoftteams/direct-routing-voice-routing), Voice routing policy considerations, Caution item 2. Checked 2026-09-23.
[^27]: Teams tries normalization rules from top to bottom and uses the first rule that matches. No later rules are evaluated. Source: [Normalization rules for Microsoft Teams dial plans](https://learn.microsoft.com/en-us/microsoftteams/phone-normalization-rules), Introductory section (paragraph beginning 'One or more normalization rules'). Checked 2026-09-23.
[^28]: Teams voice routes are tried in priority order, but the SBCs within a single voice route are tried in random order. Source: [Configure call routing for Direct Routing](https://learn.microsoft.com/en-us/microsoftteams/direct-routing-voice-routing), Example 1: Voice routing with one PSTN usage. Checked 2026-09-23.
[^29]: When Teams normalizes a dialed number, user dial plan rules take precedence over tenant (Global) rules, and tenant rules take precedence over service dial plan rules. Source: [Microsoft Teams Dial plans for phone call routing](https://learn.microsoft.com/en-us/microsoftteams/what-are-dial-plans), Dial plan scopes and a user's effective dial plan. Checked 2026-09-23.
[^30]: Teams automatically assigns each user the service dial plan that matches the usage location assigned to that user. Source: [Microsoft Teams Dial plans for phone call routing](https://learn.microsoft.com/en-us/microsoftteams/what-are-dial-plans), Dial plan scopes and a user's effective dial plan (Service dial plan row). Checked 2026-09-23.
[^31]: When a Teams user's effective dial plan applies no normalization rule to a dialed number, the service dial plan prepends +CC, where CC is the country code of the user's usage location. Source: [Translate phone numbers for Direct Routing](https://learn.microsoft.com/en-us/microsoftteams/direct-routing-translate-numbers), Route-based number translations - for outbound calls, Note. Checked 2026-09-23.
[^32]: A Teams dial plan's Simple Name is derived from the dial plan name, can be edited in PowerShell, cannot be empty and must be unique. Source: [Create and manage dial plans](https://learn.microsoft.com/en-us/microsoftteams/create-and-manage-dial-plans), Name and simple name. Checked 2026-09-23.
[^33]: A Teams user always has the service dial plan plus either the tenant dial plan or a user dial plan, never both the tenant and a user dial plan at once. Source: [Microsoft Teams Dial plans for phone call routing](https://learn.microsoft.com/en-us/microsoftteams/what-are-dial-plans), Dial plan scopes and a user's effective dial plan (paragraph after scope table). Checked 2026-09-23.
[^34]: Teams has three dial plan scopes: a service dial plan managed by Microsoft that admins cannot configure, a configurable tenant dial plan named Global, and configurable user dial plans. Source: [Microsoft Teams Dial plans for phone call routing](https://learn.microsoft.com/en-us/microsoftteams/what-are-dial-plans), Dial plan scopes and a user's effective dial plan (scope table). Checked 2026-09-23.
[^35]: Teams allows at most 400 translation rules in total. Rule names are limited to 100 symbols, patterns to 1024 symbols and translations to 256 symbols. Source: [Translate phone numbers for Direct Routing](https://learn.microsoft.com/en-us/microsoftteams/direct-routing-translate-numbers), Considerations, Note. Checked 2026-09-23.
[^36]: Teams Direct Routing number translation rules are applied at the SBC (online PSTN gateway) level, in the order they are listed in PowerShell. The order can be changed. Source: [Translate phone numbers for Direct Routing](https://learn.microsoft.com/en-us/microsoftteams/direct-routing-translate-numbers), Considerations. Checked 2026-09-23.
[^37]: Webex Calling does not enforce the outside dial digit requirement on outbound calls dialed in E.164 format. Source: [Configure your Webex Calling dial plan](https://help.webex.com/en-us/article/pxtu15/Configure-your-Webex-Calling-dial-plan), Outside dial digit section. Checked 2026-09-23.
[^38]: The Webex Calling internal extension length can be set between 2 and 10 digits, with a default of 4. Source: [Configure your Webex Calling dial plan](https://help.webex.com/en-us/article/pxtu15/Configure-your-Webex-Calling-dial-plan), Internal extension length section. Checked 2026-09-23.
[^39]: Webex Calling locations with an outbound dial digit always use E.164 phone number format. The org-level choice between E.164 and National format applies only to locations without one. Source: [Configure dialing behavior for outbound calls](https://help.webex.com/en-us/article/nityras/Configure-Dialing-Behavior-for-Outbound-Calls), Options / Scope sections. Checked 2026-09-23.
[^40]: In Webex Calling dial patterns, X matches one digit (0-9). ! matches any digit sequence but only at the end of an E.164 pattern. ! and X cannot be combined in one pattern, and X cannot sit in the middle of a number. Source: [Configure trunks, route groups, and dial plans for Webex Calling](https://help.webex.com/article/n0xb944/Configure-Trunks-Route-Groups-and-Dial-Plans-for-Cisco-Webex-Calling), Dial plan section (dial pattern syntax, wildcard characters). Checked 2026-09-23.
[^41]: For calls resolving to Webex Calling, plus-prefixed E.164 patterns are evaluated first, then enterprise number patterns with no normalisation applied beforehand, and finally domain or URI patterns; where several patterns match, the most specific wins and range patterns using X are preferred over prefix patterns using the exclamation mark. Source: [Cisco Preferred Architecture for Webex Calling — Design Overview](https://www.cisco.com/c/dam/en/us/td/docs/solutions/CVD/Collaboration/hybrid/AltDesigns/PA-WbxCall.pdf), Patterns and pattern matching, page 30. Checked 2026-09-04.
[^42]: Dial plan patterns must be unique across the organisation; the same pattern cannot exist in 2 different dial plans, which makes routing deterministic. Source: [Cisco Preferred Architecture for Webex Calling — Design Overview](https://www.cisco.com/c/dam/en/us/td/docs/solutions/CVD/Collaboration/hybrid/AltDesigns/PA-WbxCall.pdf), Patterns and pattern matching, page 30. Checked 2026-09-04.
[^43]: Webex Calling dial plans are global to the enterprise and apply to all users regardless of location. Source: [Cisco Preferred Architecture for Webex Calling — Design Overview](https://www.cisco.com/c/dam/en/us/td/docs/solutions/CVD/Collaboration/hybrid/AltDesigns/PA-WbxCall.pdf), Dial Plans, page 30. Checked 2026-09-04.
[^44]: A per-location setting for calls to on-premises extensions lets users keep abbreviated dialling, for example 4 digits, while a site is only partially migrated, by routing unmatched extensions of a configured length between 2 and 10 digits to a chosen route group or trunk. Source: [Configure trunks, route groups, and dial plans for Webex Calling](https://help.webex.com/article/n0xb944/Configure-Trunks-Route-Groups-and-Dial-Plans-for-Cisco-Webex-Calling), Configure calls to on-premises extensions. Checked 2026-09-04.
[^45]: A Webex Calling dial plan differentiates destinations bound for the on-premises Unified CM, which are sent as enterprise calls, from all other destinations, which are sent as PSTN calls, over the same trunk or route group. Source: [Cisco Preferred Architecture for Webex Calling — Design Overview](https://www.cisco.com/c/dam/en/us/td/docs/solutions/CVD/Collaboration/hybrid/AltDesigns/PA-WbxCall.pdf), Interconnect with On-Premises Call Control, page 31. Checked 2026-09-04.
[^46]: A maximum of 10000 dial plans may be configured per customer, and each dial plan may hold up to 10000 dial patterns. Source: [Cisco Preferred Architecture for Webex Calling — Design Overview](https://www.cisco.com/c/dam/en/us/td/docs/solutions/CVD/Collaboration/hybrid/AltDesigns/PA-WbxCall.pdf), Dial Plans, page 30. Checked 2026-09-04.
[^47]: A location routing prefix may be 1 to 7 digits, and internal extension length is configurable from 2 to 10 digits with a default of 4. Source: [Configure Webex Calling for your organization](https://help.webex.com/en-us/article/njvdjf2/Configure-Webex-Calling-for-your-organization), Dial plan configuration, internal dialing settings. Checked 2026-09-04.
[^48]: Cisco states that the outbound dial digit prefix requirement is ignored for outbound calls placed in E.164 format, and that where a national number begins with the same digit as the outbound dial digit the system removes that initial digit, so the outbound dial digit must be added in front of the rest of the national number. Source: [Configure Webex Calling for your organization](https://help.webex.com/en-us/article/njvdjf2/Configure-Webex-Calling-for-your-organization), Configure Webex Calling dial plan, step 4, note under External Dialing. Checked 2026-09-15.
[^49]: Cisco states that once dialling the outbound dial digit is enforced for a location, any external destination number that does not include it, such as a call forwarding destination, no longer works, while emergency calls may be dialled with or without it. Source: [Configure Webex Calling for your organization](https://help.webex.com/en-us/article/njvdjf2/Configure-Webex-Calling-for-your-organization), Configure Webex Calling dial plan, step 4, External Dialing. Checked 2026-09-15.
[^50]: Where an extension is the same as a national number, Cisco states that the extension takes precedence over the national number, and recommends enabling an outbound dial digit for that reason. Source: [Configure Webex Calling for your organization](https://help.webex.com/en-us/article/njvdjf2/Configure-Webex-Calling-for-your-organization), Configure Webex Calling dial plan, step 4, note under External Dialing. Checked 2026-09-15.
[^51]: The Allow extension dialing between locations toggle is enabled by default and must be disabled where the same extension exists in more than 1 location; with it disabled, an extension dialled by a caller reaches the matching user in the caller's own location and other locations are reachable only by dialling the enterprise significant number. Source: [Configure Webex Calling for your organization](https://help.webex.com/en-us/article/njvdjf2/Configure-Webex-Calling-for-your-organization), Configure Webex Calling dial plan, step 2, Allow extension dialing between locations. Checked 2026-09-15.
[^52]: Internal extension length is configurable from 2 to 10 digits with a default of 4, and Cisco states that after the extension length is increased, existing speed dials to internal extensions are not automatically updated. Source: [Configure Webex Calling for your organization](https://help.webex.com/en-us/article/njvdjf2/Configure-Webex-Calling-for-your-organization), Configure Webex Calling dial plan, step 2, Internal Extension Length. Checked 2026-09-15.
[^53]: A Webex Calling location routing prefix may be 1 to 7 digits and the length includes the steering digit, so a routing prefix length of 4 leaves only 3 digits to identify the site. Source: [Configure Webex Calling for your organization](https://help.webex.com/en-us/article/njvdjf2/Configure-Webex-Calling-for-your-organization), Configure Webex Calling dial plan, step 2, Location Routing Prefix Length. Checked 2026-09-15.
[^54]: A single CSV upload can carry a maximum of 10000 dial patterns into a Webex Calling dial plan. Source: [Configure trunks, route groups, and dial plans for Webex Calling](https://help.webex.com/article/n0xb944/Configure-Trunks-Route-Groups-and-Dial-Plans-for-Cisco-Webex-Calling), Configurable limitations table, first row. Checked 2026-09-15.
[^55]: A Webex Calling dial pattern uses 2 wildcards: an exclamation mark matches any sequence of digits and may appear only once, only at the end and only in an E.164 pattern, and an X matches a single digit from 0 to 9; an X may not appear in the middle of a number and the exclamation mark may not be used in a pattern that also uses X. Source: [Configure trunks, route groups, and dial plans for Webex Calling](https://help.webex.com/article/n0xb944/Configure-Trunks-Route-Groups-and-Dial-Plans-for-Cisco-Webex-Calling), Dial plan overview, Numeric Dial Patterns and Enterprise Dial Pattern. Checked 2026-09-15.
[^56]: Cisco states that a Webex Calling dial plan accepts the From and To headers in E.164 form or in extension form and that the pair cannot be a combination of the two. Source: [Configure trunks, route groups, and dial plans for Webex Calling](https://help.webex.com/article/n0xb944/Configure-Trunks-Route-Groups-and-Dial-Plans-for-Cisco-Webex-Calling), Dial plan overview, Enterprise Dial Plan Examples, note following the example table. Checked 2026-09-15.
[^57]: Webex Calling dial plans are configured globally for an enterprise and apply to all users regardless of location, and a dial plan names exactly 1 routing choice, either a trunk or a route group, for the patterns it holds. Source: [Configure trunks, route groups, and dial plans for Webex Calling](https://help.webex.com/article/n0xb944/Configure-Trunks-Route-Groups-and-Dial-Plans-for-Cisco-Webex-Calling), Dial plan overview, first paragraph. Checked 2026-09-15.
[^58]: A SIP URI dial pattern matches only the host portion to the right of the at sign, and a pattern with a leading asterisk matches sub-domains of the named domain but does not match the domain itself. Source: [Configure trunks, route groups, and dial plans for Webex Calling](https://help.webex.com/article/n0xb944/Configure-Trunks-Route-Groups-and-Dial-Plans-for-Cisco-Webex-Calling), SIP URI Dial Pattern, syntax example table. Checked 2026-09-15.
[^59]: The Calls to On-Premises Extensions setting is enabled per location and routes a call to an unknown extension of 2 to 10 digits to a selected trunk or route group as a premises call, where a caller identity that matches no dial plan pattern is what makes an extension unknown; the maximum unknown extension length is configurable over the same 2 to 10 digit range. Source: [Configure trunks, route groups, and dial plans for Webex Calling](https://help.webex.com/article/n0xb944/Configure-Trunks-Route-Groups-and-Dial-Plans-for-Cisco-Webex-Calling), Configure calls to on-premises extensions, Before you begin; and Configure call routing between Webex Calling and premises, step 5. Checked 2026-09-15.
[^60]: Call routing between Webex Calling and premises offers 2 settings for unknown numbers: Standard Behavior, which Cisco gives as the default and the recommended option for interoperability with an on-premises PBX, and Legacy Behavior, which provides backward compatibility with the older local gateway behaviour and which Cisco does not recommend when dial plans are configured. Source: [Configure trunks, route groups, and dial plans for Webex Calling](https://help.webex.com/article/n0xb944/Configure-Trunks-Route-Groups-and-Dial-Plans-for-Cisco-Webex-Calling), Configure call routing between Webex Calling and premises, step 3. Checked 2026-09-15.
