LTRUCC-2150 Cisco Unified CM 10.0 SIP Trunking, Session Management, Intercluster Lookup Service (ILS) and URI Dialing Cisco Live San Francisco 2014 Paul Giralt (pgiralt@cisco.com) Rafael Muller (rmuller@cisco.com) POD10 Table of Contents Introduction to Lab ............................................................................ 7 Prerequisites .................................................................................... 9 Lab Diagram ................................................................................... 10 Lab Overview ................................................................................. 11 Before You Begin ............................................................................ 12 ILS/GDPR Overview ......................................................................... 13 Hub or Spoke ....................................................................................................................... 14 Advertisements .................................................................................................................... 15 Configure ILS on Unified CM SME Edition .......................................... 17 Task 1: Configure Cluster ID ........................................................................................... 17 Task 2: Configure ILS on Unified CM SME ...................................................................... 17 Configure ILS on Unified Communications Manager Leaf 1 .................. 19 Task 3: Configure Cluster ID ........................................................................................... 19 Task 4: Configure ILS on Unified Communications Manager Leaf 1 ................................ 19 Configure ILS on Unified Communications Manager Leaf 2 .................. 21 Task 5: Configure Cluster ID ........................................................................................... 21 Task 6: Configure ILS on Unified Communications Manager Leaf 2 ................................ 21 Task 7: View ILS Mesh topology ..................................................................................... 22 Dial Plan for Unified CM Leaf Cluster 1 ............................................. 23 Task Task Task Task Task 8: Configure partitions on Leaf Cluster 1 ................................................................ 25 9: Configure CoS Calling Search Space for Leaf Cluster 1 ..................................... 26 10: Configure CoR CiscoLive_National CSS ........................................................... 27 11: Configure CoR CiscoLive_International CSS ..................................................... 27 12: Configure CSS_Inbound_ILS CSS .................................................................... 28 Configure Translation Patterns for Leaf Cluster 1 ............................... 29 Task 13: Configure National Translation Pattern .............................................................. 29 Task 14: Configure International Translation Pattern with # ............................................. 30 Task 15: Configure International Translation Pattern without # ........................................ 31 Configure SIP trunk and Route List to SME in Leaf Cluster 1 ............... 32 Task 16: Configure SIP trunk to Unified CM SME ............................................................ 32 Task 17: Configure Route Group ..................................................................................... 33 Task 18: Configure Route List ......................................................................................... 34 Dial Plan for Unified CM Leaf Cluster 2 ............................................. 36 Task 19: Configure partitions on Leaf Cluster 2 ............................................................... 37 Task 20: Configure CoS Calling Search Space for Leaf Cluster 2 ................................... 38 © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 2 of 140 Task 21: Configure CoR CiscoLive_National CSS ........................................................... 39 Task 22: Configure CoR CiscoLive_International CSS ..................................................... 39 Task 23: Configure CSS_Inbound_ILS CSS .................................................................... 40 Configure Translation Patterns for Leaf Cluster 2 ............................... 41 Task 24: Configure National Translation Pattern .............................................................. 41 Task 25: Configure International Translation Pattern with # ............................................. 42 Task 26: Configure International Translation Pattern without # ........................................ 43 Configure SIP trunk and Route List to SME in Leaf Cluster 2 ............... 44 Task 27: Configure SIP trunk to Unified CM SME ............................................................ 44 Task 28: Configure Route Group ..................................................................................... 45 Task 29: Configure Route List ......................................................................................... 46 ILS/GDPR with Centralized Unified CM SME ....................................... 47 Configure SIP Route String for Unified CM Leaf 1 .............................. 49 Task 30: Configure SIP route string ................................................................................. 49 Configure SIP Route String for Unified CM Leaf 2 .............................. 50 Task 31: Configure SIP route string ................................................................................. 50 Configure Unified CM SME Dial Plan ................................................. 51 Task 32: Configure Partitions in Unified CM SME ............................................................ 52 Task 33: Configure Calling Search Space in Unified CM SME ......................................... 53 Configure SIP Trunks on Unified CM SME .......................................... 54 Task 34: Configure SIP Trunk to Unified CM Leaf 1 ......................................................... 54 Task 35: Configure SIP Trunk to Unified CM Leaf 2 ......................................................... 54 Task 36: Configure SIP Trunk to Unified Border Element ................................................. 55 Configure Route Groups and Route Lists in Unified CM SME ............... 57 Task Task Task Task Task Task 37: 38: 39: 40: 41: 42: Configure Configure Configure Configure Configure Configure Route Route Route Route Route Route Group for Unified CM Leaf 1 ................................................... 57 Group for Unified CM Leaf 2 ................................................... 58 Group for Unified Border Element ........................................... 58 List for Unified CM Leaf 1 ....................................................... 59 List for Unified CM Leaf 2 ....................................................... 59 List for Unified Border Element ............................................... 60 Configure SIP Route Pattern in Unified CM SME ................................. 61 Task 43: Configure SIP Route Pattern for Unified CM Leaf 1 ........................................... 61 Task 44: Configure SIP Route Pattern for Unified CM Leaf 2 ........................................... 62 Configure Phone Line in Unified CM Leaf 1 ....................................... 63 Task 45: Configure Global Dial Plan Replication for Phone #1 ......................................... 63 Task 46: Configure advertisement for Enterprise Alternate Number ................................ 64 Task 47: Configure advertisement for +E.164 Alternate Number ..................................... 64 © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 3 of 140 Configure Phone Line in Unified CM Leaf 2 ....................................... 65 Task 48: Configure Global Dial Plan Replication for Phone #1 ......................................... 65 Task 49: Configure advertisement for Alternate Number ................................................. 66 Task 50: Configure advertisement for +E.164 Number .................................................... 66 Validate learned patterns via ILS/GDPR ............................................. 67 Task 51: Validate learned patterns on Leaf Cluster 2 ...................................................... 67 Task 52: Place calls with Cisco Jabber Client.................................................................. 68 Configure PSTN Route Patterns Leaf Cluster 1 .................................. 70 Task 53: Add US NANP static route pattern on Leaf Cluster 1 ........................................ 70 Task 54: Add International static route pattern on Leaf Cluster 1 .................................... 71 Configure PSTN Route Patterns Leaf Cluster 2 .................................. 72 Task 55: Add US NANP static route pattern on Leaf Cluster 2 ........................................ 72 Task 56: Add International static route pattern on Leaf Cluster 2 .................................... 73 Configure PSTN Route Patterns Unified CM SME ................................ 74 Task 57: Add US NANP static route pattern on Unified CM SME ..................................... 74 Task 58: Add International static route pattern on Unified CM SME ................................. 75 CUBE General Configuration ............................................................ 76 Task 59: CUBE General Configuration ............................................................................. 76 Task 60: Configure media inactivity ................................................................................. 78 CUBE Box to Box Redundancy .......................................................... 79 Task Task Task Task Task Task Task Task Task Task 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: Configure redundancy between CUBEs ............................................................ 79 Configure IPC between CUBEs ......................................................................... 79 Configure track interface objects ...................................................................... 80 Configure HSRP on Inside Interfaces ................................................................ 81 HSRP Tracking and Priorities ............................................................................. 81 Configure HSRP delay timers ............................................................................ 82 Configure HSRP group name ............................................................................ 82 Verify configuration of HSRP on Internal Interfaces ........................................... 83 Configure Service Provider HSRP Interface ...................................................... 83 Configure Redundancy Inter-device ................................................................. 84 CUBE Server Groups ....................................................................... 86 Task 71: Define internal server groups ............................................................................ 86 Task 72: Define external ( service provider ) server groups............................................. 86 E164 Dial Maps ............................................................................... 87 Task 73: Configure internal E164 Dial Map ...................................................................... 87 Task 74: Configure service provider E164 Dial Map ........................................................ 87 CUBE Dial Peers ............................................................................. 88 Task 75: Configure Dial Peers between CUBE and Unified CM SME ............................... 88 © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 4 of 140 Task 76: Configure redundancy bind ............................................................................... 90 Task 77: Configure Dial Peer between CUBE and the Service Provider........................... 91 Task 78: Enable CCSIP debugs on Active Cube .............................................................. 92 Configure CUBE Dial Plan Normalization ............................................ 94 Task Task Task Task Task Task Task 79: 80: 81: 82: 83: 84: 85: Convert from +E.164 to NANP for Called Numbers to the PSTN ....................... 94 Convert from +E.164 to NANP for Calling Numbers to the PSTN ...................... 94 Convert Called Number from NANP to +E.164 for Inbound Calls from PSTN .... 95 Convert calling number from NANP to +E.164 for inbound calls from PSTN ..... 95 Configure Translation profile for inbound dial-peers ......................................... 96 Add translation profiles to dial-peers ................................................................ 96 Place PSTN call from CUCM ............................................................................. 97 CUBE DO to EO configuration ........................................................... 98 Task 86: Enable DO-EO on Outbound Dial Peers ............................................................ 99 Task 87: Verify EO-DO Configuration .............................................................................. 99 Enhanced Event Tracing ................................................................ 101 Task Task Task Task Task Task 88: 89: 90: 91: 92: 93: Enable monitor event trace .............................................................................101 Disable event-trace automatic file dump.........................................................101 Configure event-trace memory footprint.........................................................101 Place calls for event-monitor ..........................................................................102 Configure dump file destination path...............................................................103 Event-trace file dump .....................................................................................103 CUBE / SME OPTIONS Ping Configuration ........................................ 105 Task 94: Configure OPTIONS ping on CUBE dial-peers ................................................106 Task 95: Configure OPTIONS pings on Unified CM SME ...............................................107 Task 96: Add OPTIONS Ping Profile to the SIP Trunk ....................................................107 Enabling URI Dialing ...................................................................... 108 Task 97: Create a new End User and associate Primary Extension................................109 Task 98: Verify Directory URI Mapping ..........................................................................109 Task 99: Check URI replication ......................................................................................110 SME Normalization Script (Modify Diversion Header) ........................ 111 Task 100: Add a new normalization script to SME .........................................................111 Task 101: Apply Normalization Script to CUBE SIP Trunk ..............................................112 Translate Inbound DID to Lab Number ............................................. 114 Task Task Task Task Task 102: 103: 104: 105: 106: Create a new Partition in SME for inbound translations .................................114 Create a new CSS to restrict access to Inbound Translations .......................114 Add Inbound Translations partition to the Inbound PSTN CSS ......................115 Create Translation Pattern to Translate PSTN number ..................................116 Add number to e164 Pattern Map .................................................................116 © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 5 of 140 Use Session Trace feature to view SIP call flow ............................... 120 Debug SIP call on CUBE ................................................................ 124 Task 107: Initiate debugs on Unified Border Element ....................................................124 Task 108: Copy log file from CUBE to your Cisco Live Workstation ...............................125 Task 109: Read the log file in Translator X .....................................................................126 Detailed tracing on Unified Communications Manager ....................... 129 Task 110: Navigate to Cisco Unified Serviceablity .........................................................129 Task 111: Enable detailed tracing for Call Manager Service ..........................................130 Unified Communications Manager trace collection ............................ 132 Task 112: Trace collection with RTMT ...........................................................................132 Task 113: Read UCM trace files with TranslatorX ..........................................................134 Task 114: Tracing a call end to end ...............................................................................137 Notes ........................................................................................... 138 Notes ........................................................................................... 139 Notes ........................................................................................... 140 © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 6 of 140 Introduction to Lab Enterprises and service providers are increasingly moving from traditional TDMbased telephony to IP-based networks. While enterprises have been deploying IP telephony within their networks for many years now, it is only recently that service providers have started to provide IP-based trunking services. These trunking services are based on the Session Initiation Protocol (SIP). SIP trunking services typically terminate on a session border controller (SBC) that serves as a demarcation point between the enterprise and the service provider much in the same way that a firewall separates two data networks. The Cisco Unified Border Element (CUBE) is Cisco’s SBC product. SIP is also becoming increasingly important within the enterprise. Most enterprise telephony vendors leverage SIP to communicate with each other and there are numerous applications that use SIP as their interface to other devices, for example, Unified Messaging, Voicemail, and Audio or Video Conferencing applications. One challenge that SIP brings to the table is that, although it is referred to as a “standard”, it really is just a large collection of RFC’s that vendors can interpret in different ways or can implement only the pieces they require. As a result, there is an increasing need to be able to interconnect these disparate systems as well as adapt to the various SIP implementations. Most companies also have a large installed based of legacy TDM and H.323-based telephony systems. Cisco Unified Communications Manager Session Management Edition (SME) offers session management capabilities for the enterprise. SME provides a rich feature set that allows an enterprise to centrally manage various aspects of their real-time communications such as voice and video and interconnect disparate systems from multiple vendors and service providers. The world of telephony has traditionally been based on static dial plans. If one system needs to send calls to another system, a static pattern is configured (potentially with wildcards) that indicates the trunk to use to send the call. If that route is unavailable, there may be redundant routes that are, again, statically configured. Some routes may even require manipulation of the digits, for example in the case of rerouting a call to the public switched telephone network (PSTN) in the case of a failure. This manipulation has also traditionally been statically configured on each system that requires that functionality. As communications migrate from segregated communications that put Voice, Video, Instant Messaging and Email in separate realms of responsibility, the industry is moving towards an environment of true unified communications and © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 7 of 140 collaboration. The traditional concept of a phone number has slowly started moving to internet-style addressing that looks a lot like an email address. This identification mechanism is known as a SIP URI (uniform resource identifier). As it looks like an email address, SIP URI’s within an enterprise generally cannot be summarized. For example, if bob.smith@cisco.com and bob.jones@cisco.com are both on different Unified CM clusters within the enterprise, how do you summarize those “routes”? There is really no way to summarize which means that every cluster needs to know how to get to URI’s individually as opposed to through a summary. Routes to other domains (e.g. @webex.com, @apple.com) can be summarized by their domain or leverage DNS to look up the domain. Cisco Unified Communications Manager 9.0 introduced the Inter-cluster Lookup Service (ILS) feature to address this very problem. This feature made it possible for multiple Unified CM clusters to share URI reachability information. While ILS was a great innovation allowing all clusters to easily share URI dial plan information, this left a hole where traditional numeric dial plans still required static configurations. Also, URI’s could not be dialed over the traditional PSTN, so any kind of failover to the PSTN in the event of a network outage or CAC limit was impossible. Unified CM 10.0 addresses these issues by extending the capabilities of ILS into a new feature called Global Dial Plan Replication (GDPR). GDPR improves how ILS works for URIs and also adds the ability to advertise traditional numeric routes between clusters. With GDPR, every cluster knows how to reach directory numbers anywhere in the network without the need to configure any numeric routes between clusters. In this lab, you will learn how to create an environment that uses ILS and GDPR to establish a global dial plan. In this multiple cluster environment, you will configure these features to establish calls between different endpoints in the network including calls to and from the PSTN. A centralized Unified CM SME will be utilized to aggregate the dial plan and provide access towards the PSTN via a centralized SIP trunk that uses a Cisco Unified Border Element (CUBE) as the Session Border Controller towards a service provider. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 8 of 140 Prerequisites A basic understanding of Cisco Unified Communications Manager Administration is highly recommended in order to complete this exercise in time. Even though we will provide step-by-step instructions, you should have a basic understanding of: • Cisco IOS configuration • Cisco Unified Communications Manager Dial Plan Management (Calling Search Spaces, Partitions, Translation Patterns) • Understanding of SIP If you are unfamiliar with configuring Cisco IOS devices, here are a few basic commands to get you started. If you are already familiar with IOS, you can skip to the next page. To access an IOS device, use the telnet/SSH client provided and authenticate with the provided username and password. In this lab, the provided username and password will automatically log you into the enable mode, so it is not necessary to enter the command ‘enable’. To configure the router, enter the command ‘config t’. To exit configuration mode, type ‘end’ or type control-Z. IOS has various levels of hierarchical configuration. For example, if you enter ‘interface g0/0’ while in configuration mode, you are moved to the interface configuration mode. To back-out one level, use the command ‘exit’. To save your configuration, exit configuration mode and enter the command ‘wr’ (or you can use the command ‘copy running-configuration startupconfiguration’. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 9 of 140 Lab Diagram Your lab network contains the following products: • • • • Cisco Cisco Cisco Cisco Unified Unified Unified Jabber Communications Manager (x2) Communications Manager Session Management Edition (SME) Border Element (CUBE) (x2) for Windows 9.6 client (x2) Each pod of this lab accommodates up to two students. Every pod is identical with the exception of the IP addresses and phone numbers. This manual is customized for your assigned pod number, but you may also refer to the online documentation at http://siplab.ciscolive.com for details. All these devices are located in a Cisco lab and the connection back to the lab is via a VPN connection. To connect to the lab, click on the link to the VPN connection on the siplab.ciscolive.com site if the connection has not already been established for you. The following diagram is a high-level topology of the devices you will be configuring in the lab. Your CUBE routers will also connect to a simulated PSTN network as well. You will be configuring all the components shown in the diagram below. 10.0.110.11 10.0.110.10 10.0.110.1 2 10.0.110.40 10.0.110.5 0 © 2014 Cisco Systems, Inc. All rights reserved 10.0.110.6 0 Document for POD10. Page 10 of 140 Lab Overview There are several high-level tasks you will complete in this lab: 1. 2. 3. 4. 5. 6. 7. Configure ILS/GDPR Configure Dial Plan and Session Management Edition Configure Trunks and Route String routing Configure static PSTN routes Configure CUBE and High Availability Enable URI Dialing Bonus Troubleshooting section You can find access information to your pod on http://siplab.ciscolive.com © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 11 of 140 Before You Begin Several pieces of the lab have already been pre-configured for you so that you can spend your time focused on learning about ILS, GDPR, Session Management, and CUBE. The following has already been configured for you: • • • • • • IP Addresses IP Routing Unified CM and Unified CM SME are installed Services are activated Jabber endpoints have been added and registered to Unified CM (some configuration changes will be necessary) Users have been added to Unified CM Additionally, there is a simulated service provider network to which you will connect to route calls out to the PSTN. Without further ado, let’s get on with the lab. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 12 of 140 ILS/GDPR Overview ILS provides a mechanism by which Cisco Unified Communications Manager clusters can distribute information amongst each other. URI’s and directory numbers are two of the things that ILS can distribute, but ILS also distributes the list of all clusters that are part of the ILS network. This makes configuration of ILS very simple. If you already have an existing ILS network and want to add another cluster to the topology, you just point the new cluster to any existing cluster in the topology and the new node will automatically learn about all the other clusters in the network and establish replication links to the other clusters as needed. In the following diagram we can see clusters 1 and 2 are already peered with each other using ILS. When Cluster 3 is introduced into the network, you just need to peer to one of the clusters participating in the ILS network. For example, in the diagram above we peer Cluster 3 with Cluster 1. This is what happens: 1. ILS is enabled on Cluster 3 to point towards Cluster 1. 2. Cluster 1 sends the ILS topology to Cluster 3. 3. Cluster 3 then can establish connectivity to the other ILS peers in the network to begin replicating data with them. This is a very high level view of the communications between the clusters. Some important things to keep in mind: 1. The ILS process only runs in the publisher node of Unified Communications Manager cluster. This has changed from Unified CM 9.x where ILS ran on multiple nodes in the cluster. In Unified CM 10.0, advertisements are stored in the local database, so database replication within the cluster takes care of getting advertised data to the subscribers. 2. Clusters can be configured to take one of two roles: SPOKE or HUB as described next. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 13 of 140 Hub or Spoke In an ILS network a cluster can be configured to be a spoke or as a hub. A hub shares information across the network with all other hubs and as well as spokes that are peered to that hub. A spoke only shares the information with its configured hub. All hub clusters form a full mesh for replication. This provides a mechanism for creating structure across an ILS network. Depending on the size of the ILS network the use of a spoke might play a role in your network to reduce the size of the full mesh across Unified Communication Manager clusters. In a scenario where a customer has a Unified CM SME cluster centrally located in the network and various Unified Communications Manager Leaf clusters, the network could be configured as follows: In a hub and spoke topology, the central hub clusters are in charge of relaying the advertisements of the topology to all the spokes. While this topology seems clean it can delay the advertisement of patterns across the network. As a rule a cluster can never be more than 3 hops away from any other cluster. This is because a spoke can only peer with a hub and all hubs are fully meshed. With the default 10 minutes synchronization timer, a new pattern can take up to 30 minutes to propagate across the network in the worst-case scenario, however those timers can be tuned to speed up the replication process. The diagram below shows the time it takes an advertisement to get from one spoke to another in the case where the two spokes are peered with different hub clusters. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 14 of 140 When we look at fully meshed environment where each cluster is a hub, each cluster establishes a full mesh with the other hub members of the ILS network so advertisements only ever take at most one replication cycle to get to other clusters as shown below. From an administrator’s point of view, Unified Communications Manager establishes the full mesh automatically. The administrator only needs to establish a connection to one of the hub clusters in the network and it will establish a connection to all known hub clusters configured in the ILS network. Advertisements ILS/GDPR provides 4 separate “buckets” containing patterns that are shared across the network. 1. 2. 3. 4. Enterprise Alternate Numbers E164 Alternate Numbers Enterprise Patterns E164 Patterns Included with each of these are: 1. Advertised by cluster identifier 2. Route string 3. Updated Sequence Number Each of these plays a key role in how calls are routed across the network. The most important information is the route string. The route string provides the routing information that Unified CM uses to get the call to the correct cluster. ILS/GDPR maps a given URI or Directory Number to a route string. A route string is nothing more than a domain to route the call to. For example, John Chambers’ phone might be registered to the San Jose, CA Unified CM cluster represented by the route string sjc.cisco.com, so the URI chambers@cisco.com will be associated with the route string sjc.cisco.com. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 15 of 140 A cluster still needs to know how to route calls for a given route string. As we will see later, there are different approaches to this. +13912102001 leaf1-POD10-ciscolive leaf1-POD10.ciscolive.com Once a cluster has received and stored information about remote patterns, it is stored locally in the Unified CM database. Database replication takes care of making sure all the subscribers know about the learned advertisement. The distinction between a statically configured Route Pattern and learned Directory Number is that each learned pattern is associated with a route string instead of a device or route list. The diagram below shows what happens when a user dials a pattern that has been learned via GDPR/ILS. leaf2-POD10.ciscolive.com 10.0.110.60 Match:82103001 82103001 Dials:82103001 The user dials 82103001 which matches route string leaf2-POD10.ciscolive.com. Unified CM then does a look up for leaf2-POD10.ciscolive.com which points to a SIP trunk that then routes the call to the cluster with the destination phone. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 16 of 140 Configure ILS on Unified CM SME Edition Log into your Unified CM SME cluster (10.0.110.40) using a web browser and log in to Unified CM Administration. You can also click on the link from the siplab.ciscolive.com site. POD10 SME CM IP Username Password 10.0.110.40 Administrator c1sco123! Task 1: Configure Cluster ID The first step in configuring ILS is to configure the Cluster ID. The Cluster ID is defined under Enterprise Parameters. This step is critical because every cluster in an ILS network must have a unique cluster ID. Follow these steps to configure the cluster ID: 1. Go to System > Enterprise Parameters 2. Enter sme-POD10-ciscolive in the Cluster ID field. 3. Click Save. sme-POD10-ciscolive The ILS configuration section is found in the Advanced Features menu on Unified CM: Task 2: Configure ILS on Unified CM SME Next you will enable ILS to start a new ILS network. In Unified CM SME, perform the following steps: 1. Go to Advanced Features > ILS Configuration 2. Change the Role from Standalone Cluster to Hub Cluster 3. Click the checkbox Exchange Global Dial Plan Replication Data with Remote Clusters © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 17 of 140 4. In the box named Advertised Route String change the configuration that is created by default based on DNS to sme-POD10.ciscolive.com 5. Change the Synchronize Clusters Every to 1. This will speed up the process of advertising patterns in the lab. Changing the value to 1 in a large production environment should be analyzed more carefully. 6. ILS can use two different forms of authentication for the replication network - either TLS certificates or a password. You must choose one method and use it throughout the entire network. To use TLS certificates, you must manually copy certificates between all the clusters so that they will trust each other. With a password you just need to configure the same password on all the clusters. For this lab we will use a password. Under ILS Authentication configure the password c1sco123. 7. Click Save sme-POD10.ciscolive.com Once you click Save, ILS will display a popup window that asks for you to enter a registration server. Because this is the first cluster in the ILS network there is no registration server, so just click OK with the value empty. This will start the ILS process. Once configured, the ILS service will start on the publisher node of the Unified CM Cluster. The bottom of the ILS configuration page should contain a table of established ILS peers. A peer to itself should be on the list. P OD 1 0 © 2014 Cisco Systems, Inc. All rights reserved P OD 1 0 Document for POD10. Page 18 of 140 Configure ILS on Unified Communications Manager Leaf 1 Next you will enable ILS on the other clusters to create the replication network. Following very similar steps that you used to configure ILS on the Unified CM SME cluster, you will configure ILS on the first Leaf Cluster. Use a web browser to connect to the IP address listed below and log in to Unified CM Administration on your first leaf cluster: POD10 CUCM Leaf 1 Username Password 10.0.110.50 Administrator c1sco123! Task 3: Configure Cluster ID Just as before, the first step in setting up ILS is to configure the Cluster ID. This is configured under Enterprise Parameters. Follow these instructions: 1. Go to System > Enterprise Parameters 2. Enter leaf1-POD10-ciscolive in the Cluster ID field. 3. Click Save. leaf1-POD10-ciscolive Task 4: Configure ILS on Unified Communications Manager Leaf 1 Next enable ILS on the cluster and add it to the existing network you configured on the Unified CM SME cluster. 1. 2. 3. 4. 5. 6. 7. Go to Advanced Features > ILS Configuration Change the Role from Standalone Cluster to Hub Cluster Click the checkbox Exchange Global Dial Plan Replication Data with Remote Clusters In the box named Advertised Route String configure leaf1-POD10.ciscolive.com Change Synchronize Clusters Every to 1 Under ILS Authentication, select Use Password and configure c1sco123 as the password. Click Save. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 19 of 140 leaf1-POD10.ciscolive.com For this cluster, you want to peer it with the Unified CM SME cluster you previously configured. Instead of leaving the field blank to register to itself, provide the IP address of the Unified CM SME cluster publisher IP address. For your pod the IP address is 10.0.110.40. Enter this as the Registration Server and click OK. 10.0.110.40 Immediately after activating ILS, you will only see the local cluster on the list. If you refresh the page, you should see the Unified CM SME cluster show up on the list of ILS clusters as well. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 20 of 140 Configure ILS on Unified Communications Manager Leaf 2 Now configure ILS on your second Unified CM cluster just as you did for the first. Log into your second Unified CM cluster (10.0.110.60). Use a Web Browser to connect to the IP address listed below and log in to Unified CM Administration: POD10 CUCM Leaf1 Username Password 10.0.110.60 Administrator c1sco123! Task 5: Configure Cluster ID The first step we will do when configuring ILS is to configure the Cluster ID. Configure the cluster ID under Enterprise Parameters. 1. Go to System > Enterprise Parameters 2. Enter leaf2-POD10-ciscolive for the Cluster ID 3. Click Save leaf2-POD10-ciscolive Task 6: Configure ILS on Unified Communications Manager Leaf 2 Now enable ILS on the second cluster by following these steps: 1. 2. 3. 4. 5. 6. 7. Go to Advanced Features > ILS Configuration Change the Role from Standalone Cluster to Hub Cluster Click the checkbox Exchange Global Dial Plan Replication Data with Remote Clusters In the box named Advertised Route String configure leaf2-POD10.ciscolive.com Change Synchronize Clusters Every to 1 Under ILS Authentication, select Use Password and configure c1sco123 as the password. Click Save leaf2-POD10.ciscolive.com For this cluster, you want to peer it with the Unified CM SME cluster you previously © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 21 of 140 configured. Instead of leaving the field blank to register to itself, provide the IP address of the Unified CM SME cluster publisher IP address. For your POD the IP address is 10.0.110.40. Enter this as the Registration Server and click OK. 10.0.110.40 Once completed this task, you can see the full mesh configuration of the ILS clusters for this POD. Each node will show the peers across the network. Task 7: View ILS Mesh topology To observe the topology established across the ILS peers 1. Go to Advanced > ILS Configuration on any or all of your Unified CM clusters. If you are already on this page, click the Refresh button at the top of the page. 2. At the bottom of the page you will see a table containing the peer status. POD10 P OD 10 POD10 POD10 POD10 POD10 You should see 3 separate Unified Communications Clusters in the topology. These show the role for each of these clusters, the cluster ID and the advertised route string that each cluster is providing. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 22 of 140 Dial Plan for Unified CM Leaf Cluster 1 Before you configure the dial plan components we will spend a few moments going over the dial plan design for this lab to highlight some of the advantages that Unified CM 10.0 and ILS/GDPR provides. Let’s start with one of the leaf clusters. This diagram shows the structure of the calling search spaces, partitions, translation patterns, and domain patterns that will be used to route calls between clusters. The areas highlighted in yellow are the portions related to GDPR. In this simple dial plan, we will only have a single class of service that permits all national and international calls, but the design could be expanded to include various classes of service. We are also using a globalized +E.164 dial plan whereby all patterns are first globalized to +E.164 format before being routed. This allows us to © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 23 of 140 look through the advertised GDPR patterns for a match before attempting to send a call out to the PSTN, thereby facilitating the ability to keep calls on-net if you are dialing an enterprise destination. As mentioned earlier, GDPR routes are placed into one of four “buckets” – Enterprise Alternate Numbers, +E.164 Alternate Numbers, Enterprise Patterns, and +E.164 Patterns. The distinction between a Number and a Pattern is that a Number is a single DN whereas a Pattern may contain wildcards. As you will see later, the two are configured differently. Upon learning patterns from the GDPR network, the patterns/numbers learned from each “bucket” are placed into a user-configurable partition. By default, four partitions are already created for you, however you may change them. To view the configuration of the partitions, navigate to Call Routing > Global Dial Plan Replication > Partitions for Learned Numbers and Patterns. You should see a screen like this: You can see the partitions that are configured by default. Also notice that you can configure whether learned numbers or patterns should be marked as urgent priority or not. This is helpful to avoid inter digit timeout when dialing on-net patterns when you have variable length patterns in your dial plan as well. For example, if you have a pattern for +44! to reach the United Kingdom and are also learning an on-net number of +44234567890, you would want the call to route immediately to that number without having to wait for inter digit timeout. By marking learned numbers as Urgent, you can make this happen. In addition to the four pre-configured partitions, you will be adding the following partitions in the next section: Partition Name Description PT_DN164 All Phone Lines will be in this partition in +E.164 format PT_LocalFeatures Would normally contain things like Call Park Numbers PT_Abbreviated_Dial Patterns for abbreviated 8+7 digit dialing PT_GDPR SIP Domain Patterns to reach Route Strings PT_Local_Translation Would normally contain any local cluster translations © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 24 of 140 PT_Global_Translation Translation Patterns to globalize PSTN calls by stripping off the access code (9) and converting to +E.164 PT_Local_Route_Patterns +E.164 Route Patterns for reaching Local numbers PT_National_Route_Patterns +E.164 Route Patterns for reaching National numbers PT_Intl_Route_Patterns +E.164 Route Patterns for reaching International numbers Let’s configure the partitions for both leaf clusters. Task 8: Configure partitions on Leaf Cluster 1 Use a Web Browser to connect to the IP address listed below and log in to Unified CM Administration: POD10 CUCM Leaf1 Username Password 10.0.110.50 Administrator c1sco123! 1. Go to Call Routing > Class of Control > Partition 2. Click on Add New 3. Now add the following partitions to Leaf Cluster 1 Partitions PT_DN164 PT_LocalFeatures PT_Abbreviated_Dial PT_GDPR PT_Local_Translation PT_Global_Translation PT_Local_Route_Patterns PT_National_Route_Patterns PT_Intl_Route_Patterns 4. Click Save. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 25 of 140 Task 9: Configure CoS Calling Search Space for Leaf Cluster 1 Next configure the calling search spaces on the leaf clusters. You will configure 4 different calling search spaces on this cluster. The following table describes the calling search spaces: CSS Name Description CSS_COS_CiscoLive_International Contains all patterns a phone can reach. These patterns include local patterns to other phones as well as GDPR-learned patterns/numbers and patterns to globalize PSTN-dialed numbers. CSS_COR_CiscoLive_National Contains +E.164 routes for both on-net and off-net patterns to reach national numbers. Used after using translation patterns to globalize numbers to +E.164 format. CSS_COR_CiscoLive_International Contains +E.164 routes for both on-net and off-net patterns to reach international numbers. Used after using translation patterns to globalize numbers to +E.164 format. CSS_Inbound_ILS Only has access to local patterns on the cluster. This will be used as the inbound CSS for SIP trunks from other clusters. To configure the first calling search space on cluster 1, do the following: 1. 2. 3. 4. Go to Call Routing > Class of Control > Calling Search Space Click Add New Under Name enter CSS_COS_CiscoLive_International For the partitions select in the following partitions in this order: CSS_COS_CiscoLive_International PT_DN164 Directory URI PT_LocalFeatures PT_Abbreviated_Dial Global Learned E164 Numbers Global Learned E164 Patterns Global Learned Enterprise Numbers Global Learned Enterprise Patterns PT_GDPR PT_Local_Translation PT_Global_Translation 5. Click Save © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 26 of 140 Task 10: Configure CoR CiscoLive_National CSS 1. Go to Call Routing > Class of Control > Calling Search Space 2. Click Add New. 3. Under Name enter CSS_COR_CiscoLive_National Select the following partitions in this order: CSS_COR_CiscoLive_National PT_DN164 Global Learned E164 Numbers Global Learned E164 Patterns Global Learned Enterprise Numbers Global Learned Enterprise Patterns PT_GDPR PT_National_Route_Patterns 4. Click Save Task 11: Configure CoR CiscoLive_International CSS 1. 2. 3. 4. Go to Call Routing > Class of Control > Calling Search Space Click Add New. Under Name enter CSS_COR_CiscoLive_International Select the following partitions in this order: CSS_COR_CiscoLive_International PT_DN164 Global Learned E164 Numbers Global Learned E164 Patterns Global Learned Enterprise Numbers Global Learned Enterprise Patterns PT_GDPR PT_Intl_Route_Patterns 5. Click Save © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 27 of 140 Task 12: Configure CSS_Inbound_ILS CSS Finally, configure a CSS for the SIP trunks that will be receiving calls from other clusters. 1. Go to Call Routing > Class of Control > Calling Search Space 2. Click Add New. 3. Under Name enter CSS_Inbound_ILS Select the following partitions in this order: CSS_Inbound_ILS PT_DN164 PT_Abbreviated_Dial Directory URI 4. Click Save © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 28 of 140 Configure Translation Patterns for Leaf Cluster 1 Use a Web Browser to connect to the IP address listed below and log in to Unified CM Administration: POD10 CUCM Leaf1 Username Password 10.0.110.50 Administrator c1sco123! Task 13: Configure National Translation Pattern All outbound calls will use an access code of 9 followed by standard North American numbering plan dialing. These calls will be globalized to +E.164 format. For national calls, this means stripping the 9 and prefixing a plus (+). After translating, the pattern uses a CSS that looks for the globalized number amongst the local +E.164 patterns, the GDPR-learned patterns as well as route patterns to the PSTN in case there is no on-net match. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Go to Call Routing > Translation Pattern in Unified CM Administration on Unified CM #1 Click Add New Enter 9.1[2-9]XX[2-9]XXXXXX in the Translation Pattern text box Change the Partition to PT_Global_Translation Change the Calling Search Space to CSS_COR_CiscoLive_National Select the checkbox for Provide Outside Dialtone Select the checkbox Urgent Priority Select the checkbox Do Not Wait for Interdigit Timeout On Subsequent Hops Change Discard Digits to PreDot under Called Party Transformations Enter a + for Prefix Digits (Outgoing Calls) Click Save © 2014 Cisco Systems, Inc. All rights reserved Field Value Translation Pattern 9.1[2-9]XX[2-9]XXXXXX Partition PT_Global_Translation Calling Search Space CSS_COR_CiscoLive_National Discard Digits PreDot Prefix Digits (outgoing) + Document for POD10. Page 29 of 140 Task 14: Configure International Translation Pattern with # Now do the same for international calls. The outside access code is 9 followed by the international access code of 011. You will configure a pattern to strip the 9011 and append a plus (+). We also want to allow users to indicate end of dialing with a trailing # sign, so you must configure two patterns – one with a # and one without. Let’s start with the one that has a #: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Go to Call Routing > Translation Pattern in Unified CM Administration on Unified CM #1 Click Add New Enter 9011.!# in the Translation Pattern text box Change the Partition to PT_Global_Translation Change the Calling Search Space to CSS_COR_CiscoLive_International Select the checkbox for Provide Outside Dialtone Select the checkbox Urgent Priority Select the checkbox Do Not Wait for Interdigit Timeout On Subsequent Hops Change Discard Digits to PreDot Trailing-# under Called Party Transformations. Enter a + for Prefix Digits (Outgoing Calls) Click Save Field Value Translation Pattern 9011.!# Partition PT_Global_Translation Calling Search Space CSS_COR_CiscoLive_International Discard Digits PreDot Trailing # Prefix Digits (outgoing) + ! © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 30 of 140 Task 15: Configure International Translation Pattern without # The last translation pattern is to allow for international dialing without the # to indicate end of dialing. If the pattern doesn’t match an internal pattern via ILS/GDPR, inter digit timeout will occur on this translation and the caller will have to wait due to variable length patterns that exist globally. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Go to Call Routing > Translation Pattern in Unified CM Administration on Unified CM #1 Click Add New Enter 9011.! in the Translation Pattern text box Change the Partition to PT_Global_Translation Change the Calling Search Space to CSS_COR_CiscoLive_International Select the checkbox for Provide Outside Dialtone De-Select the checkbox Urgent Priority De-Select the checkbox Do Not Wait for Interdigit Timeout On Subsequent Hops Change Discard Digits to PreDot under Called Party Transformations. Enter a + for Prefix Digits (Outgoing Calls) Click Save Field Value Translation Pattern 9011.! Partition PT_Global_Translation Calling Search Space CSS_COR_CiscoLive_International Discard Digits PreDot Prefix Digits (outgoing) + ! © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 31 of 140 Configure SIP trunk and Route List to SME in Leaf Cluster 1 There are different ways of routing calls when using GDPR/ILS. Because GDPR simply provides a route string that maps to a dialed number or URI, you can choose how calls to those route strings are actually routed. One approach is to configure trunks directly between clusters so that calls to a specific route string are routed directly to the cluster. This requires forming a full-mesh of SIP trunks between clusters. At this time, ILS does not replicate the SIP trunk information for automatic formation of this mesh. Another approach is to use a generic SIP route pattern to send calls to any route string up to the Unified CM SME cluster and have the specific route strings configured only on Unified CM SME. For this lab, we will use this second approach. Each leaf cluster will be configured with a SIP trunk pointing to the Unified CM SME cluster. Use a Web Browser to connect to the IP address listed below and log in to Unified CM Administration: POD10 CUCM Leaf1 Username Password 10.0.110.50 Administrator c1sco123! Task 16: Configure SIP trunk to Unified CM SME Perform the following steps to add the SIP trunk pointing to the Unified CM SME cluster: 1. Go to Device > Trunk 2. Click Add new 3. Select SIP Trunk 4. Select SIP for Device Protocol 5. Select None(Default) for Trunk Service Type 6. Click Next © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 32 of 140 7. Configure the following parameters: 8. 9. 10. 11. 12. Parameter Configuration Device Name POD10-SME-SIP-TRUNK Device Pool Default Calling Search Space CSS_Inbound_ILS Destination 10.0.110.40 SIP Trunk Security Profile Non Secure SIP Trunk Profile SIP Profile Standard SIP Profile Click Save Click OK on the popup Click Reset. On the Reset popup click Reset Click Close Make sure you reset the trunk as listed in the last two steps, otherwise the SIP trunk will not come up and calls will fail. Task 17: Configure Route Group Now you must configure a route group that contains the SIP trunk pointing to Unified CM SME: 1. 2. 3. 4. 5. 6. Go to Call Routing > Route/Hunt > Route Group Click Add New Enter POD10-RG-SME for the Route Group Name Select POD10-SME-SIP-TRUNK from the Available Devices list Click Add to Route Group Click Save © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 33 of 140 The screen should be similar to the following: POD10-RG-SME POD10-SME-SIP-TRUNK POD10-SME-SIP-TRUNK ( All Ports ) Task 18: Configure Route List Next, associate the route group containing the SIP trunk to a route list. 1. Go to Call Routing > Route/Hunt > Route List 2. Click Add New 3. Configure the following parameters 4. 5. 6. 7. 8. Configuration Parameter Name POD10-RL-SME Cisco Unified Communications Manager Group Default Click Save Click on Add Route Group Select the route group POD10-RG-SME-[NON-QSIG] Click Save Click OK © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 34 of 140 The screen for the Route List should look like this: POD10-RL-SME POD10-RG-SME POD10-RG-SME © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 35 of 140 Dial Plan for Unified CM Leaf Cluster 2 Now you must repeat the same steps for the second leaf cluster. The dial plan is identical on the second cluster. As mentioned earlier, GDPR routes are placed into one of four “buckets” – Enterprise Alternate Numbers, +E.164 Alternate Numbers, Enterprise Patterns, and +E.164 Patterns. The distinction between a Number and a Pattern is that a Number is a single DN whereas a Pattern may contain wildcards. As you will see later, the two are configured differently. Upon learning patterns from the GDPR network, the patterns/numbers learned from each “bucket” are placed into a user-configurable partition. By default, four partitions are already created for you, however you may change them. To view the configuration of the partitions, navigate to Call Routing > Global Dial Plan Replication > Partitions for Learned Numbers and Patterns. You should see a screen like this: You can see the partitions that have already been created for you. Also notice that you can configure whether learned numbers or patterns should be marked as urgent priority or not. This is helpful to avoid inter digit timeout when dialing on-net patterns when you have variable length patterns in your dial plan as well. For example, if you have a pattern for +44! to reach the United Kingdom and are also learning an on-net number of +44234567890, you would want the call to route immediately to that number without having to wait for inter digit timeout. By marking learned numbers as Urgent, you can make this happen. In addition to the four pre-configured partitions, you will be adding the following partitions: Partition Nam e Description PT_DN164 All Phone Lines will be in this partition in +E.164 format PT_LocalFeatures Would normally contain things like Call Park Numbers PT_Abbreviated_Dial Patterns for abbreviated 8+7 digit dialing © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 36 of 140 PT_GDPR SIP Domain Patterns to reach Route Strings PT_Local_Translation Would normally contain any local cluster translations PT_Global_Translation Translation Patterns to globalize PSTN calls by stripping off the access code (9) and converting to +E.164 PT_Local_Route_Patterns +E.164 Route Patterns for reaching Local numbers PT_National_Route_Patterns +E.164 Route Patterns for reaching National numbers PT_Intl_Route_Patterns +E.164 Route Patterns for reaching International numbers Follow these steps to add the partitions to the second leaf cluster: Task 19: Configure partitions on Leaf Cluster 2 Use a Web Browser to connect to the IP address listed below and log in to Unified CM Administration: POD10 CUCM Leaf1 Username Password 10.0.110.60 Administrator c1sco123! 1. Go to Call Routing > Class of Control > Partition 2. Click on Add New 3. Now add the following partitions to Leaf Cluster 2 Partitions PT_DN164 PT_LocalFeatures PT_Abbreviated_Dial PT_GDPR PT_Local_Translation PT_Global_Translation PT_Local_Route_Patterns PT_National_Route_Patterns PT_Intl_Route_Patterns 4. Click Save. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 37 of 140 Task 20: Configure CoS Calling Search Space for Leaf Cluster 2 Next configure the calling search spaces on the leaf clusters. You will configure 4 different calling search spaces on this cluster. The following table describes the calling search spaces: CSS Nam e Description CSS_COS_CiscoLive_International Contains all patterns a phone can reach. These patterns include local patterns to other phones as well as GDPR-learned patterns/numbers and patterns to globalize PSTN-dialed numbers. CSS_COR_CiscoLive_National Contains +E.164 routes for both on-net and off-net patterns to reach national numbers. Used after using translation patterns to globalize numbers to +E.164 format. CSS_COR_CiscoLive_International Contains +E.164 routes for both on-net and off-net patterns to reach international numbers. Used after using translation patterns to globalize numbers to +E.164 format. CSS_Inbound_ILS Only has access to local patterns on the cluster. This will be used as the inbound CSS for SIP trunks from other clusters. To configure the first calling search space on cluster 2, do the following: 1. 2. 3. 4. Go to Call Routing > Class of Control > Calling Search Space Click Add New Under Name enter CSS_COS_CiscoLive_International For the partitions select in the following partitions in this order: CSS_COS_CiscoLive_International PT_DN164 Directory URI PT_LocalFeatures PT_Abbreviated_Dial Global Learned E164 Numbers Global Learned E164 Patterns Global Learned Enterprise Numbers Global Learned Enterprise Patterns © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 38 of 140 PT_GDPR PT_Local_Translation PT_Global_Translation 5. Click Save Task 21: Configure CoR CiscoLive_National CSS 1. 2. 3. 4. Go to Call Routing > Class of Control > Calling Search Space Click Add New. Under Name enter CSS_COR_CiscoLive_National Select the following partitions in this order: CSS_COR_CiscoLive_National PT_DN164 Global Learned E164 Numbers Global Learned E164 Patterns Global Learned Enterprise Numbers Global Learned Enterprise Patterns PT_GDPR PT_National_Route_Patterns 5. Click Save Task 22: Configure CoR CiscoLive_International CSS 1. 2. 3. 4. Go to Call Routing > Class of Control > Calling Search Space Click Add New. Under Name enter CSS_COR_CiscoLive_International Select the following partitions in this order: CSS_COR_CiscoLive_Local Global Learned E164 Numbers Global Learned E164 Patterns Global Learned Enterprise Numbers Global Learned Enterprise Patterns PT_GDPR PT_Intl_Route_Patterns 6. Click Save © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 39 of 140 Task 23: Configure CSS_Inbound_ILS CSS Finally, configure a CSS for the SIP trunks that will be receiving calls from other clusters. 1. 2. 3. 4. Go to Call Routing > Class of Control > Calling Search Space Click Add New. Under Name enter CSS_Inbound_ILS Select the following partitions in this order: CSS_Inbound_ILS PT_DN164 PT_Abbreviated_Dial Directory URI © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 40 of 140 Configure Translation Patterns for Leaf Cluster 2 Use a Web Browser to connect to the IP address listed below and log in to Unified CM Administration: POD10 CUCM Leaf1 Username Password 10.0.110.60 Administrator c1sco123! Task 24: Configure National Translation Pattern All outbound calls will use an access code of 9 followed by standard North American numbering plan dialing. These calls will be globalized to +E.164 format. For national calls, this means stripping the 9 and prefixing a plus (+). After translating, the pattern uses a CSS that looks for the globalized number amongst the GDPR-learned patterns as well as route patterns to the PSTN in case there is no on-net match. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Go to Call Routing > Translation Pattern in Unified CM Administration on Unified CM #2 Click Add New Enter 9.1[2-9]XX[2-9]XXXXXX in the Translation Pattern text box Change the Partition to PT_Global_Translation Change the Calling Search Space to CSS_COR_CiscoLive_National Select the checkbox for Provide Outside Dialtone Select the checkbox Urgent Priority Select the checkbox Do Not Wait for Interdigit Timeout On Subsequent Hops Change Discard Digits to PreDot under Called Party Transformations. Enter a + for Prefix Digits (Outgoing Calls) Click Save Field Value Translation Pattern 9.1[2-9]XX[2-9]XXXXXX Partition PT_Global_Translation Calling Search Space CSS_COR_CiscoLive_National Discard Digits PreDot Prefix Digits (outgoing) + ! © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 41 of 140 Task 25: Configure International Translation Pattern with # Now do the same for international calls. The outside access code is 9 followed by the international access code of 011. You will configure a pattern to strip the 9011 and append a plus (+). We also want to allow users to indicate end of dialing with a trailing # sign, so you must configure two patterns – one with a # and one without. Let’s start with the one that has a #: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Go to Call Routing > Translation Pattern in Unified CM Administration on Unified CM #2 Click Add New Enter 9011.!# in the Translation Pattern text box Change the Partition to PT_Global_Translation Change the Calling Search Space to CSS_COR_CiscoLive_International Select the checkbox for Provide Outside Dialtone Select the checkbox Urgent Priority Select the checkbox Do Not Wait for Interdigit Timeout On Subsequent Hops Change Discard Digits to PreDot Trailing-# under Called Party Transformations. Enter a + for Prefix Digits (Outgoing Calls) Click Save Field Value Translation Pattern 9011.!# Partition PT_Global_Translation Calling Search Space CSS_COR_CiscoLive_International Discard Digits PreDot Trailing # Prefix Digits (outgoing) + ! © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 42 of 140 Task 26: Configure International Translation Pattern without # The last translation pattern is to allow for international dialing without the # to indicate end of dialing. If the pattern doesn’t match an internal pattern via ILS/GDPR, inter digit timeout will occur on this translation and the caller will have to wait due to variable length patterns that exist globally. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Go to Call Routing > Translation Pattern in Unified CM Administration on Unified CM #2 Click Add New Enter 9011.! in the Translation Pattern text box Change the Partition to PT_Global_Translation Change the Calling Search Space to CSS_COR_CiscoLive_International Select the checkbox for Provide Outside Dialtone De-Select the checkbox Urgent Priority De-Select the checkbox Do Not Wait for Interdigit Timeout On Subsequent Hops Change Discard Digits to PreDot under Called Party Transformations. Enter a + for Prefix Digits (Outgoing Calls) Click Save Field Value Translation Pattern 9011.! Partition PT_Global_Translation Calling Search Space CSS_COR_CiscoLive_International Discard Digits PreDot Prefix Digits (outgoing) + ! © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 43 of 140 Configure SIP trunk and Route List to SME in Leaf Cluster 2 There are different ways of routing calls when using GDPR/ILS. Because GDPR simply provides a route string that maps to a dialed number or URI, you can choose how calls to those route strings are actually routed. One approach is to configure trunks directly between clusters so that calls to a specific route string are routed directly to the cluster. This requires forming a full-mesh of SIP trunks between clusters. At this time, ILS does not replicate the SIP trunk information for automatic formation of this mesh. Another approach is to use a generic SIP route pattern to send calls to any route string up to the Unified CM SME cluster and have the specific route strings configured only on Unified CM SME. For this lab, we will use this second approach. Each leaf cluster will be configured with a SIP trunk pointing to the Unified CM SME cluster. Use a Web Browser to connect to the IP address listed below and log in to Unified CM Administration: POD10 CUCM Leaf1 Username Password 10.0.110.60 Administrator c1sco123! Task 27: Configure SIP trunk to Unified CM SME Perform the following steps to add the SIP trunk pointing to the Unified CM SME cluster: 1. Go to Device > Trunk 2. Click Add new 3. Select SIP Trunk 4. 5. 6. 7. Device Protocol will be SIP Trunk Service Type will be None(Default) Click Next Configure the following parameters Parameter Configuration Device Name POD10-SME-SIP-TRUNK Device Pool Default © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 44 of 140 Calling Search Space CSS_Inbound_ILS Destination 10.0.110.40 SIP Trunk Security Profile Non Secure SIP Trunk Profile SIP Profile Standard SIP Profile 8. Click OK on the popup 9. Click Reset. 10. On the Reset popup click Reset. Make sure you reset the trunk as listed in the last two steps, otherwise the SIP trunk will not come up and calls will fail. Task 28: Configure Route Group Now you must configure a route group that contains the SIP trunk pointing to Unified CM SME: 1. 2. 3. 4. 5. 6. Go to Call Routing > Route/Hunt > Route Group Click Add New Enter POD10-RG-SME for the Route Group Name Select POD10-SME-SIP-TRUNK from the Available Devices list Click Add to Route Group Click Save The screen should be similar to the following: POD10-RG-SME POD10-SME-SIP-TRUNK POD10-SME-SIP-TRUNK ( All Ports ) © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 45 of 140 Task 29: Configure Route List Next, associate the route group containing the SIP trunk to a route list. 1. Go to Call Routing > Route/Hunt > Route List 2. Click Add New 3. Configure the following parameters 4. 5. 6. 7. Configuration Parameter Name POD10-RL-SME Cisco Unified Communications Manager Group Default Click Save Click on Add Route Group Select the route group POD10-RG-SME-[NON-QSIG] Click Save The screen for the Route List should look like this: POD10-RL-SME POD10-RG-SME POD10-RG-SME © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 46 of 140 ILS/GDPR with Centralized Unified CM SME As mentioned earlier, ILS/GDPR takes care of replicating number and URI mappings to a route string, but each cluster must be configured to route those route strings. This provides deployment flexibility. ILS/GDPR can be configured such that clusters can route calls from leaf nodes to leaf nodes. While this will work, the configuration can become laborious when a significant number of clusters are in the network because it would require a full mesh of trunks as shown below. With this design, the number of SIP trunks scales exponentially as you add clusters. Another approach is to send all calls to Unified CM SME and let it route calls by route string to each node. The following figure shows the trunk configuration with Unified CM SME. With this design, when a new cluster is introduced into the network, the administrator only needs to add the route string for the new cluster in Unified CM SME. The number of SIP trunks scales linearly as you add clusters. With this configuration, all the leaf clusters are configured to send all calls to the organization’s top-level domain to Unified CM SME. Unified CM SME is then © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 47 of 140 configured with the specific sub-domains matching to the route strings for each cluster. For example, if Cluster 1 learns a pattern or URI from Cluster 2 and that pattern has an associated route string of leaf2-POD10.ciscolive.com, Cluster 1 is configured with a generic pattern of *.ciscolive.com that sends calls to Unified CM SME. Unified CM SME is then configured with a SIP route pattern of leaf2POD10.ciscolive.com pointing to Cluster 2. The following diagram shows this call flow: m co ive ol isc 2- 0. c af le D1 PO om .c c *. e. liv o isc Note that the request URI for the SIP call to Unified CM SME contains the originally dialed number or URI, not the route string. This means that Unified CM SME needs to look in its GDPR table to find the route string for the pattern again. It performs the same ILS/GDPR search and routes the call to the destination because it will contain a specific match for that SIP Route Pattern. Every leaf cluster will contain a single SIP Route Pattern with the wild card *.ciscolive.com pointing to Unified CM SME. In the next section you will configure the SIP route patterns needed to route the calls via the route strings. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 48 of 140 Configure SIP Route String for Unified CM Leaf 1 Use a Web Browser to connect to the IP address listed below and log in to Unified CM Administration: POD10 CUCM Leaf 1 Username Password 10.0.110.50 Administrator c1sco123! Task 30: Configure SIP route string 1. Go to Call Routing > SIP Route Pattern 2. Click Add New 3. Configure the following parameters Parameter Configuration IPV4 Pattern *.ciscolive.com Route Partition PT_GDPR SIP Trunk/Route List POD10-RL-SME 4. Click Save You should have a screen similar to the following: POD10-RL-SME © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 49 of 140 Configure SIP Route String for Unified CM Leaf 2 Use a Web Browser to connect to the IP address listed below and log in to Unified CM Administration: POD10 CUCM Leaf 2 Username Password 10.0.110.60 Administrator c1sco123! Task 31: Configure SIP route string 1. Go to Call Routing > SIP Route Pattern 2. Click Add New 3. Configure the following parameters Parameter Configuration IPV4 Pattern *.ciscolive.com Route Partition PT_GDPR SIP Trunk/Route List POD10-RL-SME 4. Click Save You should have a screen similar to the following: POD10-RL-SME © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 50 of 140 Configure Unified CM SME Dial Plan Now that you have configured the Unified CM Leaf clusters to route calls to the Unified CM SME, you need to configure the dial plan on Unified CM SME. This dial plan is simplified because it does not have a Class of Service and Class of Restriction structure. That is left for the Unified CM leaf clusters to manage. As you may have noticed, Unified CM SME is also participating in the ILS/GDPR network. It is also learning patterns from the network just as the Unified CM Leaf clusters are in this network. Calls that are received from the Unified CM Leaf nodes are routed based on pattern matching to a SIP route string from the advertisements learned across the ILS network. For this lab we are also leveraging Unified CM SME for centralized trunking for PSTN calls. For this reason you will also configure SIP trunks toward the Unified Border element in this network for all Off-Net patterns. Here is the dial plan structure for the Unified CM SME cluster’s calling search space coming from the leaf clusters: For the trunks that we will be defining towards the Unified Border Element, we need to configure the following Calling Search Space. This allows inbound calls from the PSTN to be routed to a leaf cluster by looking up the pattern in GDPR/ILS. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 51 of 140 Task 32: Configure Partitions in Unified CM SME Use a Web Browser to connect to the IP address listed below and log in to Unified CM Administration on your Unified CM SME cluster: POD10 Unified CM SME Username Password 10.0.110.40 Administrator c1sco123! 1. Go to Call Routing > Class of Control > Partitions 2. Click Add New 3. Add the following partitions Partitions PT_GDPR PT_National_Route_Patterns PT_Intl_Route_Patterns The screen should look as follows: PT_GDPR PT_National_Route_Patterns PT_Intl_Route_Patterns 4. Click Save. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 52 of 140 Task 33: Configure Calling Search Space in Unified CM SME You must configure two calling search spaces in Unified CM SME 1. Go to Call Routing > Class of Control > Calling Search Space 2. Click Add New 3. Configure this Calling Search Space with the following parameters Parameter Configuration Name CSS_Inbound_Leaf Selected Partitions Directory URI Global Learned E164 Numbers Global Learned E164 Patterns Global Learned Enterprise Numbers Global Learned Enterprise Patterns PT_GDPR PT_National_Route_Patterns PT_Intl_Route_Patterns 4. Click Save 5. Click Add New 6. Configure the second Calling Search Space with the following parameters Parameter Configuration Name CSS_Inbound_CUBE Selected Partitions Global Learned Global Learned Global Learned Global Learned PT_GDPR E164 Numbers E164 Patterns Enterprise Numbers Enterprise Patterns 7. Click Save Now both calling search spaces should be configured on Unified CM SME. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 53 of 140 Configure SIP Trunks on Unified CM SME You will configure 3 total trunks on Unified CM SME - one for each of the Unified CM Leaf Clusters and one for the Unified Border Element. Use a Web Browser to connect to the IP address listed below and log in to Unified CM Administration: POD10 Unified CM SME Username Password 10.0.110.40 Administrator c1sco123! Task 34: Configure SIP Trunk to Unified CM Leaf 1 1. 2. 3. 4. 5. Go to Device > Trunk Click Add New Select SIP Trunk Device Protocol SIP Trunk Service Type None (Default) 6. Click Next 7. Configure the SIP Trunk with the following parameters 8. 9. 10. 11. 12. Parameter Configuration Device Name POD10-LEAF1-SIP-TRUNK Device Pool Default Calling Search Space CSS_Inbound_Leaf SIP Trunk Security Profile Non Secure SIP Trunk Profile Destination 10.0.110.50 SIP Profile Standard SIP Profile Click Save Click OK on the popup Click Reset On the Reset popup click Reset Click Close Task 35: Configure SIP Trunk to Unified CM Leaf 2 1. Go to Device > Trunk 2. Click Add New 3. Select SIP Trunk © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 54 of 140 4. Device Protocol SIP 5. Trunk Service Type None (Default) 6. Click Next 7. Configure the SIP Trunk with the following parameters 8. 9. 10. 11. 12. Parameter Configuration Device Name POD10-LEAF2-SIP-TRUNK Device Pool Default Calling Search Space CSS_Inbound_Leaf SIP Trunk Security Profile Non Secure SIP Trunk Profile Destination 10.0.110.60 SIP Profile Standard SIP Profile Click Save Click OK on the popup Click Reset On the Reset popup click Reset Click Close Task 36: Configure SIP Trunk to Unified Border Element 1. 2. 3. 4. 5. Go to Device > Trunk Click Add New Select SIP Trunk Device Protocol SIP Trunk Service Type None (Default) 6. Click Next © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 55 of 140 7. Configure the SIP Trunk with the following parameters 8. 9. 10. 11. 12. Parameter Configuration Device Name POD10-CUBE-SIP-TRUNK Device Pool Default Calling Search Space CSS_Inbound_CUBE SIP Trunk Security Profile Non Secure SIP Trunk Profile Destination 10.0.110.10 SIP Profile Standard SIP Profile Click Save Click OK on the popup Click Reset On the Reset popup click Reset Click Close © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 56 of 140 Configure Route Groups and Route Lists in Unified CM SME In Unified CM SME we will need to configure 3 separate Route Groups and Route Lists to point to each individual SIP trunk you just configured. Although the SIP Route Pattern can be associated to a trunk directly, it is best practice to use route lists and route groups. Use a Web Browser to connect to the IP address listed below and log in to Unified CM Administration: POD10 Unified CM SME Username Password 10.0.110.40 Administrator c1sco123! Task 37: Configure Route Group for Unified CM Leaf 1 1. 2. 3. 4. Go to Call Routing > Route/Hunt > Route Group Click Add New Configure the Route Group with the following parameters Configuration Parameter Route Group Name POD10-Leaf1-RG Selected Devices POD10-LEAF1-SIP-TRUNK POD10-Leaf1-RG POD10-CUBE-SIP-TRUNK POD10-LEAF1-SIP-TRUNK POD10-LEAF2-SIP-TRUNK Click Save. POD10-LEAF1-SIP-TRUNK POD10-LEAF1-SIP-TRUNK © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 57 of 140 Task 38: Configure Route Group for Unified CM Leaf 2 1. 2. 3. 4. Go to Call Routing > Route/Hunt > Route Group Click Add New Configure the Route Group with the following parameters Configuration Parameter Route Group Name POD10-Leaf2-RG Selected Devices POD10-LEAF2-SIP-TRUNK POD10-Leaf2-RG POD10-CUBE-SIP-TRUNK POD10-LEAF1-SIP-TRUNK POD10-LEAF2-SIP-TRUNK Click Save. POD10-LEAF2-SIP-TRUNK POD10-LEAF2-SIP-TRUNK Task 39: Configure Route Group for Unified Border Element 1. 2. 3. 4. Go to Call Routing > Route/Hunt > Route Group Click Add New Configure the Route Group with the following parameters Configuration Parameter Route Group Name POD10-CUBE-RG Selected Devices POD10-CUBE-SIP-TRUNK POD10-CUBE-RG POD10-CUBE-SIP-TRUNK POD10-LEAF1-SIP-TRUNK POD10-LEAF2-SIP-TRUNK Click Save. POD10-CUBE-SIP-TRUNK POD10-CUBE-SIP-TRUNK © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 58 of 140 Task 40: Configure Route List for Unified CM Leaf 1 1. 2. 3. 4. 5. 6. 7. 8. 9. Go to Call Routing > Route/Hunt > Route List Click Add New Configure the Route List Information with the following parameters Configuration Parameter Name POD10-Leaf1-RL Unified CM Group Default Click Save Click Add Route Group. Once in Route List Member Information select the Route Group POD10-Leaf1-RL Click Save Click Apply Config Click OK on the popup. POD10-Leaf1-RL POD10-Leaf1-RG POD10-Leaf1-RG Task 41: Configure Route List for Unified CM Leaf 2 1. 2. 3. 4. 5. 6. 7. 8. 9. Go to Call Routing > Route/Hunt > Route List Click Add New Configure the Route List Information with the following parameters Configuration Parameter Name POD10-Leaf2-RL Unified CM Group Default Click Save Click Add Route Group. Once in Route List Member Information select the Route Group POD1-Leaf2-RG Click Save Click Apply Config Click OK on the popup. © 2014 Cisco Systems, Inc. All rights reserved POD10-Leaf2-RL POD10-Leaf2-RG POD10-Leaf2-RG Document for POD10. Page 59 of 140 Task 42: Configure Route List for Unified Border Element 1. 2. 3. 4. 5. 6. 7. 8. 9. Go to Call Routing > Route/Hunt > Route List Click Add New Configure the Route List Information with the following parameters Configuration Parameter Name POD10-CUBE-RL Unified CM Group Default Click Save Click Add Route Group. Once in Route List Member Information select the Route Group POD10-CUBE-RG Click Save Click Apply Config Click OK on the popup. © 2014 Cisco Systems, Inc. All rights reserved POD10-CUBE-RL POD10-CUBE-RG POD10-CUBE-RG Document for POD10. Page 60 of 140 Configure SIP Route Pattern in Unified CM SME As we have mentioned in various parts of the document, we have to configure specific routing for the route string that is advertised by the leaf clusters. You have already configured a SIP Route Pattern of *.ciscolive.com on the leaf clusters that point to the Unified CM SME. Now you have to configure Unified CM SME with two unique SIP Route Patterns. Because ILS is already configured in the network, we can check the ILS peer configuration page to see the different advertised route strings in the network. In Unified CM SME if you go to Advanced Features > ILS Configuration on the bottom of the screen is the peering process. You should see the following: leaf1-POD10.ciscolive.com Leaf1-POD10-ciscolive Leaf2-POD10-ciscolive leaf2-POD10.ciscolive.com sme-POD10-ciscolive sme-POD10.ciscolive.com To reach each of the clusters you need to configure each advertised route string. SIP Route Patterns leaf1-POD10.ciscolive.com leaf2-POD10.ciscolive.com Task 43: Configure SIP Route Pattern for Unified CM Leaf 1 1. Go to Call Routing > SIP Route Pattern 2. Click Add New 3. Configure the SIP Route Pattern with the following parameters Configuration Parameter IPv4 Pattern leaf1-POD10.ciscolive.com Route Partition PT_GDPR SIP Trunk/Route List POD10-Leaf1-RL © 2014 Cisco Systems, Inc. All rights reserved leaf1-POD10.ciscolive.com PT_GDPR POD10-Leaf1-RL Document for POD10. Page 61 of 140 Task 44: Configure SIP Route Pattern for Unified CM Leaf 2 1. Go to Call Routing > SIP Route Pattern 2. Click Add New 3. Configure the SIP Route Pattern with the following parameters Configuration Parameter IPv4 Pattern leaf2-POD10.ciscolive.com Route Partition PT_GDPR SIP Trunk/Route List POD10-Leaf2-RL © 2014 Cisco Systems, Inc. All rights reserved leaf2-POD10.ciscolive.com PT_GDPR POD10-Leaf2-RL Document for POD10. Page 62 of 140 Configure Phone Line in Unified CM Leaf 1 Now that the dial plan is setup between the three clusters, you must configure the line of the phones such that each cluster can advertise the directory numbers into the network. We will be utilizing soft phones for this lab by enabling Phone Mode Jabber client. For each directory number in Unified CM, GDPR/ILS allows you to advertise two different kinds of advertisements: Enterprise Alternate Numbers and +E.164 Alternate Numbers. Although technically speaking you can use these two categories to carry whatever kind of advertisement you want, the intention is that the Enterprise Alternate Number will contain some form of global private dial plan numbering (e.g. site-code based dialing) while the +E.164 Alternate Number will contain the true globally reachable +E.164 number. Use a Web Browser to connect to the IP address listed below and log in to Unified CM Administration: POD10 CUCM Leaf 1 Username Password 10.0.110.50 Administrator c1sco123! Task 45: Configure Global Dial Plan Replication for Phone #1 In Unified Communications Manager 10.x, the administrator is presented with new options when configuring the line. Perform the following steps to configure the line parameters: 1. 2. 3. 4. 5. Go to Device > Phone Click Find You should see the list of phones. Click on the device CSFPOD10USER1 Once in the Phone Configuration, click on Line [1] 6. The line DN has been pre-configured with the +E.164 value for this device. 7. Select PT_DN164 for the Route Partition of this line. 8. Change the Calling Search Space to CSS_COS_CiscoLive_International 9. Click Save 10. Scroll down until you can see two fields; Enterprise Alternate Number and +E.164 Alternate Number 11. Click on Add Enterprise Alternate Number 12. Click on Add +E.164 Alternate Number © 2014 Cisco Systems, Inc. All rights reserved \+13912102001 CSFPOD10USER1 Document for POD10. Page 63 of 140 Task 46: Configure advertisement for Enterprise Alternate Number Now you can configure the advertisement of the directory number into the ILS network in the Enterprise Alternate Number configuration section. 1. Under Number Mask enter 8 followed by 7 X’s (8XXXXXXX). 2. Click Add to Local Route Partition 3. Select the Route Partition named PT_Abbreviated_Dial 4. Click on Advertise Globally via ILS 82102001 This will advertise an enterprise Alternate Number into the network making it possible for users to reach this phone via the abbreviated 8-digit dialed number. The checkbox for Add to Local Route Partition is important here for several reasons. First of all, there are no translation patterns anywhere that translate the Enterprise Alternate Number to the Directory Number on the line. In order to actually reach this pattern, it must be inserted into the local digit analysis engine. You could choose to create a generic translation pattern to accomplish this, however the better approach is just to add each alternate number directly into the digit analysis tree by using this mechanism. Task 47: Configure advertisement for +E.164 Alternate Number Next, configure the +E.164 advertisement. Because the directory numbers you are using are already in +E.164 format, there is no need to apply a mask or add to the local partition as it already exists in the partition configured on the DN. 1. 2. 3. 4. Click Click Click Click Advertise Globally via ILS Save for the Directory Number Apply Config OK on the popup © 2014 Cisco Systems, Inc. All rights reserved +13912102001 Document for POD10. Page 64 of 140 Configure Phone Line in Unified CM Leaf 2 Next, complete the same steps for Unified CM Leaf 2. Use a Web Browser to connect to the IP address listed below and log in to Unified CM Administration: POD10 CUCM Leaf 2 Username Password 10.0.110.60 Administrator c1sco123! Task 48: Configure Global Dial Plan Replication for Phone #1 Perform the following steps to enable advertisements on your first phone. 1. 2. 3. 4. 5. Go to Device > Phone Click Find You should see the list of phones. Click on the device CSFPOD10USER2 Once in the Phone Configuration, click on Line [1] 6. The line DN has been pre-configured with the +E.164 value for this device. 7. Select PT_DN164 for the Route Partition of this line. 8. Change the Calling Search Space to CSS_COS_CiscoLive_International 9. Click Save 10. Scroll down until you can see two fields; Enterprise Alternate Number and +E.164 Alternate Number 11. Click on Add Enterprise Alternate Number 12. Click on Add +E.164 Alternate Number \+13912103001 CSFPOD10USER2 +13912103001 © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 65 of 140 Task 49: Configure advertisement for Alternate Number Now we can configure the advertisement of the directory number into the ILS network. 1. Under Number Mask enter 8 followed by 7 X’s (8XXXXXXX). 2. Click Add to Local Route Partition 3. Select the Route Partition named PT_Abbreviated_Dial 4. Click on Advertise Globally via ILS 82103001 This will advertise an enterprise Alternate Number into the network and add it to the local PT_Abbreviated_Dial partition. Task 50: Configure advertisement for +E.164 Number Do the same for the +E.164 Alternate Number: 1. 2. 3. 4. Click Click Click Click Advertise Globally via ILS Save for the Directory Number Apply Config OK on the popup © 2014 Cisco Systems, Inc. All rights reserved +13912103001 Document for POD10. Page 66 of 140 Validate learned patterns via ILS/GDPR Now that you have configured the Phone Lines to advertise via ILS/GDPR, you can validate that each of the clusters has learned patterns from the other clusters. Use a Web Browser to connect to the IP address listed below and log in to Unified CM Administration: POD10 CUCM Leaf 2 Username Password 10.0.110.60 Administrator c1sco123! You will first be looking at Leaf Cluster 2 to see if it has learned the advertisements from Leaf 1. Remember that ILS replication takes up to 1 minute to go from one hub to another, so Leaf 1 might not have learned the patterns from Leaf 2 yet as you just added those advertisements to Leaf 2. Task 51: Validate learned patterns on Leaf Cluster 2 In Unified CM 10.x, a new menu option exists under Call Routing that contains all the learned and advertised components of Global Dial Plan Replication. This information is also available as part of the Route Plan Report under the Call Routing menu. 1. Go to Call Routing > Global Dial Plan Replication > Learned Numbers This will present the following screen after clicking Find. +13912102001 82102002 POD10 POD10 POD10 POD10 As you can see, Leaf 2 has learned the two separate numbers from Leaf #1. The +E164 number and the enterprise alternate number for the configured phone. You can now test placing calls to these numbers from Leaf 2. Feel free to look at your other clusters (Leaf Cluster 1 and Unified CM SME) to ensure they are learning all the routes from the rest of the network. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 67 of 140 Task 52: Place calls with Cisco Jabber Client Now you can utilize Cisco Jabber client to test calls across the ILS/GDPR network from cluster to cluster. Each POD of the lab has two desktop computers that have Cisco Jabber Client 9.6 installed. If the Jabber Client is not started on the Cisco provided laptop computer, please start the client. The ICON is located on your desktop and looks similar to: Once the client is started it will connect to Unified Communications Manager. Each desktop computer is configured to speak to either Leaf 1 or Leaf 2. POD10user1 is configured to Leaf 1 and POD10user2 is configured for Leaf2. Once the client is started you can validate that the Jabber Client is properly connected to the Unified Communications Manager Server by Selecting Help > Show Connection Status You should see the status for Softphone as connected. Now you can place calls from one Softphone to the next. POD10user1@ 82103001 Dial Digits 82103001 Phone Should Ring POD10user1@ POD10user2@ POD10user2@ You can also place calls by dialing 9 followed by the E.164 for US National numbers. POD10user1@ 913912103001 Dial Digits 913912102001 POD10user1@ © 2014 Cisco Systems, Inc. All rights reserved Phone Should Ring POD10user2@ POD10user2@ Document for POD10. Page 68 of 140 Calls should complete in both directions. You can also complete the call using + dialing. After you are done confirming all the dialing between phones is working, you can move on to completing the PSTN dial plan and CUBE configuration. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 69 of 140 Configure PSTN Route Patterns Leaf Cluster 1 The last step in configuring the dial plan for the leaf clusters is to configure the static route patterns for PSTN access to send calls to the Unified CM SME cluster in case the number is not an on-net number. You will be configuring two static route patterns, one for NANP dialing, +1[2-9]XX[2-9]XXXXXX, and one for international dialing, +[2-9]!. Use a Web Browser to connect to the IP address listed below and log in to Unified CM Administration: POD10 CUCM Leaf 1 Username Password 10.0.110.50 Administrator c1sco123! Task 53: Add US NANP static route pattern on Leaf Cluster 1 To add the first PSTN route pattern, do the following: 1. Go to Call Routing > Route Hunt > Route Pattern 2. Click Add New 3. Configure the Route Pattern with the values defined below: Field Value Route Pattern \+1[2-9]XX[2-9]XXXXXX Route Partition PT_National_Route_Patterns Gateway/Route List POD10-RL-SME P O D 10 -R L -S M E 4. Click Save © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 70 of 140 Task 54: Add International static route pattern on Leaf Cluster 1 Next do the following to add the international dialing pattern. 1. Go to Call Routing > Route Hunt > Route Pattern 2. Click Add New 3. Configure the Route Pattern with the values defined below: Field Value Route Pattern \+[2-9]! Route Partition PT_Intl_Route_Patterns Gateway/Route List POD10-RL-SME P O D 10 -R L -S M E 4. Click Save © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 71 of 140 Configure PSTN Route Patterns Leaf Cluster 2 Repeat the same steps for Leaf Cluster 2. Use a Web Browser to connect to the IP address listed below and log in to Unified CM Administration: POD10 CUCM Leaf 2 Username Password 10.0.110.60 Administrator c1sco123! Task 55: Add US NANP static route pattern on Leaf Cluster 2 First add the NANP pattern 1. Go to Call Routing > Route Hunt > Route Pattern 2. Click Add New 3. Configure the Route Pattern with the values defined below: Field Value Route Pattern \+1[2-9]XX[2-9]XXXXXX Route Partition PT_National_Route_Patterns Gateway/Route List POD10-RL-SME P O D 10 -R L -S M E 4. Click Save © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 72 of 140 Task 56: Add International static route pattern on Leaf Cluster 2 Then add the pattern for International dialing 1. Go to Call Routing > Route Hunt > Route Pattern 2. Click Add New 3. Configure the Route Pattern with the values defined below: Field Value Route Pattern \+[2-9]! Route Partition PT_Intl_Route_Patterns Gateway/Route List POD10-RL-SME P O D 10 -R L -S M E 4. Click Save © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 73 of 140 Configure PSTN Route Patterns Unified CM SME Once the calls reach Unified CM SME, they must go out to the PSTN via the CUBE SIP trunks. You will be configuring two static route patterns to send calls to CUBE. Use a Web Browser to connect to the IP address listed below and log in to Unified CM Administration: POD10 CUCM Leaf 1 Username Password 10.0.110.40 Administrator c1sco123! Task 57: Add US NANP static route pattern on Unified CM SME Perform these steps to add the NANP route pattern. 1. Go to Call Routing > Route Hunt > Route Pattern 2. Click Add New 3. Configure the Route Pattern with the values defined below: Field Value Route Pattern \+1[2-9]XX[2-9]XXXXXX Route Partition PT_National_Route_Patterns Gateway/Route List POD10-CUBE-RL P O D 10 -CU B E -R L 4. Click Save © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 74 of 140 Task 58: Add International static route pattern on Unified CM SME Now add the international route pattern 1. Go to Call Routing > Route Hunt > Route Pattern 2. Click Add New 3. Configure the Route Pattern with the values defined below: Field Value Route Pattern \+[2-9]! Route Partition PT_Intl_Route_Patterns Gateway/Route List POD10-CUBE-RL Urgent Priority Selected P O D 10 -CU B E -R L 4. Click Save © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 75 of 140 CUBE General Configuration Now that you have configured the internal ILS network and are able to place calls between internal phones, you need to configure the pair of Cisco Unified Border Element (CUBE) routers that you will be utilizing as the Session Border Controllers (SBC) to the service provider’s SIP trunk. You will be configuring the ISR CUBEs as a redundant box-to-box system. By configuring redundancy between two separate routers you can provide a mechanism that allows calls to stay active in the event of an error condition such as a power outage, hardware failure, or software failure on one of the two devices. Because you are configuring 2 CUBEs in redundancy mode, each configuration needs to be applied to the separate routers. There is no automatic configuration synchronization between the two routers. The configuration between the two routers is nearly identical with the exception of a few minor differences, so make sure you do not just copy and paste the configuration from one router to the other. It is probably best to have one teammember work on one router while the other works on the second. Task 59: CUBE General Configuration You have already configured this router to disable trusted addresses. This new feature in IOS 15.x is a toll-fraud prevention mechanism. In your private network you can provide specific IP addresses that you wish to permit this device to establish calls with. For the purpose of this lab you have disabled the feature with the following commands: CUBE 1 (config)#voice service voip (conf-voi-serv)#no ip address trusted authenticate CUBE 2 (config)#voice service voip (conf-voi-serv)#no ip address trusted authenticate Now you need to add some additional CUBE-specific configuration to the router. First, enable sip-to-sip connections. By default, Cisco IOS does not permit a call to both originate and terminate on a VoIP call leg; at least one party in the call must be a POTS port. With this command, you are allowing VoIP to VoIP connections as long as both call legs are SIP. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 76 of 140 Enter the following commands in configuration mode on the CUBE router: CUBE 1 (config)#voice service voip (conf-voi-serv)#mode border-element (conf-voi-serv)#allow-connections sip to sip CUBE 2 (config)#voice service voip (conf-voi-serv)#mode border-element (conf-voi-serv)#allow-connections sip to sip Next, enable address hiding. This will force the CUBE to utilize it’s own IP addresses for each of the call legs so that the service provider does not have visibility to your internal IP addressing. Enter the following configuration in configuration mode on the CUBE router: CUBE 1 (config)#voice service voip (conf-voi-serv)#address-hiding CUBE 2 (config)#voice service voip (conf-voi-serv)#address-hiding Next, enable header and mid-call signaling pass-through. When CUBE receives a SIP INVITE, SUBSCRIBE, and NOTIFY message, the header passing command enables passing SIP headers associated with these messages to the other party in the call. The midcall-signaling command distinguishes between the way Unified CME and CUBE handle signaling messages. Most SIP-to-SIP video and SIP-to-SIP re-INVITE based supplementary services require the midcall-signaling command to be configured before configuring other supplementary services. Supplementary service features that are functional without configuring midcall-signaling include: session refresh, fax, and refer-based supplementary services. The midcallsignaling command is for SIP-to-SIP calls only. CUBE 1 (config)#voice service voip (conf-voi-serv)#sip (conf-serv-sip)#header-passing (conf-serv-sip)#midcall-signaling passthru CUBE 2 (config)#voice service voip (conf-voi-serv)#sip (conf-serv-sip)#header-passing (conf-serv-sip)#midcall-signaling passthru The supported codecs are configured via the voice class codec. Configure the following on the CUBE router: CUBE 1 (config)#voice class codec 1 (config-class)#codec preference 1 g711ulaw (config-class)#codec preference 2 g729r8 CUBE 2 (config)#voice class codec 1 (config-class)#codec preference 1 g711ulaw (config-class)#codec preference 2 g729r8 Many customers prefer to use G.729 as the preferred codec to conserve bandwidth over SIP trunks to service providers. Some services only accept G.711. You can define different codec classes and apply them to the different dial-peers based on call flow direction to handle different call types (say Fax pass-through). In © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 77 of 140 our case we will prefer G.711 but still allow G.729 so that Unified CM can negotiate G.729 if necessary. Task 60: Configure media inactivity It is best practice to configure media inactivity timer to tear down calls that are not transmitting RTP in the network. This can happen if there is a failure in the network somewhere that leads to CUBE not being notified that the call has ended. By detecting whether or not the CUBE has received RTP packets for a specified number of minutes, CUBE can automatically tear down orphaned connections. Note that IP phones still send RTP packets even if they are on Mute, so leaving a call muted for an extended period of time will not cause the call to drop. Perform the following configuration to enable media inactivity detection: CUBE 1 (config)#gateway (config-gateway)# media-inactivity-criteria all (config-gateway)# timer receive-rtcp 5 CUBE 2 (config)#gateway (config-gateway)# media-inactivity-criteria all (config-gateway)# timer receive-rtcp 5 Last you must enable the SIP User Agent. This is a global configuration command. CUBE 1 (config)#sip-ua © 2014 Cisco Systems, Inc. All rights reserved CUBE 2 (config)#sip-ua Document for POD10. Page 78 of 140 CUBE Box to Box Redundancy This next section takes you through configuring the box-to-box redundancy features in IOS. Task 61: Configure redundancy between CUBEs The first step in configuring the ISR CUBE for box-to-box redundancy is to enable redundancy under voice service voip. CUBE 1 (config)#voice service voip (conf-voi-serv)#redundancy CUBE 2 (config)#voice service voip (conf-voi-serv)#redundancy Task 62: Configure IPC between CUBEs ISR CUBE redundancy uses Inter-Device Protocol Communication (IPC) to maintain state information between the CUBEs. This allows one CUBE to tell the other about active calls so that, in the event of a failover, the other CUBE already knows what calls were previously set up. CUBE 1 (config)#ipc zone default (config-ipczone)#association 1 (config-ipczone-assoc)#protocol sctp (config-ipc-protocol-sctp)#no shutdown CUBE 2 (config)#ipc zone default (config-ipczone)#association 1 (config-ipczone-assoc)#protocol sctp (config-ipc-protocol-sctp)#no shutdown The association command must match between the two redundant routers for the failover to work. The protocol that we will be utilizing is SCTP (Stream Control Transmission Protocol). Now you can configure the local port and remote destination IP addresses. For the purpose of this lab you will be using the internal CUBE interface to carry the IPC communications between both CUBEs. When configuring the IPC zone, you must define the IP address and port of the local interface. This is the information that will tell IPC on what port he is to listen to for communications from his peer. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 79 of 140 Perform the following configuration on each CUBE to set up the IPC communication local parameters. CUBE 1 CUBE 2 (config)#ipc zone default (config-ipczone)#association 1 (config-ipczone-assoc)#protocol sctp (config-ipc-protocol-sctp)#local-port 5000 (config-ipc-local-sctp)#local-ip 10.0.110.11 (config)#ipc zone default (config-ipczone)#association 1 (config-ipczone-assoc)#protocol sctp (config-ipc-protocol-sctp)#local-port 5000 (config-ipc-local-sctp)#local-ip 10.0.110.12 Once completed, you can configure the remote association to the peer IPC. In this lab the IP address of CUBE1 is 10.0.110.11 and CUBE2 is 10.0.110.12. For the configuration of the local and remote ports, you must point to the opposite router. CUBE 1 (config)#ipc zone default (config-ipczone)#association 1 (config-ipczone-assoc)#protocol sctp (config-ipc-local-sctp)#remote-port 5000 (config-ipc-remote-sctp)#remote-ip 10.0.110.12 CUBE 2 (config)#ipc zone default (config-ipczone)#association 1 (config-ipczone-assoc)#protocol sctp (config-ipc-local-sctp)#remote-port 5000 (config-ipc-remote-sctp)#remote-ip 10.0.110.11 Once completed, the configuration for IPC is done and the configuration should look like this: CUBE 1 ipc zone default association 1 no shutdown protocol sctp local-port 5000 local-ip 10.0.110.11 remote-port 5000 remote-ip 10.0.110.12 CUBE 2 ipc zone default association 1 no shutdown protocol sctp local-port 5000 local-ip 10.0.110.12 remote-port 5000 remote-ip 10.0.110.11 Task 63: Configure track interface objects CUBE is typically deployed using two interfaces: an interface pointing towards the service provider, and an internal interface. When you configure CUBE box-to-box redundancy, one possible failure scenario is that one of the two interfaces on one of the CUBE routers might loose connectivity. In this scenario, it makes sense for the primary function of CUBE to switchover to the standby CUBE so that call routing can continue. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 80 of 140 In this diagram you can see that the service provider interface for CUBE1 has gone down (g0/1). By configuring tracking when the interface on CUBE1 goes down, the CUBE redundancy code forces CUBE1 to reboot so that CUBE2 can take over. Enter the following commands to turn on interface tracking. CUBE 1 (config)# track 1 interface GigabitEthernet0/0 line-protocol (config)# track 2 interface GigabitEthernet0/1 line-protocol CUBE 2 (config)# track 1 interface GigabitEthernet0/0 line-protocol (config)# track 2 interface GigabitEthernet0/1 line-protocol Task 64: Configure HSRP on Inside Interfaces For this lab setup you will be utilizing interface GigabitEthernet0/0 as the inside interface on each CUBE. The IP address for interface GigabitEthernet0/0 is 10.0.110.11 on CUBE1 and 10.0.110.12 on CUBE2. That configuration is already completed; please don’t modify. Next you must configure the HSRP address for the inside interface. When configuring HSRP with groups it’s important that both routers share the same HSRP group so that the multicast address used to exchange HSRP keepalives matches between the routers. Enter the following configuration to enable HSRP on the inside interface: CUBE 1 (config)#interface GigabitEthernet0/0 (config-if)#standby 110 ip 10.0.110.10 CUBE 2 (config)#interface GigabitEthernet0/0 (config-if)#standby 110 ip 10.0.110.10 Task 65: HSRP Tracking and Priorities For proper functionality of CUBE, both interfaces of the same group have to be configured with the same priority. This reason for this has to do with pre-emption. With disparate priorities the highest priority router always pre-empts the standby. This will cause problems for CUBE upon the return of a higher priority router after recovering from an HA event. When using the IP address as the tiebreaker, preemption doesn’t force a change in the state of HSRP. To ensure that the same router is active for both the service provider facing and internal interfaces, we have to make sure that the IP address is configured such that one side always wins for both interfaces. HSRP uses the higher IP address as the tiebreaker. In the following example you can see an example: © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 81 of 140 For the purpose of this lab, we have configured the IP addresses for you. CUBE 2 will be the highest priority. In the event of a failure of CUBE 2, CUBE 1 will take over functionality for the network. When CUBE2 returns from it’s HA event, CUBE2 will not preempt CUBE1 because the priorities are the same. Task 66: Configure HSRP delay timers You will be making a change to the delay timers for HSRP. You want to make sure that during the reboot of a standby HSRP group router, the HSRP state doesn’t go active before the interface has actually gone into an active/operational state. CUBE 1 (config)#interface GigabitEthernet0/0 (config-if)# standby delay minimum 30 reload 60 (config-if)# standby version 2 (config-if)# bfd interval 500 min_rx 500 multiplier 3 CUBE 2 (config)#interface GigabitEthernet0/0 (config-if)# standby delay minimum 30 reload 60 (config-if)# standby version 2 (config-if)# bfd interval 500 min_rx 500 multiplier 3 Task 67: Configure HSRP group name Now you are going to configure a name for this HSRP group. This will be used to tie the HSRP group to the redundancy application. The redundancy application will use this interface as its keepalive mechanism. CUBE 1 (config)#interface GigabitEthernet0/0 (config-if)# standby 110 name box2boxcube © 2014 Cisco Systems, Inc. All rights reserved CUBE 2 (config)#interface GigabitEthernet0/0 (config-if)# standby 110 name box2boxcube Document for POD10. Page 82 of 140 Task 68: Verify configuration of HSRP on Internal Interfaces At this point the configuration of the HSRP interfaces on the routers should be: CUBE 1 interface GigabitEthernet0/0 ip address 10.0.110.11 255.255.255.128 standby delay minimum 30 reload 60 standby 110 ip 10.0.110.10 standby 110 name box2boxcube CUBE 2 interface GigabitEthernet0/0 ip address 10.0.110.12 255.255.255.128 standby delay minimum 30 reload 60 standby 110 ip 10.0.110.10 standby 110 name box2boxcube You can then verify that HSRP is active and working between the two routers with the show standby command. CUBE 1 #show standby GigabitEthernet0/0 – Group 110 State is Standby 5 state changes, last state change 22:21:32 Virtual IP address is 10.0.110.10 Active virtual MAC address is 0000.0c07.ac65 Local virtual MAC address is 0000.0c07.ac65 (v1 default) Hello time 3 sec, hold time 10 sec Next hello sent in 1.456 secs Active router is 10.0.110.12, priority 100 (expires in 8.624 sec) Standby router local Priority 100 (configured 100) Track object 2 state Up decrement 10 Group name is "box2boxcube" (cfgd) CUBE 2 #show standby GigabitEthernet0/0 – Group 110 State is Active 5 state changes, last state change 22:21:32 Virtual IP address is 10.0.110.10 Active virtual MAC address is 0000.0c07.ac65 Local virtual MAC address is 0000.0c07.ac65 (v1 default) Hello time 3 sec, hold time 10 sec Next hello sent in 1.456 secs Active router is local Standby router is 10.0.110.11, priority 100 (expires in 8.624 sec) Priority 100 (configured 100) Track object 2 state Up decrement 10 Group name is "box2boxcube" (cfgd) Note: Which router becomes the active and standby in your topology depends on the order in which you have configured them. Don’t worry about this for now. We will reload the router later to get everything synced up. Task 69: Configure Service Provider HSRP Interface Similar to the inside interface configuration, configure HSRP for the service provider interface, GigabitEthernet0/1. The configuration should be as follows: CUBE 1 (config)#interface GigabitEthernet0/1 (config-if)#standby delay minimum 30 reload 60 (config-if)#standby 210 ip 10.0.224.109 © 2014 Cisco Systems, Inc. All rights reserved CUBE 2 (config)#interface GigabitEthernet0/1 (config-if)#standby delay minimum 30 reload 60 (config-if)#standby 210 ip 10.0.224.109 Document for POD10. Page 83 of 140 Task 70: Configure Redundancy Inter-device Now you can start the process of creating the inter-dependency between the CUBE redundancy functionality and HSRP. One of the two routers may fail (depending on the HSRP state) – keep reading on. CUBE 1 (config)#redundancy inter-device (config-red-interdevice)#scheme standby box2boxcube CUBE 2 (config)#redundancy inter-device (config-red-interdevice)#scheme standby box2boxcube The command scheme standby box2boxcube refers to the HSRP configuration group name. One of the two routers may show the error when you enter the scheme standby box2boxcube command: % Standby scheme configuration cannot be processed now group box2boxcube is not in active state This is because the router wants the HRSP group to be active before allowing you to enter this command. The router still takes the command even though it displays this message. For redundancy to function, a router reload is required. Save the configuration and reload the router (if you already reloaded one of the two above, so it’s not necessary to reload it again). CUBE 1 #wr Building configuration… [OK] # reload CUBE 2 #wr Building configuration… [OK] # reload The router reload will take approximately 4 – 5 minutes. After the router has finished reloading, you can examine the state of the application redundancy with the command show redundancy states. The active/standby states may be reversed in your set up. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 84 of 140 CUBE 1 CUBE 2 #show redundancy states my state = 8 -STANDBY HOT peer state = 13 -ACTIVE Hardware Mode = Duplex #show redundancy states my state = 13 -ACTIVE peer state = 8 -STANDBY HOT Unit ID = 0 Hardware Mode = Duplex Maintenance Mode = Disabled Manual Swact = cannot be initiated from this the standby unit Communications = Up Maintenance Mode = Disabled Manual Swact = enabled Communications = Up client count = 13 client_notification_TMR = 60000 milliseconds RF debug mask = 0x0 client count = 13 client_notification_TMR = 60000 milliseconds RF debug mask = 0x0 Unit ID = 0 You can now proceed to configure the CUBE SIP functions. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 85 of 140 CUBE Server Groups If you have been working with IOS voice configuration for years, you may be most familiar with dial-peer configurations where a dial-peer exists with a destination pattern for each of the Unified Communication Manager nodes that CUBE wants to send calls to. As an example, with a cluster of Unified Communication Manager of 8 call processing nodes, you would have to configure a total of 8 dial-peers for each pattern you want to send to Unified CM. This means if you had 3 different patterns pointing to the cluster, you would need 24 dial-peers. A new feature introduced in CUBE release 10.0 will significantly reduce the count of dial-peers in a Border Element. This feature is called destination server group. This feature is configured as a voice class function outside of the dial-peers and then assigned to a dial peer instead of a session target pointing to an individual IP address. Task 71: Define internal server groups CUBE 1 (config)#voice class server-group 1 (config-class)#ipv4 10.0.110.40 CUBE 2 (config)#voice class server-group 1 (config-class)#ipv4 10.0.110.40 While our configuration is simple in this lab, you would configure in your own production environment the IP addresses of all the Unified Communication Manager call processing nodes under the same server-group. Task 72: Define external ( service provider ) server groups You will now configure the next sever group that points towards the service provider SBC that is part of this lab. You will configure these with a preference state to favor a specific destination IP address. CUBE 1 (config)#voice class server-group 2 (config-class)#ipv4 10.0.224.101 preference 1 (config-class)#ipv4 10.0.224.102 preference 2 © 2014 Cisco Systems, Inc. All rights reserved CUBE 2 (config)#voice class server-group 2 (config-class)#ipv4 10.0.224.101 preference 1 (config-class)#ipv4 10.0.224.102 preference 2 Document for POD10. Page 86 of 140 E164 Dial Maps In Cisco Unified Border Element release 8 and higher, a feature called E164 number maps was introduced. This functionality makes it possible to group various E164 numbers under a single dial-peer. This can be used for both destination and incoming called-number functions of dial-peers since the release of Unified Border Element 10 (prior to release 10, it was only available for destination-patterns, but not incoming called-number). Task 73: Configure internal E164 Dial Map CUBE 1 (config)#voice class e164-pattern-map 1 (config-class)# e164 391210.... CUBE 2 (config)#voice class e164-pattern-map 1 (config-class)# e164 391210.... Now we can configure the E164 Dial Map for PSTN destinations Task 74: Configure service provider E164 Dial Map CUBE 1 (config)#voice class e164-pattern-map 2 (config-class)# e164 +1[2-9]..[2-9]...... (config-class)# e164 +[2-9]T CUBE 2 (config)#voice class e164-pattern-map 2 (config-class)# e164 +1[2-9]..[2-9]...... (config-class)# e164 +[2-9]T Dial Peer Maps are a very powerful feature that combined with server groups has the potential to simplify a Unified Border Element configuration significantly from the past. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 87 of 140 CUBE Dial Peers Task 75: Configure Dial Peers between CUBE and Unified CM SME When configuring dial-peers with redundant CUBEs it is important that the dialpeers match between both routers. If not, depending on which CUBE is active, different behavior will occur. You will first configure the dial-peer that matches numbers owned by your enterprise and routes them to the SME cluster for further processing. SME will then leverage GDPR/ILS to find the correct destination cluster. Recall that you only have two number ranges that route into your site – one for each Unified CM cluster. The service provider is routing calls to you as a 10-digit national number. You can tell CUBE to send any calls that arrive with a called party of 391210.... to SME by configuring the following dial-peer. CUBE 1 (config)# dial-peer voice 101 voip (config-dial-peer)# destination e164-pattern-map 1 CUBE 2 (config)# dial-peer voice 101 voip (config-dial-peer)# destination e164-pattern-map 1 You also want to anchor calls that originate from your network to this dial-peer. To accomplish this, you will utilize the incoming called configuration command on the dial-peer. Remember that every call that traverses CUBE has an inbound and outbound dialpeer match. The inbound peer determines any settings relevant to the inbound call leg (e.g. codecs, DTMF configuration, etc...). The outbound dial peer does the same for the outbound call leg. It is always a good practice with CUBE or Unified CME to ensure that calls are always assigned (or anchored) to a configured dial-peer. If not you can run into matching the default dial-peer, dial-peer 0, which may not have the parameters you want to apply for that session. This is why you use the command incoming called to catch the inbound call leg. You will repeat the same to anchor the inbound calls from the PSTN on the second dial-peer. Another way to accomplish the same goal is to have separate dial-peers that only contain the incoming © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 88 of 140 called and no destination pattern. Calls that originate from the enterprise will be sent to CUBE in a globalized +E.164 format. Configure the following dial-peer command to anchor incoming calls from SME to this dial peer. We will now utilize the second e164 pattern map that contains both possible PSTN destination patterns we configured under e164-pattern-map 2. CUBE 1 (config)# dial-peer voice 101 voip (config-dial-peer)# incoming called e164-pattern-map 2 CUBE 2 (config)# dial-peer voice 101 voip (config-dial-peer)# incoming called e164-pattern-map 2 You want to make sure that for any calls matching this dial-peer the only protocol used is SIP. The command is session protocol sipv2. You also want to force the protocol to UDP only. UDP is the only transport supported for redundant CUBE. CUBE 1 (config)# dial-peer voice 101 voip (config-dial-peer)# session protocol sipv2 (config-dial-peer)# session transport udp CUBE 2 (config)# dial-peer voice 101 voip (config-dial-peer)# session protocol sipv2 (config-dial-peer)# session transport udp Next, specify the destination IP that is the target for this dial-peer. The destination is that of SME that was configured in our server-group 1. This option in the dialpeer configuration will NOT be visible until session protocol sipv2 is configured. This is because the server-group feature is only available for SIP dial peers. CUBE 1 (config)# dial-peer voice 101 voip (config-dial-peer)# session server-group 1 CUBE 2 (config)# dial-peer voice 101 voip (config-dial-peer)# session server-group 1 Two additional commands are important - the DTMF relay configuration and the maximum connections. For the purpose of this lab we are going to keep the maximum number of connections at 5 and will be using RFC2833 as our DTMF transport. You will also assign the voice class codec you configured previously. CUBE 1 (config)# dial-peer (config-dial-peer)# (config-dial-peer)# (config-dial-peer)# (config-dial-peer)# voice 101 voip max-conn 5 dtmf-relay rtp-nte voice-class codec 1 no vad CUBE 2 (config)# dial-peer (config-dial-peer)# (config-dial-peer)# (config-dial-peer)# (config-dial-peer)# voice 101 voip max-conn 5 dtmf-relay rtp-nte voice-class codec 1 no vad Now any calls received by CUBE from the PSTN to an internal extension will be sent to Unified CM SME by this dial-peer. NOTE: These DID numbers are not reachable from the PSTN as they are using a fictitious area code, however a subsequent section will allow you to configure real © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 89 of 140 DIDs and map them to some of your phones. You will be able to place calls to the real PSTN from your Jabber Client once the configuration is completed correctly. Task 76: Configure redundancy bind Now you can configure the bind between the dial-peer and the interface. There are two commands you will be using on each dial peer. Media and signaling each are configured with separate bind commands: Configure the following commands on the dial-peer: CUBE 1 (config)# dial-peer voice 101 voip (config-dial-peer)# voice-class sip bind control source-interface GigabitEthernet0/0 (config-dial-peer)# voice-class sip bind media source-interface GigabitEthernet0/0 CUBE 2 (config)# dial-peer voice 101 voip (config-dial-peer)# voice-class sip bind control source-interface GigabitEthernet0/0 (config-dial-peer)# voice-class sip bind media source-interface GigabitEthernet0/0 With this configuration, any calls that arrive from the Unified CM SME destined to the PSTN will use the configuration from this dial-peer. Creating separate dialpeers is not necessary but is a good practice to enable finer control of calls to/from the PSTN. Examples might include control of Delayed Offer to Early Offer based on direction. The most critical aspect to this practice is to avoid a call falling into dialpeer 0, a default dial-peer in IOS. The final configuration for the dial-peers between CUBE and SME is: CUBE 1 dial-peer voice 101 voip max-conn 5 destination e164-pattern-map 1 session protocol sipv2 session transport udp incoming called e164-pattern-map 2 voice-class codec 1 voice-class sip bind control source-interface GigabitEthernet0/0 voice-class sip bind media source-interface GigabitEthernet0/0 dtmf-relay rtp-nte no vad © 2014 Cisco Systems, Inc. All rights reserved CUBE 2 dial-peer voice 101 voip max-conn 5 destination e164-pattern-map 1 session protocol sipv2 session transport udp incoming called e164-pattern-map 2 voice-class codec 1 voice-class sip bind control source-interface GigabitEthernet0/0 voice-class sip bind media source-interface GigabitEthernet0/0 dtmf-relay rtp-nte no vad Document for POD10. Page 90 of 140 Task 77: Configure Dial Peer between CUBE and the Service Provider For the PSTN side of the CUBE you will create a dial-peer. Configure the following dial-peer for outbound calls to the PSTN from CUBE. This dial-peer is also matched for inbound calls from the PSTN. CUBE 1 (config)# dial-peer voice 201 voip (config-dial-peer)# incoming called e164-pattern-map 1 (config-dial-peer)# max-conn 5 (config-dial-peer)# destination e164-pattern-map 2 (config-dial-peer)# session protocol sipv2 (config-dial-peer)# session transport udp (config-dial-peer)# session server-group 2 (config-dial-peer)# dtmf-relay rtp-nte (config-dial-peer)# voice-class codec 1 (config-dial-peer)# voice-class sip bind control source-interface GigabitEthernet0/1 (config-dial-peer)# voice-class sip bind media sourceinterface GigabitEthernet0/1 (config-dial-peer)# no vad CUBE 2 (config)# dial-peer voice 201 voip (config-dial-peer)# incoming called e164-pattern-map 1 (config-dial-peer)# max-conn 5 (config-dial-peer)# destination e164-pattern-map 2 (config-dial-peer)# session protocol sipv2 (config-dial-peer)# session transport udp (config-dial-peer)# session server-group 2 (config-dial-peer)# dtmf-relay rtp-nte (config-dial-peer)# voice-class codec 1 (config-dial-peer)# voice-class sip bind control source-interface GigabitEthernet0/1 (config-dial-peer)# voice-class sip bind media sourceinterface GigabitEthernet0/1 (config-dial-peer)# no vad At this point the dial-peer configuration should be as follows: CUBE 1 dial-peer voice 101 voip max-conn 5 session protocol sipv2 session transport udp session server-group 1 destination e164-pattern-map 1 incoming called e164-pattern-map 2 voice-class codec 1 voice-class sip bind control source-interface GigabitEthernet0/0 voice-class sip bind media source-interface GigabitEthernet0/0 dtmf-relay rtp-nte no vad ! dial-peer voice 201 voip session protocol sipv2 session transport udp session server-group 2 destination e164-pattern-map 2 incoming called e164-pattern-map 1 voice-class codec 1 voice-class sip bind control source-interface GigabitEthernet0/1 voice-class sip bind media source-interface GigabitEthernet0/1 dtmf-relay rtp-nte ! CUBE 2 dial-peer voice 101 voip max-conn 5 session protocol sipv2 session transport udp session server-group 1 destination e164-pattern-map 1 incoming called e164-pattern-map 2 voice-class codec 1 voice-class sip bind control source-interface GigabitEthernet0/0 voice-class sip bind media source-interface GigabitEthernet0/0 dtmf-relay rtp-nte no vad ! dial-peer voice 201 voip session protocol sipv2 session transport udp session server-group 2 destination e164-pattern-map 2 incoming called e164-pattern-map 1 voice-class codec 1 voice-class sip bind control source-interface GigabitEthernet0/1 voice-class sip bind media source-interface GigabitEthernet0/1 dtmf-relay rtp-nte ! After adding the dial-peers the first time, you must once again reload the routers. If you do not reload the router at this point, CUBE will send INVITEs out using the physical interface address instead of the virtual HRSP address. This is only necessary the first time you configure the router. You should be able to add additional dial-peers on the fly after this without having to reboot again. To save the configuration and reload the routers, do the following: © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 91 of 140 CUBE 1 CUBE 2 # wr Building configuration… [OK] # reload # wr Building configuration… [OK] # reload After the router reboots, check the state of the application redundancy with the command show redundancy states. The active/standby states may be reversed. Generally the router you rebooted first should come up as the active CUBE. At this point, even though you have a working configuration, you are missing a key component. Currently the PSTN is sending 10-digit NANP numbers to CUBE, but SME is expecting to see numbers globalized in +E.164 format. Similarly, the PSTN will not accept numbers in +E.164 format and the numbers have to be localized to the NANP format. As a result, in the current state, calls will fail. This is a good opportunity to enable CCSIP message debugs on the router to see the calls failing and determine the root cause of the failure. Task 78: Enable CCSIP debugs on Active Cube First verify the active ISR CUBE router in your lab. The command is # show standby brief One CUBE will be active the second will be standby. On the active CUBE enter the following debug command. # clear log Clear logging buffer [confirm] # debug ccsip messages <Press Return> The routers are configured to send all messages to the log. Once you have enabled the debugs on the router, place a call to a PSTN phone number. Use one of your Jabber clients to dial 9 + 1 + 10 digits, for example, 919199915678. Once the call has failed, you can view the debugs in the log with the following commands to turn off debugging and then show the log: # no debug all # show log In the logs, you should see an INVITE from your SME cluster destined to the phone number you dialed. It will look something like this: © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 92 of 140 Jun 5 11:20:15.052: //-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg: Received: INVITE sip:+19199915678@10.0.110.10:5060 SIP/2.0 Via: SIP/2.0/TCP 10.0.110.40:5060;branch=z9hG4bK1a15dfea59 From: <sip:+13912022001@10.0.110.40>;tag=37~8f9b5fdf-9764-44ac-82c2-37e28db8ff1f-20316794 To: <sip:+19199915678@10.0.110.10> Date: Tue, 05 Jun 2012 18:20:15 GMT Call-ID: 1778df00-fce14ddf-d-2866000a@10.0.102.40 Supported: timer,resource-priority,replaces Min-SE: 1800 User-Agent: Cisco-CUCM9.0 Allow: INVITE, OPTIONS, INFO, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY CSeq: 101 INVITE Expires: 180 Allow-Events: presence, kpml Supported: X-cisco-srtp-fallback,X-cisco-original-called Call-Info: <sip: 10.0.110.40:5060>;method="NOTIFY;Event=telephone-event;Duration=500" Cisco-Guid: 0393797376-0000065536-0000000013-0677773322 Session-Expires: 1800 P-Asserted-Identity: <sip:+13912022001@10.0.110.40> Remote-Party-ID: <sip:+13912022001@10.0.110.40>;party=calling;screen=yes;privacy=off Contact: <sip:+13912022001@10.0.110.40:5060;transport=tcp> Max-Forwards: 68 Content-Length: 0 If you do not see any debugs at all, you may have an issue further upstream. The problem may be that your Unified CM is not sending the call to SME, or SME is not sending the call to CUBE. Contact a lab proctor for help if you are not seeing the INVITE. If your dial-peer matching is configured correctly, you should then see another INVITE sent out to one of the two PSTN SBC’s. You will then see CUBE send a 100 Trying message back to the SME cluster and receive a 100 Trying from the PSTN. You should then see the PSTN cluster respond with an error as follows: Jun 5 11:20:15.076: //74/1778DF000000/SIP/Msg/ccsipDisplayMsg: Received: SIP/2.0 404 Not Found Via: SIP/2.0/UDP 10.0.224.29:5060;branch=z9hG4bK17187 From: <sip:+13912022001@10.0.224.29>;tag=17C388-415 To: <sip:+19199915678@10.0.224.102>;tag=205030~7607a476-c715-48ae-9c26-7d7ede79762845449815 Date: Tue, 05 Jun 2012 18:20:15 GMT Call-ID: EE5188D7-AE7111E1-8072B792-6968135D@10.0.224.29 CSeq: 101 INVITE Allow-Events: presence Reason: Q.850;cause=1 Content-Length: 0 This message indicates that the PSTN is unable to route the call to the number provided. If you look at the INVITE that went out to the PSTN, you will see that the call is being sent to the +E.164 address, however the PSTN is expecting an NANPformatted number. This normalization can be handled in several ways. You could do it in SME or CUBE. On CUBE you can do it either as the call arrives into CUBE or as the call is going out from CUBE. The next section goes into the localization and normalization of numbers in CUBE. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 93 of 140 Configure CUBE Dial Plan Normalization Because most service providers don’t accept numbers in +E.164 format, you will have to convert from +E.164 to NANP numbering on egress and convert from NANP to +E.164 on ingress. CUBE can do this either as a call comes into CUBE (on the inbound dial-peer before a destination-pattern match) or on egress (after a destination-pattern match on the outbound dial-peer). In this lab, you will do the translation on the outbound dial peer. The primary reason for doing this is to prevent routing loops where CUBE sends a call from the PSTN back out to the PSTN. You need to normalize both the calling and called party numbers for presentation purposes. Task 79: Convert from +E.164 to NANP for Called Numbers to the PSTN The first translation you are going to configure is going to convert from +E.164 to NANP for numbers CUBE receives from SME. National numbers will just get the + removed while international numbers will have the + removed and 011 prefixed (the international access code for the NANP). CUBE 1 (config)# voice translation-rule 101 (cfg-translation-rule)# rule 1 /^\+\(1[2-9]..[29]......\)/ /\1/ (cfg-translation-rule)# rule 2 /^\+\([2-9]\)/ /011\1/ CUBE 2 (config)# voice translation-rule 101 (cfg-translation-rule)# rule 1 /^\+\(1[2-9]..[29]......\)/ /\1/ (cfg-translation-rule)# rule 2 /^\+\([2-9]\)/ /011\1/ Let’s examine what the translation rule is doing. This rule matches a +E.164 number and converts it to NANP format. Task 80: Convert from +E.164 to NANP for Calling Numbers to the PSTN You must also convert from +E.164 to NANP for the calling party number. The PSTN expects calling party numbers to be a 10-digit national number. You will also make a provision for an international number to go out as country-code followed by number. This may occur if a call from an international phone is routed on net within your enterprise and then routed out to the PSTN as a toll-bypass call. Configure the following translation rules to transform the calling party numbers: © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 94 of 140 CUBE 1 (config)# voice translation-rule 102 (cfg-translation-rule)# rule 1 /^\+1\([2-9]..[29]......\)/ /\1/ (cfg-translation-rule)# rule 2 /^\+\([2-9]\)/ /\1/ CUBE 2 (config)# voice translation-rule 102 (cfg-translation-rule)# rule 1 /^\+1\([2-9]..[29]......\)/ /\1/ (cfg-translation-rule)# rule 2 /^\+\([2-9]\)/ /\1/ The difference between this translation rule and the previous is that we want the calling user to be seen without the country code (1) for national numbers. Task 81: Convert Called Number from NANP to +E.164 for Inbound Calls from PSTN You must convert the numbers arriving from the PSTN in NANP format to +E.164 before routing to SME. This will convert from a 10-digit number the service provider is sending to +E.164 by prefixing the digits +1. You will never receive a call destined to anything other than a national number from a US-based service provider, so there is no need to make any provisions for international calls. CUBE 1 (config)# voice translation-rule 201 (cfg-translation-rule)# rule 1 /\([2-9].........\)/ /+1\1/ CUBE 2 (config)# voice translation-rule 201 (cfg-translation-rule)# rule 1 /\([2-9].........\)/ /+1\1/ In this case any number that is 10 digits that starts with [2-9] will match and CUBE will add a +1 to that. Task 82: Convert calling number from NANP to +E.164 for inbound calls from PSTN For calls arriving from the PSTN, CUBE must globalize the calling party number to +E.164 format so that features like the missed calls directory on the phone work without requiring any editing of the phone number. SIP presents one challenge in this regard in that it does not provide a way to distinguish between a national and international calling party number the way that H.323 and ISDN Q.931 do. This means that there is a potential for ambiguity in the calling party number. The safest assumption to make is that a calling party number that is 10 digits long and starts with the digits 2 through 9 is a national number (so it needs a prefix of +1) and any other number is international with the country code and number, so it only needs a prefix of +. If there happens to be a country with a 2-digit country code followed by 8-digit national number that starts with the digits 2 through 9, it will be miscategorized as a US number. The only way around this is if the PSTN starts supporting the sending of numbers in +E.164 format. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 95 of 140 Create the following translation rule to convert from NANP to +E.164 for inbound calls from the PSTN: CUBE 1 (config)# voice translation-rule 202 (cfg-translation-rule)# rule 1 /\([2-9].........\)/ /+1\1/ (cfg-translation-rule)# rule 2 /\([2-9]\)/ /+\1/ CUBE 2 (config)# voice translation-rule 202 (cfg-translation-rule)# rule 1 /\([2-9].........\)/ /+1\1/ (cfg-translation-rule)# rule 2 /\([2-9]\)/ /+\1/ Task 83: Configure Translation profile for inbound dial-peers Now that you have the translations, you can configure the translation profiles that will be applied to the dial-peers. CUBE 1 (config)# voice translation-profile inbound-add-plus (cfg-translation-profile)# translate called 201 (cfg-translation-profile)# translate calling 202 (cfg-translation-profile)# exit (config)# voice translation-profile outbound-stripplus (cfg-translation-profile)# translate called 101 (cfg-translation-profile)# translate calling 102 CUBE 2 (config)# voice translation-profile inbound-add-plus (cfg-translation-profile)# translate called 201 (cfg-translation-profile)# translate calling 202 (cfg-translation-profile)# exit (config)# voice translation-profile outbound-stripplus (cfg-translation-profile)# translate called 101 (cfg-translation-profile)# translate calling 102 Task 84: Add translation profiles to dial-peers Now apply the translation profile to the dial peers. Make sure you configure the correct profile on the dial peers (101 is using the inbound translation profile while the other four use the outbound profile). CUBE 1 (config)# dial-peer voice 101 voip (cfg-translation-profile)# translation-profile outgoing inbound-add-plus (config)# dial-peer voice 201 voip (cfg-translation-profile)# translation-profile outgoing outbound-strip-plus © 2014 Cisco Systems, Inc. All rights reserved CUBE 2 (config)# dial-peer voice 101 voip (cfg-translation-profile)# translation-profile outgoing inbound-add-plus (config)# dial-peer voice 201 voip (cfg-translation-profile)# translation-profile outgoing outbound-strip-plus Document for POD10. Page 96 of 140 Task 85: Place PSTN call from CUCM Place a test call to make sure your PSTN dialing is now working correctly. You can call your mobile phone or dial one of the PSTN phones located throughout the lab. To dial a number outside of the U.S. dial 9 + 011 + country code + number optionally terminated with the # sign. POD10user1@ 9[cell phone]# POD10user1@ Dial Digits 9[PSTN Phone] Phone Should Ring Cell Phone At this point, you should now be able to place outbound calls to the PSTN from any of your phones and dial any phone within your network via ILS/GDPR by dialing either 8+7 digits or by dialing as a PSTN call (which will be routed locally on-net without actually going out to the PSTN). © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 97 of 140 CUBE DO to EO configuration Many service providers require that the SIP INVITE that is sent to their SBC have the SDP already included with the INVITE this is called Early Offer (EO) because the media negotiation information is offered in the INVITE. Until recently, Unified Communications Manager only supported Delayed Offer (DO) unless you insert a Media Termination Point (MTP) for every call through that trunk (which also comes with numerous limitations). This meant that the original INVITE would lack the SDP. CUBE can act as an intermediary and force the call leg that is sent to the provider have the SDP offer in the INVITE. When an INVITE does not contain an SDP offer, this type of call is referred to as a Delayed Offer INVITE. If the INVITE contains SDP, it is an Early Offer INVITE. Unified CM will accept either an Early Offer or Delayed Offer INVITE without issue. CUBE can take an Early Offer and send an Early Offer to the outbound leg, take a Delayed Offer and send a Delayed Offer to the outbound leg, or take a Delayed Offer and send an Early Offer to the outbound leg. It cannot accept an Early Offer and send a Delayed Offer to the outbound leg, but this is not a problem as any RFC 3261 compliant device must support receiving an Early Offer, so there should never be a case where you need to convert from EO to DO. There are two ways to configure DO to EO conversion – at the global level or at the dial-peer level. The global configuration is done under the voice service voip subconfiguration, however for the purpose of this lab you will do the configuration at the dial peer level for more control of exactly when CUBE performs DO to EO conversion. This is the recommended way to deploy this feature. You already have inbound and outbound dial peers to both SME and the service provider’s SBCs. In the following configuration, you will modify the outbound dial peers to the service provider so that CUBE always sends an Early Offer regardless of what it receives on the inbound leg. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 98 of 140 Task 86: Enable DO-EO on Outbound Dial Peers What you must do is force the outbound dial-peer to send early offer only. You must add the command voice-class sip early-offer forced to the two dial peers that point to the service provider’s SBCs. CUBE 1 CUBE 2 (config)# dial-peer voice 201 voip (config-dial-peer)# voice-class sip early-offer forced (config)# dial-peer voice 201 voip (config-dial-peer)# voice-class sip early-offer forced Task 87: Verify EO-DO Configuration You can use SIP debugs to verify that the early offer to delayed offer configuration is working properly. Enable SIP debugs on your active CUBE as follows: # clear log Clear logging buffer [confirm] # debug ccsip messages <Press Return> Now place another call out to the PSTN and then disable debugs and view the log file. # no debug all # show log You should see an INVITE come into CUBE without SDP like this: Jun 5 12:50:49.144: //-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg: Received: INVITE sip:+19196247285@10.0.102.10:5060 SIP/2.0 Via: SIP/2.0/TCP 10.0.102.40:5060;branch=z9hG4bK3524c9c624 From: <sip:+13912022001@10.0.102.40>;tag=83~8f9b5fdf-9764-44ac-82c2-37e28db8ff1f-20316832 To: <sip:+19196247285@10.0.102.10> Date: Tue, 05 Jun 2012 19:50:49 GMT Call-ID: be637800-fce16319-20-2866000a@10.0.102.40 Supported: timer,resource-priority,replaces Min-SE: 1800 User-Agent: Cisco-CUCM9.0 Allow: INVITE, OPTIONS, INFO, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY CSeq: 101 INVITE Expires: 180 Allow-Events: presence, kpml Supported: X-cisco-srtp-fallback,X-cisco-original-called Call-Info: <sip:10.0.102.40:5060>;method="NOTIFY;Event=telephone-event;Duration=500" Cisco-Guid: 3194189824-0000065536-0000000032-0677773322 Session-Expires: 1800 P-Asserted-Identity: <sip:+13912022001@10.0.102.40> Remote-Party-ID: <sip:+13912022001@10.0.102.40>;party=calling;screen=yes;privacy=off Contact: <sip:+13912022001@10.0.102.40:5060;transport=tcp> Max-Forwards: 68 Content-Length: 0 Then you should see an INVITE going out to the PSTN with SDP like this: © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 99 of 140 Jun 5 12:50:49.176: //300/BE6378000000/SIP/Msg/ccsipDisplayMsg: Sent: INVITE sip:19196247285@10.0.224.101:5060 SIP/2.0 Via: SIP/2.0/UDP 10.0.224.29:5060;branch=z9hG4bK3C19EE Remote-Party-ID: <sip:3912022001@10.0.224.27>;party=calling;screen=yes;privacy=off From: <sip:3912022001@10.0.224.29>;tag=6AAE64-978 To: <sip:19196247285@10.0.224.101> Date: Tue, 05 Jun 2012 19:50:49 GMT Call-ID: 954B5A97-AE7E11E1-81AAB792-6968135D@10.0.224.27 Supported: 100rel,timer,resource-priority,replaces,sdp-anat Min-SE: 1800 Cisco-Guid: 3194189824-0000065536-0000000032-0677773322 User-Agent: Cisco-SIPGateway/IOS-15.2.20120302.200531. Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY, INFO, REGISTER CSeq: 101 INVITE Timestamp: 1338925849 Contact: <sip:3912022001@10.0.224.29:5060> Expires: 180 Allow-Events: telephone-event Max-Forwards: 67 Session-Expires: 1800 Content-Type: application/sdp Content-Disposition: session;handling=required Content-Length: 279 v=0 o=CiscoSystemsSIP-GW-UserAgent 9700 8418 IN IP4 10.0.224.29 s=SIP Call c=IN IP4 10.0.224.29 t=0 0 m=audio 16468 RTP/AVP 0 18 101 c=IN IP4 10.0.224.29 a=rtpmap:0 PCMU/8000 a=rtpmap:18 G729/8000 a=fmtp:18 annexb=no a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-16 © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 100 of 140 Enhanced Event Tracing A new feature in Unified Border Element is event tracing for SIP messages. When configured, event tracing makes it possible for CUBE to keep track of calls. It can store SIP messages and CUBE internal call states. These can be kept in memory under a controlled memory space, dumped to file or dumped to external source such as a FTP server. Task 88: Enable monitor event trace The first step to enable monitor event trace is to turn on tracing for both the FSM and MSG components of event-trace. FSM keeps internal information of CUBE call states. These can be used by Cisco in the event of diagnosing an internal problem with CUBE. The MSG component of event-trace stores the different SIP messages that are exchanged between CUBE and it’s destination peers. CUBE 1 (config)# monitor event-trace voip ccsip fsm (config)# monitor event-trace voip ccsip msg CUBE 2 (config)# monitor event-trace voip ccsip fsm (config)# monitor event-trace voip ccsip msg Task 89: Disable event-trace automatic file dump Event-trace can be configured to automatically dump completed calls to files. These can be sent to flash, ftp, tftp or internal harddrive. For the purpose of this lab we will disable the automatic dump functionality and keep the trace in memory and dump the event trace based on a search criteria. CUBE 1 (config)# monitor event-trace voip ccsip dump none CUBE 2 (config)# monitor event-trace voip ccsip dump none Task 90: Configure event-trace memory footprint You will now set a memory limit for event-trace in the memory of the router. In a production environment you can expand and contract this based on the amount of memory that exists in your router. You will set a limit of 100 MB for the purpose of this lab. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 101 of 140 CUBE 1 CUBE 2 (config)# monitor event-trace voip ccsip limit memory 100 (config)# monitor event-trace voip ccsip limit memory 100 With event-trace configured we can now place calls and have them show up in event-trace. First you need to determine what CUBE is the active CUBE in your topology. Issue the command # show standby The active CUBE should be State is Active. This might be your partner’s CUBE. Task 91: Place calls for event-monitor Using the Jabber client place calls to the specified PSTN test number POD10user1@ 9[cell phone]# POD10user1@ Dial Digits 9[PSTN Phone] Phone Should Ring Cell Phone Place various calls for added effect. Once done, we can look at event-monitor to see the calls that are stored internally. The command is: # show monitor event-trace voip ccsip history latest The output will be similar to: --------Cover buff---------buffer-id = 1 ccCallId = 1030 PeerCallId = 1031 Called-Number = +1919XXXXXXX Calling-Number = +13912XXXXXX 8bd64100-2d414633-20-2865000a@10.0.101.40 sip_msgs: Enabled.. Total Traces logged = 14 sip_fsm: Enabled.. Total Traces logged = 32 -------------------------------- Sip-Call-Id = With this information you can the tell event-trace to display more information for a call. From the command that you have issued, gleam the ccCallId field. Then you can use that to specify the call-id to filter inside of event-trace. # show monitor event-trace voip ccsip history filter call-id [Number] all That will dump all the information (both FSM and MSG) for the call with the specified call-id. You can also filter based on the calling or called number. # show monitor event-trace voip ccsip history filter call-num [Number] all Another functionality of event-trace is the ability to dump the contents of the buffers to file. This functionality can be used automatically for all calls or used to just push the contents to file upon user intervention. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 102 of 140 Task 92: Configure dump file destination path Event-trace keeps the information about calls in memory in the buffer we previously specified. The information is stored while memory is available in the platform and is cleared out last call first. You can configure the router to write files to a folder. This can be the local flash or remote FTP or TFTP server. While this can be done automatically for all calls, the performance hit on the platform can be significant if the system has a high rate of Call per Second. When you configure the destination path you don’t automatically dump for each call (that you do separately). You specify the path such that when you tell the system to dump the call it’s placed in the defined path and filename. You will now configure the monitor event-trace destination configuration. Even though we have disabled automatic file dump, we have to give CUBE the information needed to where to place the dump files when we trigger the dump event manually. CUBE 1 CUBE 2 (config)# monitor event-trace voip ccsip dump-file flash:ciscolivetrace.log (config)# monitor event-trace voip ccsip dump-file flash:ciscolivetrace.log With this you will be able to tell the system to dump the information for a specific call. Task 93: Event-trace file dump Place calls from the jabber client towards a PSTN device and hang up to complete the call. POD10user1@ 9[cell phone]# POD10user1@ Dial Digits 9[PSTN Phone] Phone Should Ring Cell Phone Issue the command: # show monitor event-trace voip ccsip history latest To get the list of calls stored in the buffer. With this each call has defined a ccCallID field. This unique field gives you an identifier to dump the buffer content. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 103 of 140 # monitor event-trace voip ccsip history dump filter call-id [ccCallID] pretty When completed you should see that the router writes to flash two files. One contains the meta-data and the second contains the trace logs. You can view these files with the more command. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 104 of 140 CUBE / SME OPTIONS Ping Configuration SIP trunks are peer-to-peer links and, as such, do not normally maintain any kind of registration so that one side can determine whether or not the peer is still available to receive a call. Typically in the event of a failure, an attempt to send an INVITE to a peer will fail and after some timers, the call is rerouted to another peer. This provides redundancy, however it introduces dial delays while the caller waits for the first call to fail. Many SIP devices (including Unified CM, Unified CM SME, and CUBE) support sending a type of keepalive called an out-of-dialog OPTIONS ping to the peer device to determine whether or not the peer is still available to accept calls. For the trunks between Unified CM SME and CUBE as well as the link between CUBE and the Service Provider, this is the best way to ensure fast failover in the event of failure. OPTIONS ping works by periodically sending a SIP OPTIONS message to the peer and expecting a response. Depending on the response (or lack thereof), CUBE will respond by setting the dial peer in service or out of service. When a monitored session target fails to respond (or responds with an error code), the dial-peer is busied out. If an alternate dial-peer is configured for the same destination pattern, the call is attempted on the next preferred dial peer, if no remaining routes are available, CUBE rejects the call immediately which allows the upstream call agent to attempt to reroute if it has another CUBE or gateway it can use to send the call. The response to options ping is considered unsuccessful in the following scenarios: Error Code Description 503 service unavailable 505 sip version not supported no response request timeout All other error codes, including 4XX are considered a valid response and the dial peer is not busied out. This is because a 400-series code generally means the device responding is up and functioning, but likely just does not support the OPTIONS method. When a dial-peer is busied out, CUBE continues attempting to send an OPTIONS ping and the dial-peer is set to active upon receipt of a valid response. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 105 of 140 When using box-to-box redundancy on CUBE, only the active CUBE will send OPTIONS pings. The standby will show the dial-peers in the busyout state until it becomes active. Task 94: Configure OPTIONS ping on CUBE dial-peers Before the release of CUBE 10.0, the options ping configuration was performed on an individual dial-peer basis using the voice-class sip options-keepalive command and all the relevant parameters like timers and retry counts had to be configured on each dial-peer. This configuration is still possible if you are not using the server-groups capability; however, when using server-groups, you must use the new options-keepalive profile construct to enable OPTIONS ping. This profile is then applied to each dial-peer. To enable OPTIONS ping, first create a sip-options-keepalive voice class. You can optionally define the up-interval and down-interval timers and retry count here as well if you wish. For the purpose of this lab we will use the defaults. up-interval seconds— Number of up-interval seconds allowed to pass before marking the UA as unavailable. The range is 5-1200. The default is 60. down-interval seconds — Number of down-interval seconds allowed to pass before marking the UA as unavailable. The range is 5-1200. The default is 30. retry retries — Number of retry attempts before marking the UA as unavailable. The range is 1 to 10. The default is 5 attempts. CUBE 1 (config)# voice class sip-options-keepalive 1 (config-class)# description CiscoLive Options Class (config-class)# transport udp CUBE 2 (config)# voice class sip-options-keepalive 1 (config-class)# description CiscoLive Options Class (config-class)# transport udp Enable OPTIONS ping on the dial-peers facing the service provider by issuing the following commands on the CUBE routers: CUBE 1 (config)# dial-peer voice 201 voip (config-dial-peer)# voice-class sip optionskeepalive profile 1 © 2014 Cisco Systems, Inc. All rights reserved CUBE 2 (config)# dial-peer voice 201 voip (config-dial-peer)# voice-class sip optionskeepalive profile 1 Document for POD10. Page 106 of 140 Configure OPTIONS ping for the peers pointing to Unified CM SME as well with the following commands: CUBE 1 (config)# dial-peer voice 101 voip (config-dial-peer)# voice-class sip optionskeepalive profile 1 CUBE 2 (config)# dial-peer voice 101 voip (config-dial-peer)# voice-class sip optionskeepalive profile 1 Task 95: Configure OPTIONS pings on Unified CM SME To enable OPTIONS pings on the Unified CM SME cluster you must modify the SIP profile used on the SIP trunk to CUBE. You are not allowed to modify the configuration of the Standard SIP Profile, so you must copy the existing one and create new one, then apply the new profile to the SIP trunk that points to CUBE. First create the new SIP Profile: 1. Go to Device > Device Settings > SIP Profile on the Unified CM SME Cluster 2. Click Find 3. Click on Standard SIP Profile 4. Click Copy at the top of the page 5. Change the name to SIP Profile with OPTIONS 6. At the bottom of the page for SIP Profile is the section for SIP Options Ping. 7. Click on Enable OPTIONS Ping to monitor destination status for Trunks with Service Type "None (Default)" 8. Click Save Task 96: Add OPTIONS Ping Profile to the SIP Trunk Finally, you must apply the profile you just created to the SIP trunk going to your CUBE. 1. 2. 3. 4. 5. 6. 7. 8. Go to Device > Trunk on the Unified CM Cluster. Click Find Select the SIP Trunk that goes to CUBE (POD10-CUBE-SIP-TRUNK) Change the SIP Profile (not SIP Security Profile) to SIP Profile with OPTIONS. Click Save Click Reset On the pop up window, click Reset Close the popup window by clicking Close © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 107 of 140 Enabling URI Dialing Up to now you have only dealt with dialing numeric patterns, however URI-based dialing has become more prevalent recently, especially when dealing with video conferencing systems and B2B connections using VCS Expressway. Fortunately, now that you have ILS up and running throughout your network, configuring URI dialing very easy. ILS will replicate the mapping between a URI and a route string just as it does for GDPR numeric patterns and numbers. In Unified CM, a line must always have a directory number. A URI becomes just another alias of that line, similar to the way an Enterprise or +E.164 Alternate number become an alias for the primary DN on the line. There are two ways to associate a URI with a line. The first is to just manually configure the URI on the directory number page. There is a section for Directory URIs the looks like this: Here, you assign the URI, the partition, and you can decide whether or not to advertise the URI to other clusters via ILS. The other way to assign a URI to a line is by using the user directory to assign a directory URI and map that user to a primary extension. All URI’s mapped this way are automatically placed into a partition called the ‘Directory URI’ partition that is pre-installed. Most customers will normally use the second method because it allows the URI to also show up in the user directories on the phone. Let’s go through the steps of adding a URI to a user using this second method. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 108 of 140 Task 97: Create a new End User and associate Primary Extension First connect to leaf cluster 1 using the credentials below: POD10 CUCM Leaf 1 Username Password 10.0.110.50 Administrator c1sco123! The users on this cluster have already been created for you, however the Primary Extension mapping was broken earlier when you changed the partition of the directory number that was configured on your phone. Let’s fix this to fix your URI dialing. Add an end user following these steps: 1. 2. 3. 4. 5. Go to User Management > End Users on the Unified CM Cluster. Click Find Click on your user Scroll down to the Directory Number Associations section You should see the Primary Extension is already set to \+13912102001, however you must change it to \+13912102001 in PT_DN164 6. Click Save. Task 98: Verify Directory URI Mapping At this point the user’s URI should now be associated with the primary extension that is configured for the user. To verify, follow these steps: 1. 2. 3. 4. 5. Go to Device > Phones on the Unified CM Leaf 1 Cluster. Click Find Select the device CSFPOD10USER1 Click on Line[1] Scroll down to the Directory URIs section. You should see the URI you configured on the user page now associated with this line automatically: Notice that the Advertise Globally via ILS checkbox is automatically enabled and you didn’t actually have to configure anything for URI dialing to work globally other than associating the user with the directory number via the Primary Extension. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 109 of 140 Task 99: Check URI replication Within a minute, this URI should replicate to the other clusters in the ILS network. You can verify that the route has been learned on leaf cluster 2 and Unified CM SME by looking at the route plan report. To check that the pattern has been learned, log into your second leaf cluster and follow these instructions: 1. 2. 3. 4. Go to Call Routing > Route Plan Report on the Unified CM Leaf 2 Cluster. Change the Find field to All URIs Click Find You should see POD10user1@ciscolive.com appear on the list with a type of Learned URI and a route string of leaf1-POD10.ciscolive.com. You can now place a test call using URI dialing. This call will go between clusters via the SME cluster. POD10user1@ POD10user2@ciscolive.com Dial URI POD10user2@ciscolive.com POD10user1 © 2014 Cisco Systems, Inc. All rights reserved Phone Should Ring POD10user2@ POD10user2 Document for POD10. Page 110 of 140 SME Normalization Script (Modify Diversion Header) Unified CM 8.5 introduced a new feature called “SIP Normalization and Transparency”. This feature allows you to associate a script with a SIP trunk and execute that script for all calls that traverse the trunk. The scripts are written in a language called Lua (see http://www.lua.org/ for more information), which is a very powerful and efficient language for applications such as this. The normalization and transparency scripts allow an administrator to make numerous modifications to SIP messages as they traverse Unified CM. Modifications can include adding, deleting, or modifying any of the SIP headers, as well as modifying SDP information. This feature also allows Unified CM to transparently pass through unknown headers when interconnecting two devices that leverage proprietary signaling. This feature allows you to solve a variety of interoperability issues in a multi-vendor environment as different vendors sometimes interpret various SIP RFC’s differently or choose to implement some RFC’s and not others. One common use for normalization scripts is to modify the SIP Diversion header. The Diversion header is typically used to indicate the original called party for a given call. For example, if Phone A calls Phone B and Phone B is configured to forward to the PSTN, the calling party number should indicate Phone A’s phone number, but list Phone B in the diversion header. Unified CM provides a variety of mechanisms for modifying the calling and called party numbers as a call traverses through the system, however no such mechanism exists for modifying the redirecting number information carried in the Diversion header. By default, Unified CM will simply present the directory number configured on the line for the original called party. This section will walk you through the process of adding a normalization script to apply a mask to the diversion header. Task 100: Add a new normalization script to SME First you must add the script to Unified CM SME. 1. 2. 3. 4. On your SME cluster go to Device > Device Settings > SIP Normalization Script. Click Add New Enter DiversionMask as the name In the content, add the following script: © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 111 of 140 M = {} local mask = scriptParameters.getValue("Diversion-Mask") function M.outbound_INVITE(message) if mask then message:applyNumberMask("Diversion", mask) end end return M NOTE: You can copy/paste this script from a link provided to you in the lab. 5. Click Save. Task 101: Apply Normalization Script to CUBE SIP Trunk Finally, you must add the newly-created normalization script to the SIP trunk that points to the CUBE. To associate the normalization script to the SIP trunk, do the following: 1. 2. 3. 4. On your SME cluster go to Device > Trunk. Click Find Select the SIP trunk that points to your CUBE router (POD10-CUBE-SIP-TRUNK) Scroll to the bottom of the page and in the Normalization Script menu, select the DiversionMask script 5. In the Parameter Name box, enter Diversion-Mask (this is case-sensitive). 6. In the Parameter Value box, enter XXXXXXXXXX (10 X’s). © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 112 of 140 7. 8. 9. 10. Click Save Click Reset to reset the trunk On the popup that appears, click Reset Click Close © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 113 of 140 Translate Inbound DID to Lab Number As mentioned earlier, the DID numbers assigned to your phones are allocated from a non-existent area code and are therefore unreachable from the PSTN, however we have set up several real DID numbers that are being routed to your CUBE from the service provider. The following section will show you how to accept those numbers and use SME to translate the numbers to two of your phones so you can receive calls from the PSTN. Follow these steps to allow inbound calls from the PSTN. Task 102: Create a new Partition in SME for inbound translations You will create a new partition on SME called InboundTranslations that will be used as the partition for Translation Patterns that will be used to translate the PSTN number to your internal number. 1. On your SME cluster, go to Call Routing > Class of Control > Partition. 2. Click the Add New button 3. Enter InboundTranslations for the name of the new partition and click Save. Task 103: Create a new CSS to restrict access to Inbound Translations You will create a new Calling Search space that will be used for the calling search space of your translation patterns. This CSS will only have access to the GDPRlearned patterns and not to the translations. 1. 2. 3. 4. On your SME cluster, go to Call Routing > Class of Control > Calling Search Space. Click the Add New button Enter CSS_Only_GDPR for the name of the new CSS. Select the following partitions from the Available Partitions list and click the down arrow to add them to the Selected Partitions list. CSS_Only_GDPR Global Learned E164 Numbers Global Learned E164 Patterns Global Learned Enterprise Numbers Global Learned Enterprise Patterns PT_GDPR 5. Click Save. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 114 of 140 Task 104: Add Inbound Translations partition to the Inbound PSTN CSS You must now add the Inbound Translations partition to the CSS used by the PSTN SIP trunk so that calls that come in from the PSTN will search through the translations. 1. 2. 3. 4. On your SME cluster, go to Call Routing > Class of Control > Calling Search Space. Click Find to list all the available Calling Search Spaces. Select the CSS_Inbound_CUBE CSS. Select the InboundTranslations CSS from the list of Available Partitions and move it down to the Selected Partitions. 5. Click Save. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 115 of 140 Task 105: Create Translation Pattern to Translate PSTN number These translation patterns will take the number delivered by the PSTN and translate them to the private numbers we are using for the lab. This will be done at the SME layer which acts as your centralized aggregation point for PSTN routes (both inbound and outbound). You will create one translation pattern to point a DID to a phone registered to Unified CM 1 and another to ring a phone registered with Unified CME. 1. On your SME cluster, go to Call Routing > Translation Patterns. 2. Click Add New 3. Configure the Pattern, Partition, CSS, and Called Party Transform Mask as shown below: POD Translation Pattern Partition CSS Called Party Transformation Mask POD10 \+19194767718 InboundTranslations CSS_Only_GDPR +13912102001 4. De-select Provide Outside Dial Tone 5. Click Save Repeat the same procedure for the DID that points to your second cluster phone as well by referring to the following table. HINT: You can go to the pattern you created in the last step, click Copy, then modify the translation and click Save instead of creating the translation pattern from scratch. POD Translation Pattern Partition CSS Called Party Transformation Mask POD10 \+19194767719 InboundTranslations CSS_Only_GDPR +13912103001 Task 106: Add number to e164 Pattern Map The CUBE configuration must be modified to route the new DID numbers to your SME cluster. With the new e164 Pattern Maps, we just need to add these patterns to the existing pattern-map CUBE 1 (config)# voice class e164-pattern-map 1 (config-class)# e164 919476771[89] © 2014 Cisco Systems, Inc. All rights reserved CUBE 2 (config)# voice class e164-pattern-map 1 (config-class)# e164 919476771[89] Document for POD10. Page 116 of 140 You should now be able to reach two of your phones from the PSTN. Dial +1 (919) 476-7718 from your cell phone or one of the PSTN phones located in the lab to reach your Unified CM phone with extension 2001 or dial +1 (919) 476-7719 to reach your Leaf cluster 2 phone with extension 3001. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 117 of 140 © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 118 of 140 BONUS SECTION Use Session Trace feature to view SIP call flow Unified CM 8.5 and later provides a tracing facility that allows you to view a message sequence diagram for SIP calls that flow through the system. This is especially useful for diagnosing issues with Session Management Edition. The session trace functionality is built-in to the Real-time monitoring tool (RTMT). RTMT is already installed on your workstation, so click the icon on your desktop. Once launched, you will be prompted to log in. Enter the IP address of your SME cluster for the Host IP Address. If prompted to add a certificate to the trust store, select Accept. You will then be prompted with a login window. Enter the SME username and password. After RTMT loads, you will be presented with a window to select a configuration. Just click OK to select the Default configuration. On the left hand pane, select the CallManager option and you will see a Session Trace Log View section under the CallProcess group. You can select Real Time Data to view logs from the server or Open from Local Disk to load files that you have saved locally. In this case, click on Real Time Data. The tool will load and then present you with a window where you can select the search criteria. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 120 of 140 In the search criteria, you may specify a calling number, called number, or both. The * is used as a wildcard. You can also specify the start time to search and the number of minutes beyond the start time as well as the time zone. By default, the tool will set the start time to 30 minutes before the time you launched the tool with a duration of 30 minutes, effectively searching the last 30 minutes of calls. To find a call you have made through your SME cluster, click the Run button. You will see the matching calls. To view the session trace for the call, click the call you want to view and then click the Trace Call button at the bottom of the page. You will see the Analyze Call Diagram window appear with the session trace. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 121 of 140 To see the actual SIP message, click the message that appears on the diagram. NOTE that being able to see the SIP message requires the trace level for the CallManager service be set to Detailed (this has already been done for you). If the trace level is not set correctly, you will see a message indicating that the tool could not find the SIP message. The same is true if the trace files have been overwritten for the timeframe you are looking for. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 122 of 140 © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 123 of 140 Debug SIP call on CUBE You are now going to be user software called TranslatorX to simplify the troubleshooting of calls on CUBE. TranslatorX is a multi-platform software that processes log files from Unified Communications Manager to provide human readable trace information. Translator X is available publicly at: http://translatorx.cisco.com/ TranslatorX can read traces from a variety of Cisco platforms including Cisco IOS Unified Border Element debugs: specifically debug ccsip messages. You will first work on capturing and viewing a call as it passes through the Unified Border Element. Task 107: Initiate debugs on Unified Border Element On the CUBE you want to capture the debugs to logs. You always want to ensure that all debugs go to the log file instead of console. The first reason is the reduction of CPU load on the router. The second, and more important, reason is that there is less chance of missing debug output. To accomplish this you are going to configure the router to send all debugs to the log buffer instead of console. CUBE 1 (config)# no logging console debugging (config)# logging buffered debugging (config)# logging buffered 1000000 CUBE 2 (config)# no logging console debugging (config)# logging buffered debugging (config)# logging buffered 1000000 This will disable debug output to console, push all debugs to the logging buffer and then make sure we have enough space by putting a buffer of 100,000 bytes. Once this is ready, you can then enable debugs and capture the logs. Only the active ISR CUBE we will run these. Let’s make sure that we are on the doing this on the active ISR. CUBE 1 #show standby brief Interface Grp Pri P State Active Gi0/0 101 51 Standby 10.0.110.12 Gi0/1 201 51 Standby 10.0.224.108 CUBE 2 #show standby brief Interface Grp Pri P State Gi0/0 101 51 Active Gi0/1 201 51 Active Active local local Enable the debugs on the router that says it is Active. In this case, CUBE 2 is active. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 124 of 140 # clear log # debug ccsip message Once debugs are enabled, place a call towards the PSTN phone located by your workstation or if you wish to your cell phone or other PSTN number. Once you have established the call, please hang up the call to terminate. Once you have completed this please issue the command: #undebug all Now you can copy the contents of the buffer to a file on the flash of router to copy to your workstation. # show log | redirect flash:debugoutput.log Once this is completed you can copy the file from the router to the workstation. Task 108: Copy log file from CUBE to your Cisco Live Workstation On your computer will be an application called pscp.exe. A member of the Putty secure client applications suite, it permits us to issue an SCP copy to the SCP server configured on the routers. This is just a simple mechanism to be able to copy the files of the router. You could also configure FTP to send the files to an external source. Putty SCP is copied on the root directory of your computer under C:\ . The command to copy the logs of the CUBE is below. The command below is showing the IP address of CUBE 2 (10.0.110.12). If your CUBE 1 router is the active router, then use its IP address instead (10.0.110.11) C:\pscp.exe -scp cladmin@10.0.110.12:/debugoutput.log c:\logs The command will ask for the password to cladmin that is c1sco123. Once copied the file should be located on the root directory of this computer. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 125 of 140 Task 109: Read the log file in Translator X We have pre-installed TranslatorX on the workstations for your usage. This application is available in Windows and Mac OSX. Once you start the application you will be presented with a screen similar to this: Please select the File > Open. Select the debugoutput.log file from the c:\logs directory. Once read, the file should look similar to the following: © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 126 of 140 You can click on each individual line on the tool to get the detailed output of the debug. At the bottom are some default exclusions. These can be used to eliminate messages that we would normally want to ignore like Out of Dial OPTIONS Ping messages (the keepalives from the trunks). One very cool feature of the tool is to provide functionality for ladder diagrams for calls. Because we only have a single call we can just click on the Generate Diagram button at the bottom. This will output the following: © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 127 of 140 If you have done multiple calls you can filter the trace by enabling a filter. On the top of the application is a button named Call List. This command lets you easily create a filter for a particular call. You can examine the debug to see the different messages that the call generated to complete the call to the PSTN. You can also generate more calls and copy those logs back over to your Workstations if you wish to get additional debugs to analyze. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 128 of 140 Detailed tracing on Unified Communications Manager TranslatorX provides the same functionality for troubleshooting calls in Unified Communications Manager. Unified Communications Manager provides extensive details of calls when configured. By default Unified CM is configured for basic tracing, although the 9.0 release actually defaults to Detailed tracing. All versions prior to the 9.0 release default to error level. Even though your clusters are running the 9.0 release, they were previously upgraded from the 8.6 release and as a general rule, defaults are not modified when upgrading, therefore your first step will be to enable detailed tracing. You will enable the tracing all three Unified Communications Servers. IP Address Username Password UCM #1 10.0.110.50 Administrator c1sco123! UCM #2 10.0.110.60 Administrator c1sco123! SME 10.0.110.40 Administrator c1sco123! Task 110: Navigate to Cisco Unified Serviceablity To modify trace levels, you will need to navigate to the UCM Serviceability page. Once that page has loaded, go to Trace > Configuration. Trace configuration is used for many different applications and processes that are part of Unified Communications Manager. In a clustered Unified Communications © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 129 of 140 environment you can enable traces on only particular nodes of the cluster, or you can change the settings for every node of the cluster. Select CM services from the pull-down of the service group and click Go. Next, select the Cisco CallManager service and click Go. Now you can enable tracing Task 111: Enable detailed tracing for Call Manager Service The screen that will be displayed can be a little daunting when first viewed as it has so many options to select from. To simplify the process Cisco has a pull down to set the debug Trace Level. It is beyond the scope of this lab and document to explain all the possibilities, so we will focus on making a single change. Fortunately, because the new default for © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 130 of 140 9.0 is Detailed tracing, just click the button at the top of the page that says Set Default. This should set the Debug Trace Level to Detailed. Once completed please click on Save. Repeat this process for all the three Unified Communications Servers. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 131 of 140 Unified Communications Manager trace collection Now that all Unified Communications Managers are configured for detailed tracing, you can gather logs. Before you start the process of creating of collecting traces, you need to have some calls stored in the logs. You can places calls as you wish. Two good scenarios are a single call to another phone in the internal network (ONNET) and another to a phone OFFNET. POD10user1@ 82103001 Dial Digits 82103001 Phone Should Ring POD10user1@ POD10user1@ 91[cell phone] POD10user2@ POD10user2@ Dial Digits 91[Cell Phone] POD10user1@ Phone Should Ring Cell Phone Once you have placed the necessary calls, do the trace collection as shown below. Task 112: Trace collection with RTMT Trace collection is done with the Real Time Monitoring tool that was used before. If you still have RTMT open, please go to the File Menu and click Log Off. Connect to Unified Communications Manager #1 with the IP address of 10.0.110.50. Once open select Trace & Log Central. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 132 of 140 This will provide you with a popup to select the Services/Application that you wish to collect the files from. Select the Cisco CallManager Service/Application. In a multi node environment you can select All Servers to collect traces from all the nodes then Click Next. Click Next on the next page because you don’t need to pick any other services. A screen will be presented that provides you with the details of what files you plan to get. For the case of this lab tell RTMT to collect the files generated for the last hour. Click on Relative Range and select 1 hour. Then click on the checkbox named Uncompress Log Files. This is an important step for this lab to only get the TXT files instead of a compressed file. Then click on Download File Directory to select the Desktop folder for your workstation. Then click Finish. This will start the process of file collection for this © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 133 of 140 Unified Communications Manager node. Once completed you will be able to find a folder on your Desktop from the node you pulled the traces from. Task 113: Read UCM trace files with TranslatorX Now that you have the log files collected you can read them with TranslatorX. The structure of the trace files is always going to be <CUCM Name>-<date of collection>-cm-trace-ccm-<sdi or sdl> TranslatorX can process SDI trace files in versions of Unified CM prior to 9.0. In the 9.0 release, the contents of the SDI and SDL traces are combined into a single SDL trace file, so for 9.0 TranslatorX reads through the SDL traces. In TranslatorX select File > Open Folder (not File > Open). It will look something similar as the following: Leave the default values and click OK. You will get a window to select the folder to read. You can just click on the Date of the collection – you do not have to click all the way down on the SDL folder. TranslatorX will traverse the whole directory structure automatically. This is especially useful if you have traces from multiple nodes in a cluster. It will read them all at the same time. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 134 of 140 This is a very important feature. In an active Unified Communications Manager system with detailed file traces enabled, the system can write hundreds of files. The tool can read and analyze these in bulk and with its filtering mechanism locate specific calls you may be looking for. Once you have opened the folder you will have a series of messages. It should look similar to the following: © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 135 of 140 After reading the files, Translator X presents you with every message it has read from the files. If you have enabled CDR call records on your Unified Communications Manager (we have enabled these for you) you can see a list of active calls by clicking on the Call List button located on the top. Here you can then enable a filter for a particular call. By selecting the call and clicking on the button Generate Filter Translator X will create a filter for this call. When you go back to the main Translator X screen you can now see a filter is applied. Now we can generate a quick ladder diagram for this call. This functionality is similar to the Session Trace feature we explored earlier in RTMT, but Translator X can provide a much more broad functionality by looking at Unified Communication Manager traces. While Session trace is SIP-only, TranslatorX supports a wide range of protocols. It also works with an ordinary © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 136 of 140 SDI/SDL trace while Session Trace must get its input from the output of the session trace tool itself. Explore some of the functionality in TranslatorX before moving on. Feel free to ask questions of the lab proctors. Task 114: Tracing a call end to end Using the tools presented you can trace a call across all components of the network. By doing a call towards the PSTN we can gather the trace logs from the Unified Communications Manager node, the Unified CM SME Edition and the Unified Border Element. Do this on your own – generate a call to the PSTN, then trace that single call from Unified CM leaf cluster to SME to CUBE. © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 137 of 140 Notes © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 138 of 140 Notes © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 139 of 140 Notes © 2014 Cisco Systems, Inc. All rights reserved Document for POD10. Page 140 of 140