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.
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.
Fill inputs, click Generate pattern.
Matches the dialed string if the calling device's CSS contains the Partition.
The called number is rewritten, then re-evaluated against the new CSS for final routing.
Urgent = dial immediately (911). Outside Dial Tone = second dial tone after the 9.
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.
Translation transforms digits and re-evaluates through a CSS. Route sends directly to a Route List. Use Translation for digit normalization, Route for egress.
For 911, 112, and any other emergency dial string that must dial immediately without inter-digit timeout.
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.
Not yet — the output is the field-level config you paste into the CUCM GUI. AXL export is on the Sprint 2 backlog.
Source 9.[2-9]XXXXXXXXX, strip pre-dot + add +1, transformed CSS CSS_PSTN_E164.
9-972-555-1234, CUCM routes +19725551234 to the PSTN Route Pattern.Source 911, prefix-add +1, urgent priority ON, outside-dialtone OFF.
911 dials immediately; no inter-digit wait for 912, 919, etc.Source 5555, replace with +19725551234, transformed CSS CSS_PSTN_E164.
The Network & UC Health Assessment includes a full Translation / Route / CSS / Partition review against your CUCM export.
+1-prefixed numbers only.