Network Bulls
www.networkbulls.com
Best Institute for CCNA CCNP CCSP CCIP CCIE Training in India
M-44, Old Dlf, Sector-14 Gurgaon, Haryana, India
Call: +91-9654672192
256 Chapter 11: Call Routing Components
■ At the headquarters, there is a PSTN gateway. To route calls out to the PSTN, a route
pattern 9.! is configured in CUCM, which points to the headquarters PSTN gateway.
The exclamation point (!) is a wildcard character that matches on one or more digits.
Usage of the dot and the ! is explained in more detail later in this chapter.
Figure 11-2 Call Routing
Three calls are placed in the example shown in Figure 11-2:
■ (1) 2001 to 2002: This is an on-net call. The dialed number 2002 is looked up in the
call routing table, and the call is sent to the appropriate IP phone.
■ (2) 2003 to 3001: The dialed number 3001 matches the entry that refers to a trunk
pointing to CUCM Express at Site 1. A call setup message is sent from CUCM to
CUCM Express. This call is classified as on-net because the call is still on the company
IP network.
■ (3) 2002 to 9 1 408 555-1053: This call is sent to the PSTN because it matches the route
pattern 9.!. CUCM will be configured to strip off the PSTN access code 9 before
sending the call out to the PSTN through the headquarters gateway. This call is
classified as off-net because it is traversing a PSTN gateway.
Route
2001 HQ – Phone1
HQ – Phone2
Site 1
PSTN
HQ – Phone3
2002
2003
3XXX
9.!
Destination
Intersite Call from
2003 to 3001
PSTN Call from
2002 to
1 408 555-1053
1
2
3
Intrasite Call from
2001 to 2002
IP WAN
IP
2001
IP
2002
IP
2003
IP
3001
IP
3002
HQ 408 555-1053
Site 1
V
PSTN
3
1
2
Call Routing 257
Call Routing Table Entries
In the preceding example, the call routing table of CUCM was composed of directory
numbers and route patterns. Additional routing components can be configured and are
added to the call routing table as possible call routing destinations. Table 11-2 shows a
list of possible call routing table entries. All routing components shown in the table are
discussed further in this book.
Route Patterns
The CUCM call routing database includes the directory numbers of Cisco IP Phones and
computer telephony integration (CTI) ports configured in the system, because these entries
are entered in the IBM Informix Database Server (IDS) by CUCM administration. CUCM
does not know about any phone numbers that are configured on external systems. Gateway
and trunks allow CUCM to communicate with external systems. CUCM is configured with
route patterns that will be steered through various gateways and trunks to reach the PSTN,
remote clusters, and traditional PBXs. The call routing might require various wildcard
parameters to implement robust call-processing logic. Table 11-3 covers the wildcard
parameters that route patterns can use in CUCM.
The @ wildcard is a special macro function that expands into a series of patterns representing
the entire national numbering plan for a certain country. For example, configuring a
single unfiltered route pattern such as 9.@ with the North American Numbering Plan (NANP)
really adds more than 100 individual route patterns to the CUCM dial plan database.
Table 11-2 Call Routing Destinations
Routing
Component Description
Directory numbers Numbers assigned to endpoints and applications. Used for internal routing
within a cluster.
Translation pattern Used to translate the called-party number to a different number.
Route pattern Used to route calls to remote destinations (PSTN, remote CUCM cluster, and
so on).
Hunt pilot Used to distribute calls (simplified automatic call distribution functionality).
Call-park numbers Allows the holding of a call on a number to be retrieved by any other phone in
the network.
Meet-me numbers Allows conference call controller to set up a conference call for multiple
parties.
258 Chapter 11: Call Routing Components
It is possible to configure CUCM to accept other national numbering plans. When this is
done, the @ wildcard can be used for different numbering plans, even within the same
CUCM cluster, depending on the value selected in the Numbering Plan field on the Route
Pattern Configuration page.
The @ wildcard can be practical in several small and medium deployments, but it can
become harder to manage and troubleshoot in large deployments. Certain components of
the numbering plan can be matched by the use of route filters.
International destinations are usually configured using the ! wildcard, which represents
one or more digits. In North America, the route pattern 9.011! is typically configured for
international calls. In most European countries, the same result is accomplished with the
0.00! route pattern.
The ! wildcard is also used for deployments in countries where the dialed numbers can be
of varying lengths. In such cases, CUCM does not know when the dialing is complete and
waits for 15 seconds (by default) before sending the call. This delay can be reduced in any
of the following ways:
■ Reduce the T.302 timer service parameter. It is best practice to set this value to 4 to 5
seconds to prevent premature transmission of the call before the user is finished dialing.
■ Configure a 9.011! second route pattern ending with an interdigit timeout expiration
wildcard. (The # symbol is used for this functionality in most systems.) Instruct the
users to dial the # at the end of their international calls. This action is analogous to
pressing the Send button on a cell phone.
Table 11-3 Route-Pattern Wildcards
Wildcard Description
x Single digit (0–9, *, #)
@ North American Numbering Plan
! One or more digits (0–9, *, #)
[x–y] Generic range notation
[^x–y] Exclusion range notation
. Terminates access code
#
<wildcard>?
Terminates interdigit timeout
Matches 0 or more occurrences of any digit that matches the previous wildcard
<wildcard>+ Matches one or more occurrences of any digit that matches the previous wildcard
Call Routing 259
The Urgent Priority check box in the route-pattern configuration is often used to force
immediate routing of certain calls as soon as a match is detected, without waiting for
additional digits or the T302 timer to expire. In North America, if the patterns 9.911 and
9.[2–9]XXXXXX are configured and a user dials 9911, CUCM usually has to wait for the
T302 timer before routing the call because further digits may cause the 9.[2–9]XXXXXX
to match (overlapping dial plan). If urgent priority is enabled for the 9.911 route pattern,
CUCM makes its routing decision as soon as the user has finished dialing 9911, without
waiting for the T302 timer.
If enbloc dialing is used and the provided number is longer than the urgent pattern, the
urgent pattern is not considered because all the digits are analyzed as one string.
Translation patterns always have urgent priority enabled. The check box on the
configuration page is grayed out. It cannot be disabled. The urgent priority information is
displayed so that the call-processing logic of a translation pattern can be understood. This
can be best understood through an example. In a dial plan consisting of a translation pattern
of 100 and a directory number of 1001, extension 1001 would never receive a call from a
Skinny Client Control Protocol (SCCP)-based phone. As soon as CUCM matches on 100,
the call-processing logic routes the call. In an overlapping dial plan scenario such as the one
mentioned, CUCM normally waits for additional digits or for the T.302 timer to expire. The
differentiating quality is that translation patterns have urgent priority checked and the call
is translated as soon as the digits match.
Route-Pattern Examples
Table 11-4 includes some route-pattern matching examples using various wildcard
parameters. The X wildcard matches on the * and # Dual Tone Multifrequency (DTMF)
keys even though these are rarely included in phone numbers. The [X–Y] generic range
notation matches only one digit. A range of [13–59] matches exactly one digit (a 1, 3, 4, 5,
or 9). This range does not signify 13 to 59. A comma is an illegal character in the regular
expression language used in route-pattern processing.
The 13! appears twice in Table 11-4, once with a pound sign (#) and once without it. The !
poses a call routing dilemma. CUCM will never know when the user is dialing digits
because the exclamation point can match an infinite number of dialed digits. CUCM routes
all calls that include ! when the T.302 interdigit timeout expires. The T.302 timer is 15
seconds by default. To alleviate the post-dial delay incurred by waiting for this timeout to
expire, a second route pattern can be provisioned with the # to terminate the interdigit
timeout. CUCM does not implicitly know how to process the interdigit timeout unless it’s
put into a route pattern. If the pound is not in the route pattern, the user cannot dial this digit
unless the PreDot IntlAccess IntlDirectDial DDI is used.
260 Chapter 11: Call Routing Components
Digit Analysis
In practice, when multiple potentially matching patterns are possible, the destination
pattern is chosen based on the following criteria:
1. When a user dials the string 1200, CUCM compares it to the patterns in its call routing
table. In this case, there are two potentially matching patterns, 1XXX and 12XX. Both
of them match the dialed string, but 1XXX matches a total of 1000 potential strings
(1000 to 1999), whereas 12XX matches only 100 potential strings (1200 to 1299).
12XX is selected as the destination of this call because it is the closest match.
2. When the string 1212 is dialed, there are three potentially matching patterns: 1XXX,
12XX, and 121X. 121X matches only ten strings, whereas the other two route patterns
match many more strings (explained in the previous step). 121X is the closest match
and is selected as the matching pattern of the call.
When an endpoint goes off-hook, CUCM begins the digit analysis process. Every number
in the call routing database is an initial match unless the phone is configured as a private
line automatic ringdown (PLAR) line. PLAR is used on a directory number to automatically
dial a destination and requires the configuration of a calling search space. This functionality
is discussed further in Chapter 13, “Calling Privileges.”
Table 11-4 Route-Pattern Matching Using Wildcard Processing
Route Pattern Result
1234 One exact dialed digit: 1234.
1*1X Matches dialed digits 1*10 to 1*19, 1*1* and 1*1#.
12XX Matches dialed digits 1200 to 1299, 12**, 12*#, 12#*, and 12##.
13[25–8]6 Matches dialed digits 1326, 1356, 1366, 1376, and 1386.
13[13–59]X 1310–1319, 1330–9, 1340–9, 1350–9, 1390–9. The * and # have been excluded for
brevity.
13[^3–9]6 1306, 1316, 1326, 13*6, 13#6.
13! 13 followed by one or more digits.
13!# 13 followed by one or more digits and then ended with a #.
Call Routing 261
SCCP phones send their digits one by one as they are dialed unless the number is dialed
without lifting the handset and the Dial softkey is pressed (hotdial). Hotdial functionality
sends all dialed digits in one SCCP call setup message (enbloc) and the behavior of the digit
analysis will differ. Analog interfaces (FXO, FXS) also send their digits digit by digit,
whereas H.323 and ISDN send their digits in one Q.931 setup message (enbloc) by default.
The method of forwarding digits is important to understand to determine how digit analysis
will match on a route pattern when there is an overlapping dial plan.
As each digit in Figure 11-3 is received, CUCM can reduce the number of potential matches
of the dialed digits against the call routing database. As soon as an exact match is found,
digit analysis returns a current match, and call routing occurs immediately.
Figure 11-3 Digit-by-Digit Analysis
The dial plan in Figure 11-3 includes a directory number of 1001, and two route patterns
(1XXX and 10XX). The dialed number is 1001, but CUCM has three matching patterns
when the third digit is received. When the final digit is received, there is only one pattern
that matches the dialed digits. Because there are no more digits to be collected, the call is
routed immediately.
Digit collection is stopped as soon as an entry in the call routing table is matched in its full
length and no other (longer) potential matches exist. In Figure 11-4, a user dialed 1111.
CUCM interprets the number digit by digit. After the first two digits have been analyzed in
IP
IP
1000
1001
Call Setup
List Potential Matches
List Potential Matches
List Potential Matches
List Potential Matches
List Current Match
<none>
Dialed Digits
Route Patterns
1XXX
10XX
1
0
0
1
262 Chapter 11: Call Routing Components
this example, only one potential match is left (the first entry) because all other entries in the
call routing table require a different digit than 1 at the second position. CUCM continues
collecting digits until it receives 4 digits (1111); now the first entry is fully matched and
used to route the call.
Figure 11-4 Digit Collection Example
In Figure 11-5, the user dialed 1211. After interpreting these digits, CUCM has two
matches: 121X and 1[23]XX and no additional potential matches that are longer (which
would require waiting for more digits). Digit collection is stopped, and the closest-match
routing logic is applied. Route pattern 121X represents 10 potential matches, and route
pattern 1[23]XX represents 100 potential matches that start with 12. The first entry is the
closest match and will be used to route the call.
NOTE Session Initiation Protocol (SIP) phones use enbloc dialing in one SIP INVITE
message by default. Keypad Markup Language (KPML) can be implemented on Type B
SIP phones to emulate SCCP digit-by-digit behavior. If digits are received enbloc, the
entire received dial string is checked against the call routing database. This differs greatly
from the digit-by-digit analysis used by SCCP-controlled phones.
1111
121X
1[23]XX
131
13[0-4]X
13!
Does Not Match
Does Not Match
Does Not Match
Does Not Match
Does Not Match
User Dial String:
1111
Match!
Call Routing 263
Figure 11-5 Closest-Match Routing Example
In Figure 11-6, a user dials 1311—CUCM has three potential matches at this time:
13[0–4]X, 1[23]XX, and 13!. The last entry represents a variable-length route pattern
because it can potentially match on more digits. CUCM has to wait because the user might
provide additional digits. CUCM will not wait an indefinite time for additional digits, however.
After the T.302 interdigit timer expires (15 seconds by default), CUCM attempts to
route the call based on the closest-match logic. If there are no other matching patterns at
this time, CUCM issues a reorder tone or a recorded annunciator message to the calling
party. In this example, there are two matching route patterns, but 13[0–4]X is the closest
pattern representing only 10 possible numbers, whereas 1[23]XX has 100 potential
matches, and 13! represents an unlimited number of potential matches.
Assume that the user dialed only three digits: 131. CUCM would match all three route
patterns at this time, but after the interdigit timeout expired, only one route pattern would
match: 13!.
These wildcards can be helpful when creating a PSTN dial plan in North America like that
in Table 11-5. Most of the route patterns include a 9 as an access code and a dot (.) used
as a delimiter for digit-stripping rules. Later in this chapter, we discuss digit discard
instructions (DDI), which allow CUCM to strip digits preceding the dot (access code).
No comments:
Post a Comment