Case Study: Troubleshooting Cisco Unified IP Phone Calls

Troubleshooting Intracluster Cisco Unified IP Phone Calls

The case study in this section discusses in detail the call flow between two Cisco Unified IP Phones within a cluster, called an intracluster call. This case study also focuses on Cisco Unified Communications Manager and Cisco Unified IP Phone initialization, registration, and keepalive processes. A detailed explanation of an intracluster call flow follows the discussion. The explanation of the processes uses the trace utilities and tools that are discussed in Chapter 2, "Troubleshooting Tools."

Sample Topology

You have two clusters that are named Cluster 1 and Cluster 2; the two Cisco Unified Communications Managers in Cluster 1 are called Unified CM3 and Unified CM4, while the two Cisco Unified Communications Managers in Cluster 2 are called Unified CM1 and Unified CM2.

The traces that are collected for this case study come from Unified CM1, which is located in Cluster 2, as shown in Figure 11-1. The two Cisco Unified IP Phones in Cluster 2 provide the basis for the call flow. The IP addresses of these two Cisco Unified IP Phones specify 172.16.70.230 (directory number 1000) and 172.16.70.231 (directory number 1001), respectively.

Cisco Unified IP Phone Initialization Process

Step 1 If you have set the appropriate options in DHCP server (such as Option 066 or Option 150), the Cisco Unified IP Phone sends a request at initialization to the DHCP server to get an IP address, Domain Name System (DNS) server address, and TFTP server name or address. It also gets a default gateway address if you have set these options in the DHCP server (Option 003).

Step 2 If DHCP sends a DNS name of the TFTP sever, you need a DNS server IP address to map the name to an IP address. Bypass this step if the DHCP server sends the IP address of the TFTP server. In this case study, the DHCP server sent the IP address of TFTP because DNS was not configured.

Step 3 If the DHCP reply does not include a TFTP server name, the Cisco Unified IP Phone uses the default server name.

Step 4 The configuration file (.cnf) gets retrieved from the TFTP server. All .cnf files have the name SEP<mac_address>.cnf. If this is the first time that the phone is registering with the Cisco Unified Communications Manager, a default file, SEPdefault.cnf, gets downloaded to the Cisco Unified IP Phone. In this case study, the first Cisco Unified IP Phone uses the IP address 172.16.70.230 (its MAC address is SEP0010EB001720), and the second Cisco Unified IP Phone uses the IP address 172.16.70.231 (its MAC address is SEP003094C26105).

Step 5 All .cnf files include the IP address(es) for the primary and secondary Cisco Unified Communications Manager(s). The Cisco Unified IP Phone uses this IP address to contact the primary Cisco Unified Communications Manager and to register.

Step 6 After the Cisco Unified IP Phone connects and registers with Cisco Unified Communications Manager, the Cisco Unified Communications Manager tells the Cisco Unified IP Phone which executable version (called a load ID) to run. If the specified version does not match the executing version on the Cisco Unified IP Phone, the Cisco Unified IP Phone will request the new executable from the TFTP server and reset automatically.

Cisco Unified Communications Manager Initialization Process

This section explains the initialization process of Cisco Unified Communications Manager with the help of traces that are captured from Unified CM1 (identified by the IP address 172.16.70.228). As described previously, SDI traces provide a very effective troubleshooting tool because they detail every packet that is sent between endpoints.

This section describes the events that occur when Cisco Unified Communications Manager is initialized. Understanding how to read traces will help you to properly troubleshoot the various Cisco Unified Communications Manager processes and the effect of those processes on services such as conferencing and call forwarding.

The following messages from the Cisco Unified Communications Manager SDI trace utility show the initialization process on one of the Cisco Unified Communications Managers, in this case, Unified CM1.

•The first message indicates that Cisco Unified Communications Manager started its initialization process.

•The second message indicates that Cisco Unified Communications Manager read the default database values (for this case, it is the primary or publisher database).

•The third message indicates Cisco Unified Communications Manager received the various messages on TCP port 8002.

Self-Starting Processes

After Cisco Unified Communications Manager is up and running, it starts several other processes within itself. Some of these processes follow, including MulticastPoint Manager, UnicastBridge Manager, digit analysis, and route list. You will find that the messages that are described during these processes are very useful when you are troubleshooting a problem that is related to the features in Cisco Unified Communications Manager.

For example, assume that the route lists are not functioning and are unusable. To troubleshoot this problem, you would monitor these traces to determine whether the Cisco Unified Communications Manager started RoutePlanManager and if it is trying to load the RouteLists. The following sample configuration shows that RouteListName=''ipwan'' and RouteGroupName=''ipwan'' are loading and starting.

The following trace shows the RouteGroup that is adding the device 172.16.70.245, which is Unified CM3 that is located in Cluster 1 and is considered an H.323 device. In this case, the RouteGroup gets created to route calls to Unified CM3 in Cluster 1 with Cisco IOS Gatekeeper permission. If a problem occurs while the call is being routed to a Cisco Unified IP Phone that is located in Cluster 1, the following messages would help you find the cause of the problem.

16:02:51.671 CCM|RouteGroup - DeviceName=''172.16.70.245''

16:02:51.671 CCM|RouteGroup -AllPorts

Part of the initialization process shows that Cisco Unified Communications Manager is adding "Dns" (Directory Numbers). By reviewing these messages, you can determine whether the Cisco Unified Communications Manager read the directory number from the database.

In the following traces, the Device Manager in Cisco Unified Communications Manager statically initializes two devices. The device with IP address 172.17.70.226 represents a gatekeeper, and the device with IP address 172.17.70.245 gets another Cisco Unified Communications Manager in a different cluster. That Cisco Unified Communications Manager gets registered as an H.323 Gateway with this Cisco Unified Communications Manager.

Cisco Unified Communications Manager Registration Process

Another important part of the SDI trace involves the registration process. When a device is powered up, it gets information using DHCP, connects to the TFTP server for its .cnf file, and then connects to the Cisco Unified Communications Manager that is specified in the .cnf file. The device could be an MGCP gateway, a Skinny gateway, or a Cisco Unified IP Phone. Therefore, you need to be able to discover whether devices successfully registered on the Cisco network.

In the following trace, Cisco Unified Communications Manager received new connections for registration. The registering devices comprise MTP_nsa-cm1 (MTP services on Unified CM1) and CFB_nsa-cm1 (Conference Bridge service on Unified CM1). Although these are software services that are running on Cisco Unified Communications Manager, they get treated internally as different external services and therefore get assigned a TCPHandle, socket number, and port number as well as a device name.

Cisco Unified Communications Manager KeepAlive Process

The station, device, or service and the Cisco Unified Communications Manager use the following messages to maintain a knowledge of the communications channel between them. The messages begin the keepalive sequence that ensures that the communications link between the Cisco Unified Communications Manager and the station remains active. The following messages can originate from either the Cisco Unified Communications Manager or the station.

The messages in the following trace depict the keepalive sequence that indicates that the communications link between the Cisco Unified Communications Manager and the station is active. Again, these messages can originate from either the Cisco Unified Communications Manager or the station.

Cisco Unified Communications Manager Intracluster Call Flow Traces

The following SDI traces explore the intracluster call flow in detail. You can identify Cisco Unified IP Phones in the call flow by the directory number (dn), tcpHandle, and IP address. A Cisco Unified IP Phone (dn: 1001, tcpHandle: 0x4fbbc30, IP address: 172.16.70.231) that is located in Cluster 2 calls another Cisco Unified IP Phone in the same cluster (dn=1000, tcpHandle= 0x4fbb150, IP address= 172.16.70.230). Remember that you can follow a device through the trace by looking at the TCP handle value, time stamp, or name of the device. The TCP handle value for the device remains the same until the device is rebooted or goes offline.

The following traces show that the Cisco Unified IP Phone (1001) has gone off hook. The following trace shows the unique messages, TCP handle, and the called number, which display on the Cisco Unified IP Phone. No calling number displays at this point because the user has not tried to dial any digits. The following information displays in the form of Skinny Station messages between the Cisco Unified IP Phones and the Cisco Unified Communications Manager.

The next trace shows Skinny Station messages that go from Cisco Unified Communications Manager to a Cisco Unified IP Phone. The first message turns on the lamp on the calling party Cisco Unified IP Phone.

The following message indicates that the digit analysis process is ready to identify incoming digits and check them for potential routing matches in the database. The entry, cn=1001, represents the calling party number where dd="" represents the dialed digit, which would show the called party number. The phone sends StationInit messages, Cisco Unified Communications Manager sends StationD messages, and Cisco Unified Communications Manager performs digit analysis.

After the Cisco Unified Communications Manager receives enough digits to match, it provides the digit analysis results in a table format. Cisco Unified Communications Manager ignores any extra digits that are pressed on the phone after this point because a match already has been found.

16:05:43.562 CCM|Digit analysis: analysis results

16:05:43.562 CCM||PretransformCallingPartyNumber=1001

|CallingPartyNumber=1001

|DialingPattern=1000

|DialingRoutePatternRegularExpression=(1000)

|PotentialMatches=PotentialMatchesExist

|DialingSdlProcessId=(1,38,2)

|PretransformDigitString=1000

|PretransformPositionalMatchList=1000

|CollectedDigits=1000

|PositionalMatchList=1000

|RouteBlockFlag=RouteThisPattern

The next trace shows that Cisco Unified Communications Manager is sending out this information to a called party phone (the tcpHandle number identifies the phone).

In the following traces, Cisco Unified Communications Manager provides ringer, display notification, and other call-related information to the called party Cisco Unified IP Phone. Again, you can see that all messages get directed to the same Cisco Unified IP Phone because the same tcpHandle gets used throughout the traces.

In the next trace, Cisco Unified Communications Manager provides an alerting or ringing tone to the calling party Cisco Unified IP Phone and provides notification that the connection has been established.

At this point, the called party Cisco Unified IP Phone goes off hook; therefore, Cisco Unified Communications Manager stops generating the ringer tone to calling party.

16:05:45.140 CCM|StationD - stationOutputStopTone tcpHandle=0x4fbbc30

In the following messages, Cisco Unified Communications Manager causes the Skinny Station to begin receiving a Unicast RTP stream. To do so, Cisco Unified Communications Manager provides the IP address of the called party as well as codec information and packet size in msec (milliseconds). PacketSize designates an integer that contains the sampling time, in milliseconds, that is used to create the RTP packets.

Note This value normally gets set to 30 msec. In this case, it gets set to 20 msec.

Cisco Unified Communications Manager received the acknowledgment message from called party for establishing the open channel for RTP stream, as well as the IP address of the called party. This message informs the Cisco Unified Communications Manager of two pieces of information about the Skinny Station. First, it contains the status of the open action. Second, it contains the receive port address and number for transmission to the remote end. The IP address of the transmitter (calling part) of the RTP stream specifies ipAddr, and PortNumber specifies the IP port number of the RTP stream transmitter (calling party).

Cisco Unified Communications Manager uses the following messages to order the station to begin transmitting the audio and video streams to the indicated remote Cisco Unified IP Phone IP address and port number.

In the following traces, the previously explained messages get sent to the called party. The messages that indicate that the RTP media stream started between the called and calling party follow these messages.

The calling party Cisco IP Phone finally goes on hook, which terminates all the control messages between the Skinny Station and Cisco Unified Communications Manager as well as the RTP stream between Skinny Stations.

Troubleshooting Intercluster Cisco Unified IP Phone Calls

The case study in this section examines a Cisco Unified IP Phone that is calling another Cisco Unified IP Phone that is located in a different cluster. Consider this type of call as an intercluster Cisco Unified IP Phone call.

Sample Topology

The following sample topology gets used in this case study. Two clusters, each having two Cisco Unified Communications Managers, and also Cisco IOS Gateways and a Cisco IOS Gatekeeper are in place.

Intercluster H.323 Communication

The Cisco IP Phone in Cluster 1 makes a call to the Cisco Unified IP Phone in Cluster 2. Intercluster Cisco Unified Communications Manager communication takes place by using the H.323 Version 2 protocol. A Cisco IOS Gatekeeper also serves for admission control.

The Cisco Unified IP Phone can connect to the Cisco Unified Communications Manager using Skinny Station protocol, and the Cisco Unified Communications Manager can connect with the Cisco IOS Gatekeeper by using the H.323 Registration, Admission, and Status (RAS) protocol. The admission request message (ARQ) gets sent to the Cisco IOS Gatekeeper, which sends the admission confirmed message (ACF) after making sure that the intercluster call can be made by using H.323 version 2 protocol. After this happens, the audio path gets made by using the RTP protocol between Cisco Unified IP Phones in different clusters.

Call Flow Traces

This section discusses the call flow by using SDI trace examples that are captured in the CCM000000000 file. The traces that are discussed in this case study focus only on the call flow itself.

In this call flow, a Cisco Unified IP Phone (2002) that is located in Cluster 2 calls a Cisco Unified IP Phone (1001) located in Cluster 1. Remember that you can follow a device through the trace by looking at the TCP handle value, time stamp, or name of the device. The TCP handle value for the device remains the same until the device is rebooted or goes offline.

In the following traces, the Cisco Unified IP Phone (2002) went off hook. The trace shows the unique messages, TCP handle, and the calling number, which displays on the Cisco Unified IP Phone. The following debug output shows the called number (1001), H.225 connect, and H.245 confirm messages. The codec type specifies G.711 mu-law.

Failed Call Flow

The following section describes an unsuccessful intercluster call flow, as seen in the SDI trace. In the following traces, the Cisco Unified IP Phone (1001) goes off hook. A TCP handle gets assigned to the Cisco Unified IP Phone.

Now that the digit analysis is completed, the results display in the following traces. Keep in mind that the following PotentialMatches=NoPotentialMatchesExist reference indicates that the Cisco Unified Communications Manager cannot match this directory number. Finally, a reorder tone gets sent to the calling party (1001), which is followed by an on-hook message.