Expert Reference Series of White Papers Cisco Unified Communication Manager Digit Manipulation 1-800-COURSES www.globalknowledge.com
Cisco Unified Communication Manager Digit Manipulation Brian Mahler, CCNA, CCNA-Voice, CCNP-Voice, Contact Center Specialist, Tandberg System Engineer Introduction What is digit manipulation? When using a telephone, we address everything with phone numbers. We have phone numbers for the home, cell, work, etc. When we want to reach someone, we dial their phone number, also called the called-party number or dialed number information system (DNIS). The recipient can recognize who is calling by looking at the calling-party or automatic number identifier (ANI). Both the DNIS and the ANI can be in a wide variety of formats and need to be modified to accommodate many different networks. For example, when I call the pizza shop to order a pizza, I dial a 10-digit number, the called-party number or DNIS, (801) 555-1234, and when they answer my call, they will see my calling-party or ANI, (801) 555-5678, identifying me. These 10-digit numbers match the format of the North American dial-plan. Inside a corporation, we typically have a private dial-plan that is unique to our business. For example, our office might use three-, four-, or five-digit extensions, (we will use four-digit extensions in this paper), thus the calledparty number we dial to reach a fellow worker would be only four digits long, and our calling-party number would also be four digits long. However, if I wanted to call the pizza shop, a four-digit number would not work; I have to dial that 10-digit number to go across the public telephone switch network (PSTN) and my callingparty number would have to be changed from a four-digit internal number to a 10-digit number identifying me to the pizza shop. This is the very purpose of digit manipulation, to modify either the called-party number or the calling-party number so calls can be routed across a variety of telephone networks. This process of manipulating the calling-party or called-party numbers is called digit manipulation, and this paper will explain the how and where this can be done within Cisco Unified Communication Manager (UCM). Why do we need it? We need digit manipulation any time our calls will traverse multiple dial-plans. In North America, we have the North American Dial Plan, also known as the public switch telephone network (PSTN), and most countries have their own dial plans as well, and every corporation with a phone system has its own private dial-plan within its network. It is very common for a single phone call to traverse multiple dial-plans. For example, when Company A in North America, calls Company B in Germany, the call will traverse four separate dial-plans as follows: Company A Private dial-plan > North American Dial-Plan > Germany Dial-Plan > Company B private Dial-Plan. Each one of these separate dial-plans might need to modify the called-party or calling- Copyright 2013 Global Knowledge Training LLC. All rights reserved. 2
party number so the call can be processed, forwarding the call on to the next hop and, eventually, to the party you want to talk with. Where can digit manipulation be done? The digit manipulation on our corporate private dial-plan can be done at the edge of our phone network or in the core. In this paper, we will focus on digit manipulation done in the core of our telephone network, using the UCM as our core phone system. UCM Digit Manipulation Components I will first explain the individual components that perform the digit manipulation, then I will use those components to explain the call flow from two different perspectives, inbound, and outbound calls. Digit manipulation in UCM can occur in multiple locations. Figures 1 and 2 below illustrate the flow and locations that digit manipulation can possibly occur for both outbound and inbound calls. Realistically, it should never be done at each point; that would be a nightmare to troubleshoot. Remember these are the different places digit manipulation can occur. I recommend that you keep it simple and only perform digit manipulation in one, or at most, two locations. IP Phone Translation Pattern (Optional) Route Pattern Route List/ Route Group Device Figure 1. Outbound Call Flow Digit Manipulation Locations Trunk Gateway Digit Analysis Translation Pattern Phone Figure 2. Inbound Call Flow Digit Manipulation Locations Digit Manipulation Tools Digit manipulation is performed using various tools built into UCM, and each of these tools is available in many different locations as well. Let s go over each of the digit manipulation tools available. At several locations within the call flow, the following three steps can be performed on either the calling-party number or the called-party number, or both. An administrator can choose to perform a single step or any combination of the three. The thing to remember is that they will always be performed in the same order, and the results of the first step are sent to the second step for processing, and the result of the second step are sent to the third step for processing. Each step is optional, but the order of the steps is fixed. Copyright 2013 Global Knowledge Training LLC. All rights reserved. 3
Discard Digits (Step 1) Discard Digit Instruction (DDI) does exactly that: discards or throws away digits on the front end (left side) of the number. This is the first of three steps. An administrator can choose to discarded from the pull-down menu; he or she can choose to discard an access code, country codes, 10-10 dialing, or any one of 30+ possibilities. For example, in a route pattern such as 9.18005551234, if I select the Pre-Dot option, the DDI would throw away whatever was in front of the dot (the nine). This simple discard would remove the access code 9 prior to forwarding it on to step 2. Transformation Mask (Step 2) Transformation mask is the second digit manipulation step, which can modify either the calling-party number or called-party number of a call. Transformations that modify the calling number are calling-party transformations, and transformations that modify a called number are called called-party number transformations. They both work the same, so let s detail one to see how they work. The calling party transformation allows you to manipulate the calling-party number for outgoing calls. When configuring calling-party or called-party transformations, a transformation mask operation allows the suppression of leading digits, the change of some digits while leaving others unmodified, and the insertion of leading digits. A transformation mask requires two pieces of information: the number that you want to mask and the mask itself. In the transformation mask operation, UCM aligns the number with the mask so that the last character of the mask aligns with the last digit of the number. UCM uses the corresponding digit of the original number whenever the mask contains an X. If the original number is longer than the mask, the mask removes the leading digits. If the number is shorter than the mask, the mask prefixes any digits in front of the number. Table 1 demonstrates this. Original Number 6723 First Transformation Mask 800555XXXX Result 8005556723 Second Transformation Mask 203XXX0000 Result 2035550000 Third Transformation Mask XXX1234 Result 5551234 Table 1. Transformation Mask Operation If the first transformation starts with the number 6723 and applies a transformation mask of 800555XXXX, the end result would be 8005556723. Since the mask is longer than the original number, it will prefix the digits 800555 in front of the original number. Copyright 2013 Global Knowledge Training LLC. All rights reserved. 4
The second transformation starts with 8005556723 and applied the mask of 203xxx0000, which produces a result of 2035550000. The mask replaces the entire original number except for the three fives due to the Xs. The third transformation begins with the number 2035550000 and applies the mask of xxx1234, which produces a result of 5551234. Since the mask is shorter than the original number, the extra digits on the front are discarded, keeping the next original three digits due to the Xs, and replacing the original last four digits with 1234. Prefixing digits (Step 3) The third and final step of digit manipulation is prefixing digits, which adds digits in front of the original number. If, for example, I dial a seven-digit number (5551234), I could add a prefix of 808 (the area code), and the final result of prefixing would be 8085551234, which would then be forwarded to its next destination. Figure 3 shows how each of the three-digit manipulation steps is applied to the called-party number on the web page. These same settings are available for the calling party number as well. Figure 3. How the Three-Digit MNanipulation Steps Are Applied to the Called-Party Number Calling- and Called-Party Transformation CSS Calling-party and called-party transformations CSS use the same three-digit manipulation steps (discarding, transformation mask, and prefixing) described above. The only difference is that you define how the manipulation will take place on a per route pattern level, meaning route pattern A gets digit manipulation process one while route pattern B gets digit manipulation two. A CSS contains one or more partitions, and each partition contains one or more route patterns; thus, a transformation CSS is a group of several route patterns, each with its own unique digit manipulation. This gives us flexibility when performing digit manipulation on either the calling-party or called-party number. These are all the core digit manipulation tools available at our disposal. Let s put them into use in both the outbound and inbound calls. Outbound Call Flow Originating device (i.e., phones) The originating device has limited digit manipulation capabilities; it can only manipulate the calling-party number on external calls, which it does by applying an external phone number mask to the internal calling-party number. This mask works similarly to the transformation mask. For example, if my internal calling-party number Copyright 2013 Global Knowledge Training LLC. All rights reserved. 5
is 4001, and I have an external phone number mask of 801555XXXX, then the resulting calling-party number sent out on an external call is 8015554001. If the mask field is left blank, then the original calling-party number will be sent (even if it is only 4 digits long). This setting is configured at the line settings (Figure 4) and can be unique for each line on a phone. Figure 4. Applying an External Phone Number Mask Translation Pattern Translations patterns (not to be confused with transformations) are unique in UCM, because after the digit manipulation is performed, the called-party number is then sent back through the digit analysis process again to find the best match and its final destination. This is the only component in UCM that goes back through the digit analysis process after the translation is done, and it can be a very powerful tool. In Figure 5, you can see that both the calling-party and the called-party number can be modified independently via the same three-step digit manipulation operation explained above (discarding, transformation, and prefixing). Copyright 2013 Global Knowledge Training LLC. All rights reserved. 6
Figure 5. Modifying the Calling-Party and Called-Party Numbers Using Translation Patterns Dial Plan Manipulation Route Pattern The route pattern can modify both the calling-party and the called-party numbers, and the manipulation defined here applies to all dialed numbers that match the route pattern. For the calling-party number, we can choose to use the calling-party external phone number mask, which was defined on the originating phone line settings, or we can choose to use the three-step digit manipulation process defined here. Copyright 2013 Global Knowledge Training LLC. All rights reserved. 7
Figure 6. Modifying the Calling-Party and Called-Party Numbers Using Route Patterns Route List/Group The route list also can modify both the calling-party and the called-party numbers, and the manipulation defined here applies equally to all calls sent through this route list. We have the same three-step digit manipulation operation for both the calling-party and the called-party number explained previously. Note: If a digit manipulation is defined at the route list level, then the digit manipulation defined at the route pattern level is ignored. Copyright 2013 Global Knowledge Training LLC. All rights reserved. 8
Figure 7. Modifying the Calling-Party and Called-Party Numbers Using Route Lists Device Devices don t perform digit manipulation the same way that the route patterns and route list do. Devices use calling-party transformations CSS and called-party transformations CSS, which give us the ability to create custom digit manipulations on a route pattern basis, vs. defining a digit manipulation that applies to all numbers equally. We could choose to use the calling-party or called-party transformations CSS defined in the device pool instead of the one defined on the device itself (see Figure 8). You can simplify administration and save a lot of time by defining this at the device pool. It would apply to many devices and eliminate the need to define it at each individual device. Note: If a digit manipulation is defined at the device level, then the digit manipulation defined at the route list and route pattern levels are ignored. Copyright 2013 Global Knowledge Training LLC. All rights reserved. 9
Figure 8. Performing Digital Manipulation at the Device Level Inbound Call Flow Inbound calls have fewer locations where digit manipulation can occur than outbound calls. Trunk/Gateway Inbound calls coming into the trunk or gateway have different digit manipulation capabilities than outbound calls. There are some additional features that can simplify how the calling-party and called-party numbers are presented; these include the significant digits and prefix DN settings. Significant Digits (Step 1) The significant digits parameter informs the UCM of the number of digits of the called-party number to keep, meaning if the PSTN is providing 10 digits (e.g., 8015551234) inbound, and the UCM significant digits is set to four, then UCM keeps only the last four digits (1234), discarding the rest before forwarding it on to the next step, which is prefix DN. Note: This is only applicable to the inbound called-party number. Prefix DN (Step 2) Prefix DN is the same as prefix digits used in the transformations. The number in the prefix field is added to the front of the called-party number that was a result of the significant digits. Note: This is only applicable to the inbound called-party number. Incoming Calling-Party Settings Incoming calling-party settings uses the call type (subscriber, national, international, or unknown) to dictate what is striped and what is prefixed on the inbound calling-party number. This is the first location where an administrator can modify the calling-party number on an inbound call. Copyright 2013 Global Knowledge Training LLC. All rights reserved. 10
Incoming Called-Party Settings Incoming called-party settings uses the call type (Subscriber, National, International, or Unknown) to dictate what will be striped and what will be prefixed on the inbound called-party number. This may seem redundant to the significant digits and prefixing, but since it is based on the call type, it gives a little more flexibility and granular control. This concludes the device-level digit manipulations, and the call is forwarded to the digit analysis process for call routing. Translation Pattern If the digit analysis process matches a translations pattern, the translation pattern will perform the same threestep digit manipulation previously described. After the digit manipulation operations are completed for both the called-party and calling-party, the translation pattern sends the call back to the digit analysis process for best match analysis and call routing. This ability to send the call back to the digit analysis process makes translation patterns extremely powerful. Figure 9 shows that both the calling-party and the called-party number can be modified independently via the three-step digit manipulation explained previously (discarding, transformation, and prefixing). Copyright 2013 Global Knowledge Training LLC. All rights reserved. 11
Figure 9. Modifying the Calling-Party and Called-Party Numbers Using Translation Patterns Phone Digit manipulation with inbound calls to the phone is limited to manipulating the calling-party digits that are displayed on the phones screen. The only tool available for this is the calling-party transformation CSS located at the device settings (Figure 10). Using transformation CSS, we get a lot of flexibility to modify the calling-party number to a per calling-party basis. I don t ever see a need to go to this extreme, but we do have the capability. Copyright 2013 Global Knowledge Training LLC. All rights reserved. 12
Figure 10. Modifying Inbound Call Display Using the Calling-Party Transformation CSS Summary We have reviewed why we would need to modify either the calling-party or called-party number, or both, to accommodate the various dial-plans that a phone call might encounter. We also reviewed the tools available to us as well as the various locations the modifications can be performed, from within UCM. Cisco gives us the flexibility to perform the digit manipulation to meet the requirements of any network. Learn More To learn more about how you can improve productivity, enhance efficiency, and sharpen your competitive edge, Global Knowledge suggests the following courses: CIPT1 - Implementing Cisco Unified Communications IP Telephony Part 1 v8.0 CIPT2 - Implementing Cisco Unified Communications IP Telephony Part 2 v8.0 ACUCW1 - Administering Cisco Unified Communications Workspace Part 1: Basic v8.0 ACUCW2 - Administering Cisco Unified Communications Workspace Part 2: Advanced v8.0 Visit www.globalknowledge.com or call 1-800-COURSES (1-800-268-7737) to speak with a Global Knowledge training advisor. About the Author Brian Mahler, CCNA, CCNA-Voice, CCNP-Voice, Contact Center Specialist, Tandberg System Engineer, operates a consulting company called NICS, LLC for over ten years, offering consulting services specializing in the area of Voice and Video over IP, and Quality of Service. Copyright 2013 Global Knowledge Training LLC. All rights reserved. 13