Upon completing this chapter, you will be able to use digit manipulation techniques to change calling party (caller ID) and called party (dialed digits) information, and be able to meet the following objectives:
- Describe when to use digit manipulation in CUCM
- Describe CUCM digit manipulation operation
- Identify CUCM digit manipulation configuration options
- Describe how to use external phone number masks
- Describe how to use translation patterns
- Describe how to use transformation masks in CUCM
- Describe how to use digit stripping and digit prefixes in CUCM
- Describe how to use significant digits in CUCM
- Describe how to use global transformations in CUCM
- Describe how to use incoming number prefixes in CUCM
Users of a phone system need to communicate with a variety of destinations. Destinations might be located within the same site, different sites within the same company, and other companies located within the same country or different countries. Completing various types of calls often requires dialing access codes or prefix numbers. It is often prudent to restrict users from dialing certain destinations that could incur high costs, such as 1-900 pay service phone numbers and international dialing.
Users should be provided with a dial plan with the lowest amount of complexity. Cisco Unified Communications Manager (CUCM) has the capability to provide digit manipulation, which achieves the goal of adding or subtracting digits to comply with a private or public numbering plan. Toll bypass calls that are routed over the data network should be transparently rerouted across the public switched telephone network (PSTN) when WAN resources are not available or are fully utilized.
This chapter describes digit manipulation tools that allow a CUCM administrator to implement flexibility and transparency in the dial plan of the company. The chapter covers external phone number masks, digit prefixing, digit stripping, transformation masks, translation patterns, and significant digits.
CUCM Digit Manipulation
Digit manipulation is often used to change calling party numbers for caller ID purposes on outgoing PSTN calls. Digit manipulation is also used to strip PSTN access codes before CUCM routes calls to the gateway (PSTN). Digit manipulation is required for abbreviated dialing and to properly route inbound calls from the PSTN where an abbreviated internal dial plan exists. Inbound calls from the PSTN can be received with a ten-digit called party length, but the internal dial plan might use only a subset of those numbers (four or five digits). These inbound calls would need to have the called party number transformed to the digit length used in the internal dial plan. PSTN access codes do not adhere to public standards, so they need to be stripped from the called party number before routing the call to the PSTN. Most organizations use the number 0, 8, or 9 as the access code for PSTN dialing. The calling party number also needs to be changed from the abbreviated internal extension number to a full E.164 PSTN number to allow easier redial.
Mechanics of CUCM Digit Manipulation
An IP phone with extension 1002 in Figure 11-1 calls a phone on the PSTN with a called party number of 408 555-111. The user at extension 1002 must first dial a PSTN access code of 9 to route a call to the PSTN. The PSTN Class 5 switch will not be able to route the call unless the access code is dialed before the PSTN number. The calling party number is transformed into a ten-digit pattern so that the PSTN is presented with a routable caller ID of 706 555-1002, not the extension of 1002. Four-digit dialing is not possible in the North American Numbering Plan (NANP).
Figure 11-1 Digit Manipulation Overview
Table 11-1 displays some often-used digit manipulation requirements and the methods in which they are handled in CUCM.
Table 11-1. Digit Manipulation Methods
Expand calling party directory number to full E.164 PSTN number
Internal to PSTN
Strip PSTN access code
Internal to PSTN
Expand abbreviated number
Internal to internal
Convert E.164 PSTN called party directory number to internal number
PSTN to internal
Expand endpoint directory numbers to accommodate overlapping dial plan
Internal to internal
PSTN to internal
Figure 11-2 illustrates an internal caller at extension 1005 dialing a PSTN number using a PSTN access code of 9 followed by the 11-digit PSTN number. The process of digit manipulation occurs as follows:
- Extension 1005 dials 9-1-303-555-6007.
- The dialed number (called party) matches the 9.! route pattern, where digit manipulation is taking place. For the sake of simplicity, let's imagine that there is only one gateway with this very simple dial plan. The route pattern is pointed directly to the gateway where the following is configured:
- Called party transformations > Discard digits: PreDot
- Calling party transformations: 40855530XX
- Route the call to the gateway
- CUCM provides digit stripping of the access code from the called party and sends 11 digits (1-303-555-6007) to the PSTN through the gateway. The calling party number is modified from 1005 to 408 555-3005.
- The PSTN phone at (303) 555-6007 rings and sees 4085553005 as the calling number.
Figure 11-2 Outgoing Call to the PSTN
Calling and called party transformations are configured at the route pattern level in the example, but these digit manipulation techniques are normally preferred at the route list detail level of the route list (per route group). The calling party transformation is often performed first at the external phone number mask configuration level. The external phone number mask is a directory number (DN) configuration parameter that will display a phone's ten-digit PSTN phone number to the end user at the phone. External phone number masks are also used when Automated Alternate Routing (AAR) reroutes a call over a call admission control (CAC) call rejection in a centralized call processing model. AAR is covered in detail in the Cisco Press book Implementing Cisco Unified Communications Manager, Part 2 (CIPT2) Foundation Learning Guide.
Figure 11-3 illustrates a call coming from the PSTN to an internal phone. The call-routing process from the gateway is as follows:
Figure 11-3 Incoming Call from the PSTN
- The PSTN phone calls the full E.164 number of the destination. The call is received at the PSTN gateway with a called party number ten digits in length. Digit manipulation is performed to convert the inbound ten-digit called number to a four-digit number matching the internal dial plan. Digit manipulation might occur in the translation configuration of the gateway if the gateway is an H.323 or Session Initiation Protocol (SIP) gateway. Media Gateway Control Protocol (MGCP) gateways can perform digit manipulation on an individual endpoint basis using called party transformation patterns. Digit manipulation can be configured in CUCM if the gateways are H.323 or SIP using the same called party transformation patterns beginning with CUCM version 7.0.
The called party number received from the PSTN can also be manipulated to align to the internal dial plan using a translation pattern that matches the called party number digits received from the provider. The translation pattern then applies any calling and called party digit manipulations in a manner very similar to the digit manipulation performed at the route list detail level of the route list. Translation patterns are unique in the respect that they do not forward calls to a trunk or gateway device. Translations are leveraged only to perform digit manipulation.
Translation patterns are normally not necessary to change the incoming called party E.164 number to an internal directory number unless the digits received from the carrier don't map directly to the internal dial plan. The calling party transformation mask of the translation pattern can be used to insert 91 into the calling party number, enabling callback functionality from the Cisco IP Phone's call history (missed and received calls). Calling party digit manipulation can be more granular if the call is coming in over ISDN Q.931 signaling or H.323 Q.931 signaling. At the time of this writing, SIP trunks do not support the passing of numbering plan type (subscriber, national, international, or unknown). Q.931 signaling used in ISDN and H.323 supports the passing of numbering plan type, allowing the calling party number to be transformed as follows:
- Calling number (prefix 9) for seven- or ten-digit dialing indicated by the "subscriber" numbering plan type.
- Calling number (prefix 91) for 11-digit dialing indicated by the "national" number plan type.
- Calling number (prefix 9011) for international dialing indicated by the "international" numbering plan type.
- Calling number (prefix 91) to the "unknown" numbering plan type. If most calls are received from international locations, or local seven- or ten-digit callers, change the unknown field to match the highest percentage of inbound call sources.
This step is optional because the Cisco IP Phone user can use the Edit softkey and edit the phone number from a call history list and manually dial the required codes to properly route the call.
- The Cisco IP Phone receives the call or the call is forwarded as a result of the application of the call-forwarding configuration.