Dial plan · CUCM

CUCM Translation Pattern Generator

Build Translation Patterns with digit manipulation — pre-dot discard, prefix-add, pattern-replace — plus CSS, Partition, and Calling/Called Party transforms. Paste-ready for CUCM 12.5 / 14 / 15.

By Faz Karim · 30 yrs Cisco UCLast updated 2026-04-20
What this tool does

Build a translation pattern without clicking through 14 fields

CUCM's Translation Pattern form has 40+ fields spread across "Pattern Definition", "Calling Party Transformations", "Called Party Transformations", and "Connected Party Transformations". Most translation patterns you actually need use 6–8 of those fields. This tool captures the common inputs — source pattern, digits to discard, prefix to add, CSS, Partition, urgent-priority flag — and produces the full config block + a plain-English description of what the pattern will do. Good for generating per-site outbound patterns, 911 interception, internal-to-external number alias patterns, and test patterns for lab work.

Build your pattern

Inputs

Common: 9.[2-9]XXXXXXXXX (10-digit NANP with 9 access code), 9.011! (international), 911 (emergency).
E.164 normalization usually means prefix +1 for NANP or country code for international.
e.g. alias 2000 → 9725551234 would put 9725551234 here.
The CSS the transformed number will use to reach a Route Pattern.

CUCM Translation Pattern config

Fill inputs, click Generate pattern.

How to read your result

Translation Pattern anatomy

1

Pattern + Partition

Matches the dialed string if the calling device's CSS contains the Partition.

2

Transform → new CSS

The called number is rewritten, then re-evaluated against the new CSS for final routing.

3

Urgent / Outside Dial Tone

Urgent = dial immediately (911). Outside Dial Tone = second dial tone after the 9.

Deep dive

Why translation patterns are where dial plans break

Translation Patterns are the lever that makes CUCM dial plans composable. A Route Pattern sends calls out a specific interface; a Translation Pattern rewrites digits and hands the call back to the CSS for re-evaluation. That indirection is powerful — you can normalize dial strings to E.164 once, at one layer, then let the rest of the dial plan operate on normalized numbers — but it's also the most common source of dial plan bugs. A misconfigured translation can cause loops (pattern rewrites to something that matches itself), partial matches (user dials 911, CUCM waits for inter-digit timeout because a 91X pattern also matches), or black-hole routes (the new CSS doesn't contain any Route Pattern for the transformed number).

The three patterns this tool generates cover ~80% of real-world use. Pre-dot strip removes the access code (common: strip the 9 from 9.[2-9]XXXXXXXXX). Prefix add prepends digits, almost always E.164 normalization to +1. Replace is alias dialing — internal DN maps to an external number, used for "follow me" patterns and short-code dialing. Set Urgent Priority for 911 and any pattern that must dial immediately without waiting for inter-digit timeout; the cost is that any conflicting pattern becomes unreachable.

When a translation pattern breaks production, 9 times out of 10 the fix is either "wrong CSS on the transformed-called-party side" or "urgent priority missing on 911". This tool writes both correctly by default.

FK
Faz Karim30 years Cisco Network · UC · Data Center · LinkedIn
FAQ

Common questions

Translation Pattern vs Route Pattern — difference?

Translation transforms digits and re-evaluates through a CSS. Route sends directly to a Route List. Use Translation for digit normalization, Route for egress.

When do I use Urgent Priority?

For 911, 112, and any other emergency dial string that must dial immediately without inter-digit timeout.

Can I chain multiple translation patterns?

Yes. Each match re-enters the CSS for another pass. Be careful of loops — a transformed number that matches its own source pattern is a classic infinite-loop bug.

Does this tool generate AXL / BAT XML?

Not yet — the output is the field-level config you paste into the CUCM GUI. AXL export is on the Sprint 2 backlog.

Worked examples

Three realistic patterns

E.164 outbound normalization

Source 9.[2-9]XXXXXXXXX, strip pre-dot + add +1, transformed CSS CSS_PSTN_E164.

Result: user dials 9-972-555-1234, CUCM routes +19725551234 to the PSTN Route Pattern.
Clean dial plan pattern. Route patterns operate on +1-prefixed numbers only.

911 urgent-priority

Source 911, prefix-add +1, urgent priority ON, outside-dialtone OFF.

Result: 911 dials immediately; no inter-digit wait for 912, 919, etc.
Kari's Law compliance: 911 dials direct, no 9-access-code required.

Alias DN to mobile

Source 5555, replace with +19725551234, transformed CSS CSS_PSTN_E164.

Internal dialer sees 5555 → call rings user's mobile.
Works for on-call rotation. Pairs with a Time-of-Day routing pattern.
Sources verified against current Cisco guidance

Citations

Related tools

You might also need

Want your dial plan reviewed?

The Network & UC Health Assessment includes a full Translation / Route / CSS / Partition review against your CUCM export.

$4,9951 week · fixed fee · 1 deliverable
Book a 30-min call →Or email info@famoustec.com