Voicemail · Unity Connection

Call Routing Rule Builder

Build Direct + Forwarded call routing rules for Unity Connection in the correct evaluation order — match by schedule, calling number, dialed number, and redirecting number — get a ready-to-enter ordered rule list.

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

Evaluation order is everything

Unity evaluates routing rules top-to-bottom and stops at the first match — so the order matters as much as the content. Put the holiday rule first, the after-hours rule second, the business-hours rule last, or callers on Christmas Day will hit the business-hours handler. This tool lets you define the handlers you need to route to, the conditions each rule should match, and emits an ordered rule list with explicit priority numbers ready to enter into Call Management → Call Routing → Direct Routing Rules.

Define your rules

Inputs

Types: direct (external caller hits pilot), forward (internal user phone forwarded to Unity). Conditions supported: Schedule = X, CallingNumber starts-with N, DialedNumber = N, RedirectingNumber = N, default.

Your Unity routing rules

Define your rules, click Generate ordered rules.

How to read your result

Direct rules run first, Forwarded rules run second

1

Direct

External callers reaching Unity via pilot DN. Schedule/calling-number rules.

2

Forwarded

Internal user phones that forward to Unity on busy/no-answer. Redirecting-number rules.

3

Fallback

"default" entry catches anything not matched — usually routes to Opening Greeting.

Deep dive

The "why is every call going to default" debug

When a Unity routing rule isn't matching, it's almost always one of three things. One: priority order is wrong — a more generic rule higher up is absorbing the call before your specific rule gets evaluated. Two: the schedule referenced doesn't exist or is inactive — check the Schedule object's definition in Tools → Schedules. Three: the calling-number pattern uses the wrong wildcard — Unity uses X for single digit and ! for any string, not . or *.

Forwarded rules are the confusing half. When an internal user's DN forwards-no-answer to voicemail, CUCM passes the Redirecting Number to Unity. Unity then looks at forwarded routing rules (not direct) to decide where to send that call. If you want user 5100's voicemail button to land in that user's voicemail box, the forwarded rule is RedirectingNumber = 5100 → Subscriber Access. If you want user 5100's forwarded calls to land in the department greeting (unusual), point the rule at the department handler instead. Most deployments just have one catch-all forwarded rule → Subscriber Access, and let Unity auto-match the redirecting number to a subscriber.

The schedule + calling-number combo is powerful. You can route US callers to English menus during US business hours and to a Spanish greeting the rest of the day, or send internal +1214 callers to a privileged menu with direct extensions while external callers go to a restricted greeting. Keep it simple; overly clever routing is impossible to debug at 9am Monday.

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

Common questions

What's the difference between Direct and Forwarded rules?

Direct = external caller hits Unity via pilot DN. Forwarded = internal phone forwarded (busy/no-answer) to Unity. Different rule tables, different inputs.

How does priority work?

Lower number = higher priority (evaluated first). Unity stops at the first match.

Can a rule reference multiple conditions?

Yes — combine schedule + calling-number + redirecting-number in a single rule. Unity treats them as AND.

Where do I enter this?

Call Management → Call Routing → Direct Routing Rules and Forwarded Routing Rules.

Worked examples

Three realistic rule sets

Single-site small business

Pilot 7000 → business / after-hours / holiday handlers, one forwarded rule.

3 direct + 1 forwarded = 4 rules. Evaluation order: holiday → after-hours → default → forwarded default.
Simplest viable config.

Multi-country global HQ

Calling-number = +44 → UK greeting; +1 → US greeting; +61 → AU greeting; default → global.

4 direct + 1 forwarded. Schedule layer on top if per-country hours differ.
Country routing cuts translation overhead by 80%.

Snow-day override

Priority 1 rule: if Schedule = Sched_Emergency (admin-toggled), route everything to emergency handler.

1 override rule + existing 4. Receptionist flips the schedule on the snow-day morning.
The receptionist should be able to flip emergency routing without IT involvement.
Sources verified against current Cisco guidance

Citations

Related tools

You might also need

Cleaning up legacy routing?

Our UC Modernization Sprint redesigns your routing rules, simplifies priority, and documents the final config for your ops team.

$25K–$75Kturnkey
Book a 30-min call →Or email info@famoustec.com