CUCM Route Patterns

Published by Keyboard Banger on

cucm-route-patterns-keyboardbanger

Route patterns are the fundamental part of the CUCM route plan. They are used to route internal digit patterns inside a CUCM cluster, or external digit patterns to the PSTN. Their equivalent in the Cisco Unified Communications Manager Express world is dial peers.

The dummest explanation of route pattern is the following: to allow CUCM to route calls based on the matched patterns it finds among the route patterns. Think of it like someone talking to you and as soon as you find the right pattern you take action:

route-pattern-keyboardbanger

Cartoon (C) Julie R. Neidlinger | AngrymanCartoon.com

A Route Pattern can route or block a pattern. In the case of blocked pattern, we need to specify the cause code. The cause cause can be one of the following values:

  • Out of bandwidth,
  • User busy
  • Unallocated number.

Even if you don’t choose a cause code by yourself, a default one is assigned.

Route patterns point to:

  • a Route List
  • a Route Group
  • a device: a gateway or a trunk

Cisco recommends pointing route patterns to route lists instead of directly pointing them to gateways or trunks.

A route pattern can contain a combination of digits, from 0 to 9, and wildcards. When using all-digits patterns, you can compare route patterns to static routes. However, when you use wildcards, route patterns can be compared to summary routes, where multiple destinations match the same route.

Route patterns and digit analysis

We need to understand that CUCM creates three lists:
CurrentMatches: one or more patterns that currently match the dialed digit string. This list usually includes fixed patterns (such as 7501 and 4144) and patterns with wildcards (such as 45[2-9])
PotentialMatches: all route patterns are initially (before the user dials any digits) part of the PotentialMatches list.
ClosestMatch: This list contains only one element called the Best Match.

Closest Match vs Longest Match with Route Patterns

We must make the distinction between two concepts: Closest Match and Longest Match. Closest Match is the CUCM behaviour: among the potential matches, it seaches for the one match that satisfies two conditions:

  • It has the fewest number of combinations for the equal number of dialed digits,
  • It has the fewest number of combinations for the digits other than the dialed digit length.

In a previous post, We talked about the interdigit timeout and how it forces the CUCM to wait each time you dial a digit. But is it the only condition? when does it stop waiting for more digits?

When your CUCM stops waiting for more digits

There are two conditions after which the call routing component no longer waits for more digit input:
Condition 1: PotentialMatches is empty,
Condition 2: Interdigit timeout expires.

Route Patterns and digit analysis

This is how CUCM uses the three lists I defined earlier:

After CUCM collects the dialed digits, it compares them against all its route patterns. All route patterns that match are grouped into CurrentMatches. The route patterns that can match are left in the PotentialMatches set. This happens while waiting for more digit input.
If one of the mentioned conditions is true, the call routing component checks for the closest match among the CurrentMatches. Once the closest match is found, the call is extended to the destination associated with the closestMatch route pattern.
If more digits are received, the call routing component restarts the process and searches for new current matches.

Overlapping Route Patterns

Let’s assume we have route pattern 1 (RP1) and route pattern 2 (RP2). And let’s assume we have two digit sequences: sequence A and sequence B, where sequence A is the first part of sequence B.

When dialing sequence A, CUCM finds that RP1 and RP2 are in the PotentialMatch list. However, when we continue dialing until we finish sequence B, RP1 is no longer in the PotentialMatch list and RP2 is the ClosestMatch. We say that RP1 and RP2 are overlapping route patterns.

Route pattern configuration

  •  In the Cisco Unified CM Administration menu, go to Call Routing -> Route/Hunt ->Route Pattern

cucm-route-pattern-keyboardbanger1

  • click on Add New
  • Here is a sample configuration of the 911 pattern, in a HQ office:

cucm-route-pattern-route-pattern-configuration-menu-keyboardbanger2-commented

Route pattern configuration on home lab

We will configure route patterns for both HQ and Branch1.

HQ route patterns

class-of-service-partitions-css-2016-05-29 14_56_12

Branch1 route patterns

class-of-service-partitions-css-2016-05-29 14_58_19

Categories: CCNP Collaboration

Keyboard Banger

Keyboard Banger is a network engineer from Africa. He has been working in network support and administration since 2008. He started writing study notes about certification exams and technology topics a couple of years ago. When he's not writing articles, he can be found wandering on technical forums.

1 Comment

Leave a Reply

Your email address will not be published. Required fields are marked *