Cisco IOS Voice Troubleshooting and Monitoring Guide
Cisco IOS Voice Troubleshooting and Monitoring Guide
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 Call Legs
♦ 1.1 Figure: Dial Peer Call Legs
• 2 Call Setup Elements
♦ 2.1 Source and Destination POTS Dial Peers
♦ 2.2 Voice Network Dial Peers
◊ 2.2.1 Voice and Billing Application Call Leg
◊ 2.3 Inbound and Outbound Call Legs
♦ 3 Call Setup Process
◊ 3.1 Figure: Call Legs from the Perspective of
the Originating Router
◊ 3.2 Figure: Call Legs from the Perspective of
the Terminating Router
♦ 4 Dial Peer Matching
◊ 4.1 Inbound Dial Peer Matching
⋅ 4.1.1 Dial Peer 0
⋅ 4.1.2 Inbound Dial Peer Configuration
Tips
⋅ 4.2 Outbound Dial Peer Matching
• 4.2.1 DID Configuration
• 4.2.2 Two-Stage Dialing
Configuration
• 4.2.3 Variable-Length Dial
Plans
⋅ 4.3 Voice Network Dial Peer
Matching
⋅ 4.4 POTS Dial Peer Matching
Call Legs
A voice call over a packet network is segmented into discrete call legs. Each call leg is associated with a dial peer.
A call leg is a logical connection between two voice gateways or between a gateway and an IP telephony device
(for example, Cisco CallManager or a session initiation protocol (SIP) server).
An example of POTS and VoIP call legs is shown in Figure: Dial Peer Call Legs.
05/08/11 1
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Figure: Dial Peer Call Legs
Details for the call setup are described in the following sections:
Troubleshooting and debugging should focus first on each leg independently and then on the VoIP call as a
whole.
• Destination gateway
• Cisco CallManager
• SIP server
• Open Settlements Protocol (OSP) server (for VoIP using settlement)
• H.323 gatekeeper
• Mail Transfer Agent (MTA) server (for Multimedia Mail over IP scenarios)
05/08/11 2
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
The specific type of voice-network dial peer used depends on the packet network technology. Different
technologies supported on voice dial peers are as follows:
• Voice over IP (VoIP)-The dial peer is mapped to the IP address, Domain Name System (DNS) name, or
server-type of the destination VoIP device that terminates the call. This mapping applies to all VoIP
protocols such as H.323, SIP, and Media Gateway Control Protocol (MGCP).
• Voice over Frame Relay (VoFR)-The dial peer is mapped to the data-link connection identifier (DLCI) of
the interface from which the call exits the router.
• Voice over ATM (VoATM)-The dial peer is mapped to the ATM virtual circuit for the interface from
which the call exits the router.
• Multimedia Mail over IP (MMoIP)-The dial peer is mapped to the e-mail address of the Simple Mail
Transfer Protocol (SMTP) server. This type of dial peer is used for store-and-forward fax (on-ramp and
off-ramp faxing).
The voice-network dial peer also sets the attributes of the network connection, such as which codec to use, the
capability to do voice activity detection (VAD), and dual-tone multifrequency (DTMF) relay configuration. A
voice network dial peer can point to any device that is compatible with skinny protocol (SCCP), H.323, or SIP.
MGCP configuration on a Cisco IOS gateway does not use voice network dial peers.
An IP call leg can go to an external application server. An example of a Cisco IOS VoiceXML application is
shown in Figure: Cisco IOS VoiceXML Application Components. This call leg is used for voice and billing
applications, such as interactive voice response (IVR).
05/08/11 3
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
leg.
1. The POTS call arrives at the originating gateway, and an inbound POTS dial peer is matched.
Note: At this stage, if configured on the inbound POTS dial-peer, nondefault inbound POTS services or Tool
Command Language (Tcl) applications are used. When you use such services or applications, be certain
that the correct inbound POTS dial peer is matched. Examples of services or applications include:
3. The originating gateway uses the dialed string to match an outbound voice-network dial peer.
4. After the dialed string are associated with an outbound voice network dial peer, the originating gateway creates
an outbound voice-network call leg and assigns it a call ID for the second call leg.
The preceding process is illustrated in Figure: Call Legs from the Perspective of the Originating Router.
5. The voice network call request arrives at the terminating gateway and an inbound voice network dial peer is
matched.
6. After the terminating gateway associates the incoming call to an inbound voice-network dial peer, the
terminating gateway creates the inbound voice-network call leg and assigns it a call ID for the third call leg.
At this point, both gateways negotiate voice-network capabilities and applications (if required). Default
capabilities are not displayed in the gateway Cisco IOS configuration output. Use the show dial-peer
voice command to display the configured capabilities, services, and applications on POTS and
05/08/11 4
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
◊ Default capabilities include codec g729r8, vad enable, dtmf-relay disable, fax-relay disable,
req-qos best-effort, acc-qos best-effort, and session protocol cisco (for H.323).
◊ Examples of Tcl applications include remote IP authentication and off-ramp faxing.
When nondefault capabilities or applications are requested by the originating gateway, the terminating
gateways needs to match an inbound voice network dial peer that is configured for these capabilities or
applications.
7. The terminating gateway uses the dialed string to match an outbound POTS dial peer.
8. After associating the incoming call setup to an outbound POTS dial peer, the terminating gatewaycreates an
outbound POTS call leg, assigns it a call ID, and terminates the call.
The preceding steps are illustrated in Figure: Call Legs from the Perspective of the Terminating Router.
In scenarios where Cisco CallManager is present with a Cisco IOS gateway, the following assumptions apply:
• For inbound calls to Cisco CallManager through a Cisco IOS gateway, the gateway behaves as an
originating device. (See Steps 1 to 4.)
• For outbound calls from Cisco CallManager through a Cisco IOS gateway, the gateway behaves as a
terminating device. (See Steps 5 to 8.)
The destination-pattern parameter on the dial peer command controls call routing. For inbound dial peers, the
destination-pattern parameter is matched against the calling number, or automatic number identifier (ANI)
05/08/11 5
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
string. For outbound dial peers, the destination-pattern parameter is matched against the called number, or
dialed number identification service (DNIS) string. A dial peer with the destination-pattern parameter works for
both outbound and inbound matching.
Multiple dial peers can match a specific digit string. The gateway usually attempts to perform longest-match
routing. For example, if you have two patterns, 555.... and 55501.., and the called party number is 5550123, the
gateway matches the peer with 55501..; however, if the call to that peer fails, the gateway attempts to use the
other matching peer. If more than one peer has the same destination pattern configured, the preference parameter
on the dial peer can resolve the priority. The peer with the lowest preference number has the highest priority.
The operational status for a dial peer must be administratively up and valid for it to be matched. To be considered
operational, dial peers must meet one of the following conditions:
Matching the called party number with the destination-pattern parameter is always used to match an outbound
dial peer. The inbound dial peer does not affect where the call is routed, but it does determine all of the call
properties for the voice network side of the call, regardless of where the outbound peer terminates.The incoming
called-number and answer-address commands are used only to match inbound dial peers. They are not used for
call routing or choosing an outbound dial peer. The incoming called-number command matches based on the
called party number but does not play a role in where the call is routed. It is used only to select the inbound dial
peer. If this match is unsuccessful, the answer-address command tries for a match using the calling party number
information rather than the called party number. If both of these matches fail, the calling party information is
matched against the destination-pattern command configured on the dial peers. On POTS ports, the inbound dial
peer can be matched based on port configuration. If no match can be made, the dial peer 0 attribute is used. See
the Dial Peer 0 for more information about dial peer 0.
For more information about the operational status of dial peers, refer to Understanding the Operational Status of
Dial Peers on Cisco IOS Platforms, document ID 12426.
For more detailed information on dial peer matching, configuration steps, and information about parameters, refer
to "Dial Peer Features and Configuration" in the Dial Peer Configuration on Voice Gateway Routers document.
For additional information about dial peer matching, refer to Understanding Inbound and Outbound Dial Peers
Matching on IOS Platforms, document ID 14074.
To match inbound call legs to dial peers, the router uses three information elements in the call setup message and
five configurable dial peer attributes. The three call setup elements are:
• Called number or DNIS-A set of numbers representing the destination, which is derived from the ISDN
setup message or channel associated-signaling (CAS) DNIS.
05/08/11 6
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• Calling number or ANI-A set of numbers representing the origin, which is derived from the ISDN setup
message or CAS ANI.
• Voice port-The voice port carrying the call.
• Incoming called number-A string representing the called number or DNIS. It is configured by using the
incoming called-number dial-peer voice configuration command in POTS or MMoIP dial peers.
• Answer address-A string representing the calling number or ANI. It is configured by using the
answer-address dial-peer voice configuration command in POTS or VoIP dial peers and is used only for
inbound calls from the IP network.
• Destination pattern-A string representing the calling number or ANI. It is configured by using the
destination-pattern dial-peer voice configuration command in POTS or voice-network dial peers.
• Application-A string representing the predefined application that you enable on the dial peer. It is
configured by using the application dial-peer voice configuration command on inbound POTS dial peers.
• Port-The voice port through which calls to this dial peer are placed.
When the gateway receives a call setup request, a dial-peer match is made for the incoming call to facilitate
routing the call to different session applications. The gateway does not perform digit-by-digit matching. Instead,
the full digit string received in the setup request is used for matching against configured dial peers.
The gateway selects an inbound dial peer by matching the information elements in the setup message with the dial
peer attributes. The gateway matches these items in the following order:
First, the gateway attempts to match the called number of the call setup request with the configured
incoming called-number parameter of each dial peer. Because call setups always include DNIS
information, Cisco recommends using the incoming called-number command for inbound dial peer
matching. This attribute has matching priority over the answer-address and destination-pattern
parameter.
If no match is found in Step 1, the gateway attempts to match the calling number of the call setup request
with the answer-address of each dial peer. This attribute may be useful in situations where you want to
match calls based on the calling number (originating).
If no match is found in step 2, the gateway attempts to match the calling number of the call setup request
to the destination-pattern of each dial peer.
4. Voice port (associated with the incoming call setup request) with the configured dial peer port parameter
(applicable for inbound POTS call legs).
If no match is found in Step 3, the gateway attempts to match the configured dial-peer port parameter to
the voice port associated with the incoming call. If multiple dial peers have the same port configured, the
dial peer first added in the configuration is matched.
05/08/11 7
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
If no match is found using these steps, then dial peer 0 is used. See the Dial Peer 0 for more information about
dial peer 0.
Note: Step 4 is not applicable to voice or dial platforms such as the Cisco AS5300 access server, Cisco
AS5350 universal gateway, Cisco AS5400 universal gateway, Cisco AS5800 universal gateway, and
Cisco AS5850 universal gateway. If any one of first three steps are not used, then dial-peer 0 is matched
and the call is treated as a dial modem call. This call treatment can result in getting modem tones as
opposed to dial tone for inbound calls.
Only one condition must be met for the gateway to select a dial peer. The gateway stops searching as soon as one
dial peer is matched. It is not necessary for all the attributes to be configured in the dial peer or that every attribute
match the call setup information.
The longest prefix matching criteria applies while each step is performed. At each step, if multiple matches are
found, the one with the longest explicit match is chosen.
For more information on dial-peer matching, configuration steps, and information about parameters, refer to "Dial
Peer Features and Configuration" in the Dial Peer Configuration on Voice Gateway Routers document.
Dial Peer 0
If no inbound peer can be matched by the defined criteria, the inbound peer is set to dial peer 0, which sometimes
appears as pid:0. The characteristics of dial peer 0 cannot be changed.
Note: Cisco universal gateways, such as the Cisco AS5350, Cisco AS5400, Cisco AS5800, and Cisco
AS5850, require configured inbound dial peers to match incoming POTS calls in order to be
accepted as a voice call. If there is no inbound dial peer match, the call is treated and processed
as a dialup (modem) call.
For an inbound voice network call, dial peer 0 has the following characteristics:
Dial peer 0 fails to negotiate nondefault capabilities, services, and applications, such as DTMF relay or disabled
VAD.
For an incoming POTS call, dial peer 0 has the following characteristics:
• No applications
• No DID
Note: Avoid using dial peer 0. Having the incoming called-number parameter configured correctly ensures
that the dial peer is always matched with the parameters you want when placing outbound calls through
a gateway. Many problems with calling out through a Cisco IOS gateway are due to codec, VAD, and
DTMF-relay misconfigurations when dial peer 0 is being matched. To display which dial peers are
being matched for an active call, use the show call active voice brief command.
05/08/11 8
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
For inbound dial peers, the following configuration tips apply to certain configurations:
When the timer (T) character is included at the end of the destination pattern, the router collects dialed digits until
the interdigit timer expires (10 seconds, by default) or until you dial the termination character (the default is #).
The timer character must be an uppercase T. In most cases, you must configure the T indicator only when the
router uses two-stage dialing. If DID is configured in the inbound POTS dial peer, the router uses one-stage
dialing, which means that the full dialed string is used to match outbound dial peers. The only exception is when
the isdn overlap-receiving command is configured; the ISDN overlap-receiving feature requires the T indicator.
When the isdn overlap-receiving command is configured on ISDN interfaces, dial peers are checked for matches
after every digit is received at the ISDN layer. If a full match is made, the call is routed immediately without
waiting for additional digits. The T indicator can be used to suspend this digit-by-digit matching and force the
gateway to wait until all digits are received. The T refers to the T302 interdigit timer at the ISDN level,
configurable under the serial interface associated with the ISDN interface. ISDN also provides other mechanisms
to indicate the end of digits, such as setting the Sending Complete Information Element (IE) in a Q.931
information message.
In some voice network configurations, variable-length dial plans are required, especially if the network connects
two or more countries where telephone number strings could be different lengths. However, this configuration can
result in the calling number field being replaced with an empty number.
If you enter the T character in the destination-pattern parameter for your dial peer, the router can be configured
to accept a fixed-length dial string, and then wait for additional dialed digits. For example, the following dial peer
configuration shows how the T character can be set to allow variable-length dial strings:
If an incoming call arrives with no calling number information and is matched with the POTS dial peer shown
based on the destination-pattern 9T, the gateway uses the "9" digit as the calling number and forwards the call to
the corresponding device. To eliminate this behavior of replacing the empty calling number field, create a dummy
POTS dial peer with just the incoming called-number command configured. Because the incoming
called-number statement has higher priority than the destination-pattern parameter for inbound POTS
matching, dial-peer voice 2 is the POTS dial peer that is used:
05/08/11 9
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
dial-peer voice 2 pots
incoming called-number .
If DID is configured in the inbound POTS dial peer, the router uses the full incoming dial string to match the
destination pattern in the outbound dial peer. With DID, the setup message contains all the digits necessary to
route the call; no additional digit collection is required. If more than one dial peer matches the dial string, all of
the matching dial peers are used to form a rotary group. The router attempts to place the outbound call leg using
all of the dial peers in the rotary group until one is successful.
For matching outbound dial peers, the gateway uses the destination-pattern dial peer command.
• On POTS dial peers, the port command is used to forward the call.
• On voice network dial peers, the session target command is used to forward the call.
DID Configuration
On DID calls, also referred to as one-stage dialing, the setup message contains all digits necessary to route the
call, and the gateway should not do subsequent digit collection. When the gateway searches for an outbound dial
peer, it uses the entire incoming dial string. This matching is by default variable-length. It is not done digit by
digit because by DID definition all digits have been received. The following example helps clarify this concept:
If the DID dial-string is "81690," the router matches dial peer 4 and forwards the complete dial-string "81690."
If DID is not configured on the matched incoming dial peer, the gateway enters digit collection mode, called
two-stage dialing. Digits are collected inband. Outbound dial peer matching is done on a digit-by-digit basis. The
gateway checks for dial peer matches after receiving each digit and then routes the call when a full match is made.
05/08/11 10
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
In this example, the dial string is "81690." Immediately after the router receives the digit "6," it matches dial peer
3 and routes the call, forwarding only the digits "816."
In this case, the longest-prefix rule applies and dial peer 4 is matched for the outbound call leg.
There are situations where expected dial strings do not have a set number of digits. In such cases, it is usually best
to use variable-length dial peers by configuring the T terminator on the dial-peer destination-pattern command.
The T terminator forces the gateway to wait until the full dial string is received by doing the following:
In the following example, the router receives a call setup from the network with dial string "95550112." Dial peer
2 then forwards the digits "5550112" to the PSTN.
In the following example, the dial string from an inbound POTS interface is "81690":
In this case, the longest-prefix rule applies, and dial peer 4 is matched for the outbound call leg.
05/08/11 11
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Note: The default interdigit timeout is set for 10 seconds. To modify this value, use the timeouts interdigit
voice-port command.
Anytime the T is used with destination-pattern parameter, it must be preceded by a . or digits (.T or 555T, for
example). Using T on its own causes the dial peers to act improperly and affects how calls are handled by the
router.
If the inbound interface is not PRI or BRI, or if a PRI or BRI interface does not match a dial peer using the
preceding three rules, the voice gateway matches a POTS dial peer that has the inbound port configured if any of
the following parameters are configured:
• destination-pattern
• answer-address
• incoming called-number
05/08/11 12
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
This article presents information about the variety of tools available to assist you in troubleshooting your voice
network, including information on using router diagnostic commands, Cisco network management tools, and
third-party troubleshooting tools.
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 Using Router Diagnostic Commands
♦ 1.1 Using show Commands
♦ 1.2 Using debug Commands
♦ 1.3 Using the ping Commands
♦ 1.4 Using the trace Commands
• 2 Using Cisco Network Management Tools
♦ 2.1 CiscoView
♦ 2.2 Internetwork Performance Monitor
• 3 Third-Party Troubleshooting Tools
♦ 3.1 Volt-Ohm Meters, Digital Multimeters,
and Cable Testers
♦ 3.2 TDRs and OTDRs
♦ 3.3 Breakout Boxes, Fox Boxes, BERTs and
BLERTs
♦ 3.4 Network Monitors
♦ 3.5 Network Analyzers
• show commands help you monitor installation behavior and normal network behavior, and isolate
problem areas.
• debug commands help you isolate protocol and configuration problems.
• ping commands help you determine connectivity between devices on your network.
• trace commands provide a method of determining the route by which packets reach their destination.
05/08/11 13
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• Monitor router behavior during initial installation.
• Monitor normal network operation.
• Isolate problem interfaces, nodes, media, or applications.
• Determine when a network is congested.
• Determine the status of servers, clients, or other neighbors.
• show version-Displays the configuration of the system hardware, the software version, the names and
sources of configuration files, and the boot images.
• show running-config-Displays the router configuration currently running.
• show startup-config-Displays the router configuration stored in NVRAM.
• show interfaces-Displays statistics for all interfaces configured on the router or access server. The
resulting output varies, depending on the network for which an interface has been configured.
• show controllers-Displays statistics for interface card controllers.
• show flash-Displays the layout and contents of flash memory.
• show buffers-Displays statistics for the buffer pools on the router.
• show memory summary-Displays memory pool statistics and summary information about the activities
of the system memory allocator, and gives a block-by-block listing of memory use.
• show process cpu-Displays information about the active processes on the router.
• show stacks-Displays information about the stack utilization of processes and interrupt routines, and the
reason for the last system reboot.
• show cdp neighbors-Provides reachability information for directly connected Cisco devices. This is an
extremely useful tool for determining the operational status of the physical and data link layers. Cisco
Discovery Protocol (CDP) is a proprietary data link layer protocol.
• show debugging-Displays information about the type of debugging that is enabled for your router.
You can always use the ? at the command line for a list of subcommands.
Like the debug commands, some of the show commands listed are accessible only at the router's privileged
EXEC mode. Debug command usage is explained further in Using debug Commands and also in the Debug
Command Output on Cisco IOS Voice Gateways article.
Hundreds of other show commands are available. For details on using and interpreting the output of specific show
commands, refer to the Cisco IOS command references.
The following steps are a summary of debug command usage. For detailed debug command usage, see the Debug
Command Output on Cisco IOS Voice Gateways article.
To access and list the privileged EXEC commands, enter this code:
Router> enable
Password: XXXXXX
Router# ?
05/08/11 14
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Note the change in the router prompts here. The # prompt (instead of the normal > prompt) indicates that the
router is in privileged EXEC mode (enable mode).
Caution: Exercise care when using debug commands. Many debug commands are processor-intensive and
can cause serious network problems (such as degraded performance or loss of connectivity) if they
are enabled on an already heavily loaded router. When you finish using a debug command,
remember to disable it with its specific no debug command (or use the no debug all command to
turn off all debugging).
Use debug commands to isolate problems, not to monitor normal network operation. Because the high processor
overhead of debug commands can disrupt router operation, you should use them only when you are looking for
specific types of traffic or problems, and have narrowed your problems to a likely subset of causes.
Output formats vary with each debug command. Some generate a single line of output per packet, and others
generate multiple lines of output per packet. Some generate large amounts of output, and others generate only
occasional output. Some generate lines of text, and others generate information in field format.
To minimize the negative impact of using debug commands, follow this procedure:
1. Use the no logging console global configuration command on your router. This command disables all
logging to the console terminal.
2. Telnet to a router port and enter the enable EXEC command. The enable EXEC command places the
router in the privileged EXEC mode. After entering the enable password, you receive a prompt that
consists of the router name with a # symbol.
3. Use the terminal monitor command to copy debug command output and system error messages to your
current terminal display.
By redirecting output to your current terminal display, you can view debug command output remotely, without
being connected through the console port.
If you use debug commands at the console port, character-by-character processor interrupts are generated,
maximizing the processor load already caused by the use of debug.
If you intend to keep the output of the debug command, spool the output to a file. The procedure for setting up
such a debug output file is described in the Debug Command Output on Cisco IOS Voice Gateways article.
This book refers to specific debug commands that are useful when you are troubleshooting specific problems.
Complete details regarding the function and output debug commands are provided in the Cisco IOS Debug
Command Reference.
In many situations, using third-party diagnostic tools can be more useful and less intrusive than using debug
commands. For more information, see the Third-Party Troubleshooting Tools.
05/08/11 15
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
For IP, the ping command sends Internet Control Message Protocol (ICMP) echo messages. ICMP is the Internet
protocol that reports errors and provides information relevant to IP packet addressing. If a station receives an
ICMP Echo message, it sends an ICMP echo reply message back to the source.
The extended command mode of the ping command permits you to specify the supported IP header options. This
mode allows the router to perform a more extensive range of test options. To enter ping extended command mode,
enter yes at the extended commands prompt of the ping command.
It is a good idea to use the ping command when the network is functioning properly to see how the command
works under normal conditions, so that you have a basis for comparison when you are troubleshooting.
For detailed information on using the ping and extended ping commands, refer to the Cisco IOS Configuration
Fundamentals Command Reference.
The trace command works by using the error message generated by routers when a datagram exceeds its
time-to-live (TTL) value. First, probe datagrams are sent with a TTL value of 1. This value causes the first router
to discard the probe datagrams and send back "time exceeded" error messages. The trace command then sends
several probes and displays the round-trip time for each. After every third probe, the TTL is increased by 1.
Each outgoing packet can result in one of two error messages. A "time exceeded" error message indicates that an
intermediate router has seen and discarded the probe. A "port unreachable" error message indicates that the
destination node has received the probe and discarded it because it could not deliver the packet to an application.
If the timer goes off before a response comes in, trace prints an asterisk (*).
The tracecommand terminates when the destination responds, when the maximum TTL is exceeded, or when you
interrupt the trace with the escape sequence.
As with ping, it is a good idea to use the trace command when the network is functioning properly to see how the
command works under normal conditions, so that you have a basis for comparison when you are troubleshooting.
For detailed information on using the trace and extended trace commands, refer to the Cisco IOS Configuration
Fundamentals Command Reference.
05/08/11 16
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• CiscoView provides dynamic monitoring and troubleshooting functions, including a graphical display of
Cisco devices, statistics, and comprehensive configuration information.
• Internetwork Performance Monitor (IPM) empowers network engineers to proactively troubleshoot
network response times utilizing real-time and historical reports.
CiscoView
CiscoView graphical management features provide dynamic status, statistics, and comprehensive configuration
information for Cisco internetworking products (switches, routers, hubs, concentrators, and access servers).
CiscoView aids network management by displaying a physical view of Cisco devices and color-coding device
ports for at-a-glance port status, allowing you to quickly grasp essential information. Features include the
following:
• Graphical displays of Cisco products from a central location, giving network managers a complete view
of Cisco products. You do not need to physically check devices at remote sites.
• A continuously updated physical view of routers, hubs, switches, or access servers in a network,
regardless of physical location.
• Updated real-time monitoring and tracking of key information relating to device performance, traffic, and
usage, with metrics such as utilization percentage, frames sent and received, errors, and a variety of other
device-specific indicators.
• The capability to modify configurations such as trap, IP route, VLAN, and bridge configurations.
The IPM product is composed of three parts: the IPM server, the IPM client application, and the response time
reporter (RTR) feature of the Cisco IOS software.
05/08/11 17
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
less intrusive and is more likely to yield useful information without interrupting the operation of the router. The
following are some typical third-party troubleshooting tools used for troubleshooting internetworks:
• Volt-ohm meters, digital multimeters, and cable testers are useful for testing the physical connectivity of
your cable plant.
• Time domain reflectometers (TDRs) and optical time domain reflectometers (OTDRs) are devices that
assist in the location of cable breaks, impedance mismatches, and other physical cable plant problems.
• Breakout boxes, fox boxes, bit error rate testers (BERTs), and block error rate testers (BLERTs) are
useful for troubleshooting problems in peripheral interfaces.
• Network monitors provide an accurate picture of network activity over a period of time by continuously
tracking packets crossing a network.
• Network analyzers such as sniffers decode problems at all seven OSI layers. The problems can be
identified automatically in real-time and categorized by how critical they are, providing a clear view of
network activity.
Cable testers (scanners) also enable you to check physical connectivity. Cable testers are available for shielded
twisted-pair (STP), unshielded twisted-pair (UTP), 10BASE-T, and coaxial and twinax cables. A given cable
tester might be capable of performing any of the following functions:
• Test and report on cable conditions, including near-end crosstalk (NEXT), attenuation, and noise
• Use TDR and perform traffic monitoring and wire map functions
• Display MAC-layer information about LAN traffic, provide statistics such as network utilization and
packet error rates, and perform limited protocol testing (for example, TCP/IP tests such as ping)
Similar testing equipment is available for fiber-optic cable. Because of the relatively high cost of this cable and its
installation, fiber-optic cable should be tested both before installation (on-the-reel testing) and after installation.
Continuity testing of the fiber requires either a visible light source or a reflectometer. Light sources capable of
providing light at the three predominant wavelengths-850 nanometers (nm), 1300 nm, and 1550 nm-are used with
power meters that can measure the same wavelengths and test attenuation and return loss in the fiber.
A TDR works by bouncing a signal off the end of the cable. Opens, shorts, and other problems reflect the signal
back at different amplitudes, depending on the problem. A TDR measures how much time it takes for the signal to
reflect and calculates the distance to a fault in the cable. TDRs can be used to measure the length of a cable, and
some TDRs can also calculate the propagation rate based on a configured cable length.
05/08/11 18
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Fiber-optic measurement is performed by an optical TDR (OTDR). OTDRs can accurately measure the length of
the fiber, locate cable breaks, measure the fiber attenuation, and measure splice or connector losses. An OTDR
can be used to take the signature of a particular installation, noting attenuation and splice losses. This baseline
measurement can then be compared with future signatures when a problem in the system is suspected.
Network Monitors
Network monitors continuously track packets crossing a network, providing an accurate picture of network
activity at any moment, or a historical record of network activity over a period of time. They do not decode the
contents of frames. Monitors are useful for baselining, in which the activity on a network is sampled over a period
of time to establish a normal performance profile.
Monitors collect information such as packet sizes, the number of packets, error packets, overall usage of a
connection, the number of hosts and their MAC addresses, and details about communications between hosts and
other devices. This data can be used to create profiles of LAN traffic and to assist in locating traffic overloads,
planning for network expansion, detecting intruders, establishing baseline performance, and distributing traffic
more efficiently.
Network Analyzers
A network analyzer (also called a protocol analyzer or "sniffer") decodes the various protocol layers in a recorded
frame and presents the frames as readable abbreviations or summaries. The analyzer indicates which layer is
involved (physical, data link, and so forth) and what function each byte or byte content serves.
• Filter traffic that meets certain criteria so that, for example, all traffic to and from a particular device can
be captured
• Time-stamp captured data
• Present protocol layers in an easily readable form
• Generate frames and send them onto the network
• Incorporate an "expert" system in which the analyzer uses a set of rules, combined with information about
the network configuration and operation, to diagnose and solve, or offer potential solutions for network
problems
05/08/11 19
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
The concepts described in this article provide background for the enhanced debug capabilities on Cisco voice
gateways.
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 Debug Header Format
♦ 1.1 Table: Module-Dependent List Parameters
♦ 1.2 IVR Module-Dependent List
◊ 1.2.1 Table: IVR Module Names
◊ 1.2.2 Table: Object Names and Identifier Values
• 2 CallEntry ID and GUID Call Legs
♦ 2.1 Figure: GUIDs and CallEntry IDs in a Conference Call
• 3 Enabling Command Profile Debugging
♦ 3.1 Fax Debug Profile
♦ 3.2 Modem Debug Profile
♦ 3.3 Voice Debug Profile
• 4 Enabling Individual Debug Commands for CCAPI, TSP, and VTSP
Debugging
♦ 4.1 Table: CCAPI Individual Debug Values
♦ 4.2 Table: TSP Individual Debug Values
♦ 4.3 Table: VTSP Individual Debug Values
05/08/11 20
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• CallEntryID-Numerically identifies a specific call leg such as an incoming ISDN call or an outgoing
H.323 call. The CallentryID ranges from 1 to 32767. When the CallEntryID is not available to the
function producing the debug message, the header displays the CallEntryID field as "-1."
• GUID-Each call is assigned a GUID, which is generally used for billing purposes. The GUID is a 16-byte
quantity that uniquely identifies a call throughout the entire network and over time. Gateway information
and time stamp are embedded in the GUID. The GUID is sometimes called a conference point. See
CallEntry ID and GUID Call Legs for an example of the GUID and CallEntry ID call legs.
By default, the debug header displays a more compact 6-byte form of the GUID that is generally unique
enough for debugging purposes. If you need to correlate GUID information to third-party devices or to
conduct debugging sessions lasting more than a month, you can display the full 16-byte header with the
voice call debug command using the full-guid keyword.
When the GUID information is unavailable to the module producing the debug message, the header
displays the GUID field as blank or filled with "x" characters (/xxxxxxx/). For non-IVR debugs, if the
GUID field is unavailable, the header is //CallentryID/xxxxxxxx/. For IVR debugs, the header is
//CallentryID//. IVR rarely has GUID information but reserves the space in order to have field-by-field
consistency.
• Function-name-Identifies call progress though the internal modules of the Cisco IOS code. This is
free-form debugging used by developers.
Module names are shown in Table: IVR Module Names. The LP parameter is the link point, which is the point
where two or more objects can be associated . The OBJ parameter is the object name, shown in Table: Object
Names and Identifier Values. The OBJ-ID is a numeric identifier for the object. The ranges are also shown in
Table: Object Names and Identifier Values.
05/08/11 21
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Table: IVR Module Names
Object
Description Identifier Range
Name
-2147483647 to 2147483647 with 0 and -1 being invalid (either) or
CN Connection
unavailable (latter)
DP Dynamic prompt 1 to -4294967295 or 0 (invalid or unavailable)
GS Generic stream 1 to -4294967295 or 0 (invalid or unavailable)
HN Handler 0 to -4294967295
LG Call leg 1 to -2147483647 or -1 (invalid or unavailable)
MC Media content 1 to -4294967295 or 0 (invalid or unavailable)
Media content
MR 1 to -4294967295 or 0 (invalid or unavailable)
reader
MS Media stream 1 to -4294967295 or 0 (invalid or unavailable)
RS RTSP session 1 to -4294967295 or 0 (invalid or unavailable)
05/08/11 22
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Figure: GUIDs and CallEntry IDs in a Conference Call
Enabling the debugging on each of these profiles produces many types of debug information. The advantage of
using profile debugging is that instead of having to enable several debug commands to get a full picture of the
problem, you can enable a profile which gives you all of the debugs that are appropriate.
When profile debugging is enabled, a large number of debug messages are produced which might affect system
performance. For this reason, you should only use profile debugging during low traffic periods or on a
non-production system.
Caution: The debug voip profile commands generate debug messages from many VoIP components, which
generates a large number of debug messages. The number of messages can cause a performance
impact on your router. This command should only be used during low traffic periods.
For more information on command syntax, refer to the Cisco IOS Debug Command Reference.
If you use the debug voip profile fax mail command, you enable the following debug commands for an onramp
or offramp fax mail call:
05/08/11 23
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• debug crm all
• debug csm voice
• debug fax fmsp all
• debug fax mta all
• debug fax mmoip aaa
• debug isdn q931
• debug tgrm all
• debug voip application all
• debug voip application vxml all
• debug voip ccapi all
• debug voip dsm all
• debug voip dspapi all
• debug voip hpi all
• debug voip ivr all
• debug voip vtsp all
The following debug commands are enabled for access servers with MICA modem cards:
The following debug options are enabled for access servers with universal port dial feature cards:
If you use the debug voip profile fax relay command, you enable the debug fax relay t30 all-level-1 and the sets
specified by either the application or signaling keyword.
For the debug voip profile fax relay application command, the following debugs are enabled for fax relay
applications:
For the debug voip profile fax relay signaling command, the following debugs are enabled for fax relay
signaling:
05/08/11 24
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• debug ccsip error
• debug ccsip messages
• debug cdapi detail
• debug cdapi events
• debug crm all
• debug csm voice
• debug gtd error
• debug gtd events
• debug h225 asn1
• debug h225 events
• debug h225 q931
• debug h245 asn1
• debug h245 event
• debug isdn q931
• debug mgcp errors
• debug mgcp events
• debug mgcp media
• debug mgcp packets
• debug mgcp voipcac
• debug rtpspi all
• debug tgrm all
• debug voip ccapi all
• debug voip dsm all
• debug voip dspapi all
• debug voip hpi all
• debug voip rawmsg
• debug voip tsp all
• debug voip vtsp all
For more information on command syntax, refer to the Cisco IOS Debug Command Reference.
If you use the debug voip profile modem pass-through signaling command, you enable the following debug
commands for modem pass-through signaling:
05/08/11 25
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• debug gtd events
• debug h225 asn1
• debug h225 events
• debug h225 q931
• debug isdn q931
• debug mgcp errors
• debug mgcp events
• debug mgcp media
• debug mgcp packets
• debug mgcp voipcac
• debug rtpspi all
• debug tgrm all
• debug voip ccapi all
• debug voip dsm all
• debug voip dspapi all
• debug voip hpi all
• debug voip rawmsg
• debug voip tsp all
• debug voip vtsp all
If you use the debug voip profile modem relay signaling command, you enable the following debug commands
for modem relay signaling:
05/08/11 26
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
you enable the command. The syntax for the voice debug profile is as follows: debug voip profile voice {
application | signaling }
For more information on command syntax, refer to the Cisco IOS Debug Command Reference.
If you use the debug voip profile voice application command, you enable the following debug commands for
voice applications:
If you use the debug voip profile voice signaling command, you enable the following debug commands for voice
signaling:
05/08/11 27
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 28
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
28 CC_IDMSG_UPD_CALL_INFO_IND_28
29 CC_IDMSG_GEN_NTK_ALERT_EVENT_29
30 CC_IDMSG_VOICE_MODE_EVENT_30
31 CC_IDMSG_VOICE_MODE_EVENT_31
32 CC_IDMSG_DIALING_COMPLETE_IND_32
33 CC_IDMSG_DIGITS_DONE_IND_33
34 CC_IDMSG_DIGITS_DONE_IND_34
35 CC_IDMSG_VBD_XMIT_DONE_IND_35
36 CC_IDMSG_FWD_SETUP_IND_36
37 CC_IDMSG_RSVP_DONE_IND_37
38 CC_IDMSG_AUDIT_RSP_IND_38
39 CC_IDMSG_XFR_STATUS_IND_39
40 CC_IDMSG_XFR_STATUS_IND_40
41 CC_IDMSG_XFR_DONE_IND_41
42 CC_IDMSG_XFR_DONE_IND_42
43 CC_IDMSG_XFR_DONE_IND_43
44 CC_IDMSG_TGT_CID_ACTIVE_RCD_44
45 CC_IDMSG_MODIFY_MEDIA_IND_45
46 CC_IDMSG_MODIFY_MEDIA_ACK_IND_46
47 CC_IDMSG_MODIFY_MEDIA_REJ_IND_47
48 CC_IDMSG_MODEM_CALL_START_IND_48
49 CC_IDMSG_MODEM_CALL_DONE_IND_49
50 CC_IDMSG_ACCT_STATUS_IND_50
51 CC_IDMSG_NW_STATUS_IND_51
52 CC_IDMSG_DESTINFO_IND_52
53 CC_IDMSG_LOOPBACK_DONE_IND_53
54 CC_IDMSG_RT_PACKET_STATS_IND_54
55 CC_IDMSG_CUT_PROGRESS_IND_55
56 CC_IDMSG_CUT_PROGRESS_IND_56
57 CC_IDMSG_PROCEEDING_IND_57
58 CC_IDMSG_FACILITY_IND_58
59 CC_IDMSG_INFO_IND_59
60 CC_IDMSG_PROGRESS_IND_60
61 CC_IDMSG_USERINFO_IND_61
62 CC_IDMSG_DISC_PROG_IND_62
63 CC_IDMSG_DISC_PROG_IND_63
64 CC_IDMSG_PING_DONE_IND_64
65 CC_IDMSG_COT_TEST_DONE_IND_65
66 CC_IDMSG_PROCESS_DONE_IND_66
67 CC_IDMSG_ASSOCIATED_IND_67
68 CC_IDMSG_SUSPEND_IND_68
05/08/11 29
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
69 CC_IDMSG_SUSPEND_ACK_IND_69
70 CC_IDMSG_SUSPEND_REJ_IND_70
71 CC_IDMSG_RESUME_IND_71
72 CC_IDMSG_RESUME_ACK_IND_72
73 CC_IDMSG_RESUME_REJ_IND_73
74 CC_IDMSG_IF_SETUP_REQ_PRIV_74
75 CC_IDMSG_IF_SETUP_REQ_PRIV_75
76 CC_IDMSG_IF_ALLOCATE_DSP_76
77 CC_IDMSG_CONNECT_77
78 CC_IDMSG_CONNECT_78
79 CC_IDMSG_PING_79
80 CC_IDMSG_DISCONNECT_80
81 CC_IDMSG_DISCONNECT_81
82 CC_IDMSG_DISCONNECT_82
83 CC_IDMSG_ALERT_83
84 CC_IDMSG_ALERT_84
85 CC_IDMSG_CUT_PROGRESS_85
86 CC_IDMSG_CUT_PROGRESS_86
87 CC_IDMSG_CUT_PROGRESS_87
88 CC_IDMSG_DISC_PROG_88
89 CC_IDMSG_DISC_PROG_89
90 CC_IDMSG_SET_PEER_90
91 CC_IDMSG_SET_PEER_91
92 CC_IDMSG_PROCEEDING_92
93 CC_IDMSG_SETUP_REQ_93
94 CC_IDMSG_SETUP_REQ_94
95 CC_IDMSG_SETUP_REQ_95
96 CC_IDMSG_SETUP_REQ_96
97 CC_IDMSG_SETUP_REQ_97
98 CC_IDMSG_SETUP_REQ_98
99 CC_IDMSG_SETUP_REQ_99
100 CC_IDMSG_SETUP_REQ_100
101 CC_IDMSG_SETUP_REQ_101
102 CC_IDMSG_SETUP_ACK_102
103 CC_IDMSG_FACILITY_103
104 CC_IDMSG_TRANSFER_REQ_104
105 CC_IDMSG_GET_CONSULT_ID_105
106 CC_IDMSG_FORWARD_TO_106
107 CC_IDMSG_INFO_107
108 CC_IDMSG_NOTIFY_108
109 CC_IDMSG_PROGRESS_109
05/08/11 30
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
110 CC_IDMSG_PRE_DISC_110
111 CC_IDMSG_PRE_DISC_111
112 CC_IDMSG_USER_INFO_112
113 CC_IDMSG_MODIFY_113
114 CC_IDMSG_DIGIT_114
115 CC_IDMSG_DIGIT_DIAL_115
116 CC_IDMSG_DIGIT_DIAL_STOP_116
117 CC_IDMSG_FEATURE_117
118 CC_IDMSG_FEATURE_ENABLE_118
119 CC_IDMSG_ASSOCIATE_STREAM_119
120 CC_IDMSG_ASSOCIATE_STREAM_120
121 CC_IDMSG_DISASSOCIATE_STREAM_121
122 CC_IDMSG_DISASSOCIATE_STREAM_122
123 CC_IDMSG_GENERATE_TONE_INFO_123
124 CC_IDMSG_SET_DIGIT_TIMEOUTS_124
125 CC_IDMSG_SET_DIGIT_TIMEOUTS_125
126 CC_IDMSG_SUSPEND_126
127 CC_IDMSG_SUSPEND_ACK_127
128 CC_IDMSG_SUSPEND_REJ_128
129 CC_IDMSG_RESUME_129
130 CC_IDMSG_RESUME_ACK_130
131 CC_IDMSG_RESUME_REJ_131
132 CC_IDMSG_UPDATE_REDIRECT_NUM_132
133 CC_IDMSG_BABBLER_AUDIT_133
134 CC_IDMSG_CONFERENCE_CREATE_134
135 CC_IDMSG_CONFERENCE_CREATE_135
136 CC_IDMSG_CONFERENCE_CREATE_136
137 CC_IDMSG_CONFERENCE_DESTROY_137
138 CC_IDMSG_CONFERENCE_DESTROY_138
139 CC_IDMSG_CONFERENCE_DESTROY_139
140 CC_IDMSG_LOOPBACK_140
141 CC_IDMSG_COT_TEST_141
142 CC_IDMSG_HANDOFF_142
143 CC_IDMSG_APP_RETURN_143
144 CC_IDMSG_T38_FAX_START_144
145 CC_IDMSG_T38_FAX_DONE_145
05/08/11 31
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
3 INDIVIDUAL_TSP_DEBUG_CCRAWMSG_ENCAP_003
4 INDIVIDUAL_TSP_DEBUG_CDAPI_FORM_MSG_BASIC_SS_INFO_004
5 INDIVIDUAL_TSP_DEBUG_CDAPI_FORM_MSG_005
6 INDIVIDUAL_TSP_DEBUG_CDAPI_FORM_MSG_006
7 INDIVIDUAL_TSP_DEBUG_CDAPI_SEND_MSG_007
8 INDIVIDUAL_TSP_DEBUG_CDAPI_SEND_MSG_008
9 INDIVIDUAL_TSP_DEBUG_CDAPI_SEND_INFO_MSG_009
10 INDIVIDUAL_TSP_DEBUG_ALLOC_CDB_010
11 INDIVIDUAL_TSP_DEBUG_DEALLOC_CDB_011
12 INDIVIDUAL_TSP_DEBUG_CONNECT_IND_012
13 INDIVIDUAL_TSP_DEBUG_CONNECT_IND_EXIT_013
14 INDIVIDUAL_TSP_DEBUG_CONNECT_IND_EXIT_014
15 INDIVIDUAL_TSP_DEBUG_CONNECT_IND_EXIT_015
16 INDIVIDUAL_TSP_DEBUG_CONNECT_IND_EXIT_016
17 INDIVIDUAL_TSP_DEBUG_CONNECT_IND_EXIT_017
18 INDIVIDUAL_TSP_DEBUG_CDAPI_SETUP_ACK_018
19 INDIVIDUAL_TSP_DEBUG_CDAPI_PROCEEDING_019
20 INDIVIDUAL_TSP_DEBUG_CDAPI_ALERT_020
21 INDIVIDUAL_TSP_DEBUG_CDAPI_CONNECT_021
22 INDIVIDUAL_TSP_DEBUG_CDAPI_INFO_022
23 INDIVIDUAL_TSP_DEBUG_CDAPI_PROGRESS_023
24 INDIVIDUAL_TSP_DEBUG_CDAPI_FACILITY_024
25 INDIVIDUAL_TSP_DEBUG_CDAPI_FACILITY_025
26 INDIVIDUAL_TSP_DEBUG_CDAPI_PRE_CONN_DISC_REQ_026
27 INDIVIDUAL_TSP_DEBUG_CDAPI_DISC_PROG_IND_027
28 INDIVIDUAL_TSP_DEBUG_CDAPI_DISCONNECT_REQ_028
29 INDIVIDUAL_TSP_DEBUG_CDAPI_DISCONNECT_REQ_029
30 INDIVIDUAL_TSP_DEBUG_CDAPI_TSP_SS_RESP_030
31 INDIVIDUAL_TSP_DEBUG_CDAPI_TSP_INFO_IND_031
32 INDIVIDUAL_TSP_DEBUG_CDAPI_TSP_PROCEEDING_032
33 INDIVIDUAL_TSP_DEBUG_CDAPI_TSP_ALERT_033
34 INDIVIDUAL_TSP_DEBUG_CDAPI_TSP_ALERT_EXIT_034
35 INDIVIDUAL_TSP_DEBUG_CDAPI_TSP_ALERT_EXIT_035
36 INDIVIDUAL_TSP_DEBUG_CDAPI_TSP_PROGRESS_036
37 INDIVIDUAL_TSP_DEBUG_CDAPI_TSP_INFO_037
38 INDIVIDUAL_TSP_DEBUG_CDAPI_TSP_CONNECT_038
39 INDIVIDUAL_TSP_DEBUG_CDAPI_TSP_CONNECT_CONF_039
40 INDIVIDUAL_TSP_DEBUG_CDAPI_TSP_DISC_PROG_IND_040
41 INDIVIDUAL_TSP_DEBUG_CDAPI_TSP_PROG_IND_PROGRESS_041
42 INDIVIDUAL_TSP_DEBUG_CDAPI_TSP_RELEASE_IND_042
43 INDIVIDUAL_TSP_DEBUG_CDAPI_TSP_RELEASE_IND_EXIT_043
05/08/11 32
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
44 INDIVIDUAL_TSP_DEBUG_CDAPI_TSP_RELEASE_COMP_044
45 INDIVIDUAL_TSP_DEBUG_CDAPI_TSP_RELEASE_COMP_CLEAR_045
46 INDIVIDUAL_TSP_DEBUG_SETUP_REQ_EXIT_046
47 INDIVIDUAL_TSP_DEBUG_SETUP_REQ_EXIT_047
48 INDIVIDUAL_TSP_DEBUG_SETUP_REQ_EXIT_048
49 INDIVIDUAL_TSP_DEBUG_TSP_SET_TRANSFER_INFO_049
50 INDIVIDUAL_TSP_DEBUG_TSP_CALL_VOICE_CUT_THROUGH_050
51 INDIVIDUAL_TSP_DEBUG_TSP_CALL_VOICE_CUT_THROUGH_051
52 INDIVIDUAL_TSP_DEBUG_TSP_CALL_VOICE_CUT_THROUGH_052
53 INDIVIDUAL_TSP_DEBUG_TSP_CALL_VOICE_CUT_THROUGH_053
54 INDIVIDUAL_TSP_DEBUG_TSP_MAIN_054
55 INDIVIDUAL_TSP_DEBUG_DO_GLOBAL_END_TO_END_DISC_055
56 INDIVIDUAL_TSP_DEBUG_TSP_CDAPI_MSG_DUMP_056
57 INDIVIDUAL_TSP_DEBUG_TSP_COT_TIMER_START_057
58 INDIVIDUAL_TSP_DEBUG_TSP_COT_TIMER_STOP_058
59 INDIVIDUAL_TSP_DEBUG_TSP_COT_RESULT_059
60 INDIVIDUAL_TSP_DEBUG_TSP_COT_DONE_060
61 INDIVIDUAL_TSP_DEBUG_TSP_COT_TIMEOUT_061
62 INDIVIDUAL_TSP_DEBUG_TSP_COT_REQ_062
63 INDIVIDUAL_TSP_DEBUG_CDAPI_TSP_COT_SETUP_ACK_063
64 INDIVIDUAL_TSP_DEBUG_CDAPI_TSP_RCV_COT_MSG_064
65 INDIVIDUAL_TSP_DEBUG_CDAPI_TSP_RCV_COT_MSG_065
66 INDIVIDUAL_TSP_DEBUG_TSP_CDAPI_PUT_CAUSE_IE_066
67 INDIVIDUAL_TSP_DEBUG_CDAPI_TSP_SETUP_ACK_067
68 INDIVIDUAL_TSP_DEBUG_CDAPI_TSP_RCV_MSG_068
05/08/11 33
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
14 INDIVIDUAL_VTSP_DEBUG_PRE_CON_DISCONNECT_EXIT_014
15 INDIVIDUAL_VTSP_DEBUG_SET_DIGIT_TIMEOUTS_015
16 INDIVIDUAL_VTSP_DEBUG_CONNECT_016
17 INDIVIDUAL_VTSP_DEBUG_LOOPBACK_017
18 INDIVIDUAL_VTSP_DEBUG_RING_NOAN_TIMER_018
19 INDIVIDUAL_VTSP_DEBUG_ALERT_CONNECT_019
20 INDIVIDUAL_VTSP_DEBUG_PRE_CON_DISC_REL_EXIT_020
21 INDIVIDUAL_VTSP_DEBUG_HOST_DISC_CLEANUP_021
22 INDIVIDUAL_VTSP_DEBUG_HOST_DISC_CLEANUP_EXIT_022
23 INDIVIDUAL_VTSP_DEBUG_DISCONNECT_023
24 INDIVIDUAL_VTSP_DEBUG_DISCONNECT_EXIT_024
25 INDIVIDUAL_VTSP_DEBUG_DISCONNECT_EXIT_025
26 INDIVIDUAL_VTSP_DEBUG_CONNECT_DIAL_026
27 INDIVIDUAL_VTSP_DEBUG_SETUP_PEND_DIAL_027
28 INDIVIDUAL_VTSP_DEBUG_PRE_DISC_CAUSE_028
29 INDIVIDUAL_VTSP_DEBUG_SETUP_PEND_CONNECT_029
30 INDIVIDUAL_VTSP_DEBUG_SETUP_REQ_PEND_FAIL_030
31 INDIVIDUAL_VTSP_DEBUG_SETUP_REQ_DISC_031
32 INDIVIDUAL_VTSP_DEBUG_RELEASE_TIMEOUT_032
33 INDIVIDUAL_VTSP_DEBUG_SETUP_PEND_PROCEEDING_EXIT_033
34 INDIVIDUAL_VTSP_DEBUG_SETUP_PEND_PROCEEDING_EXIT_034
35 INDIVIDUAL_VTSP_DEBUG_PEND_RELEASE_IND_035
36 INDIVIDUAL_VTSP_DEBUG_PEND_RELEASE_IND_EXIT_036
37 INDIVIDUAL_VTSP_DEBUG_DISCONNECT_NO_DSP_CHAN_037
38 INDIVIDUAL_VTSP_DEBUG_DISCONNECT_NO_DSP_CHAN_EXIT_038
39 INDIVIDUAL_VTSP_DEBUG_CALL_FEATURE_IND_039
40 INDIVIDUAL_VTSP_DEBUG_SETUP_PEND_PROGRESS_040
41 INDIVIDUAL_VTSP_DEBUG_SETUP_PEND_ALERT_041
42 INDIVIDUAL_VTSP_DEBUG_SETUP_PEND_ALERT_EXIT_042
43 INDIVIDUAL_VTSP_DEBUG_SETUP_PEND_FIRST_PROGRESS_043
44 INDIVIDUAL_VTSP_DEBUG_SETUP_PEND_FIRST_PROGRESS_EXIT_044
45 INDIVIDUAL_VTSP_DEBUG_SETUP_PEND_FIRST_PROGRESS_EXIT_045
46 INDIVIDUAL_VTSP_DEBUG_SETUP_PEND_PROG_PROCEEDING_046
47 INDIVIDUAL_VTSP_DEBUG_PROCEEDING_R2_PEND_DIAL_047
48 INDIVIDUAL_VTSP_DEBUG_ALERT_R2_PEND_DIAL_048
49 INDIVIDUAL_VTSP_DEBUG_CONN_R2_PEND_DIAL_049
50 INDIVIDUAL_VTSP_DEBUG_SETUP_R2_PEND_DIAL_050
51 INDIVIDUAL_VTSP_DEBUG_R2_PEND_DIAL_ALL_051
52 INDIVIDUAL_VTSP_DEBUG_INFO_IND_052
53 INDIVIDUAL_VTSP_DEBUG_ALERT_053
54 INDIVIDUAL_VTSP_DEBUG_ALERT_EXIT_054
05/08/11 34
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
55 INDIVIDUAL_VTSP_DEBUG_PROGRESS_055
56 INDIVIDUAL_VTSP_DEBUG_DISC_PROG_IND_056
57 INDIVIDUAL_VTSP_DEBUG_SETUP_PEND_DISC_PI_IND_057
58 INDIVIDUAL_VTSP_DEBUG_INFO_058
59 INDIVIDUAL_VTSP_DEBUG_FEATURE_059
60 INDIVIDUAL_VTSP_DEBUG_SETUP_PEND_ALERT_NO_TIMEOUT_060
61 INDIVIDUAL_VTSP_DEBUG_SETUP_PEND_ALERT_NO_TIMEOUT_EXIT_061
62 INDIVIDUAL_VTSP_DEBUG_CALL_FEATURE_ENABLE_062
63 INDIVIDUAL_VTSP_DEBUG_XCCSM_COT_TEST_DONE_063
64 INDIVIDUAL_VTSP_DEBUG_XCCSM_COT_TEST_TIMEOUT_064
65 INDIVIDUAL_VTSP_DEBUG_XCCSM_COT_TEST_065
66 INDIVIDUAL_VTSP_DEBUG_CALL_FEATURE_066
67 INDIVIDUAL_VTSP_DEBUG_TCSM_COT_TEST_DONE_067
68 INDIVIDUAL_VTSP_DEBUG_TCSM_COT_TEST_TIMEOUT_068
69 INDIVIDUAL_VTSP_DEBUG_TCSM_ACT_COT_TEST_069
70 INDIVIDUAL_VTSP_DEBUG_PLAY_BUSY_TIMER_START_070
71 INDIVIDUAL_VTSP_DEBUG_PLAY_BUSY_TIMER_STOP_071
72 INDIVIDUAL_VTSP_DEBUG_RING_NOAN_TIMER_START_072
73 INDIVIDUAL_VTSP_DEBUG_RING_NOAN_TIMER_STOP_073
74 INDIVIDUAL_VTSP_DEBUG_VTSP_TIMER_074
75 INDIVIDUAL_VTSP_DEBUG_VTSP_TIMER_STOP_075
76 INDIVIDUAL_VTSP_DEBUG_VTSP_ALLOCATE_CDB_076
77 INDIVIDUAL_VTSP_DEBUG_VTSP_DO_CALL_SETUP_IND_077
78 INDIVIDUAL_VTSP_DEBUG_VTSP_DO_CALL_SETUP_IND_EXIT_078
79 INDIVIDUAL_VTSP_DEBUG_VTSP_REQUEST_CALL_079
80 INDIVIDUAL_VTSP_DEBUG_VTSP_REQUEST_CALL_EXIT_080
81 INDIVIDUAL_VTSP_DEBUG_VTSP_REALLOC_CDB_081
82 INDIVIDUAL_VTSP_DEBUG_VTSP_OG_CALL_REQ_EXIT_082
83 INDIVIDUAL_VTSP_DEBUG_VTSP_FREE_CDB_083
84 INDIVIDUAL_VTSP_DEBUG_TGRM_DISC_REL_084
85 INDIVIDUAL_VTSP_DEBUG_VTSP_CC_CALL_DISCONNECTED_085
86 INDIVIDUAL_VTSP_DEBUG_SIGO_BDROP_086
87 INDIVIDUAL_VTSP_DEBUG_SIGO_PRE_CON_DISCONNECT_087
88 INDIVIDUAL_VTSP_DEBUG_SIGO_PROCEEDING_088
89 INDIVIDUAL_VTSP_DEBUG_SIGO_GENERATE_DISC_089
90 INDIVIDUAL_VTSP_DEBUG_SIGO_ALERT_090
91 INDIVIDUAL_VTSP_DEBUG_SIGO_ALERT_CONNECT_091
92 INDIVIDUAL_VTSP_DEBUG_SIGO_SETUP_PEND_CONNECT_092
93 INDIVIDUAL_VTSP_DEBUG_DO_SIGO_CALL_SETUP_REQ_093
94 INDIVIDUAL_VTSP_DEBUG_DO_SIGO_CALL_SETUP_REQ_SESSION_094
95 INDIVIDUAL_VTSP_DEBUG_DSM_MEDIA_EVENT_CB_095
05/08/11 35
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
96 INDIVIDUAL_VTSP_DEBUG_DSM_PEER_EVENT_CB_096
97 INDIVIDUAL_VTSP_DEBUG_DSM_FEATURE_NOTIFY_CB_097
98 INDIVIDUAL_VTSP_DEBUG_DSM_BRIDGE_CHECK_CB_098
99 INDIVIDUAL_VTSP_DEBUG_DSM_BRIDGE_STATUS_EXIT_099
100 INDIVIDUAL_VTSP_DEBUG_DSM_SET_FAX_FEAT_EXIT_100
101 INDIVIDUAL_VTSP_DEBUG_DS_DO_DIAL_101
102 INDIVIDUAL_VTSP_DEBUG_DS_DIALING_DEFAULT_102
05/08/11 36
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 voice call debug
Command
• 2 Supported
Commands
♦ 2.1
SUMMARY
STEPS
♦ 2.2
DETAILED
STEPS
Supported Commands
The voice debug commands that support the standardized header include the following:
• debug crm
• debug fax dmsp
• debug fax fmsp
• debug fax foip
• debug fax mmoip aaa
• debug fax mspi
• debug fax mta
• debug mgcp all
• debug mgcp endpoint
• debug mgcp endptdb
• debug mgcp errors
• debug mgcp events
• debug mgcp gcfm
• debug mgcp inout
05/08/11 37
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• debug mgcp media
• debug mgcp nas
• debug mgcp packets
• debug mgcp parser
• debug mgcp src
• debug mgcp state
• debug mgcp voipcac
• debug rtsp all
• debug rtsp api
• debug rtsp client
• debug rtsp error
• debug rtsp pmh
• debug rtsp session
• debug rtsp socket
• debug tgrm
• debug voip application vxml
• debug voip avlist
• debug voip ccapi
• debug voip dialpeer
• debug voip dsm
• debug voip dspapi
• debug voip hpi
• debug voip ivr all
• debug voip ivr applib
• debug voip ivr callsetup
• debug voip ivr digitcollect
• debug voip ivr dynamic
• debug voip ivr error
• debug voip ivr script
• debug voip ivr settlement
• debug voip ivr states
• debug voip ivr tclcommands
• debug voip profile fax
• debug voip profile help
• debug voip profile modem
• debug voip profile voice
• debug voip rawmsg
• debug voip tsp
• debug voip vtsp
• debug vtsp all
• debug vtsp dsp
• debug vtsp error
• debug vtsp event
• debug vtsp port
• debug vtsp rtp
• debug vtsp send-nse
• debug vtsp session
• debug vtsp stats
• debug vtsp vofr subframe
• debug vtsp tone
05/08/11 38
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
For detailed examples of these debug commands, see the Cisco IOS Debug Command Reference.
SUMMARY STEPS
1. enable
2. configure terminal
3. voice call debug {full-guid | short-header}
4. exit
5. Run desired debug command.
DETAILED STEPS
Router(config)# exit
Enter the appropriate debug command for your
troubleshooting needs.
Run desired voice debug command. Example:
5. • The voice debug commands that support the
Router# debug voip ccapi inout standardized header and detailed examples of the
individual debug commands are in the Cisco IOS
Debug Command Reference.
05/08/11 39
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 Header Examples
♦ 1.1 Full GUID
Header: Example
♦ 1.2 Short
Header: Example
• 2 Setup and Teardown:
Example
Header Examples
05/08/11 40
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
In the first line, the CallEntry ID is not available, and in the following line the CallEntry ID is 9. The remainder of
the line displays the function name.
In the following lines, the CCAPI receives the call setup. The called number is 34999, and the calling number is
55555. The calling number matches dial peer 10002.
05/08/11 41
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
*Mar 1 15:35:53.596: //-1/xxxxxxxxxxxx/CCAPI/ccCheckClipClir:
*Mar 1 15:35:53.596: ccCheckClipClir: calling number is: "55555", calling oct3a is: 0x0
*Mar 1 15:35:53.596: //-1/xxxxxxxxxxxx/CCAPI/ccCheckClipClir:
*Mar 1 15:35:53.596: Calling Party number is User Provided
*Mar 1 15:35:53.596: //-1/xxxxxxxxxxxx/CCAPI/ccCheckClipClir:
*Mar 1 15:35:53.596: Leaving ccCheckClipClir
calling number is: "55555"
calling oct3 is: 0x80
calling oct3a is: 0x0
In the next line, 45F2AAE28044 is the GUID. The tag 10002 entry shows that the incoming dial peer matched the
CallEntry ID.
The next line shows CallEntry ID in hexadecimal form, 0x2C (44 in decimal). The CallEntry ID and GUID
numbers have been identified. The incoming dial peer is 10002.
For CallEntry ID 44, two dial-peer tags (10001 and 20002) were matched with called number 34999.
05/08/11 42
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
The next line shows that five digits were matched for this dial peer and no prefix was added. The encapType (2)
entry indicates a VoIP call.
The next line shows the voice gateway sending out a call-proceeding message to the incoming call leg with a
progress indicator of 0x0.
The next line shows the voice gateway sending out the call-setup request to the outgoing call leg. The dial peer is
10001 with the incoming CallEntry ID being 0x2C.
05/08/11 43
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
*Mar 1 15:35:53.620: ccIFCallSetupRequestPrivate: src route label tgt route label tg_label_flag 0x
*Mar 1 15:35:53.620: //-1/xxxxxxxxxxxx/CCAPI/ccIFCallSetupRequestPrivate: vdbPtr type = 1
*Mar 1 15:35:53.620: //-1/xxxxxxxxxxxx/CCAPI/ccIFCallSetupRequestPrivate:
*Mar 1 15:35:53.620: //-1/xxxxxxxxxxxx/CCAPI/ccIFCallSetupRequestPrivate: (vdbPtr=0x62EC61A4, dest=
*Mar 1 15:35:53.620: //-1/xxxxxxxxxxxx/CCAPI/ccIFCallSetupRequestPrivate:
In the next line, outgoing CallEntry ID 45 is bound to the same GUID 45F2AAE28044.
The next line shows that the voice gateway informs the incoming call leg that digits were forwarded.
The next two lines show the IP address of the terminating gateway and indicate that the terminating gateway is
reached through Ethernet port 0/0.
The next line shows that the voice gateway received a call proceeding message from the terminating gateway. The
following line shows that the voice gateway received a call alert from the terminating gateway.
05/08/11 44
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
In the following line, the voice gateway forwarded a call alert to the originating gateway.
Router#!call answered
The voice gateway receives a connect message from the terminating gateway.
The next line shows that the call accounting starts. The leg_type=False message means this is for an outgoing call.
The line that follows shows that AAA accounting is not configured.
The next lines show a conference being set up between the two call legs 0x2C and 0x2D. Bridge complete
messages are sent to both the terminating and originating gateways.
Here, the voice gateway sets up negotiating capability with the originating telephony leg.
The voice gateway sets up negotiating capability with the terminating VoIP leg.
05/08/11 45
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
*Mar 1 15:36:05.028: //45/xxxxxxxxxxxx/CCAPI/cc_api_caps_ack: (dstVdbPtr=0x637EC1E0, dstCallId=0x2C
caps={codec=0x4, fax_rate=0x2, vad=0x2, modem=0x0
codec_bytes=20, signal_type=2, seq_num_start=2944})
*Mar 1 15:36:05.028: //44/xxxxxxxxxxxx/CCAPI/cc_api_caps_ack: (dstVdbPtr=0x62EC
61A4, dstCallId=0x2D, srcCallId=0x2C,
caps={codec=0x4, fax_rate=0x2, vad=0x2, modem=0x0
codec_bytes=20, signal_type=2, seq_num_start=2944})
*Mar 1 15:36:05.032: //44/xxxxxxxxxxxx/CCAPI/cc_api_voice_mode_event: callID=0x2C
*Mar 1 15:36:05.032: //44/45F2AAE28044/CCAPI/cc_api_voice_mode_event: Call Pointer =634A430C
*Mar 1 15:36:05.032: //44/xxxxxxxxxxxx/SSAPP:-1:-1/sess_appl: ev(52=CC_EV_VOICE_MODE_DONE), cid(44)
*Mar 1 15:36:05.032: //44/45F2AAE28044/SSAPP:10002:21/ssaTraceSct:
Router#
Router#cid(44)st(SSA_CS_ACTIVE)ev(SSA_EV_VOICE_MODE_DONE)oldst(SSA_CS_CONFERENCING)cfid(21)csize(
*Mar 1 15:36:05.032: //44/45F2AAE28044/SSAPP:10002:21/ssaTraceSct: -cid2(45)st2(SSA_CS_ACTIVE)oldst
*Mar 1 15:36:05.032: //44/45F2AAE28044/SSAPP:10002:21/ssaIgnore: cid(44), st(SSA_CS_ACTIVE),oldst(5
Router#
Router#! digit punched
Router#
The voice gateway receives a disconnect message from the terminating gateway. The cause code is 0x10 which is
normal call clearing.
The voice gateway begins tearing down the conference and dropping the bridge.
05/08/11 46
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
*Mar 1 15:36:22.920: //44/xxxxxxxxxxxx/CCAPI/cc_api_bridge_drop_done: (confID=0x15, srcIF=0x637EC1E
*Mar 1 15:36:22.924: //44/xxxxxxxxxxxx/SSAPP:-1:-1/sess_appl: ev(30=CC_EV_CONF_DESTROY_DONE), cid(4
*Mar 1 15:36:22.924: //44/45F2AAE28044/SSAPP:10002:21/ssaTraceSct: cid(44)st(SSA_CS_CONF_DESTROYING
oldst(SSA_CS_ACTIVE)cfid(21)csize(2)in(1)fDest(1)
*Mar 1 15:36:22.924: //44/45F2AAE28044/SSAPP:10002:21/ssaTraceSct: -cid2(45)st2
(SSA_CS_CONF_DESTROYING)oldst2(SSA_CS_ACTIVE)
*Mar 1 15:36:22.924: //45/45F2AAE28044/SSAPP:0:-1/ssaConfDestroyDone:
*Mar 1 15:36:22.924: //44/xxxxxxxxxxxx/CCAPI/ccCallDisconnect: (callID=0x2C, cause=0x10 tag=0x0)
The voice gateway stops call accounting on the incoming call, indicated by the leg_type=True message. The
cause code is then set for the originating leg.
The voice gateway stops call accounting for the outgoing call, indicated by the leg_type=False message. The
cause code is verified for the terminating leg.
05/08/11 47
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 48
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
To use this functionality, enter a show or more command followed by the vertical line character (|); one of the
keywords begin, include, or exclude; and a regular expression on which you want to search or filter (the
expression is case-sensitive):
The output matches certain lines of information in the configuration file. The following example illustrates how to
use output modifiers with the show interface command when you want the output to include only lines in which
the expression "protocol" appears:
For more information on the search and filter functions, see the "Using the Command-Line Interface" chapter in
the Cisco IOS Configuration Fundamentals Configuration Guide.
05/08/11 49
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 Voice Call Debug Filtering Overview
• 2 Restrictions for Voice Call Debug Filtering
• 3 Information About Voice Call Debug Filtering
♦ 3.1 Debug Commands that Support Voice Call
Filtering
♦ 3.2 Generic Call Filter Module
♦ 3.3 Calling and Called Number Strings
◊ 3.3.1 Table: Symbols Used in Calling and
Called Number Strings
◊ 3.3.2 Table: Number Matching Examples
Using Wildcard Symbols
♦ 3.4 Exact and Partial Matching
♦ 3.5 Media and Signaling Streams
• 4 Configuring the Voice Call Debug Filter
♦ 4.1 Configuring Call-Specific Conditions
◊ 4.1.1 SUMMARY STEPS
◊ 4.1.2 DETAILED STEPS
◊ 4.1.3 Troubleshooting Tips
◊ 4.1.4 What to Do Next
♦ 4.2 Enabling Debug for the Set Filtering Conditions
◊ 4.2.1 Prerequisites
◊ 4.2.2 SUMMARY STEPS
◊ 4.2.3 DETAILED STEPS
◊ 4.2.4 Troubleshooting Tips
• 5 Output Examples for Voice Call Debug Filtering
♦ 5.1 Exact Match Filtering: Example
◊ 5.1.1 Dial-Peer Configuration for Exact
Match Filtering
◊ 5.1.2 Debug Output for Exact Match
Filtering
♦ 5.2 Partial Match Filtering: Example
◊ 5.2.1 Debug Output for Partial Match
Filtering
05/08/11 50
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Note: Call filtering also works on IP-to-IP gateway connections using H.323.
The selected criteria are set on the gateway, and different sets of criteria can be stored.
To better understand the voice call debug filtering on Cisco voice gateways, see the following sections:
05/08/11 51
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• debug cch323 preauth
• debug cch323 session
• debug ccsip all
• debug ccsip calls
• debug ccsip err
• debug ccsip events
• debug ccsip messages
• debug ccsip preauth
• debug ccsip states
• debug mgcp all
• debug mgcp endpoint
• debug mgcp endptdb
• debug mgcp errors
• debug mgcp events
• debug mgcp gcfm
• debug mgcp inout
• debug mgcp media
• debug mgcp src
• debug mgcp state
• debug mgcp voipcac
• debug voip aaa
• debug voip ccapi error
• debug voip ccapi inout
• debug voip ipipgw
• debug voip ivr all
• debug voip ivr applib
• debug voip ivr callsetup
• debug voip ivr digitcollect
• debug voip ivr dynamic
• debug voip ivr error
• debug voip ivr script
• debug voip ivr settlement
• debug voip ivr states
• debug voip ivr tclcommands
• debug voip rawmsg
• debug vtsp all
• debug vtsp dsp
• debug vtsp error
• debug vtsp event
• debug vtsp port
• debug vtsp rtp
• debug vtsp send-nse
• debug vtsp session
• debug vtsp stats
• debug vtsp vofr subframe
• debug vtsp tone
• debug vtsp vofr
Note: See the Cisco IOS Debug Command Reference for detailed information about these debug commands.
05/08/11 52
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• CCAPI
• Dial peers
• H.323
• ISDN
• IVR (Version 2.0 only)
• MGCP
• SIP
• SSAPP
• TGRAM
• Voice AAA
• VTSP
The filtering for these modules is managed by the generic call filter module (GCFM). The filtering conditions are
configured in the GCFM, and then the individual modules are informed when a call has to be filtered. The GCFM
coordinates between multiple modules to handle filtering conditions.
All modules use the global unique identifier (GUID) to identify an individual call to GCFM. Each call is assigned
a GUID and retains the same GUID throughout the entire network and over time. Gateway information and time
stamp are embedded in the GUID. GUIDs identify an individual call among the multiple filtered-out calls so that
the call can be isolated. For more information about GUIDs and the debug header, see the Debug Command
Output on Cisco IOS Voice Gateways.
Activity in the GCFM can be traced using the debug call filter detail and debug call filter inout commands. See
the Cisco IOS Debug Command Referencefor more information about these debug commands.
Table: Symbols Used in Calling and Called Number Strings shows all of the wildcard symbols that are supported
in the calling and called number strings.
Symbol Description
Indicates a single-digit placeholder. For example, 555.... matches any dialed string beginning with 555,
.
plus at least four additional digits.
[] Indicates a range of digits. A consecutive range is indicated with a hyphen (-); for example, [5-7]. A
nonconsecutive range is indicated with a comma (,); for example, [5,8]. Hyphens and commas can be
05/08/11 53
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Note: Only single-digit ranges are supported. For example, [98-102] is invalid.
() Indicates a pattern; for example, 408(555). It is used in conjunction with the symbol ?, %, or +.
Indicates that the preceding digit occurred zero or one time. Enter ctrl-v before entering ? from your
?
keyboard.
Indicates that the preceding digit occurred zero or more times. This functions the same as the "*" used in
%
regular expression.
+ Indicates that the preceding digit occurred one or more times.
T Indicates the interdigit timeout. The voice gateway pauses to collect additional dialed digits.
Note: The period (.) is the only wildcard character that is supported for dial strings that are configured using
the answer-address or incoming called-number command.
Table: Number Matching Examples Using Wildcard Symbols shows some examples of how these wildcard
symbols are applied to the calling and called number strings and the dial string that results when dial string
4085550199 is matched to the calling or called number. The wildcard symbols follow regular expression rules.
• Asterisk (*) and pound sign (#)-These symbols on standard touchtone dial pads can be used anywhere in
the pattern. They can be used as the leading character (for example, *650), except on the Cisco 3600
series.
• Dollar sign ($)-Disables variable-length matching. It must be used at the end of the dial string.
05/08/11 54
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• Exact match-All related debug output is filtered until all conditions in the match list are explicitly met.
This is the best choice for most situations because the output is the most concise.
• Partial match-No related debug output is filtered until there is a single explicit match failure. As long as
zero or more conditions are met, debug output is not filtered. This choice is useful in debugging call
startup problems like digit collection, but is not ideal for many situations because of the large amount of
debug output that might be generated before matches explicitly fail.
Signaling streams include both address signaling and supervisory signaling. Examples of signaling streams
include H.323 and SIP protocol streams. With the voice call debug filter, the signaling streams are traced for the
gateway or endpoint for the signaling stream.
SUMMARY STEPS
1. enable
2. configure terminal
3. call filter match-list number voice
4. incoming calling-number string
5. incoming called-number string
6. incoming secondary-called-number string
7. incoming port string
05/08/11 55
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
8. incoming signaling {local | remote'} 'ipv4 ip_address
9. incoming media {local | remote'}' ipv4 ip_address
10. incoming dialpeer tag
11. source carrier-id string
12. source trunk-group-label group-number
13. outgoing calling-number string
14. outgoing called-number string
15. outgoing secondary-called-number string
16. outgoing port string
17. outgoing signaling {local | remote'}' ipv4 ip_address
18. outgoing media {local | remote'}' ipv4 ip_address
19. outgoing dialpeer tag
20. target carrier-id string
21. target trunk-group-label group-number
22. end
DETAILED STEPS
Command or
Purpose
Action
Enables privileged
enable EXEC mode.
1. Example: • Enter your
password if
Router> enable
prompted.
configure terminal
Enters global
2. Example: configuration mode.
Router# configure terminal
3. call filter match-list number voice Enters call filter match
list configuration mode
Example: to define the filter
conditions.
Router(config)# call filter match-list 1 voice
• number-Numeric
label that
uniquely
identifies the
match list.
Range is 1 to
16.
05/08/11 56
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Example: • string-Numeric
4.
string that
Router(conf-call-filter-mlist)# incoming calling-number identifies all or
408555 part of the
incoming
calling number.
(Optional) Specifies the
incoming called number
incoming called-number string to be filtered.
Example: • string-Numeric
5.
string that
Router(conf-call-filter-mlist)# incoming called-number identifies all or
408555 part of the
incoming called
number.
(Optional) Specifies the
incoming secondary
called number to be
filtered.
• The secondary
called number is
incoming secondary-called-number string the number
from the second
6. Example: stage in a
two-stage
Router(conf-call-filter-mlist)# incoming
secondary-called-number 408555
scenario.
• string-Numeric
string that
identifies all or
part of the
incoming
secondary
called number.
7. incoming port string (Optional) Specifies the
incoming port to be
Example: filtered.
05/08/11 57
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 58
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Router(conf-call-filter-mlist)# source carrier-id 4321 • string-Alphanumeric
identifier for the
carrier ID.
(Optional) Specifies the
source trunk group to be
source trunk-group-label group-number filtered.
• This number
outgoing calling-number string goes out after
number
Example: translation and
13.
expansion are
Router(conf-call-filter-mlist)# outgoing calling-number complete.
408525 • string-Numeric
string that
identifies all or
part of the
outgoing calling
number.
(Optional) Specifies the
outgoing called number
to be filtered.
• This number
outgoing called-number string goes out after
number
Example: translation and
14.
expansion are
Router(conf-call-filter-mlist)# outgoing called-number complete.
408525 • string-Numeric
string that
identifies all or
part of the
outgoing called
number.
15. outgoing secondary-called-number string (Optional) Specifies the
outgoing secondary
Example: called number to be
filtered.
Router(conf-call-filter-mlist)# outgoing
secondary-called-number 408525
05/08/11 59
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• The secondary
called number is
the number
from the second
stage in a
two-stage
scenario.
• string-Numeric
string that
identifies all or
part of the
outgoing
secondary
called number.
(Optional) Specifies the
outgoing port to be
filtered.
• The telephony
interfaces are
defined for calls
from PSTN.
The string value
outgoing port string varies,
depending on
16. Example: different voice
gateways.
Router(conf-call-filter-mlist)# outgoing port 1/0/0
• string-Identifies
the outgoing
port number.
This value is
voice
gateway-specific
and varies
between voice
gateways.
(Optional) Specifies the
outgoing signaling IPv4
address for the
gatekeeper managing
outgoing signaling {local | remote} ipv4 ip-address the signaling.
Example: • local-Local
17.
voice gateway
Router(conf-call-filter-mlist)# outgoing signaling local • remote-Remote
ipv4 192.168.10.255 IP device
• ip-address-IP
address of the
local voice
gateway.
05/08/11 60
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Example: • local-Local
18.
voice gateway
Router(conf-call-filter-mlist)# outgoing media local • remote-Remote
ipv4 192.168.10.255 IP device
• ip-address-IP
address of the
local voice
gateway.
(Optional) Specifies the
outgoing dial peer to be
outgoing dialpeer tag filtered.
Troubleshooting Tips
To verify the conditions that you have set, use the show call filter match-list command. This command displays
the criteria set for the specified match list.
05/08/11 61
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
What to Do Next
After the conditions are set for the voice call debug, debug commands can be enabled. Proceed to the Enabling
Debug for the Set Filtering Conditions.
Prerequisites
The conditions for the voice call debug filter must be set as described in the Configuring Call-Specific
Conditions.
SUMMARY STEPS
1. enable
2. debug condition match-list tag {exact-match | partial-match}
3. debug cch323 '{'capacity' | 'h225 '|' h245 '| 'preauth' | 'ras '| 'rawmsg' | 'session'}'
or
debug ccsip '{'all '| 'calls '|' err '|' events' | 'messages '| 'preauth' |' states'}'
or
debug isdn q931
or
debug voip aaa
or
debug voip ccapi '{'error '|' inout'}'
or
debug voip ipipgw
or
debug voip ivr '{'all' | 'applib '|' callsetup' | 'digitcollect' | 'dynamic '|' error' | 'script' | 'settlement '|
'states' | 'tclcommands'}'
or
debug voip rawmsg
or
debug vtsp '{'all '|' dsp '| 'error '|' event '|' port' |' rtp '| 'send-nse '| 'session '|' stats '|' vofr subframe
'|' tone '|' vofr'}'
DETAILED STEPS
Command or
Purpose
Action
1. enable
05/08/11 62
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Example: • tag-Numeric
label that
Router# debug condition match-list 1 exact-match uniquely
identifies the
match list.
Range is 1 to
16. The number
for the match
list is set using
the call filter
match-list
command.
• exact-match-All
related debug
output is filtered
until all
conditions in the
match list are
explicitly met.
This is the best
choice for most
situations
because the
output is the
most concise.
• partial-
match-No
related debug
output is filtered
until there is a
single explicit
match failure.
As long as zero
or more
conditions are
met, debug
output is not
filtered. This
choice is useful
in debugging
05/08/11 63
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
call startup
problems like
digit collection,
but is not ideal
for many
situations
because a large
amount of
debug output is
generated before
matches
explicitly fail.
debug cch323 {capacity | h225 | h245 | preauth | ras'| rawmsg |
session}
Troubleshooting Tips
• show debug
05/08/11 64
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• show call filter components
This command displays the components that register internally with the filtering module. This command
shows which components are registered with the GCFM, which is the internal module that controls which
components are filtered.
This command displays the criteria set for the specified match list. It shows a list of all the match lists,
shows which ones are enabled, and shows whether they are enabled for partial or exact matching.
05/08/11 65
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Voice Telephony session debugging is on (filter is ON)
Voice Telephony dsp debugging is on (filter is ON)
Voice Telephony error debugging is on (filter is ON)
voip ccAPI function enter/exit debugging is on (filter is ON)
In the following output, the show call filter match-list command is used to show which conditions have been set
for the specified call filter:
The following debug output contains the exact match for the configured conditions.
05/08/11 66
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
cid(5) peer list: tag(2501) called number (50201)
Feb 6 11:13:30.803: //5/CFD853DE8004/SSAPP:502:-1/ssaReportDigitsDone: callid=5 Reporting
disabled.
Feb 6 11:13:31.007: ISDN Se6/0:23 Q931: callid 0x800B, callref 0x0003,
guid CFD853DE8004
Feb 6 11:13:31.007: ISDN Se6/0:23 Q931: RX <- CALL_PROC pd = 8 callref = 0x8003
Channel ID i = 0xA98397
Exclusive, Channel 23
Feb 6 11:13:31.007: ISDN Se6/0:23 Q931: callid 0x800B, callref 0x0003,
guid CFD853DE8004
Feb 6 11:13:31.007: ISDN Se6/0:23 Q931: RX <- ALERTING pd = 8 callref = 0x8003
Feb 6 11:13:31.011: //6/CFD853DE8004/VTSP:(6/0:D):22:0:0/vtsp_process_event: vtsp:[6/0:D
(6), S_SETUP_REQUEST, E_TSP_PROCEEDING]
Feb 6 11:13:31.011: //6/CFD853DE8004/VTSP:(6/0:D):22:0:0/act_setup_pend_proceeding: .
Feb 6 11:13:31.011:
//6/CFD853DE8004/DSM:(6/0:D):-1:0:4098/dsp_stream_mgr_reinit_platform_info: .
Feb 6 11:13:31.011: //6/CFD853DE8004/DSM:(6/0:D):-1:0:4098/dsm_open_voice_and_set_params:
.
Feb 6 11:13:31.011: //6/CFD853DE8004/DSM:(6/0:D):-1:0:4098/set_playout_dmgr: playout
default
Feb 6 11:13:31.011:
//6/CFD853DE8004/DSM:(6/0:D):-1:0:4098/dsm_dsp_echo_canceller_control: echo_cancel: 1
Feb 6 11:13:31.011: ISDN Se6/0:23 Q931: callid 0x800B, callref 0x0003,
guid CFD853DE8004
Feb 6 11:13:31.011: ISDN Se6/0:23 Q931: RX <- CONNECT pd = 8 callref = 0x8003
Feb 6 11:13:31.011: //6/CFD853DE8004/SSAPP:0:-1/ssaTraceSct:
cid(6)st(SSA_CS_CALL_SETTING)ev(SSA_EV_CALL_PROCEEDING)
oldst(SSA_CS_MAPPING)cfid(-1)csize(0)in(0)fDest(0)
Feb 6 11:13:31.011: //6/CFD853DE8004/SSAPP:0:-1/ssaTraceSct:
-cid2(5)st2(SSA_CS_CALL_SETTING)oldst2(SSA_CS_CALL_SETTING)
Feb 6 11:13:31.011: //6/CFD853DE8004/SSAPP:0:-1/ssaCallProc:
Feb 6 11:13:31.011: //6/CFD853DE8004/SSAPP:0:-1/ssaIgnore: cid(6),
st(SSA_CS_CALL_SETTING),oldst(1), ev(21)
Feb 6 11:13:31.011: //6/CFD853DE8004/VTSP:(6/0:D):22:0:0/vtsp_process_event: vtsp:[6/0:D
(6), S_SETUP_REQ_PROC, E_TSP_ALERT]
Feb 6 11:13:31.011: //6/CFD853DE8004/VTSP:(6/0:D):22:0:0/act_setup_pend_alert: .
Feb 6 11:13:31.011: //6/CFD853DE8004/VTSP:(6/0:D):22:0:0/vtsp_ring_noan_timer_start:
371381
Feb 6 11:13:31.015: ISDN Se6/0:23 Q931: callid 0x800B, callref 0x0003,
guid CFD853DE8004
Feb 6 11:13:31.015: ISDN Se6/0:23 Q931: TX -> CONNECT_ACK pd = 8 callref = 0x0003
Feb 6 11:13:31.015: //6/CFD853DE8004/SSAPP:0:-1/ssaTraceSct:
cid(6)st(SSA_CS_CALL_SETTING)ev(SSA_EV_CALL_ALERT)
oldst(SSA_CS_CALL_SETTING)cfid(-1)csize(0)in(0)fDest(0)
Feb 6 11:13:31.015: //6/CFD853DE8004/SSAPP:0:-1/ssaTraceSct:
-cid2(5)st2(SSA_CS_CALL_SETTING)oldst2(SSA_CS_CALL_SETTING)
Feb 6 11:13:31.015: //5/CFD853DE8004/SSAPP:502:-1/ssaAlert:
Feb 6 11:13:31.015: //6/CFD853DE8004/DSM:(6/0:D):-1:0:4098/dsm_exec: [Feat SM: S:NONE B
SM: S:S_DSM_INIT E:E_DSM_CC_BRIDGE]
Feb 6 11:13:31.015: //6/CFD853DE8004/DSM:(6/0:D):-1:0:4098/dsm_act_bridge: .
Feb 6 11:13:31.015: //6/CFD853DE8004/VTSP:(6/0:D):22:0:0/vtsp_dsm_bridge_status_cb: .
Feb 6 11:13:31.015: //6/CFD853DE8004/VTSP:(6/0:D):22:0:0/vtsp_dsm_set_fax_feat_param:
Fax relay is ENABLED, Primary Fax protocol is T38_FAX_RELAY, Fallback Fax protocol is
CISCO_FAX_RELAY
Feb 6 11:13:31.015: //6/CFD853DE8004/VTSP:(6/0:D):22:0:0/vtsp_dsm_peer_event_cb:
E_DSM_CC_CAPS_IND
Feb 6 11:13:31.015: //6/CFD853DE8004/VTSP:(6/0:D):22:0:0/vtsp_process_event: vtsp:[6/0:D
(6), S_SETUP_REQ_PROC, E_TSP_CONNECT]
Feb 6 11:13:31.015: //6/CFD853DE8004/VTSP:(6/0:D):22:0:0/act_setup_pend_connect: .
Feb 6 11:13:31.015: //6/CFD853DE8004/VTSP:(6/0:D):22:0:0/vtsp_ring_noan_timer_stop:
371382
Feb 6 11:13:31.015: //6/CFD853DE8004/DSM:(6/0:D):-1:0:4098/dsp_stream_mgr_play_tone: .
05/08/11 67
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Feb 6 11:13:31.015: //6/CFD853DE8004/DSM:(6/0:D):-1:0:4098/dsm_exec: [Feat SM: S:NONE B
SM: S:S_DSM_BRIDGING E:E_DSM_CC_GEN_TONE]
Feb 6 11:13:31.015: //6/CFD853DE8004/DSM:(6/0:D):-1:0:4098/dsm_act_gen_tone: Tone is not
on, ignoring
Feb 6 11:13:31.015: //6/CFD853DE8004/CCAPI/cc_api_call_connected: setting
callEntry->connected to TRUE
In the following output, the show call filter match-list command is used to show which conditions are set for the
specified call filter:
The following debug output shows ISDN debug messages on all calls, but displays only the debug vtsp event
messages on dial peer 1.
05/08/11 68
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
[state:S_SETUP_INDICATED, event: E_CC_PROCEEDING]
*Mar 3 16:21:52.032: ISDN Se2/0:23 Q931: callid 0x01EA, callref 0x01E6,
guid 06ED7A20-170A-11CC-81E7-000B465B86B0
*Mar 3 16:21:52.036: ISDN Se2/0:23 Q931: TX -> CALL_PROC pd = 8 callref = 0x81E6
Channel ID i = 0xA98381
Exclusive, Channel 1
*Mar 3 16:21:52.080:
//1270/06ED7A20-170A-11CC-81E7-000B465B86B0/VTSP:(2/0:23):0:0:0/vtsp_process_event:
[state:S_PROCEEDING, event: E_CC_ALERT]
*Mar 3 16:21:52.084: ISDN Se2/0:23 Q931: callid 0x01EA, callref 0x01E6,
guid 06ED7A20-170A-11CC-81E7-000B465B86B0
*Mar 3 16:21:52.084: ISDN Se2/0:23 Q931: TX -> ALERTING pd = 8 callref = 0x81E6
Progress Ind i = 0x8088 - In-band info or appropriate now available
*Mar 3 16:21:52.084:
//1270/06ED7A20-170A-11CC-81E7-000B465B86B0/VTSP:(2/0:23):0:0:0/vtsp_process_event:
[state:S_ALERTING, event: E_CC_CONNECT]
*Mar 3 16:21:52.088: ISDN Se2/0:23 Q931: callid 0x01EA, callref 0x01E6,
guid 06ED7A20-170A-11CC-81E7-000B465B86B0
*Mar 3 16:21:52.088: ISDN Se2/0:23 Q931: TX -> CONNECT pd = 8 callref = 0x81E6
*Mar 3 16:21:52.392: ISDN Se2/0:23 Q931: callid 0x01EA, callref 0x01E6,
guid 06ED7A20-170A-11CC-81E7-000B465B86B0
*Mar 3 16:21:52.392: ISDN Se2/0:23 Q931: RX <- CONNECT_ACK pd = 8 callref = 0x01E6
*Mar 3 16:21:57.024: ISDN Se2/0:23 Q931: callid 0x0000, callref 0x01E7,
guid 09E86AA0-170A-11CC-81E8-000B465B86B0
*Mar 3 16:21:57.024: ISDN Se2/0:23 Q931: RX <- SETUP pd = 8 callref = 0x01E7
Bearer Capability i = 0x8090A2
Standard = CCITT
Transer Capability = Speech
Transfer Mode = Circuit
Transfer Rate = 64 kbit/s
Channel ID i = 0xE9808382
Exclusive, Interface 0, Channel 2
Calling Party Number i = 0x00, 0x80, '1001'
Plan:Unknown, Type:Unknown
Called Party Number i = 0x80, '5001'
Plan:Unknown, Type:Unknown
*Mar 3 16:22:02.032: ISDN Se2/0:23 Q931: callid 0x0000, callref 0x01E8,
guid 0CE49409-170A-11CC-81E9-000B465B86B0
*Mar 3 16:22:02.032: ISDN Se2/0:23 Q931: RX <- SETUP pd = 8 callref = 0x01E8
Bearer Capability i = 0x8090A2
Standard = CCITT
Transer Capability = Speech
Transfer Mode = Circuit
Transfer Rate = 64 kbit/s
Channel ID i = 0xE9808383
Exclusive, Interface 0, Channel 3
Calling Party Number i = 0x00, 0x80, '1002'
Plan:Unknown, Type:Unknown
Called Party Number i = 0x80, '5002'
Plan:Unknown, Type:Unknown
*Mar 3 16:22:07.032: ISDN Se2/0:23 Q931: callid 0x0000, callref 0x01E9,
guid 0FDF8489-170A-11CC-81EA-000B465B86B0
*Mar 3 16:22:07.032: ISDN Se2/0:23 Q931: RX <- SETUP pd = 8 callref = 0x01E9
Bearer Capability i = 0x8090A2
Standard = CCITT
Transer Capability = Speech
Transfer Mode = Circuit
Transfer Rate = 64 kbit/s
Channel ID i = 0xE9808384
Exclusive, Interface 0, Channel 4
Calling Party Number i = 0x00, 0x80, '1003'
Plan:Unknown, Type:Unknown
05/08/11 69
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Called Party Number i = 0x80, '5003'
Plan:Unknown, Type:Unknown
*Mar 3 16:22:12.032: ISDN Se2/0:23 Q931: callid 0x0000, callref 0x01EA,
guid 12DA7509-170A-11CC-81EB-000B465B86B0
*Mar 3 16:22:12.032: ISDN Se2/0:23 Q931: RX <- SETUP pd = 8 callref = 0x01EA
Bearer Capability i = 0x8090A2
Standard = CCITT
Transer Capability = Speech
Transfer Mode = Circuit
Transfer Rate = 64 kbit/s
Channel ID i = 0xE9808385
Exclusive, Interface 0, Channel 5
Calling Party Number i = 0x00, 0x80, '1004'
Plan:Unknown, Type:Unknown
Called Party Number i = 0x80, '5004'
Plan:Unknown, Type:Unknown
*Mar 3 16:22:17.036: ISDN Se2/0:23 Q931: callid 0x0000, callref 0x01EB,
guid 15D601B1-170A-11CC-81EC-000B465B86B0
*Mar 3 16:22:17.036: ISDN Se2/0:23 Q931: RX <- SETUP pd = 8 callref = 0x01EB
Bearer Capability i = 0x8090A2
Standard = CCITT
Transer Capability = Speech
Transfer Mode = Circuit
Transfer Rate = 64 kbit/s
Channel ID i = 0xE9808386
Exclusive, Interface 0, Channel 6
Calling Party Number i = 0x00, 0x80, '1005'
Plan:Unknown, Type:Unknown
Called Party Number i = 0x80, '5005'
Plan:Unknown, Type:Unknown
*Mar 3 16:22:22.040: ISDN Se2/0:23 Q931: callid 0x0000, callref 0x01EC,
guid 18D18E59-170A-11CC-81ED-000B465B86B0
*Mar 3 16:22:22.040: ISDN Se2/0:23 Q931: RX <- SETUP pd = 8 callref = 0x01EC
Bearer Capability i = 0x8090A2
Standard = CCITT
Transer Capability = Speech
Transfer Mode = Circuit
Transfer Rate = 64 kbit/s
Channel ID i = 0xE9808387
Exclusive, Interface 0, Channel 7
Calling Party Number i = 0x00, 0x80, '1006'
Plan:Unknown, Type:Unknown
Called Party Number i = 0x80, '5006'
Plan:Unknown, Type:Unknown
*Mar 3 16:22:27.040: ISDN Se2/0:23 Q931: callid 0x0000, callref 0x01ED,
guid 1BCC7ED9-170A-11CC-81EE-000B465B86B0
*Mar 3 16:22:27.040: ISDN Se2/0:23 Q931: RX <- SETUP pd = 8 callref = 0x01ED
Bearer Capability i = 0x8090A2
Standard = CCITT
Transer Capability = Speech
Transfer Mode = Circuit
Transfer Rate = 64 kbit/s
Channel ID i = 0xE9808388
Exclusive, Interface 0, Channel 8
Calling Party Number i = 0x00, 0x80, '1007'
Plan:Unknown, Type:Unknown
Called Party Number i = 0x80, '5007'
Plan:Unknown, Type:Unknown
*Mar 3 16:22:32.048: ISDN Se2/0:23 Q931: callid 0x0000, callref 0x01EE,
guid 1EC8A7A9-170A-11CC-81EF-000B465B86B0
*Mar 3 16:22:32.048: ISDN Se2/0:23 Q931: RX <- SETUP pd = 8 callref = 0x01EE
Bearer Capability i = 0x8090A2
05/08/11 70
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Standard = CCITT
Transer Capability = Speech
Transfer Mode = Circuit
Transfer Rate = 64 kbit/s
Channel ID i = 0xE9808382
Exclusive, Interface 0, Channel 2
Calling Party Number i = 0x00, 0x80, '1008'
Plan:Unknown, Type:Unknown
Called Party Number i = 0x80, '5008'
Plan:Unknown, Type:Unknown
*Mar 3 16:22:34.688: ISDN Se2/0:23 Q931: callid 0x01EA, callref 0x01E6,
guid 06ED7A20-170A-11CC-81E7-000B465B86B0
*Mar 3 16:22:34.688: ISDN Se2/0:23 Q931: RX <- DISCONNECT pd = 8 callref = 0x01E6
Cause i = 0x8290 - Normal call clearing
*Mar 3 16:22:34.688: ISDN Se2/0:23 Q931: callid 0x01EA, callref 0x01E6,
guid 06ED7A20-170A-11CC-81E7-000B465B86B0
*Mar 3 16:22:34.688: ISDN Se2/0:23 Q931: TX -> RELEASE pd = 8 callref = 0x81E6
*Mar 3 16:22:34.688:
//1270/06ED7A20-170A-11CC-81E7-000B465B86B0/VTSP:(2/0:23):0:0:0/vtsp_process_event:
[state:S_CONNECT, event: E_TSP_DISCONNECT_IND]
*Mar 3 16:22:34.688:
//1270/06ED7A20-170A-11CC-81E7-000B465B86B0/VTSP:(2/0:23):0:0:0/vtsp_process_event:
[state:S_CONNECT, event: E_CC_DISCONNECT]
*Mar 3 16:22:34.692:
//1270/06ED7A20-170A-11CC-81E7-000B465B86B0/VTSP:(2/0:23):0:0:0/vtsp_process_event:
[state:S_WAIT_STATS, event: E_VTSP_DSM_STATS_COMPLETE]
*Mar 3 16:22:34.692:
//1270/06ED7A20-170A-11CC-81E7-000B465B86B0/VTSP:(2/0:23):0:0:0/vtsp_process_event:
[state:S_WAIT_RELEASE, event: E_TSP_DISCONNECT_CONF]
*Mar 3 16:22:34.692:
//1270/06ED7A20-170A-11CC-81E7-000B465B86B0/VTSP:(2/0:23):0:0:0/vtsp_process_event:
[state:S_CLOSE_DSPRM, event: E_VTSP_DSM_CLOSE_COMPLETE]
*Mar 3 16:22:34.812: ISDN Se2/0:23 Q931: callid 0x01EA, callref 0x01E6,
guid 06ED7A20-170A-11CC-81E7-000B465B86B0
*Mar 3 16:22:34.812: ISDN Se2/0:23 Q931: RX <- RELEASE_COMP pd = 8 callref = 0x01E6
*Mar 3 16:22:37.048: ISDN Se2/0:23 Q931: callid 0x0000, callref 0x01EF,
guid 21C39829-170A-11CC-81F0-000B465B86B0
*Mar 3 16:22:37.048: ISDN Se2/0:23 Q931: RX <- SETUP pd = 8 callref = 0x01EF
Bearer Capability i = 0x8090A2
Standard = CCITT
Transer Capability = Speech
Transfer Mode = Circuit
Transfer Rate = 64 kbit/s
Channel ID i = 0xE9808381
Exclusive, Interface 0, Channel 1
Calling Party Number i = 0x00, 0x80, '1009'
Plan:Unknown, Type:Unknown
Called Party Number i = 0x80, '5009'
Plan:Unknown, Type:Unknown
*Mar 3 16:22:42.052: ISDN Se2/0:23 Q931: callid 0x0000, callref 0x01F0,
guid 24BF24D1-170A-11CC-81F1-000B465B86B0
*Mar 3 16:22:42.052: ISDN Se2/0:23 Q931: RX <- SETUP pd = 8 callref = 0x01F0
Bearer Capability i = 0x8090A2
Standard = CCITT
Transer Capability = Speech
Transfer Mode = Circuit
Transfer Rate = 64 kbit/s
Channel ID i = 0xE9808383
Exclusive, Interface 0, Channel 3
Calling Party Number i = 0x00, 0x80, '1010'
Plan:Unknown, Type:Unknown
Called Party Number i = 0x80, '5010'
05/08/11 71
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Plan:Unknown, Type:Unknown
*Mar 3 16:22:47.056: ISDN Se2/0:23 Q931: callid 0x0000, callref 0x01F1,
guid 27BAB179-170A-11CC-81F2-000B465B86B0
*Mar 3 16:22:47.056: ISDN Se2/0:23 Q931: RX <- SETUP pd = 8 callref = 0x01F1
Bearer Capability i = 0x8090A2
Standard = CCITT
Transer Capability = Speech
Transfer Mode = Circuit
Transfer Rate = 64 kbit/s
Channel ID i = 0xE9808384
Exclusive, Interface 0, Channel 4
Calling Party Number i = 0x00, 0x80, '1011'
Plan:Unknown, Type:Unknown
Called Party Number i = 0x80, '5011'
Plan:Unknown, Type:Unknown
05/08/11 72
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Use voice call debug filtering on Cisco voice gatekeepers to get selected debugging traces for voice calls. This
feature allows you to filter and trace voice call debug messages based on selected filtering criteria, reducing the
volume of output for more efficient troubleshooting.
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 Restrictions for Voice Call Debug Filtering on Voice Gatekeepers
• 2 Information About Voice Call Debug Filtering
♦ 2.1 Debug Commands that Support Voice Call Filtering on Cisco
Voice Gatekeepers
♦ 2.2 Gatekeeper Filter Module
♦ 2.3 Calling and Called Number Strings
◊ 2.3.1 Table: Wild CardSymbols Supported in Calling and
Called Number Strings
♦ 2.4 Exact and Partial Matching Conditions Rules and Information
◊ 2.4.1 Table: Rules Applied for Executing Exact and Partial
Matching Logic
◊ 2.4.2 GKFM Debug Filter Rules Engine
◊ 3 Configuring the Voice Call Debug Filter for Cisco
Gatekeepers
⋅ 3.1 Configuring Call-Specific Conditions for
Gatekeepers
• 3.1.1 SUMMARY STEPS
• 3.1.2 DETAILED STEPS
⋅ 3.2 Enabling Debug for the Set Filtering Conditions
⋅ 3.3 Prerequisites
• 3.3.1 SUMMARY STEPS
• 3.3.2 DETAILED STEPS
⋅ 3.4 Troubleshooting Tips
◊ 4 Examples
⋅ 4.1 Sample Output for show call filter and show
debug: Example
⋅ 4.2 Sample Output for show debug: Example
05/08/11 73
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• Voice call debug filtering on gatekeepers is available only if you have a Cisco IOS image that contains
the gatekeeper functionality or joint functionality (for both gateways and gatekeepers).
• Filtering of debugs in the gatekeeper DNS process is not supported.
• Filtering of ASN and GUP messages is not supported.
• The following are not supported by call filtering:
♦ If debug messages are printed in non-ARQ path, the path will not support call filtering.
♦ H.323V1, H323 proxy, and DGK are not supported.
♦ Calls transferred from primary gatekeeper to the secondary gatekeeper will not be filtered in the
secondary gatekeeper, but new calls in secondary gatekeeper will apply filtering.
♦ All error, incorrect, and delayed GKTMP messages are not printed in call filtering because the
gatekeeper ignores the message at a lower level and the messages are not printed.
♦ GKTMP messages that are not related to calls are not supported by call filtering (registration,
unregistration, and resource messages).
Note: In addition to working on voice gatekeepers, call filtering works on IP-to-IP gateway connections using
H.323.
The selected criteria are set on the gatekeeper, and different sets of criteria can be stored.
To better understand the voice call debug filtering on Cisco voice gatekeepers, see the following sections:
• Debug Commands that Support Voice Call Filtering on Cisco Voice Gatekeepers
• Gatekeeper Filter Module
• Calling and Called Number Strings
• Exact and Partial Matching Conditions Rules and Information
Note: In the syntax, the level argument can be a number from 1 through 10. Refer to the Cisco IOS Debug
Command Reference for detailed information about these debug commands.
05/08/11 74
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
The GKFM provides the core infrastructure for the gatekeeper module to use for providing call tracing
capabilities. This module is part of the GCFM subsystem (sub_gcfm) and provides all the necessary
implementations for the command-line interface (CLI) functions, conditions matching logics for the gatekeeper.
The gatekeeper debug subsystem uses the GKFM infrastructure to implement standard style header formats.
Activity in the GKFM can be traced using the debug call filter detail and debug call filter inout commands.
Refer to the Cisco IOS Debug Command Reference for more information about these debug commands.
• Maintain a set of matching lists that are activated through the CLI interface for filtering out desired calls.
• Provide an interface to the gatekeeper modules for filter query for exact and partial matches.
• Implement an algorithm to execute the matching logic by examining the activated filter tags provisioned
through the CLI interface. The algorithm is optimized in a way that the logic is executed only when there
is a new call parameter populated in the context or there is a change in the CLI provisioned data.
• Employ a filter rules engine to prevent activation of illegal and conflicting filter tags (that is, filter tags
having conflicting conditions provisioned across them).
Table: Wild CardSymbols Supported in Calling and Called Number Strings shows all of the wildcard symbols
that are supported in the calling and called number strings.
Symbol Description
Indicates a single-digit placeholder. For example, 555.... matches any dialed string beginning with 555,
.
plus at least four additional digits.
Indicates a range of digits. A consecutive range is indicated with a hyphen (-); for example, [5-7]. A
nonconsecutive range is indicated with a comma (,); for example, [5,8]. Hyphens and commas can be
[] used in combination; for example, [5-7,9].
Note: Only single-digit ranges are supported. For example, [98-102] is invalid.
() Indicates a pattern; for example, 408(555). It is used in conjunction with the symbol ?, %, or +.
05/08/11 75
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Indicates that the preceding digit occurred zero or one time. Press ctrl-v before entering ? from your
?
keyboard.
Indicates that the preceding digit occurred zero or more times. This functions the same as the "*" used in
%
regular expression.
+ Indicates that the preceding digit occurred one or more times.
T Indicates the interdigit timeout. The voice gateway pauses to collect additional dialed digits.
Note: The wildcard symbols follow regular expression rules, and whatever wildcard applies to the gateway
applies to the gatekeeper as well. The period (.) is the only wildcard character that is supported for dial
strings that are configured using the answer-address or incoming called-number command.
Multiple filter tags could be provisioned for the gatekeeper, each with one or all three different conditions under
them. But the GKFM provides a rules engine to validate while activating thefilter tags when one or more filter
tags are contradictory or conflicting with each other. Matching conditions are as follows:
• Exact match-All related debug output is filtered and shown when all conditions in the match list are
explicitly met. This is the best choice for most situations because the output is the most concise.
• Partial match-Related debug output is filtered and shown when even only one condition matches. This
choice is useful in debugging call startup problems like digit collection, but is not ideal for many
situations because of the large amount of debug output that might be generated before matches explicitly
fail.
To filter out the desired calls, you must define a list of matching conditions. Separate filters need to be defined for
VoIP gateways and VoIP gatekeepers, because both the gateway and gatekeeper can exist on the same box.
The following global CLI is used to define the conditions on the gatekeeper. The gatekeeper keyword appears in
the CLI only if you have a Cisco IOS image that contains gatekeeper debug filter functionality or a combination
of gateway and gatekeeper debug filter functionality.
Then, under the submode, a set of conditions can be defined. Only the following will be valid for filtering calls on
the gatekeeper:
One new match condition is added that is valid for gatekeeper filtering only:
For applying the match filters configured, the CLI for gatekeepers is the same as that used for gateways:
Table: Rules Applied for Executing Exact and Partial Matching Logic summarizes the rules applied while you are
executing the exact and partial match logic.
05/08/11 76
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Table: Rules Applied for Executing Exact and Partial Matching Logic
Number Decription
The exact match is an AND logic across all the provisioned conditions. For example:
The debugs are emitted only when all the callp provided input matches.
The debugs are emitted only when any one of the callp-provided inputs matches.
Because incoming calling number was not provided, it is taken as a don't care condition and excluded
when the GKFM is executing the matching logic. This tag shall be an exact match for all calls with
called number 9876, resolved destination 1.2.3.4, and any calling number xxxx.
When the admin provisions only the resolved destination address under a filter tag, then all debugs (for
which filtering is employed) shall be throwing the outputs until the callp learns the resolved destination
address (that is, until the RAS-LCF message was obtained or the route server provides the resolved
address during a later part of the call). This scenario should be well understood before such a filter tag
is activated. For example:
4
call filter match-list 1 gatekeeper
resolved destination ipv4 1.2.3.4
Then debugs for all the calls with any IC called/calling numbers shall be thrown until the resolved
destination address is known. When the resolved destination address happens to be 1.2.3.4, then the
debug outputs would continue-if not, it would stop at that point.
5 If the admin provisions a filter tag with no matching conditions under it, such a tag cannot be activated.
For example:
!
call filter match-list 3 gatekeeper
!
#deb condition match-list 3 exact
05/08/11 77
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
!
call filter match-list 2 gatekeeper
incoming called-number 9876
incoming calling-number 2345
resolved destination ipv4 1.2.3.4
!
# show call filter match-list
*********************************************
call filter match-list 2 gatekeeper
*********************************************
The following are the rules employed by the filter activation rules engine in order to avoid the conflicts between
one or more activated filter tags.
Y- indicates configured
05/08/11 78
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
X Y Y Reject always.
Y X Y Compare CDN only. Reject - if same Allow - if different
Y Y X Compare CDN only. Reject - if same Allow - if different
Y Y Y Compare CDN only. Reject - if same Allow - if different
05/08/11 79
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
X Y X Reject always.
Y X X Reject always.
Y Y X Reject always.
05/08/11 80
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Compare CDN, CGN and Res. IPv4. Reject - if all are same. Allow -
if any one different
X X Y Compare Res. IPv4 only. Reject - if same Allow - if different.
X Y X Compare CGN only. Rejectect - if same Allow - if different
Compare CGN & Res. IPv4. Rejectect - if both are same Allow - if
X Y Y
any one different
Y X X Compare CDN only. Reject - if same Allow - if different
Compare CDN and Res. IPv4 only. Reject - if both are same Allow -
Y X Y
if any one different
Compare CDN and CGN only. Reject - if both are same Allow - if
Y Y X
any one different.
SUMMARY STEPS
1. enable
2. configure terminal
3. call filter match-list number gatekeeper
4. incoming calling-number string
5. incoming called-number string
6. gatekeeper resolved ipv4 ipaddress
7. exit
8. exit
DETAILED STEPS
Example:
05/08/11 81
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Router# configure terminal
Enters call filter match list configuration
mode to define the filter conditions on
the gatekeeper.
call filter match-list number gatekeeper • number-Numeric label that
uniquely identifies the match
3. Example:
list. Range is 1 to 16.
Router(config)# call filter match-list 1 gatekeeper
Note: At least one of the following
optional parameters (Step 4 to
Step 7) for call filtering must
be configured.
incoming calling-number string (Optional) Specifies the incoming calling
number to be filtered.
4. Example:
• string-Numeric string that
Router(conf-call-filter-mlist)# incoming calling-number identifies all or part of the
408525 incoming calling number.
incoming called-number string (Optional) Specifies the incoming called
number to be filtered.
5. Example:
• string-Numeric string that
Router(conf-call-filter-mlist)# incoming called-number identifies all or part of the
408525 incoming called number.
gatekeeper resolved ipv4 ipaddress (Optional) Specifies the
gatekeeper-resolved destination IP
address to be filtered.
6. Example:
Router(conf-call-filter-mlist)# gatekeeper resolved • ipaddress-IP address that
ipv4 10.1.1.1 identifies the destination.
exit
Router(conf-call-filter-mlist)# exit
exit
Router(config)# exit
05/08/11 82
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Prerequisites
The conditions for the voice call debug filter must be set as described in the Configuring Call-Specific Conditions
for Gatekeepers.
SUMMARY STEPS
1. enable
2. debug condition match-list tag {exact-match | partial-match}
3. debug gatekeeper call level
or
debug gatekeeper main level
or
debug gatekeeper servers
DETAILED STEPS
05/08/11 83
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Example:
Troubleshooting Tips
To verify debug conditions, use the following commands:
• show debug
This command displays the components that register internally with the filtering module. This command
shows which components are registered with the GKFM, which is the internal module that controls which
components are filtered.
This command displays the criteria set for the specified match list. It shows a list of all the match lists,
shows which ones are enabled, and shows whether they are enabled for partial or exact matching.
Examples
This section provides sample output and a typical debug listing:
• Sample Output for show call filter and show debug: Example
• Sample Output for show debug: Example
Sample Output for show call filter and show debug: Example
When the exact match condition is used for gatekeeper voice call debug filtering, all related debug output is
filtered until all conditions in the match list are explicitly met:
05/08/11 84
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
gatekeeper resolved destination address 10.77.154.91
incoming called-number 444
debug condition match-list is not armed
*********************************************
call filter match-list 2 gatekeeper
*********************************************
incoming called-number 204
debug condition match-list is set to EXACT_MATCH
Router#
################################
Router# show debug
Gatekeeper:
Gatekeeper Server Messages debugging is on (filter is ON)
gk call debug level = 10 (filter is ON)
gk zone debug level = 10
c2691-1-OGK#
05/08/11 85
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
The SIP Debug Output Filtering Support feature provides the capability for SIP-related debug output to be filtered
based on a set of user-defined matching conditions.
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 Restrictions for SIP Debug Output Filtering
Support
• 2 Information About SIP Debug Output Filtering
Support
♦ 2.1 Feature Design of SIP Debug Output
Filtering Support
♦ 2.2 Generic Call Filtering Module
♦ 2.3 SIP Debug Commands that Support
Output Filtering
♦ 2.4 Matching Conditions
• 3 Configuring SIP Debug Filtering
♦ 3.1 Configuring Call Filters
◊ 3.1.1 SUMMARY STEPS
◊ 3.1.2 DETAILED STEPS
◊ 3.1.3 What to Do Next
♦ 3.2 Enabling SIP Debug Output Filtering
◊ 3.2.1 Prerequisites
◊ 3.2.2 SUMMARY STEPS
◊ 3.2.3 DETAILED STEPS
♦ 3.3 Verifying SIP Debug Output Filtering
Support
◊ 3.3.1 SUMMARY STEPS
◊ 3.3.2 DETAILED STEPS
• 4 Configuration Examples for SIP Debug Filtering
♦ 4.1 Configuring Call Filters: Example
♦ 4.2 Enabling SIP Debug Output Filtering:
Example
05/08/11 86
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
The SIP Debug Output Filtering Support feature document provides SIP-specific information on the debug
filtering design in Cisco IOS gateways implemented by the voice call debug filtering feature. See the Voice Call
Debug Filtering on Cisco Voice Gateways for more information.
The GCFM manages the set of matching condition lists and coordination and tracking of calls between multiple
modules within the voice gateway architecture. The SIP module uses the GCFM function to create GUIDs to
track individual inbound and outbound SIP calls. Activity in the GCFM can be traced using the debug call filter
detail and debug call filter inout commands. See the Cisco IOS Debug Command Reference for more
information about these debug commands.
05/08/11 87
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
See the Cisco IOS Debug Command Reference for more information about SIP debug commands.
Note: Because of the importance of the messages associated with the debug ccsip err command, this debug
output is not filterable.
Matching Conditions
To filter calls, define a list of matching conditions. The SIP Debug Output Filtering Support feature supports
matches based on the following conditions:
The string pattern for calling and called numbers can be either a complete telephone number or a partial telephone
number with wildcard digits, represented by a period (.) character.
• Exact match-All related debug output is filtered until all conditions in the match list are explicitly met.
This option is the best choice for most situations because it produces the most concise output.
• Partial match-No related debug output is filtered until there is a single explicit match failure. As long as
zero or more conditions are met, debug output is not filtered. This choice is useful in debugging call
startup problems like digit collection, but is not ideal for many situations because of the large amount of
debug output until matches explicitly fail.
See the Exact and Partial Matching for more information on matching conditions and filtering voice calls.
05/08/11 88
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
SUMMARY STEPS
1. enable
2. configure terminal
3. call filter match-list number voice
4. incoming calling-number string
5. incoming called-number string
6. incoming signaling {local | remote} ipv4 ip-address
7. incoming media {local | remote} ipv4 ip-address
8. incoming dialpeer tag
9. outgoing calling-number' string
10. outgoing called-number string
11. outgoing signaling {local | remote} ipv4 ip-address
12. outgoing media {local | remote} ipv4 ip-address
13. outgoing dialpeer tag
14. end
DETAILED STEPS
05/08/11 89
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Router(conf-call-filter-mlist)# incoming calling-number (Optional) Specifies the incoming
408555 calling number to be filtered.
05/08/11 90
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Router(conf-call-filter-mlist)# end
What to Do Next
After the conditions are set for filtering the SIP call debug output, debug commands can be enabled. Proceed to
the "Enabling SIP Debug Output Filtering" section.
Prerequisites
The conditions for the SIP call debug filter must be set as described in the Configuring Call Filters.
05/08/11 91
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
SUMMARY STEPS
1. enable
2. debug condition match-list number {exact-match | partial-match}
3. debug ccsip {all | calls | events | messages | preauth | states}
DETAILED STEPS
SUMMARY STEPS
1. show debug
2. show call filter components
3. show call filter match-list
05/08/11 92
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
DETAILED STEPS
1. show debug
Use this command to display the debugs that are enabled, for example:
Use this command to display which components are registered with the GCFM, the internal module that controls
which components are filtered:
Use this command to display the criteria set for the specified match list. The command shows a list of all the
match lists, shows which ones are enabled, and shows whether they are enabled for partial or exact matching.
*********************************************
call filter match-list 1 voice
*********************************************
incoming called-number 5551200
05/08/11 93
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 94
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
!
controller T1 0
framing esf
clock source line primary
linecode b8zs
pri-group timeslots 1-24
!
controller T1 1
framing esf
clock source line secondary 1
linecode b8zs
pri-group timeslots 1-24
!
controller T1 2
framing esf
linecode b8zs
pri-group timeslots 1-24
!
controller T1 3
framing esf
linecode b8zs
pri-group timeslots 1-24
!
!
interface Ethernet0
no ip route-cache
no ip mroute-cache
shutdown
no cdp enable
!
interface Serial0:23
no logging event link-status
isdn switch-type primary-dms100
isdn incoming-voice modem
no cdp enable
!
interface Serial1:23
no logging event link-status
isdn switch-type primary-dms100
isdn incoming-voice modem
no cdp enable
!
interface Serial2:23
no logging event link-status
isdn switch-type primary-dms100
isdn incoming-voice modem
no cdp enable
!
interface Serial3:23
isdn switch-type primary-dms100
no cdp enable
!
interface FastEthernet0
ip address 172.18.195.43 255.255.0.0
no ip route-cache
no ip mroute-cache
duplex auto
speed auto
fair-queue 64 256 235
no cdp enable
!
ip classless
05/08/11 95
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
ip route 0.0.0.0 0.0.0.0 FastEthernet0
ip route 10.0.0.0 255.0.0.0 172.18.193.3
ip route 10.0.0.0 255.0.0.0 172.18.195.1
ip route 172.18.0.0 255.255.0.0 172.18.193.1
ip http server
!
!
!
control-plane
!
!
!
call filter match-list 1 voice
incoming called-number 4085559876
!
voice-port 0:D
!
voice-port 1:D
!
voice-port 2:D
!
voice-port 3:D
!
!
dial-peer cor custom
!
!
!
dial-peer voice 1100 pots
destination-pattern 55511..
direct-inward-dial
port 0:D
prefix 55511
!
dial-peer voice 1200 pots
destination-pattern 55512..
direct-inward-dial
port 1:D
prefix 55512
!
dial-peer voice 444 pots
destination-pattern 444....
direct-inward-dial
port 2:D
prefix 444
!
dial-peer voice 5100 voip
destination-pattern 55551..
session protocol sipv2
session target ipv4:172.18.207.10:5060
dtmf-relay rtp-nte
codec g711ulaw
!
dial-peer voice 5200 voip
destination-pattern 55552..
session protocol sipv2
session target ipv4:172.18.207.10:5060
dtmf-relay rtp-nte
!
dial-peer voice 5300 voip
destination-pattern 55553..
session protocol sipv2
05/08/11 96
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
session target ipv4:10.0.0.5
dtmf-relay rtp-nte
!
dial-peer voice 5400 voip
destination-pattern 55554..
session protocol sipv2
session target ipv4:10.0.0.5
dtmf-relay rtp-nte
!
dial-peer voice 2100 voip
destination-pattern 55521..
session protocol sipv2
session target ipv4:172.18.193.88
dtmf-relay rtp-nte
codec g711ulaw
!
dial-peer voice 2200 voip
destination-pattern 55522..
session protocol sipv2
session target ipv4:172.18.207.10:5060
dtmf-relay rtp-nte
!
gateway
!
sip-ua
retry invite 3
retry response 3
retry bye 3
retry cancel 3
retry prack 3
retry comet 3
retry rel1xx 3
retry notify 3
timers trying 750
!
!
line con 0
exec-timeout 0 0
transport preferred none
line aux 0
line vty 0 4
exec-timeout 0 0
password lab
login
transport preferred none
!
ntp clock-period 17180086
ntp server 172.68.10.150 prefer
!
end
Note: When the exact match condition is used for SIP call debug filtering, all related debug output is filtered
until all conditions in the match list are explicitly met.
Router# debug condition match-list 1 exact-match
05/08/11 97
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Router# debug ccsip all
Router# show debug
CCSIP SPI:SIP Call Statistics tracing is enabled (filter is ON)
CCSIP SPI:SIP Call Message tracing is enabled (filter is ON)
CCSIP SPI:SIP Call State Machine tracing is enabled (filter is ON)
CCSIP SPI:SIP Call Events tracing is enabled (filter is ON)
CCSIP SPI:SIP error debug tracing is enabled (filter is ON)
CCSIP SPI:SIP info debug tracing is enabled (filter is ON)
CCSIP SPI:SIP media debug tracing is enabled (filter is ON)
CCSIP SPI:SIP Call preauth tracing is enabled (filter is ON)
Router# Debug filtering is now on
Building configuration...
!
!
!
call filter match-list 1 voice
incoming called-number 4085551221
!
end
The following lines show partial debug output with the filter on. Some debug output generated during a call may
not have GUID information. These debugs, represented by /xxxxxxxxxxxx/ characters in the debug header, are
not filtered and always appear.
Sep 2 13:11:05.395://-1/xxxxxxxxxxxx/SIP/Error/httpish_msg_process_network_msg:Content
Length 222, Bytes Remaining 233
Sep 2 13:11:05.395://-1/xxxxxxxxxxxx/SIP/Info/HandleUdpSocketReads:Msg enqueued for SPI
with IP addr:10.102.16.214:56587
Sep 2 13:11:05.395://-1/xxxxxxxxxxxx/SIP/Info/sipSPISetDateHeader:Converting TimeZone EST
to SIP default timezone = GMT
Sep 2 13:11:05.399://-1/xxxxxxxxxxxx/SIP/Error/sipSPI_validate_own_ip_addr:ReqLine IP
addr does not match with host IP addr
Sep 2 13:11:05.399://-1/xxxxxxxxxxxx/SIP/Event/sipSPIEventInfo:Queued event from SIP SPI
:SIPSPI_EV_SEND_MESSAGE
05/08/11 98
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Supported:timer,100rel
Min-SE: 1800
Cisco-Guid:2496939846-2908099028-2147680272-2073165500
User-Agent:Cisco-SIPGateway/IOS-12.x
Allow:INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, COMET, REFER, SUBSCRIBE, NOTIFY, INFO,
UPDATE
CSeq:101 SUBSCRIBE
Max-Forwards:6
Remote-Party-ID:<sip:[email protected]>;party=calling;screen=no;privacy=off
Timestamp:972881251
Contact:<sip:[email protected]:5060>
Expires:60
Allow-Events:telephone-event
Content-Type:application/sdp
Content-Length:233
v=0
o=CiscoSystemsSIP-GW-UserAgent 2904 6070 IN IP4 172.18.193.100
s=SIP Call
c=IN IP4 172.18.193.100
t=0 0
m=audio 18862 RTP/AVP 18 19
c=IN IP4 172.18.193.100
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:19 CN/8000
a=ptime:20
Sep 2 13:12:31.112://-1/94D447468003/SIP/State/sipSPIChangeState:0x631570C8 :State change
from (STATE_NONE, SUBSTATE_NONE) to (STATE_IDLE, SUBSTATE_NONE)
Sep 2 13:12:31.112://-1/xxxxxxxxxxxx/SIP/Info/sipSPISetDateHeader:Converting TimeZone EST
to SIP default timezone = GMT
Sep 2 13:12:31.116://-1/xxxxxxxxxxxx/SIP/Error/sipSPI_validate_own_ip_addr:ReqLine IP
addr does not match with host IP addr
Sep 2 13:12:31.116://-1/xxxxxxxxxxxx/SIP/Event/sipSPIEventInfo:Queued event from SIP SPI
:SIPSPI_EV_SEND_MESSAGE
Sep 2 13:12:31.116://-1/94D447468003/SIP/Info/sipmwiEventCleanup:Removing CCB with mwi
clientID(3100802)
Sep 2 13:12:31.116://-1/94D447468003/SIP/State/sipSPIChangeState:0x631570C8 :State change
from (STATE_IDLE, SUBSTATE_NONE) to (STATE_DEAD, SUBSTATE_NONE)
Sep 2 13:12:31.116://-1/94D447468003/SIP/Info/ccsip_deregister_call_filter:Deregistering
call from GCFM
Sep 2 13:12:31.120://-1/94D447468003/SIP/Info/sipSPIFlushEventBufferQueue:There are 0
events on the internal queue that are going to be free'd
Sep 2 13:12:31.120://-1/94D447468003/SIP/Info/sipSPIUfreeOneCCB:Freeing ccb 631570C8
Sep 2 13:12:31.120://-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg:
Sent:
SIP/2.0 489 Bad Event - 'Missing Event:field'
Via:SIP/2.0/UDP
172.18.193.100:5060;branch=z9hG4bK1348;received=10.102.16.214
From:"3100801" <sip:[email protected]>;tag=19AE8-A6C
To:<sip:[email protected]>;tag=19AE8-A6C
Call-ID:[email protected]
CSeq:101 SUBSCRIBE
Timestamp:972881251
Content-Length:0
05/08/11 99
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
The MGCP Call Centric Debug feature enables the filtering of debug output based on selected criteria and this
feature also standardizes the format of the MGCP debug header. By sharing a common header format all MGCP
debug information for a single call can be identified and correlated across the various layers in Cisco IOS
software. Filtering debug output reduces extraneous information displayed on the console port, making it easier to
locate the correct information and reducing the impact to platform performance, while mitigating lost data
because of buffer limits.
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 Restrictions for MGCP Call Centric Debug
• 2 Information About MGCP Call Centric Debug
♦ 2.1 MGCP Debug Commands that Support Debug
Filtering
♦ 2.2 Match Conditions for MGCP Debug Filtering
♦ 2.3 Trace Levels for MGCP Debug Output
♦ 2.4 Tips on Collecting Debug Output
• 3 How to Enable MGCP Call Centric Debug
♦ 3.1 Modifying the Debug Header Format for MGCP
Debug Output
◊ 3.1.1 SUMMARY STEPS
◊ 3.1.2 DETAILED STEPS
♦ 3.2 Creating Match Lists for MGCP Filtering
Conditions
◊ 3.2.1 SUMMARY STEPS
◊ 3.2.2 DETAILED STEPS
♦ 3.3 Enabling MGCP Debug Filtering Using Match
Lists
♦ 3.4 Prerequisites
♦ 3.5 Restrictions
◊ 3.5.1 SUMMARY STEPS
◊ 3.5.2 DETAILED STEPS
♦ 3.6 Verifying the MGCP Debug Filtering
Configuration
♦ 3.7 Enabling MGCP Debug Trace Levels
♦ 3.8 Restrictions
◊ 3.8.1 SUMMARY STEPS
◊ 3.8.2 DETAILED STEPS
• 4 Configuration Examples for MGCP Call Centric Debug
♦ 4.1 Match-List Configuration for MGCP Debug
05/08/11 100
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Filtering: Example
♦ 4.2 Enabling MGCP Debug Filtering: Example
Note: Debug filtering is not supported for the debug mgcp nas, debug mgcp packets, or debug mgcp parser
commands.
See the Cisco IOS Debug Command Reference for more information about MGCP debug commands.
The MGCP Call Centric Debug feature supports filtering based on the following conditions:
05/08/11 101
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
See the Creating Match Lists for MGCP Filtering Conditions for information on configuring match conditions for
filtering MGCP calls.
The following trace levels can be selected to indicate the priority of the information that is displayed:
Note: The debug mgcp errors and debug mgcp packets commands do not support trace levels. Their debug
output is set to the highest priority and is displayed for all trace level values.
You can set the desired trace level for an MGCP debug session by using the tracelevel keyword in individual
MGCP debug commands or by setting a global trace level using the debug mgcp tracelevel-default command.
Note: Setting the trace level for an endpoint using the mgcp debug endpoint command is
independent of the global trace level. The endpoint level takes precedence over the global
level. For example, the debug mgcp event tracelevel moderate command used with the
debug mgcp endpoint aaln/S2/SU0/0 event tracelevel verbose command sets the trace
level to verbose for that specific endpoint while all of the other endpoints have event debugs
set at a moderate level. If the global debug is disabled, the per-endpoint debug remains
enabled and vice versa.
To log debug output to a buffer instead of the console, use the no logging console and logging buffered
commands. These commands can only be used, however, if there is enough memory available on the gateway to
create a large enough buffer to collect the debug output. To display debug output that was collected and sent to
the configured buffer, use the show logging command.
05/08/11 102
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Logging debug output to the console may also consume an excessive amount of CPU resources if the logging
console guaranteed command is enabled, which is the default setting. It is recommended that you disable this
functionality by using the no logging console guaranteed command when sending debug output to the console.
You may also want to use the service timestamps debug and service timestamps log commands to control how
the timestamps are displayed in the debug output.
• Modifying the Debug Header Format for MGCP Debug Output (optional)
• Creating Match Lists for MGCP Filtering Conditions (required)
• Enabling MGCP Debug Filtering Using Match Lists (required)
• Verifying the MGCP Debug Filtering Configuration (optional)
• Enabling MGCP Debug Trace Levels (optional)
SUMMARY STEPS
1. enable
2. configure terminal
3. voice call debug {full-guid | short-header}
4. mgcp debug-header
5. exit
DETAILED STEPS
05/08/11 103
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Router(config)# exit
SUMMARY STEPS
1. enable
2. configure terminal
3. call filter match-list' number voice'
4. incoming signaling {local | remote} ipv4 ip-address
5. incoming media {local | remote} ipv4 ip-address
6. incoming dialpeer tag
7. outgoing signaling {local | remote} ipv4 ip-address
8. outgoing media {local | remote} ipv4 ip-address
9. end
DETAILED STEPS
05/08/11 104
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Router> enable prompted.
configure terminal
05/08/11 105
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
ipv4 192.168.10.255 • local-Local voice gateway.
• remote-MGCP call agent.
• ip-address-IP address of the
local gateway or remote call
agent.
(Optional) Specifies the outgoing
media IPv4 address for the voice
outgoing media {local | remote} ipv4 ip-address gateway receiving the media stream.
Router(conf-call-filter-mlist)# end
Prerequisites
The filtering conditions for the debug output must be set as described in the Creating Match Lists for MGCP
Filtering Conditions.
Restrictions
• The debug mgcp nas, debug mgcp packets, and debug mgcp parser commands do not support debug
filtering.
• Debug output that is outside the context of a call, for example, RSIP, audit, and some endpoint database
information does not support filtering.
SUMMARY STEPS
1. enable
2. debug condition match-list number {exact-match | partial-match}
3. debug mgcp {all | endpoint | endptdb | errors | events | gcfm | media | src | state | voipcac}
05/08/11 106
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
DETAILED STEPS
Note:
05/08/11 107
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
This command
impacts all enabled
debug commands
that support call
filtering.
Enables the appropriate
MGCP debug commands.
See the Cisco IOS Debug Command Reference for more information about these commands.
05/08/11 108
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Restrictions
Trace levels are not supported for MGCP errors or packets debugging because all of the output from these
commands is set to high priority.
SUMMARY STEPS
1. enable
2. debug mgcp tracelevel-default {critical | moderate | verbose}
3. debug mgcp endpoint endpoint-name {{all | events | media} [tracelevel {critical | moderate | verbose}] |
{errors | packets}}
4. debug mgcp {all | endptdb | events | gcfm | inout | media | nas | parser | src | state | voipcac} [tracelevel
{critical | moderate | verbose}]
DETAILED STEPS
Command or
Purpose
Action
Enables privileged
enable EXEC mode.
1. Example: • Enter your
password if
Router> enable
prompted.
(Optional) Enables the
trace level globally for
all MGCP debug
commands and
endpoints.
• critical-Only
high priority
debug
debug mgcp tracelevel-default {critical | moderate | verbose} information is
displayed.
2. Example: • moderate-Medium
and high priority
Router# debug mgcp tracelevel-default critical
debug
information is
displayed.
• verbose-All
debug
information is
displayed. This is
the default trace
level.
3. debug mgcp endpoint endpoint-name {{all | events | media} (Optional) Enables the
[tracelevel {critical | moderate | verbose}] | {errors | packets}} trace level for a specific
05/08/11 109
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 110
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
!
resource policy
!
no network-clock-participate slot 1
no network-clock-participate slot 2
ip cef
!
!
!
no ip domain lookup
ip host callagenthost 192.168.1.200
voice-card 1
no dspfarm
!
voice-card 2
dspfarm
!
!
!
!
!
!
!
controller T1 1/0
framing esf
clock source internal
linecode b8zs
ds0-group 0 timeslots 1-24 type none service mgcp
!
controller T1 1/1
shutdown
framing esf
clock source internal
linecode b8zs
ds0-group 0 timeslots 1-24 type none service mgcp
!
!
!
!
interface FastEthernet0/0
ip address 192.168.1.79 255.255.255.0
no ip mroute-cache
speed auto
half-duplex
no cdp enable
!
interface FastEthernet0/1
no ip address
no ip mroute-cache
shutdown
duplex auto
speed auto
no cdp enable
!
!
ip http server
!
snmp-server community public RO
snmp-server enable traps tty
!
!
!
05/08/11 111
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
control-plane
!
!
!
call filter match-list 1 voice
incoming media local ipv4 192.168.1.12
outgoing media local ipv4 192.168.1.11
!
voice-port 1/0:0
!
voice-port 1/1:0
!
voice-port 2/0/0
!
voice-port 2/0/1
!
voice-port 2/0/2
!
voice-port 2/0/3
!
voice-port 2/1/0
!
voice-port 2/1/1
!
voice-port 2/1/2
!
voice-port 2/1/3
!
!
mgcp
mgcp call-agent callagenthost 7979 service-type mgcp version 1.0
mgcp package-capability mf-package
mgcp package-capability rtp-package
mgcp package-capability script-package
mgcp sdp simple
!
mgcp profile default
!
!
!
dial-peer voice 211 pots
service mgcpapp
port 2/1/1
!
dial-peer voice 213 pots
service mgcpapp
port 2/1/3
!
dial-peer voice 210 pots
service mgcpapp
port 2/1/0
!
dial-peer voice 200 pots
service mgcpapp
port 2/0/0
!
dial-peer voice 212 pots
service mgcpapp
port 2/1/2
!
!
line con 0
05/08/11 112
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
exec-timeout 0 0
line aux 0
line vty 0 4
password temp
login
!
!
end
05/08/11 113
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
The Cisco VoIP Internal Error Codes feature generates internal error codes (IECs) for gateway-detected errors
that cause the gateway to release or refuse a call. IECs enhance troubleshooting for VoIP networks by helping to
determine the source and reason for call termination.
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 Prerequisites for Cisco VoIP Internal Error Codes
• 2 Restrictions for Cisco VoIP Internal Error Codes
• 3 Information About Cisco VoIP Internal Error Codes
♦ 3.1 Benefits of Cisco VoIP Internal Error Codes
♦ 3.2 Feature Design of Cisco VoIP Internal Error Codes
♦ 3.3 IEC Reporting
♦ 3.4 Gatekeeper Behavior and Cisco VoIP Internal Error
Codes
◊ 3.4.1 Gatekeeper IEC Logging
◊ 3.4.2 IEC Differences in Gateway and
Gatekeeper Accounting
◊ 3.4.3 IEC and RSI Format in DRQ
◊ 3.4.4 Gatekeeper-Initiated Release Scenario
◊ 3.4.5 Release Source Extension
◊ 3.4.6 Release Source Values
♦ 3.5 Obtaining IECs
◊ 3.5.1 Sample IEC Syslog Message
◊ 3.5.2 Sample IEC Syslog Message for
Gatekeeper
◊ 3.5.3 Sample RADIUS VSA Internal Error Code
◊ 3.5.4 Sample Call History Record
◊ 3.5.5 Sample Dial Control MIB Entry
• 4 Internal Error Code Notation
♦ 4.1 Table: IEC Fields
♦ 4.2 Entity
♦ 4.3 Category Codes
◊ 4.3.1 Cisco VoIP IEC category codes
◊ 4.3.2 Gatekeeper Category Codes
◊ 4.4 Subsystem Codes
⋅ 4.4.1 Table: Subsystem Codes
◊ 4.5 Error Codes
⋅ 4.5.1 Table: Error Codes for Subsystem 1
(CCAPI)
05/08/11 114
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 115
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
The Cisco VoIP Internal Error Codes feature allows an error code to be generated for a gateway-detected error
that causes the gateway to release or refuse a call or call attempt. The error may not actually cause the call to fail;
for example, in the case of rotary attempts, a subsequent attempt may result in the call completing. The error does
not necessarily indicate a problem on the gateway itself, but may be due, for example, to a protocol error detected
in a message, or to a timeout while communicating with a nonresponding party. IECs are not generated for normal
calls that are released without an error; for example, no answer, busy, and user hangs up.
Each internal error in the voice signaling path that leads to the release of a call is assigned an IEC value. Fields
within the IEC identify which network entity and subsystem originated the error, and specify the error code within
the subsystem. The IEC mechanism maintains error counters and allows you to use command-line interface (CLI)
commands to collect, display, and offload error counters. The CLI also allows you to clear counters. The IEC
mechanism also generates a CLI-enabled syslog message and a new RADIUS vendor-specific attribute (VSA)
whenever an IEC is generated.
The IEC feature supports a mechanism for enforcing disconnect cause code consistency for internal errors by
providing a configurable mapping table to translate the IEC error category to an appropriate disconnect cause
code.
In addition to generating IECs, this feature set makes use of enhanced release source indicators (RSIs) to report
gatekeeper-released and route server-released calls. For more information on RSIs, refer to Call Release Source
Reporting in Gateway-Generated Accounting Records.
Note: IECs are not generated for the following types of calls: VoiceXML, fax, MGCP or SGCP, and SS7
continuity (COT).
IEC Reporting
Cisco implements IEC reporting by logging IEC values into the following records:
05/08/11 116
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
The gateway sends VSAs in RADIUS accounting stop records. Because each IEC is associated with a call leg, an
IEC is reported only in the stop record for one of the legs in a call. VSAs are also sent by the gatekeeper. The
gateway collects IECs for all call legs involved in a call and reports them to the gatekeeper, which inserts the
IECs in its accounting stop record. In some scenarios, multiple errors may be encountered for a particular call leg;
for example, multiple attempts to connect to an alternate endpoint. Up to five IECs may be generated per call.
Because IECs are reported through accounting records, if there is no voice call association or context, no IEC is
generated. This scenario occurs, for example, if the gateway receives an ISDN setup message and the ISDN layer
fails to allocate resources to process the setup message. In this instance there is no indication to the Voice
Telephony Service Provider (VTSP) layer and no creation of a call-leg or call-history record, so no IEC is
generated.
For intrazone calls the Cisco VoIP Internal Error Codes feature allows the gatekeeper to generate start and stop
records based on each ARQ and DRQ; that is, two start and stop records are generated for each call.
The gateway collects IECs for all call legs involved in a call and reports them to the gatekeeper in a DRQ
message during call release. The gateway also sends RSI information in the DRQ message. The gatekeeper then
logs the RSI and IEC information in RADIUS accounting stop records.
On the gateway an IEC is logged in to a stop accounting record for the call leg that encountered the error. If an
error occurred in the VTSP call leg, an IEC is logged in the telephony stop record; no IEC is recorded in the VoIP
stop record, and vice versa.
Figure: Differences in Gateway and Gatekeeper Accounting shows the differences between gateway and
gatekeeper accounting. On the gatekeeper, the two call legs, telephony and VoIP, are treated as one call leg, with
IEC information merged from both originating gateway (Gateway 1) call legs. The DRQ message to the
gatekeeper therefore contains IECs combined from both the telephony and VoIP call legs for a particular call.
From the gatekeeper perspective, the second call leg is the terminating gateway (Gateway 2) call leg. This call leg
records accounting information received as well.
05/08/11 117
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
IEC and RSI information is communicated in the RasnonStdUsageInformation field in the usageInformation
information element (IE) of the DRQ message. The following example shows a partial DRQ message:
The 64-bit IECs are communicated as an array of eight characters (of size eight bits). The callReleaseSource is
communicated as an enumerated value.
Prior to Cisco IOS Release 12.4(4)T, if the gatekeeper forcefully initiates a release for an active call by sending a
DRQ message, then no IEC is generated. The IEC feature does not support gatekeeper-generated IECs. The
ReleaseSource VSA for this scenario indicates a value of gatekeeper; however, there is no InternalErrorCode
VSA.
Starting with Cisco IOS Release 12.4(4)T, the capability was expanded so that gatekeeper-detected errors that
cause the gateway to release or refuse a call are covered. The IEC generated at the gatekeeper is sent in the
ARJ/DRQ RAS message to the gateway. The gateway then sends the IEC in a RADIUS accounting record. The
gatekeeper IEC clearly identifies:
05/08/11 118
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Release Source Extension
Prior to Cisco IOS Release 12.3(2)T, both gatekeeper and Gatekeeper Transaction Message Protocol (GKTMP)
server-released calls were treated as gatekeeper-released calls, and were indicated by an RSI value of external call
control agent. The Cisoc IOS Release 12.3(2)T version provides extended release source values for GKTMP
server and gatekeeper. RSI information is passed in the NonStandardUsageData parameter field of the ARJ and
DRQ messages from the gatekeeper to gateway during call tear down.
There is no change in the GKTMP interface; instead the context of the release scenario is used to determine the
RSI value at the gatekeeper. For example, the receipt of a RESPONSE.ARJ message from the route server results
in an RSI value of external gktmp server. Similarly, a forced release from gatekeeper using the clear h323
gatekeeper call command results in the RSI value of gatekeeper.
With respect to a single network, the following release sources are possible:
Obtaining IECs
Choose one or more of the following options to obtain IEC information:
• Display IECs as they are encountered in real time by enabling syslog messages. The IEC is not included
in syslog-accounting records. For more information on enabling syslog messages, refer to the chapter
"Task 2. Enabling Syslog" of Enabling Management Protocols: NTP, SNMP, and Syslog.
• Display running and interval IEC counters, and IEC descriptor strings using CLI commands.
• Export IEC counts to a specified server. For more information, refer to Voice Call Performance Statistics
on Cisco Gateways.
• Retrieve IEC and RSI information using Tcl IVR 2.0 scripts. For more information on using Tcl scripts
with the IEC feature, refer to Supplemental Tcl IVR API Version 2.0 Programmer's Guide.
If you use call detail recording (CDR) templates to filter VSAs that are included in accounting records to the
RADIUS server, you must add the IEC VSA to the CDR template if you want to display IEC VSAs.
05/08/11 119
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Sample IEC Syslog Message
The following example shows an IEC-generated system logging (syslog) message for gatekeeper:
If there is no call leg context, the ConfID is -1, and the GUID field is blank.
The following example shows a partial RADIUS stop accounting record for an IEC:
The show call history voice command displays VSA information in the following format:
InternalErrorCode=1.1.128.7.47.0
The following example shows a partial Dial Control MIB table entry for an IEC:
CCallHistoryIecEntry ::=
SEQUENCE {
cCallHistoryIecIndex Unsigned32,
cCallHistoryIec SnmpAdminString
}
The following example shows the use of the management tool command getmany to obtain the IEC:
05/08/11 120
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
cCallHistoryPeerIfIndex.5 = 213
cCallHistoryLogicalIfIndex.5 = 108
cCallHistoryDisconnectCause.5 = 3F
cCallHistoryDisconnectText.5 = service or option not available, unspecified (63)
cCallHistoryConnectTime.5 = 0
cCallHistoryDisconnectTime.5 = 8540740
cCallHistoryCallOrigin.5 = answer(2)
cCallHistoryChargedUnits.5 = 0
cCallHistoryInfoType.5 = speech(2)
cCallHistoryTransmitPackets.5 = 0
cCallHistoryTransmitBytes.5 = 0
cCallHistoryReceivePackets.5 = 0
cCallHistoryReceiveBytes.5 = 0
cCallHistoryReleaseSrc.5 = calledPartyInVoip(4)
cCallHistoryIec.5.1 = 1.1.180.1.26.0
In the preceding example, 5 is the index of the call history record and 1 is the index of the IEC for that record.
The following example shows the use of the indexes and the management tool command getone to obtain the IEC
directly:
Table: IEC Fields describes the six fields that identify the components of the IEC.
Entity
The entity field indicates the network signaling entity that generated the IEC. A value of 1 in this field indicates
the IEC is generated by the gateway.
05/08/11 121
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Category Codes
Cisco VoIP IEC categories range from 1 to 278, allowing an exact category of error to be specified in the category
field of an IEC. With the Cisco VoIP Internal Error Codes feature, the concept of error categories combines and
extends the existing Q.850 cause codes to handle VoIP-specific errors as well.
• The value range 1 to 127 is equivalent to ITU-based Q.850 cause codes defined for PSTN networks.
• The value range 128 to 278 is defined based on VoIP network errors. A mapping is maintained between
these error categories to corresponding Q.850 codes (1 to 127 range).
Note: Only the H.323 and Session Initiation Protocol (SIP) subsystems implement an approach to generate
disconnect cause codes or Q.850 PSTN cause codes based on error categories. The disconnect cause is
chosen based on the mapping from the corresponding error category. You can configure this mapping
using CLI. This correspondence of IEC error category and Q.850 disconnect cause is implemented only
for SIP and H.323 internal errors, and is not implemented for other subsystems in this release. For more
information on SIP and H.323 cause codes, refer to SIP and H.323 Internal Cause Codes.
Table: VoIP Error Category Codes shows the category codes outside the Q.850 range, their descriptions, and the
default Q.850 cause code used for each error category. The Q.850 cause codes for these categories can be changed
using CLI.
05/08/11 122
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Gatekeeper Category Codes
Cisco gatekeeper IEC categories range from 1 to 24, allowing an exact category of error to be specified in the
category field of an IEC. Table: Gatekeeper IEC Category Codes shows the category codes for gatekeeper IECs.
Category Description
1 Called party not registered
2 Invalid permission
3 Request denied
4 Undefined reason
5 Caller not registered
6 Route call to gatekeeper
7 Invalid endpoint ID
8 Resource unavailable
9 Security denial
10 QoS control not supported
11 Incomplete address
12 Alias inconsistent
13 Route call to SCN
14 Exceeds capacity
15 Error while collecting destination
16 Error while collecting PIN
17 Generic data reason
18 Needed feature unsupported
19 Software resource unavailable
20 External communication error
21 Software error
22 Socket failure
23 Normal disconnect
24 Force disconnect
Subsystem Codes
Together the subsystem and error codes pinpoint the exact error that cause the call to be released. IECs are
reported for the subsystems defined in Table: Subsystem Codes.
05/08/11 123
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Table: Subsystem Codes
Error Codes
The Error Code field of the IEC dotted-decimal string value indicates the subsystem-defined error code. Codes 1
through 20 are common to all subsystems and may occur in several places within a subsystem; for these errors,
the point of failure can be further isolated by referring to the unique diagnostic code field. Subsystem-specific
error codes begin at 21.
Note: The diagnostic code field is a Cisco internal code. Report this code to Cisco TAC for troubleshooting
assistance.
The following tables, Table: Error Codes for Subsystem 1 (CCAPI) through Table: Error Codes for Subsystem 10
(AFSAPP), are organized by subsystem and show error code values, descriptors, associated explanation, and
category codes.
05/08/11 124
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
No dial peer satisfied the match criteria for accepting or handling the call.
5 No dial peer match 128
This condition usually indicates a dial peer misconfiguration.
6 No DSP resource There were insufficient DSP resources to handle the call. 182
7 Socket error An error occurred on a socket interface. 179
RTP inactivity
8 Media (RTP/RTCP) inactivity timer expired for the call. 185
error
Invalid arguments passed to a function. This condition usually indicates an
9 Invalid arguments 180
internal software error.
Some unexpected event was received while in a state that was inappropriate
10 Invalid State 180
for processing such an event.
11 Timeout The software timed out waiting for some response or event to happen. 179
An internal process communication error occurred. This condition usually
Inter-process
12 indicates some software error, but may also mean that some process was not 178
communication
running because of misconfiguration.
An internal software error occurred. Report the entire IEC string, including
13 Software error 180
the diagnostic code field, to customer support.
The gateway or signaling interfaces are being taken out of service
Gateway or
14 (forcefully or gracefully). A possible cause may be the signaling interface 187
interface OOS
required to support the call has already been administratively shut down.
Dial peer
An outbound dial peer could not be used because the configured maximum
21 connections 181
number of connections for the dial peer had been reached.
exceeded
Incompatible An outbound dial peer could not be used because the configured numbering
22 28
number type type did not match the type specified in the call.
Trunk-group select The system failed to select an available interface among the trunk group
23 182
fail specified for use by a matching dial peer.
Caller-ID
24 An error occurred in processing caller ID information. 180
processing failure
25 Resource busy A resource needed to service the call was busy. 181
The system could not find an application to take the incoming call. Check
26 No application 180
your call application and dial peer configurations.
Application no The event points to a session application that no longer exists and is being
27 180
longer exists discarded.
An incoming call setup indication was received, bearing the same globally
28 Incoming loop unique identifier (GUID) as a call in existence. The call is being rejected 180
because a loop is suspected.
Call spike An incoming call was rejected because configured call spike thresholds
29 181
threshold were exceeded.
A matched dial peer could not be used to find an inbound application
Inbound dial peer
30 because the permission setting on it blocked its use as an inbound dial peer. 181
blocked
As a result, no application could be found to handle the call.
Outbound dial A matched dial peer could not be used to place the call because the
31 181
peer blocked configured permission on it contradicted its use as an outbound dial peer.
The maximum number of handoffs between applications for a single call has
Handoff depth
32 been exceeded. Check your application scripts to make sure there is no 180
reached
infinite loop within the applications.
05/08/11 125
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 126
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
finite state machine (FSM). Enable the debug voip ivr error command for
more detailed information.
A Tcl IVR script specified invalid arguments when invoking a Tcl command
Invalid args in
23 procedure. Enable the debug voip ivr error command for more detailed 180
script
information.
A Tcl script tried to access an unrecognized infotag, or it may have tried to
Unsupported use a recognized infotag in an unsupported mode (for example, issues a get
24 180
infotag command on a set-only infotag or vice versa). Enable the debug voip ivr
error command for more detailed information.
A Tcl script tried to execute an action or command that was invalid, or
Invalid action in
25 invalid given the state it was in. Enable the debug voip ivr error command 180
script
for more detailed information.
Call blocked by This call was rejected because it matched the profile defined for calls to be
26 228
CLI blocked.
An inbound call was rejected because it failed OSP settlement checking, due
to one of the following conditions:
Settlement check
27 228
failure • An OSP token was required and no valid one was found.
• An OSP token was included in the SETUP indication when none was
expected.
The Tcl IVR application failed to initiate the VXML dialog. Turn on VXML
28 vxmldialog failed 180
debugging for more detailed information.
A Tcl script terminated execution on failure of the media play command
because the prompt initialization failed. Possible causes:
Enable the debug voip ivr dynamic and debug voip ivr error commands
for more detailed information.
A Tcl script requested a media operation, for example, play, stop, or seek, on
Wrong state for
30 one or more legs that were in a conferenced state, or where there was a 180
media
VXML dialog active.
A Tcl script terminated because an infotag retrieval failed. Enable the debug
31 Get infotag failed 180
voip ivr error command for more information.
A Tcl script terminated because an infotag set operation failed. Enable the
32 Set infotag failed 180
debug voip ivr error command for more information.
An error was encountered while interpreting a 180 Tcl script. Enable the
33 TCL script error 180
debug voip ivr error command for more information.
The application was unable to use one of the callinfo parameters for setup;
Bad callinfo
34 for example, the octet 3 or octet 3a fields, redirect IE, and GUID. Enable the 180
params
debug voip ivr error command for more information.
The application could not run because it required an incompatible version of
35 Version mismatch 180
Tcl IVR.
36 Media request A Tcl script terminated a call because an error status was reported by the 181
failed media layer in the ev_media_done event. This indicates a failure in the
execution of media play or some other media operation requested by the
05/08/11 127
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
script. The script may choose to ignore the error, or it can opt to terminate
the call, specifying this IEC, media_done_err, as the reason for the
disconnect.
The error is logged by the Tcl script when it fails to collect digits in response
to a prompt and decides to terminate the call because of the failure. The
Digit collect failure may be normal, that is, the caller did not enter any digits, or it may be
37 179
failed due to an actual error in software or hardware. This IEC is logged by the
script when it specifies collectdigits_done_err as the IEC associated with the
disconnect.
The error code is set by the Tcl script when it terminates the call because it
Accounting conn has received an indication that connectivity to the accounting server is lost.
38 179
err This IEC is logged when the script specifies accounting_conn_err as the IEC
associated with the disconnect.
The error code is set by the Tcl script when it terminates a call because of
error status reported on an ev_authenticate_done event. The script logs this
39 Authentication err 179
error by specifying authenticate_done_err as the IEC associated with the
disconnect.
The error code is set by the Tcl script when it terminates a call because of
error status reported on an ev_authorize_done event. The script logs this
40 Authorization err 179
error by specifying authorize_done_err as the IEC associated with the
disconnect.
AAA invalid The error is logged by the Tcl script when the attribute type in the AAA av
41 180
attribute type pair specified in the script is not supported.
05/08/11 128
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 129
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 130
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
RTP inactivity
error
Invalid arguments were passed to a function. This condition usually
9 Invalid arguments 180
indicates an internal software error.
An unexpected event was received while in a state that was inappropriate for
10 Invalid State 180
processing such an event.
11 Timeout The software timed out waiting for some response or event to happen. 179
An internal process communication error occurred. This condition usually
Inter-process
12 indicates some software error, but may also mean that some process was not 178
communication
running because of misconfiguration.
An internal software error occurred. Report the entire IEC string, including
13 Software error 180
the diagnostic code field, to customer support.
The gateway or signaling interfaces are being taken out of service (forcefully
Gateway or
14 or gracefully). A possible cause may be the signaling interface required to 187
interface OOS
support the call has already been administratively shut down.
Leg connections A loop was detected while processing a redirected call. The new destination
21 128
maxed matches a previously seen redirect address.
Either an OSP token was detected in the setup message, or the dial peer
configuration specified that settlement is to be used for this call. However,
Handoff app not
22 the default or session application configured to handle this call does not 47
found
support the OSP protocol. Check the dial peer configuration and ensure that
an OSP-capable application is defined.
Incompatible The call was rejected because it matched the profile defined for incoming
23 228
protocols calls to be blocked.
An outbound dial peer matching this call's parameters specified an interface
24 OSP Fail 182
that was in use and unavailable.
Either the default application timed out waiting for the user to enter digits
25 dial peer deleted for the called number, or an INFO message arrived with zero-length called 28
number.
26 Interface busy The user entered an excessive number of digits for the called number. 28
Digit collection is not supported on the interface or protocol that originated
27 App can't handoff 79
this call.
Illegal "setup The number of calls serviced by this gateway has exceeded the total number
28 181
continue" permitted, as defined by the call threshold global total-calls command.
Call blocked by The maximum number of redirects (call forwarding) allowed for a call has
29 128
CLI been exceeded.
05/08/11 131
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
exceeded.
Call rejected because default or configured memory usage threshold has
4 Low memory 181
been exceeded.
No dial peer satisfied the match criteria for accepting or handling the call.
5 No dial peer match 128
This condition usually indicates a dial peer misconfiguration.
6 No DSP resource There were insufficient DSP resources to handle the call. 182
7 Socket error An error occurred on a socket interface. 179
8 RTP inactivity error Media (RTP/RTCP) inactivity timer expired for the call. 185
Invalid arguments passed to a function. This condition usually indicates an
9 Invalid arguments 180
internal software error.
An unexpected event was received while in a state that was inappropriate
10 Invalid state 180
for processing such an event.
11 Timeout The software timed out waiting for some response or event to happen. 179
An internal process communication error occurred. This condition usually
Inter-process
12 indicates some software error, but may also mean that some process was 178
communication
not running because of misconfiguration.
An internal software error occurred. Report the entire IEC string, including
13 Software error 180
the diagnostic code field, to customer support.
The gateway or signaling interfaces are being taken out of service
Gateway or
14 (forcefully or gracefully). A possible cause may be the signaling interface 187
interface OOS
required to support the call has already been administratively shut down.
The H.323 subsystem routinely provides specific IEC information,
H323 interworking
21 depending upon the source of an error. This IEC indicates that the exact 127
error
source of an error is not available in this instance.
Timeout occurred waiting for the callproc or alerting messages. The
No usr responding, calling party is given the response "No user responding," and the called
22 18
H225 timeout party is given the response "Recovery on timer expiry" as specified by
Q931.
No answer from Setup was sent; callproc, alert, or progress messages were already
23 19
user received; and timeout occurred waiting for connect message.
A timeout occurred while waiting for response for admission request sent
24 ARQ wait timeout 41
to the gatekeeper.
A timeout occurred while waiting for response for bandwidth request sent
25 BRQ wait timeout 41
to the gatekeeper.
The system received an Annex E RESTART message from the remote
ANNEX E restart
26 end. All calls with CRVs corresponding with destination address were 41
remote
cleared.
The H.225 message was received with one of the following:
• An invalid CRV
• Parse error
27 H225 invalid msg 95
• Mandatory IE missing
• Message out of sequence
• Wrong IE length
• Wrong IEC content
28 Setup no called no 96
05/08/11 132
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Received H.225 setup message and the mandatory field, called number,
was not present.
The H.225 message received on parsing the H.225 message found an ASN
29 H225 ASN error 100
decode error.
Wait RAS Cfm msg The system received an unexpected message in a state waiting for RAS
30 101
bad CFM message.
In response to the ARQ, the gatekeeper returned 0.0.0.0 as the destination
31 ACF, call redirected IP address in the Admission confirm (ACF). This is an attempt to redirect 128
the call by the gatekeeper.
32 Setup, DNS fail During an originating call attempt, the DNS/Enum resolution fails. 128
During call setup attempt using an alternate endpoint, the gatekeeper found
33 Setup no alternate 128
that there are no alternate endpoints to try.
Setup, GW not A new call is not allowed due to RAS not ready, that is, the gateway is not
34 179
registered registered to the gatekeeper.
SETUP, next CRV Received setup message at terminating endpoint, failed to get a valid
35 180
invalid unique CRV value.
36 TCS encode send Encoding and sending of terminal capability request failed. 180
End session ack
37 Encoding and sending of end session acknowledgement PDU failed. 180
send
38 End session send Encoding and sending of end session PDU failed. 180
39 Userinput send Encoding and sending of user input signal PDU failed. 180
40 Userinput upd send Encoding and sending of user input signal update PDU failed. 180
Userinput alpha
41 Encoding and sending of user input alpha signal PDU failed. 180
send
The H.245 capability state machine failed to send TCS acknowledgement
42 TCS ack fail 180
for the received TCS request.
The H.245 capability state machine failed to send TCS reject for the
43 TCS rej send fail 180
received TCS request.
The H.245 capability state machine received a TCS request, and received
44 TCS rel sent 180
an internal event to send the TCS release request.
SETUP send During H.225 PDU send operation, an error occurred in memory allocation
45 180
resource fail or socket queue was full.
46 ALERT send failed Encoding and sending of ALERT PDU failed. 180
47 CallProc send failed Encoding and sending of Call Proceeding PDU failed. 180
PROGRESS send
48 Encoding and sending of PROGRESS PDU failed. 180
failed
NOTIFY send
49 Encoding and sending of NOTIFY PDU failed. 180
failed
50 INFO send failed Encoding and sending of INFO PDU failed. 180
USER INFO send
51 Encoding and sending of USER INFO PDU failed. 180
failed
FACILITY send
52 Encoding and sending of FACILITY PDU failed. 180
failed
SUSPEND send
53 Encoding and sending of SUSPEND PDU failed. 180
failed
05/08/11 133
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
SUSPEND REJ
54 Encoding and sending of SUSPEND REJECT PDU failed. 180
send failed
RESUME send
55 Encoding and sending of RESUME PDU failed. 180
failed
PASSTHRU send
56 Encoding and sending of PASSTHRU PDU failed. 180
failed
CONNECT send
57 Encoding and sending of CONNECT PDU failed. 180
failed
SETUP ACK send
58 Encoding and sending of SETUP ACK PDU failed. 180
failed
RSCMSM interface RSCMSM call admission control (CAC) interface unavailable due to
59 181
unavail resource failure.
60 H245 sock start fail
H.245 listening socket failed to start. 181
During the outgoing call, a resource failure occurred for call entry data
61 Call entry no mem 181
structure.
62 Timeout h245 conn H.245 connection wait timeout occcurred. 183
TCS ack wait In the capability state machine, timer expiry occurred waiting for the TCS
63 183
timeout ACK message.
In the MSD state machine, the MSD request is received from remote, and
MS status the result of master slave status is indeterminate. This status occurs if sent
64 183
indetermine and received random numbers are the same, or if both the local and remote
terminal types are same.
MSD result In the MSD state machine, MSD ACK is received from remote end but
65 183
disagreement there is a disagreement in the MSD result.
MSD/MSD ACK The gateway sent the MSD request, but neither the incoming MSD or
66 183
Timeout MSD ACK message was received.
The gateway sent the MSD request, the incoming MSD was received from
67 MSD ACK timeout the remote end, and MSD ACK was sent to the remote end in response. 183
The expected MSD ACK message was not received from the remote.
In the MSD state machine, the MSD request was sent and the MSD reject
68 MSD rej received was received from the remote end. MSD requests are sent for a fixed 183
maximum number of retries before release.
In the MSD state machine, the MSD request was sent, and the MSD
69 MSD rel received 183
release indication was received from the remote end.
OLC ACK T103 In the OLC state machine, T103 timer expired waiting for the OLC ACK
70 183
timeout message in response to the sent OLC message.
Received QoS failure for non sync RSVP on IP-IP gateway, indicating
71 IPIP QoS Failure 184
minimum QoS was provided, not best effort.
The bandwidth in bearer capability exceeds the maximum configured, and
BW > config, min
72 minimum QoS was provided, not best effort. This error occurs during 184
QoS not best
build of nonstandard QoS IE for setup or call processing messages.
Received setup or call processing message with QoS in nonstandard
NonStd min QoS parameter; the remote end did not have enough bandwidth to support
73 184
not best RSVP. The acceptable QoS for audio was not best effort, and remote
minimum QoS was provided, not best effort.
74 184
05/08/11 134
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
RSVP fail treat Received RSVP failure and QoS treatment specifies that the gateway abort
abort the call, because the minimum QoS was not best effort.
Received fast start setup for QoS and remote minimum QoS was not best
75 Fast QoS mismatch 184
effort, but desired QoS was best effort.
The H.225 state machine received a slow start H.225 Setup, with no H.245
76 Slow QoS mismatch address in Setup; that was not a sigonly call and remote minimum QoS 184
was not best effort.
Received external QoS release from QoS resource manager for either the
77 H225, QoS release 184
outgoing or incoming H.225 QoS call setup request.
78 Fallback chk fail In the H.225 state machine, the fallback check failed. 184
During H.225 connection establishment, the channel connection failed due
79 H225 chn, sock fail to TCP socket error. The session target in the dial peer directly points to 186
the remote VoIP endpoint.
Alt h225 chn sock During H.225 connection establishment, in a call attempt to an alternate
80 186
fail endpoint, the channel connection failed due to TCP socket error.
During H.225 connection establishment (new connection), the channel
H225 chn, sock fail
81 connection failed due to TCP socket error. The dial peer has a session 186
in RAS
target of RAS.
During H.245 connection establishment, the channel connection failed due
82 H245, chn sock fail 186
to TCP socket error.
An error occurred during the setup PDU send operation on socket
connection for H..225. This error occurs under the following conditions:
SETUP send sock
83 186
fail • If the remote IP is a reachable address for pinging, but is not a
valid H.323 endpoint.
• If there is an ASN.1 encoding error for setup PDU.
84 Preauth fail Preauthentication attempt failed. 228
OLC bandwidth Received an OLC with bandwidth requirement that exceeds the configured
85 278
exceeded value for acc-QoS for that media type.
OLC ind Received OLC indication when waiting for OLC ACK; the codecs in OLC
86 278
asymmetric codec did not match. Also the connection attempt was an asymmetric codec retry.
87 Received OLC rej The H.245 state machine received an OLC reject message. 278
Fast codec The H.225 state machine received an H.225 fast SETUP message during
88 278
mismatch build of an OLC ACK and found that there was no matching codec.
OLC m/c, rcvd bw
89 The OLC state machine received a bandwidth reject message. 278
rej
TCS ACK neg Received TCS ACK, but the negotiated codec result was none when call
90 278
codec none type was not passthrough.
In the capability state machine, codec capabilities received from the
91 Cap not supported 278
remote end in the incoming TCS are not supported.
In the capability state machine, after sending a TCS request, a TCS reject
92 TCS rej received 278
was received from the remote end.
Negotiated There was no negotiated codec or DTMF relayed mode based on the local
93 278
codec/T-man none or remote capabilities.
94 MSD send fail Encoding and sending of Master Slave Request failed. 180
05/08/11 135
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Table: Error Codes for Subsystem 7 (SIP)
05/08/11 136
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 137
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 138
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 139
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 140
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 141
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 142
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 143
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 144
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 145
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 146
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 147
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
service (forcefully or
gracefully). A possible cause
may be the signaling interface
required to support the call has
already been administratively
shut down.
OSP settlement checking failed
21 OSP Fail 228
for an outbound call.
The call was rejected because it
matched the profile defined for
calls to be blocked. Diagnostic
codes are the following:
22 Call blocked by CLI 228
• 1-unassigned number
• 17-user-busy
• 21-call reject
• 28-invalid number
Indicates a failure in media play
23 Media request failed 181
or some other media operation.
The error occurred due to the
session application failure to
collect digits. The failure may be
normal; that is, the caller did not
enter any digits, or it may be due
to an actual error in software or
24 Digit collect failed hardware. To interpret the 179
diagnostic code, see Tcl IVR
cd_xxx status codes in the
"Events and Status Codes"
chapter in the Tcl IVR API
Version 2.0 Programming
Guide.
Call setup was not successful.
To interpret the diagnostic code,
see Tcl IVR ls_xxx status codes
25 Call setup failed in the "Events and Status Codes" 179
chapter in the Tcl IVR API
Version 2.0 Programming
Guide.
OSP settlement allocated a
limited time for call usage. The
26 Credit time has expired 228
total time of the call has
exceeded that usage.
Table: Error Codes for the Gatekeeper Subsystem shows the standard internal error codes (numbered 1 through
14) and the new gatekeeper-specific error codes (numbered 21 through 45) added in Release 12.4(4)T.
05/08/11 148
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Table: Error Codes for the Gatekeeper Subsystem
05/08/11 149
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
use.
ARQ came, but because the call
14 Call threshold exceeded threshold is exceeded, this 8
ARQ cannot be processed.
Error in processing the
GKTMP message. Server is
21 GK server error 20
trying to modify a field that
should not be modified.
Gateway is out of resources, so
22 GW out of resource 14
no more calls can be routed.
Address resoultion was not
Could not find an available GW for
23 successful. Could not find the 8
routing
GW to route.
LRQ/LRQs were sent to the
24 LRQ fail remote GK, but the GK could 20
not resolve.
Mandatory endpoint identifier
25 Invalid endpoint ID field in the incoming ARQ is 7
invalid or not present.
Badly formatted server
26 Bad message from server message. GK/GKAPI could not 20
process.
27 Proxy selection failed Proxy selection failed. 8
There is no session bandwith to
28 No session bandwidth 3
process the incoming ARQ.
There is no total bandwith to
29 No total bandwidth 3
process incoming ARQ.
Incoming ARQ did not have a
30 Invalid CAT token present 9
valid CAT to authenticate.
GK had sent a request
AAA/Route server/OSP server.
31 Endpoint killed 8
When the response came, the
endpoint was deleted.
GK had sent a request
AAA/Route server/OSP server.
32 DRQ in progress 8
When the response came, DRQ
is in progress.
GK sent a request to the route
33 No server responded 20
server, but no server responded.
Proxy session failed, so
34 Dest proxy not found 8
admission is denied.
No destination Info alias and no
destination IP address, and no
35 Incomplete address 11
pointers to remote zones or
carriers.
Remote or interzone bandwidth
36 Bandwidth not available 3
is not available.
05/08/11 150
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 151
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
SUMMARY STEPS
1. enable
2. configure terminal
3. voice iec syslog
DETAILED STEPS
SUMMARY STEPS
1. enable
2. configure terminal
3. voice cause-code
4. error-category number q850-cause number
5. exit
DETAILED STEPS
05/08/11 152
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
configure terminal
Enters global configuration
2. Example: mode.
Router# configure terminal
voice cause-code
(Optional) Enters voice
3. Example: cause-code configuration
mode.
Router(config)# voice cause-code
(Optional) Specifies the
values to be mapped.
Troubleshooting Tips
The IEC feature is itself a troubleshooting tool. By enabling the voice iec syslog command you can display IECs
logged in real time, which allows you to isolate a failure cause without turning on debugging. Then, based on the
IEC reported, you can selectively enable the appropriate debug tool to gather additional information.
To troubleshoot specific subsystems that do not generate corresponding IECs, use the following debug and show
commands:
• To learn whether the ISDN link is up or down, use the show isdn status command.
• To display information about whether the ISDN link is receiving SETUP, CALLPRO, ALERT,
CONNECT, and RELEASE COMPLETE messages, use the debug isdn q931 command.
• To display information about H.225 and RAS messages exchanged between a gateway and gatekeeper,
use the debug h225 asn1 command. H.225 debug output for the terminating side, in the initial stage when
a setup message is being received, provides an indication if messages are being received from the IP side
and if H.323 service is operational. If the H.225 connection is not established from the incoming side,
then no IECs are generated.
What to Do Next
Proceed to the section "Verifying IEC Options."
05/08/11 153
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 154
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 Enabling IEC Syslog Reporting and Configuring Cause Code Mapping:
Example
• 2 Verifying IEC Configuration: Example
♦ 2.1 Sample Output from the show running-config Command: Example
♦ 2.2 Sample Output from the show voice iec description Command:
Example
♦ 2.3 Sample Output from the show voice statistics iec Command: Example
♦ 2.4 Sample Output from the clear voice statistics Command: Example
♦ 2.5 Sample Output from the show voice cause-code category-q850
Command: Example
enable
configure terminal
voice iec syslog
voice cause-code
error-category 128 q850-cause 27
05/08/11 155
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
service timestamps log uptime
no service password-encryption
service internal
!
hostname GW-1
!
no boot startup-test
!
!
resource-pool disable
spe default-firmware spe-firmware-1
!
!
aaa new-model
!
!
aaa group server radius h323
!
aaa authentication login h323 group radius group h323
aaa authorization config-commands
aaa authorization exec h323 group h323
aaa accounting connection h323 start-stop group radius group h323
aaa session-id common
!
isdn switch-type primary-5ess
!
05/08/11 156
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
no ip route-cache
no ip mroute-cache
shutdown
duplex auto
speed auto
no cdp enable
!
interface Serial0/0
no ip address
no ip route-cache
no ip mroute-cache
shutdown
clockrate 2000000
no cdp enable
!
interface Serial0/1
no ip address
no ip route-cache
no ip mroute-cache
shutdown
clockrate 2000000
no cdp enable
!
interface Serial3/0:23
no ip address
dialer-group 1
isdn switch-type primary-5ess
isdn incoming-voice modem
no cdp enable
!
ip classless
ip route 0.0.0.0 0.0.0.0 172.18.195.1
no ip http server
!
!
!
radius-server host 172.18.200.222 auth-port 1645 acct-port 1646
radius-server key lab
radius-server authorization permit missing Service-Type
radius-server vsa send accounting
call rsvp-sync
!
!
voice-port 3/0:D
!
!
mgcp profile default
!
dial-peer cor custom
!
!
!
dial-peer voice 100 pots
destination-pattern 1#919....
direct-inward-dial
port 3/0:D
prefix 919
!
dial-peer voice 301 voip
destination-pattern 7190003
session target ras
!
05/08/11 157
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
!
gateway
!
!
line con 0
exec-timeout 0 0
logging synchronous
line aux 0
logging synchronous
line vty 0 4
password lab
line 1/00 1/59
no flush-at-activation
modem InOut
!
scheduler allocate 10000 400
end
Sample Output from the show voice iec description Command: Example
Router# show voice iec description 1.1.128.1.5.0
IEC Version:1
Entity:1 (Gateway)
Category:128 (Destination address resolution failure)
Subsystem:1 (CCAPI)
Error:5 (No dial peer match)
Diagnostic Code:0
Sample Output from the show voice statistics iec Command: Example
Router# show voice statistics iec since-reset
Internal Error Code counters
----------------------------
Counters since last reset (2002-11-28T01:55:31Z):
SUBSYSTEM CCAPI [subsystem code 1]
[errcode 6] No DSP resource 5
SUBSYSTEM SSAPP [subsystem code 4]
[errcode 5] No dial peer match 2
[errcode 3] CPU high 96
SUBSYSTEM H323 [subsystem code 5]
[errcode 22] No Usr Responding, H225 timeout 1
[errcode 27] H225 invalid msg 1
[errcode 79] H225 chn, sock fail 27
SUBSYSTEM VTSP [subsystem code 9]
[errcode 6] No DSP resource 83
Router# show voice statistics iec since-reboot
Internal Error Code counters
----------------------------
Counters since reboot:
SUBSYSTEM CCAPI [subsystem code 1]
[errcode 6] No DSP resource 93
SUBSYSTEM SSAPP [subsystem code 4]
[errcode 5] No dial peer match 830
[errcode 3] CPU high 1423
SUBSYSTEM H323 [subsystem code 5]
[errcode 21] No Usr Responding, H225 timeout 21
[errcode 23] H225 invalid msg 17
[errcode 39] H225 chn, sock fail 2073
05/08/11 158
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
SUBSYSTEM VTSP [subsystem code 9]
[errcode 6] No DSP resource 429
Before using the show voice statistics iec interval command, first determine the intervals available for display by
using the show voice statistics interval-tag command:
05/08/11 159
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Router# show voice statistics iec since-reset
Internal Error Code counters
----------------------------
Counters since last reset (2002-12-12T22:33:25Z):
No errors.
05/08/11 160
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
IECs are generated for errors that cause the gateway to release or refuse a call. This section provides procedural
and reference information used to troubleshoot gateway-detected errors and resolve problems on the gateway and
with other VoIP network entities.
Because fields within the IEC identify which network entity and subsystem originated an error, they can be used
to diagnose and isolate failures that can cause call disconnects.
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 Troubleshooting Two-Stage Dialing
Failures
♦ 1.1 Symptom
♦ 1.2 Problem Description
♦ 1.3 Troubleshooting Tasks
• 2 Troubleshooting Socket Failures
♦ 2.1 Symptom
♦ 2.2 Problem Description
♦ 2.3 Troubleshooting Tasks
• 3 Gatekeeper-Specific IECs
♦ 3.1 Verifying IEC Options
◊ 3.1.1 Prerequisites
◊ 3.1.2 Displaying IEC
Options
Symptom
The Cisco router or gateway rejects a call placed by a PSTN ISDN user after all the digits have been dialed.
Problem Description
The PSTN user enters a destination number that is routed through the PSTN ISDN switch, which sends an ISDN
SETUP message to the router. The router tags the incoming call leg and sends back an ISDN CONNECT
05/08/11 161
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
message. The caller receives second dial tone. The router then enters the digit collection stage to use the collected
digits to route the call to the next hop, at which point the router rejects the call.
Troubleshooting Tasks
Perform the following steps to determine the reason for call failure.
1. Use the voice iec syslog command to enable displaying of IECs as they are encountered in real-time.
2. Use the voice iec statistics type iec command to configure the collection of IEC statistics.
3. Use the show running-config command to verify IEC, ISDN, and dial-peer configuration, as shown in the
following partial sample output:
controller T1 0
framing esf
clock source line primary
linecode b8zs
cablelength short 133
pri-group timeslots 1-24
!
interface Serial0:23
no ip address
no logging event link-status
isdn switch-type primary-ni
isdn incoming-voice modem
no cdp enable
!
The following lines show the dial-peer configuration. Because the dial-peer voice 1 is not configured for direct
05/08/11 162
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
inward dialing (DID), the inbound call leg is considered to be configured for two-stage dialing, and the router
returns a second dial tone.
4. Use the show controller t1 command to display T1 status. Verify that the T1 is UP and that there are no errors.
5. Use the show isdn status command to display ISDN status. Verify the ISDN Layer 2 status is
MULTIPLE_FRAME_ESTABLISHED.
6. Use the show isdn service command to display the status of each ISDN channel. Verify that the channels are
IDLE and IN-SERVICE.
05/08/11 163
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Configured Isdn Interface (dsl) 0
Channel State (0=Idle 1=Proposed 2=Busy 3=Reserved 4=Restart 5=Maint_Pend)
Channel : 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4
State : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3
Service State (0=Inservice 1=Maint 2=Outofservice)
Channel : 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4
State : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2
7. Use the show dial-peer voice summary command to display voice dial peer information. Verify that Admin
and Operation status are up and up.
8. Use the debug isdn q931 command to display information about call setup and teardown of ISDN network
connections. Use the debug vtsp dsp, debug vtsp session, and debug voip ccapi inout commands to get digit
collection information, as shown in the following partial output.
The following lines show the digit collection process, starting with the digit 8:
05/08/11 164
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
dstCallId=0xFFFFFFFF, srcCallId=0x6,
digit=3, digit_begin_flags=0x1, rtp_timestamp=0xFFFFFE70
rtp_expiration=0x0, dest_mask=0x1)
!
!
!
Aug 18 23:56:30.885: //6/65F920768011/VTSP:(0:D):0:112:4386/vtsp_dsm_digit_begin_cb:
Digit begin: 1
Aug 18 23:56:30.885: //6/xxxxxxxxxxxx/CCAPI/cc_api_call_digit_begin: (dstVdbPtr=0x0,
dstCallId=0xFFFFFFFF, srcCallId=0x6,
digit=1, digit_begin_flags=0x1, rtp_timestamp=0xFFFFFE70
rtp_expiration=0x0, dest_mask=0x1)
!
!
!
Aug 18 23:56:31.913: //6/65F920768011/VTSP:(0:D):0:112:4386/vtsp_dsm_digit_begin_cb:
Digit begin: 0
Aug 18 23:56:31.913: //6/xxxxxxxxxxxx/CCAPI/cc_api_call_digit_begin: (dstVdbPtr=0x0,
dstCallId=0xFFFFFFFF, srcCallId=0x6,
digit=0, digit_begin_flags=0x1, rtp_timestamp=0xFFFFFE70
rtp_expiration=0x0, dest_mask=0x1)
!
!
!
Aug 18 23:56:33.185: //6/65F920768011/VTSP:(0:D):0:112:4386/vtsp_dsm_digit_begin_cb:
Digit begin: 2
Aug 18 23:56:33.185: //6/xxxxxxxxxxxx/CCAPI/cc_api_call_digit_begin: (dstVdbPtr=0x0,
dstCallId=0xFFFFFFFF, srcCallId=0x6,
digit=2, digit_begin_flags=0x1, rtp_timestamp=0xFFFFFE70
rtp_expiration=0x0, dest_mask=0x1)
!
!
!
Aug 18 23:56:33.265: //6/65F920768011/VTSP:(0:D):0:112:4386/vtsp_report_digit_control:
digit reporting disabled
Aug 18 23:56:33.265: //6/65F920768011/DSM: 0:D):0:112:4386/
dsp_stream_mgr_register_disposition: Ev: E_DSM_DSP_DTMF_DIGIT_BEGIN Disp: DSM_DISP_IGNORE
Aug 18 23:56:33.265: //6/65F920768011/DSM:0:D):0:112:4386/
dsp_stream_mgr_register_disposition: Ev: E_DSM_DSP_DTMF_DIGIT Disp: DSM_DISP_IGNORE
Aug 18 23:56:33.269: //6/xxxxxxxxxxxx/CCAPI/cc_api_call_report_digits_done:
(vdbPtr=0x639DB450, callID=0x6, disp=0)
Aug 18 23:56:33.269: //6/65F920768011/VTSP:(0:D):0:112:4386/vtsp_get_digit_timeouts:
Inter digit = 10, Initial digit = 10
Because the router does not have an outgoing dial peer with destination pattern 83102, the call fails and an IEC is
generated.
9. Use the show voice iec description command to display the IEC definition:
05/08/11 165
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
IEC field definitions pinpoint the problem. Category code 179 indicates an external communication error, and an
error code 24 indicates digit collection failure. For more information on IEC field definitions, see the Internal
Error Code Notation.
Symptom
An inbound call from an IP phone to the H.323 gateway fails.
Problem Description
A call is initially routed to the gateway and fails when a TCP session to Cisco CallManager session target cannot
be established. The router pings Cisco CallManager, sending a TCP synchronization packet and receiving an
ICMP destination unreachable error. Cisco CallManager cannot be pinged because the Cisco CallManager IP
address is incorrect. After the IP address for Cisco CallManager is corrected, a second call fails, due to a different
socket error. The router tries to establish another TCP session and sends an H225 setup message but Cisco
CallManager drops the connection.
Troubleshooting Tasks
Perform the following steps to determine the reasons for both call failures.
1. Use the voice iec syslog command to enable display of IECs as they are encountered in real-time.
2. Use the voice iec statistics type iec command to configure the collection of IEC statistics.
3. Use the show running-config command to verify IEC, ISDN, and dial-peer configuration, as shown in the
following partial sample output:
05/08/11 166
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
controller T1 0
framing esf
clock source line primary
linecode b8zs
cablelength short 133
pri-group timeslots 1-24
!
interface Serial0:23
no ip address
no logging event link-status
isdn switch-type primary-ni
isdn incoming-voice modem
no cdp enable
!
ivoice-port 0:D
!
The following lines show the dial-peer configuration, including the destination gateway IP address of Cisco
CallManager:
4. Use the debug isdn q931 command to display information about call setup and teardown of ISDN network
connections.
The following lines show the IEC and specify a network problem.
05/08/11 167
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Aug 19 01:46:03.342: %VOICE_IEC-3-GW: H323: Internal Error (SETUP send sock fail):
IEC=1.1.186.5.83.0 on callID 14 GUID=B99ACE6ED11D11D7801500B0640E6622
Aug 19 01:46:03.350: ISDN Se0:23 Q931: TX -> CALL_PROC pd = 8 callref = 0x822D
Channel ID i = 0xA98381
Exclusive, Channel 1
Aug 19 01:46:03.362: ISDN Se0:23 Q931: TX -> DISCONNECT pd = 8 callref = 0x822D
Cause i = 0x80A6 - Network out of order
Aug 19 01:46:03.374: ISDN Se0:23 Q931: RX <- RELEASE pd = 8 callref = 0x022D
Cause i = 0x82E4 - Invalid information element contents
Aug 19 01:46:03.374: ISDN Se0:23 Q931: TX -> RELEASE_COMP pd = 8 callref = 0x822D
• The show voice iec description command displays the IEC definition.
• The debug ip tcp transaction command displays output for packets the router sends and receives.
• The debug cch323 h225 command provides the trace of the state transition of the H.225 state machine
based on the processed events.
The following partial sample outputs from each command help you to isolate the cause of the network out of
order message:
In the following example, the IEC definition indicates a category code of 186, a signaling socket failure, and
shows that an error occurred during the SETUP PDU operation. The explanation for the error code 83 states that
this error can happen if the remote IP address is a reachable address for pinging but is not a valid H.323 endpoint.
Because the IEC specifies a signaling socket failure as the reason for call failure, you should enable the following
debug commands to get more information.
05/08/11 168
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Aug 19 01:46:29.198: TCB63D2DAC8 setting property TCP_TOS (11) 63A2C070
Aug 19 01:46:29.198: TCB63D2DAC8 setting property TCP_NONBLOCKING_WRITE (10) 63A2C0D0
Aug 19 01:46:29.198: TCB63D2DAC8 setting property TCP_NONBLOCKING_READ (14) 63A2C0D0
Aug 19 01:46:29.198: TCB63D2DAC8 setting property unknown (15) 63A2C0D0
Aug 19 01:46:29.198: TCB63D2DAC8 setting property TCP_NO_DELAY (1) 63A2C08C
Aug 19 01:46:29.198: TCB63D2DAC8 setting property TCP_ALWAYSPUSH (17) 63A2C08C
Aug 19 01:46:29.198: TCB63D2DAC8 bound to 172.16.13.16.11005
Aug 19 01:46:29.198: TCP: sending SYN, seq 3651477840, ack 0
Aug 19 01:46:29.198: TCP0: Connection to 10.1.1.1:1720, advertising MSS 536
Aug 19 01:46:29.198: TCP0: state was CLOSED -> SYNSENT [11005 -> 10.1.1.1(1720)]
The following lines show the 10.1.1.1 CallManager address is unreachable as it is configured, and the network out
of order IEC is generated:
6. Use the show ip route command to display static routes, then use the ping command to check network
connectivity to the destination address 10.1.1.1 using the ping command.
The following lines show that the reason for Cisco CallManager TCP session failure is the incorrect 10.1.1.1 IP
address:
05/08/11 169
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Router# ping 10.1.1.1
7. Configure the correct IP address for Cisco CallManager and verify the configuration using the show
running-config command.
8. Use the show debug command to display call traces enabled during a second call attempt.
05/08/11 170
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Cause i = 0x80A6 - Network out of order
Aug 19 02:05:36.873: ISDN Se0:23 Q931: RX <- RELEASE pd = 8 callref = 0x0237
Cause i = 0x82E4 - Invalid information element contents
Aug 19 02:05:36.877: ISDN Se0:23 Q931: TX -> RELEASE_COMP pd = 8 callref = 0x8237
The following lines show that the subsequent call failed due to a different socket error. However, in this instance
sending a ping to the remote IP address is successful:
Use the debug ip tcp transaction, show debug, and debug cch323 h225 commands again.
05/08/11 171
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Aug 19 02:06:37.089: TCB63604218 setting property TCP_TOS (11) 632036E0
Aug 19 02:06:37.089: TCB63604218 setting property TCP_NONBLOCKING_WRITE (10) 63203740
Aug 19 02:06:37.089: TCB63604218 setting property TCP_NONBLOCKING_READ (14) 63203740
Aug 19 02:06:37.089: TCB63604218 setting property unknown (15) 63203740
Aug 19 02:06:37.089: TCB63604218 setting property TCP_NO_DELAY (1) 632036FC
Aug 19 02:06:37.089: TCB63604218 setting property TCP_ALWAYSPUSH (17) 632036FC
Aug 19 02:06:37.089: TCB63604218 bound to 172.16.13.16.11001
Aug 19 02:06:37.089: TCP: sending SYN, seq 1593750728, ack 0
Aug 19 02:06:37.093: TCP0: Connection to 172.31.85.107:1720, advertising MSS 536
Aug 19 02:06:37.093: TCP0: state was CLOSED -> SYNSENT [11001 -> 172.31.85.107(1720)]
Aug 19 02:06:37.093: TCP0: state was SYNSENT -> ESTAB [11001 -> 172.31.85.107(1720)]
Aug 19 02:06:37.093: TCP0: Connection to 172.31.85.107:1720, received MSS 1460, MSS is 536
Aug 19 02:06:37.093: //10/98FA43DC8007/H323/run_h225_sm: Received event H225_EV_SETUP
while at state H225_IDLE
Aug 19 02:06:37.093: //10/98FA43DC8007/H323/check_qos_and_send_setup: Setup ccb 0x635F80E8
Aug 19 02:06:37.093: //10/98FA43DC8007/H323/run_h225_sm: Received event H225_EV_FS_SETUP
while at state H225_IDLE
Aug 19 02:06:37.093: //10/98FA43DC8007/H323/idle_fsSetup_hdlr: Setup ccb 0x635F80E8
Aug 19 02:06:37.097: //10/98FA43DC8007/H323/generic_send_setup: sending calling IE
Aug 19 02:06:37.097: //10/98FA43DC8007/H323/generic_send_setup: ====== PI = 0
Aug 19 02:06:37.097: //10/98FA43DC8007/H323/generic_send_setup: Send infoXCap=128,
infoXRate=157, rateMult=89
Aug 19 02:06:37.097: //10/98FA43DC8007/H323/generic_send_setup: src address = 172.16.13.16;
dest address = 172.31.85.107
Aug 19 02:06:37.097: //10/98FA43DC8007/H323/cch323_h225_set_new_state: Changing from
H225_IDLE state to H225_REQ_FS_SETUP state
Aug 19 02:06:37.101: TCP0: FIN processed
The following lines show that the router was able to initialize the TCP session to Cisco CallManager, and the
session went into the established state. After the router sent an H225 SETUP message it received a TCP RESET
message to tear down the TCP session, indicating Cisco CallManager dropped the connection.
Aug 19
02:06:37.101: TCP0: state was ESTAB -> CLOSEWAIT [11001 -> 172.31.85.107(1720)]
Aug 19
02:06:37.101: TCP0: RST received, Closing connection
Aug 19
02:06:37.101: TCP0: state was CLOSEWAIT -> CLOSED [11001 -> 172.31.85.107(1720)]
Aug 19
02:06:37.105: ISDN Se0:23 Q931: TX -> CALL_PROC pd = 8 callref = 0x8238
Channel ID i = 0xA98381
Exclusive, Channel 1
Aug 19 02:06:37.105: %VOICE_IEC-3-GW: H323: Internal Error (Socket error): IEC=1.1.186.5.7.6
on callID 10 GUID=98FA43DCD12011D7800700B0640E6622
Aug 19 02:06:37.105: TCB 0x63604218 destroyed
Aug 19 02:06:37.105: //10/98FA43DC8007/H323/run_h225_sm: Received event H225_EV_CONN_LOST
while at state H225_REQ_FS_SETUP
Aug 19 02:06:37.113: //10/98FA43DC8007/H323/run_h225_sm: Received event H225_EV_RELEASE while
at state H225_REQ_FS_SETUP
Aug 19 02:06:37.113: //10/98FA43DC8007/H323/cch323_h225_set_new_state: Changing from
H225_REQ_FS_SETUP state to H225_IDLE state
Aug 19 02:06:37.121: ISDN Se0:23 Q931: TX -> DISCONNECT pd = 8 callref = 0x8238
Cause i = 0x80A6 - Network out of order
Aug 19 02:06:37.133: ISDN Se0:23 Q931: RX <- RELEASE pd = 8 callref = 0x0238
Cause i = 0x82E4 - Invalid information element contents
9. Verify Cisco CallManager setting for the H.323 gateway to determine if the H.225 session was rejected by
Cisco CallManager because the wrong IP address was configured for the H.323 gateway. Configure the correct IP
address for the H.323 gateway, 172.16.13.16. For more information on CallManager configuration and IP address
configuration, see the Cisco Unified Communications Manager Administration Guide.
05/08/11 172
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
10. Use debug commands to verify that the next call completes, as shown in the following partial debug output:
In the next lines, the call connects and two-way communication is established.
The following lines show that after a two-minute call, the IP phone user hangs up and the call is disconnected
05/08/11 173
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Gatekeeper-Specific IECs
To enable the enhanced capabilities of the gatekeeper-specific IECs, use the command for the gatekeeper
configuration that causes retention of call history and enables you to specify the number of records to be kept in
the history table.
The number argument in this syntax can be any number from 0 to 1200. The default is 15. This represents the
maximum number of records of old calls to be stored and available for display.
To display the historical information, enter the following command on the gatekeeper:
The history keyword was added to display call history information along with internal error codes at the
gatekeeper. The number of disconnected calls displayed in response to this command is the number value
specified in the call-history max-size number command. Use of this max-size number helps to reduce excessive
CPU usage in the storage and reporting of this information.
05/08/11 174
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Prerequisites
Before you can display IEC counter information, you must configure voice statistics settings.
SUMMARY STEPS
1. enable
2. voice statistics type iec
3. voice statistics max-storage-duration {day number-of-days | hour number-of-hours | minute
number-of-minutes}
4. voice statistics time-range periodic interval-length [start hh:mm] [end hh:mm] [days-of-week days]
5. voice statistics time-range since-reset
DETAILED STEPS
05/08/11 175
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Router# voice statistics time-range periodic 30minutes values:
♦ 5minutes
♦ 15minutes
♦ 30minutes
♦ 60minutes
♦ 1day
• The range for
hh:mm is 00:00 to
23:59. The default
for the start
keyword is 00:00.
The default for the
end keyword is
00:00.
• The days argument
takes one of the
following values:
♦ friday-Friday
♦ monday-Monday
♦ saturday-Saturday
♦ sunday-Sunday
♦ thursday-Thursday
♦ tuesday-Tuesday
♦ wednesday-Wednesd
♦ daily-Every
day of the
week
♦ weekdays-Monday
thru Friday
♦ weekend-Saturday
and Sunday
The default is
daily.
(Optional) Enables the
voice statistics time-range since-reset Example: collection of call statistics
5. information accumulated
Router# voice statistics time-range since-reset since the last resetting of
IEC counters.
Perform this task to verify that the Cisco VoIP Internal Error Codes feature is working.
SUMMARY STEPS
1. enable
2. show running-config
3. show voice cause-code category-q850
05/08/11 176
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
4. show voice iec description string
5. show voice statistics iec {interval number | since-reboot | since-reset}
6. clear voice statistics iec
DETAILED STEPS
05/08/11 177
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Use the following tables when reading debugs and the associated values within the debugs.
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 Q.931 Call Disconnection Causes
• 2 Codec Negotiation Values
• 3 Tone Types
• 4 FAX-Rate and VAD Capabilities
Values
Call Disconnection Cause Value (in Hex) Meaning and Number (in Decimal)
CC_CAUSE_UANUM = 0x1 Unassigned number (1)
CC_CAUSE_NO_ROUTE = 0x3 No route to destination (3)
CC_CAUSE_NORM = 0x10 Normal call clearing (16)
CC_CAUSE_BUSY = 0x11 User busy (17)
CC_CAUSE_NORS = 0x12 No user response (18)
CC_CAUSE_NOAN = 0x13 No user answer (19)
CC_CAUSE_REJECT = 0x15 Call rejected (21)
CC_CAUSE_INVALID_NUMBER = 0x1C Invalid number (28)
CC_CAUSE_UNSP = 0x1F Normal, unspecified (31)
CC_CAUSE_NO_CIRCUIT = 0x22 No circuit (34)
CC_CAUSE_NO_REQ_CIRCUIT = 0x2C No requested circuit (44)
CC_CAUSE_NO_RESOURCE = 0x2F No resource (47)
CC_CAUSE_NOSV = 0x3F Service or option not available, or unspecified (63)
05/08/11 178
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Tone Types
Tone Types Meaning
CC_TONE_RINGBACK 0x1 Ring tone
CC_TONE_FAX 0x2 Fax tone
CC_TONE_BUSY 0x4 Busy tone
CC_TONE_DIALTONE 0x8 Dial tone
CC_TONE_OOS 0x10 Out of service tone
CC_TONE_ADDR_ACK 0x20 Address acknowledgement tone
CC_TONE_DISCONNECT 0x40 Disconnect tone
CC_TONE_OFF_HOOK_NOTICE 0x80 Tone indicating that the phone is off-hook
CC_TONE_OFF_HOOK_ALERT 0x100 A more urgent version of CC_TONE_OFF_HOOK_NOTICE
CC_TONE_CUSTOM 0x200 Custom tone-used when you are specifying a custom tone
CC_TONE_NULL 0x0 Null tone
05/08/11 179
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 180
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Table: H.323 and SIP Standard Category With Corresponding Q.850 Cause Code Information
Q.850
Standard Category
Standard Category Cause Q.850 Release Cause Description
Description
Code
Typical scenarios include:
Indicates that the destination requested by
Unallocated • The number is not in
1 the calling user cannot be reached because
(unassigned) number the routing table, or it
the number is unassigned.
has no path across the
ISDN network.
Typical scenarios include:
05/08/11 181
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 182
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 183
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 184
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 185
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 186
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
A suspended call • Call ID mismatch Indicates a call resume has been attempted
exists, but this call with a call identity which differs from that
identity does not in use for any presently suspended calls.
Typical scenarios include: Indicates that the network has received a call
Call identity in use 84 suspended request containing a call identity
• Equipment error. which is already in use for a suspended call.
Indicates that the network has received a call
Typical scenarios include:
resume request containing a call identity
No call suspended 85
information element which does not indicate
• Equipment error.
any suspended call.
Typical scenarios include:
Indicates that the network has received a call
Call having the
identity information element indicating a
requested call identity • Network timeout 86
suspended call that has in the meantime
has been cleared • Call cleared by remote
been cleared wile suspended.
user.
Typical scenarios include:
User is not a member Indicates that the called user for the
of Closed User Group 87 incoming CUG call is not a member of the
• Caller is not
(CUG) specified CUG.
authorized.
Typical scenarios include:
05/08/11 187
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• No H.323 call
CC_CAUSE_RECOVERY_ON_
proceeding
TIMER_EXPIRY
• No H.323 alerting or
Call setup timeout connect message
102
failure received from the
Indicates that a procedure has been initiated
terminating gateway
by the expiration of a timer in association
• Invite expires timer
with error handling procedures.
reached maximum
number of retries
allowed
05/08/11 188
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 189
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
This section describes events received and status codes returned by Tcl IVR scripts. This chapter includes the
following topics:
• Events
• Status Codes
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 Events
• 2 Status Codes
♦ 2.1 Authentication Status
♦ 2.2 Authorization Status
♦ 2.3 Digit Collection Status
♦ 2.4 Consult Response
♦ 2.5 Consult Status
♦ 2.6 Disconnect Cause
♦ 2.7 Facility
♦ 2.8 Feature Type
♦ 2.9 Leg Setup Status
♦ 2.10 Media Status
♦ 2.11 Transfer Status
♦ 2.12 VoiceXML Dialog
Completion Status
Events
The following events can be received by the Tcl IVR script. Any events received that are not included below are
ignored.
Event Description
ev_address_resolved List of endpoint addresses.
ev_alert An intermediate event generated by the leg setup or leg setup_continue commands to set
up a call. If specified in the callinfo parameter, 'notifyEvents, the script receives an
ev_alert message once the destination endpoint is successfully alerted. The script running
in the transferee gateway could then disconnect the leg towards the transferring endpoint.
If this event is an intercepted event, the application needs to use the leg setup_continue
05/08/11 190
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
If this event is an intercepted event, the application needs to use the leg setup_continue
command to allow the system to continue with the setup.
ev_consult_request Indicates a call-transfer consultation-id request from an endpoint.
Indicates a response to the leg consult request command. For return codes, see Consult
ev_consult_response
Status under Status Codes.
Indicated the completion of a leg consult response command. For return codes, see
ev_consultation_done
Consult Response under Status Codes.
Confirms the completion of the connection create command. You can use the
ev_create_done
evt_connection info-tag to determine the ID of the completed connection.
Confirms the completion of the connection destroy command. You can use the
ev_destroy_done
evt_connection info-tag to determine the ID of the connection that was destroyed.
Indicates that a digit key is pressed and released. You can use the evt_digit info-tag to
determine which digit was pressed. You can use the evt_digit_duration info-tag to
ev_digit_end
determine how long (in seconds) the digit was pressed and to detect long pounds or long
digits.
ev_disconnect_done Indicates that the call leg has been cleared.
Indicates that one of the call legs needs to disconnect. On receiving this event, the script
ev_disconnected must issue a leg disconnect on that call leg. You can use the evt_legs info-tag to
determine which call leg disconnected.
ev_disc_prog_ind Indicates that a DISC/PI message is received at a call leg.
ev_facility Indicates a response to a leg facility command.
Indicates that an application that called this script is requesting that the script return the
call leg. The script receiving this event can clean up and return the leg with a handoff
ev_grab
return command. Whether this is done is at the discretion of the script receiving the
ev_grab event.
Indicates a hook flash (such as a quick onhook-offhook in the middle of a call), assuming
ev_hookflash
that the underlying platform or interface supports hook flash detection.
05/08/11 191
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Indicates that the script received one or more call legs from another application. When the
ev_handoff script receives this event, you can use the evt_legs and the evt_connections info-tags to
obtain a list of the call legs and connection IDs that accompanied the ev_handoff event.
Indicates that the leg timer expired. You can use the evt_legs info-tag to determine which
ev_leg_timer
leg timer expired.
Indicates that the prompt playout either completed or failed. You can use the evt_status
ev_media_done
info-tag to determine the completion status.
An intermediate event generated by the leg setup or leg setup_continue commands to set
up a call.
If this event is an intercepted event, the application needs to use the leg setup_continue
command to allow the system to continue with the setup.
An intermediate event generated by the leg setup or leg setup_continue commands to set
up a call.
If this event is an intercepted event, the application needs to use the leg setup_continue
command to allow the system to continue with the setup.
Indicates that a call leg that was sent to another application (using handoff callappl) has
been returned. This event can be accompanied by one or more call legs that were created
by the called application. When the script receives this event, you can use the evt_legs and
ev_returned the evt_connections info-tags to obtain a list of the call legs and connection IDs that
accompanied the ev_returned event. You can use the evt_iscommand_done info-tag to
verify that all of the call legs sent have been accounted for, meaning that the handoff
callappl command is complete.
Indicates that the leg setup command has finished. You can then use the evt_status
ev_setup_done info-tag to determine the status of the command completion (whether the call was
successfully set up or failed for some reason).
Indicates that the system received a call. This event and the ev_handoff event are the
ev_setup_indication
events that initiate an execution instance of a script.
ev_transfer_request Indicates a call transfer from an endpoint to the application.
An intermediate event generated by the leg setup command. If specified in the callinfo
ev_transfer_status parameter, notifyEvents, the script receives an ev_trasfer_status message. The ev_status
information tag would then contain the status value of the call transfer.
Received when the VXML dialog completes. This could be because of a VXML dialog
executing an <exit/> tag or interpretation completing the current document without a
ev_vxmldialog_done transition to another document. The dialog could also complete due to an interpretation
failure or a document error. This completion status is also available through the evt_status
info-tag.
05/08/11 192
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Received by the Tcl IVR application when the VXML dialog initiated on a leg executes a
sendevent object tag. The VXML subevent name is available through the evt_vxmlevent
info-tag. All events thrown from the dialog markup are of the form vxml.dialog.*. All
ev_vxmldialog_event
events generated by the system-perhaps as an indirect reaction to the VXML document
executing a certain tag or throwing a certain event like the dialog completion event- are of
the form vxml.session.*.
Status Codes
The evt_status info-tag returns a status code for the event received. This sections lists the possible status codes
and their meaning.
Status codes are grouped according to function. The first two characters of the status code indicate the grouping.
• au-Authentication status
• ao-Authorization status
• cd-Digit collection status
• cr-Consult response
• cs-Consult status
• di- Disconnect cause
• fa-Facility
• ft-Feature type
• ls-Leg setup status
• ms-Media status
• ts-Transfer status
• vd-Voice dialog completion status
Authentication Status
Authentication status is reported in au_>xxx format:
Authorization Status
Authorization status is reported in ao_>xxx format:
05/08/11 193
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Value for
Description
xxx
The digit collection timed out, because no digits were pressed and not enough digits were collected
001
for a match.
002 The digit collection was aborted, because the user pressed an abort key.
The digit collection failed, because the buffer overflowed and not enough digits were collected for
003
a match.
004 The digit collection succeeded with a match to the dial plan.
005 The digit collection succeeded with a match to one of the patterns.
006 The digit collection failed because the number collected was invalid.
007 The digit collection was terminated because an ev_disconnected event was received on the call leg.
008 The digit collection was terminated because an ev_grab event was received on the call leg.
009 The digit collection successfully turned on digit reporting to the script.
010 The digit collection was terminated because of an unsupported or unknown feature or event.
Consult Response
Feature type is reported in cr_xxx format:
Consult Status
Feature type is reported in cs_xxx format:
05/08/11 194
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Disconnect Cause
Disconnect causes use the format di_xxx where xxx is the Q931 cause code. Possible values are:
05/08/11 195
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 196
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Facility
Leg setup requesting address resolution status is reported in fa_xxx format:
Feature Type
Feature type is reported in ft_xxx format:
05/08/11 197
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Media Status
Media status is reported in ms_xyy format:
05/08/11 198
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Transfer Status
Transfer status is reported in ts_xxx format:
05/08/11 199
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 200
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
An FXS interface connects the router or access server to end-user equipment such as telephones, fax machines,
and modems. The FXS interface supplies ring, voltage, and dial tone to the station and includes an RJ-11
connector for basic telephone equipment, keysets, and PBXs. In Figure: FXS Signaling Interfaces, FXS signaling
is used for end-user telephony equipment, such as a telephone or fax machine.
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 Figure: FXS Signaling Interfaces
• 2 FXS Hardware Troubleshooting
♦ 2.1 Software Compatibility
♦ 2.2 Cabling
◊ 2.2.1 RJ-11 Connectors
◊ 2.2.2 RJ-21 Connectors on the High-Density Analog
Telephony Network Module
◊ 2.3 Shutdown Port
◊ 2.4 Disabling a Port on a Multiple Port Card
♦ 3 Ring Voltage Problems
◊ 3.1 Ringing Voltages
◊ 3.2 Idle Battery Voltage
◊ 3.3 Idle Line Voltages
⋅ 3.3.1 Table: FXS Idle Voltage
◊ 3.4 Ring Voltage Problems
⋅ 3.4.1 Answering and Call Initiation Problems with
Automated Telephony Devices
⋅ 3.4.2 Ringing Problems
⋅ 3.4.3 FXS Ring Failure in the United Kingdom
♦ 4 Unbreakable Dial Tone
♦ 5 No LED When Phone Off the Hook
05/08/11 201
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• Software Compatibility
• Cabling
• Shutdown Port
• Disabling a Port on a Multiple Port Card
Software Compatibility
To ensure that your FXS card is compatible with your software, check the following:
• For network modules inserted into Cisco 2600 series, Cisco 3600 series, and Cisco 3700 series, check the
Overview of Cisco Network Modules for Cisco Access Routers.
• For interface cards inserted into Cisco 1600 series, Cisco 1700 series, Cisco 2600 series, Cisco 3600
series, Cisco 3700 series, and Cisco ICS 7750 platforms, check Voice Interface Cards.
Cabling
Two types of cabling are supported for Cisco FXS interfaces. They are described in the following sections:
• RJ-11 Connectors
• RJ-21 Connectors on the High-Density Analog Telephony Network Module
Note: For FXS connections, use a 2-wire (RJ-11) cable. A 4-wire cable can cause the second port to busy out.
RJ-11 Connectors
The two-port and four-port FXS interface cards support the RJ-11 connector. Illustrations of the connector ports
are shown in Figure: Two-Port FXS Card Front Panel and Figure: Four-Port FXS/DID Card Front Panel.
Information about LEDs can be found in Voice Interface Cards.
05/08/11 202
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Figure: Four-Port FXS/DID Card Front Panel
For information about the VIC-2FXS interface card, refer to Understanding Foreign Exchange Station (FXS)
Voice Interface Cards, document ID 7938.
The High-Density Analog Telephony network module supports an RJ-21 connector. This network module
supports both FXS and FXO traffic. An illustration of the connector port is shown in Figure: High-Density
Analog Telephony Network Module. Information about LEDs and pinouts can be found in Connecting
High-Density Analog Telephony Network Modules to a Network.
Shutdown Port
If the port is not working, be sure the port is not shut down. Enter the show voice port command with the voice
port number that you are troubleshooting. The output will tell you:
• If the voice port is up. If it is not, use the no shutdown command to make it active.
• What parameter values have been set for the voice port, including default values (which do not appear in
the output from the 'show running-config' command). If these values do not match those of the telephony
connection you are making, reconfigure the voice port.
• On a Cisco universal gateway, such as the Cisco AS5350, Cisco AS5400, Cisco AS5800, and Cisco
AS5850, busy out the port using the busyout command. This setting allows the port to be taken out of
05/08/11 203
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
service without disrupting the Cisco IOS configuration. See the product documentation for details:
♦ Cisco AS5350 product documentation
♦ Cisco AS5400 product documentation
♦ Cisco AS5800 product documentation
♦ Cisco AS5850 product documentation
• On other Cisco gateways, remove the port from the dial peer. Refer to Dial Peer Configuration on Voice
Gateway Routers to configure the dial peer.
Ringing Voltages
The industry standard for PBX and key systems requires that the ring detection circuit be able to detect a ringing
signal as low as 40 Vrms. This voltage takes into account the effects of load and cabling voltage drop on a ringing
signal generated from a central office (CO). Conversely, the CO (exchange) must supply ringing with enough
power to drive the maximum load over the maximum cable length. In order to meet this requirement, a CO-based
unit must present a ringing signal with an amplitude of approximately 85 to 100 Vrms. Cisco voice gateways are
intended for use as on premise services (ONS) equipment that is colocated or fairly close to equipment that
detects ringing, so it can therefore use a lower ringing voltage and still meet the 40 Vrms 5 Ringer Equivalence
Number (REN) requirement.
05/08/11 204
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Certain automated devices, such as fax machines, answer machines, multiline phones and voice mail systems,
look at the line voltage in order to deduce if the line is busy or idle. If another device is off hook, then the line
voltage drops, and the automated system does not answer or initiate a call. If the threshold being used is close to
-24 V or higher, this can cause the device not to work as expected.
Certain phones might not ring when the default ring voltage and ring frequency are applied from the Cisco FXS
interface.
For situations where the line voltage is not high enough, a ring booster can be installed between the interface card
and the network.
In voice port configuration mode, configure the idle-voltage command on the voice port of the FXS to increase
idle battery voltage from -24 V to -48 V. The idle-voltage low setting designates -24 V and the idle-voltage high
setting designates -48 V.
Ringing Problems
Phone manufacturers sometimes use frequency filters known as antitinkle circuits to prevent ringer devices from
sounding while the user is dialing. Sometimes it is necessary to adjust the frequency of the ring to suit the
connected device.
Configure the ring frequency for Cisco modular access routers by issuing the following command:
Configure the ring frequency for the Cisco IAD2400 platform by issuing the following command:
05/08/11 205
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
To prevent ringer devices from sounding, you can also provide a voltage threshold so that the lower voltages,
which can be produced during dialing, are ignored. Increasing the voltage can overcome this.
Configure the DC offset voltage on Cisco IAD2400 series routers by issuing the following command:
Note: This command sequence can be used only for Cisco IAD2400 series routers. The 24-V ring DC offset
setting is available for Cisco IOS 12.2(11)T and later releases.
A telephone approved for the United Kingdom might fail to ring when connected to a Cisco FXS port. The failure
results from a physical interoperability issue and is independent of Cisco hardware or software. British Telecom
did not implement RJ-11 type connectors when it adopted plug-and-socket connection methodology. RJ-11
connectors allow parallel connectivity for the transmission path and the ringer circuit. They were not used because
older telephones needed to have their ringer circuits connected in series due to a requirement for high current.
Outside the United Kingdom, ringer circuitry is self-contained in each phone. The U.K. implementation puts the
capacitor, which provides the AC ring path, and the antitinkle feature (prevents the bell or ringer from sounding
when pulse dialing is used) externally in the first socket, connected to the local loop.
In the United Kingdom, certain British Approval Board for Telecommunications (BABT) telephones fail to ring
when they are connected to FXS ports on Cisco voice-enabled routers and switches. Outgoing calls can be made
and voice communication in both directions can be established. However, incoming calls do not ring the
telephone. These telephones functioned correctly before they were connected to the FXS ports.
Because a proprietary connection system is implemented, you must use an adapter to connect the telephone to an
FXS port. The adapter must be a master that contains the capacitor, or the telephone fails to ring.
For a schematic and more information, refer to Understanding Why Telephones in the United Kingdom
Connected to Cisco FXS Interfaces May Fail to Ring, document ID 25800.
05/08/11 206
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Make sure the dial type is set as DTMF on both the router and the PBX. The FXS port does not pass on the digits;
therefore, this setting is not available on an FXS port. However, this setting can be changed on FXO and E&M
ports:
Router(config-voiceport)# dial-type ?
dtmf touch-tone dialer
mf mf-tone dialer
pulse pulse dialer
For more information, refer to Inability To Break Dialtone in a Voice over IP Network, document ID 22376.
If you have a digital card like the NM-2V, you might have bad DSPs.
Use the following procedure if there is no LED when your phone is off hook:
1. Check the cable to make sure that it is RJ-11 with two pins for the FXS port.
2. Test the LED using a different phone.
3. Check your Cisco IOS version to make sure that the feature set is either IP Plus or Enterprise Plus.
4. If Steps 1 to 3 do not work, replace the voice interface card (VIC).
05/08/11 207
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
An FXO interface is used for trunk, or tie line, connections to a PSTN CO or to a PBX that does not support E&M
signaling (when local telecommunications authority permits). This interface is of value for off-premises station
applications. Figure: FXS and FXO Signaling Interfaces shows an FXS connection to a telephone and an FXO
connection to the PSTN at the far side of a WAN.
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 Figure: FXS and FXO Signaling Interfaces
• 2 FXO Hardware Troubleshooting
♦ 2.1 Software Compatibility
♦ 2.2 Cabling
◊ 2.2.1 RJ-11 Connectors
◊ 2.2.2 RJ-21 Connectors on the High-Density Analog
Telephony Network Module
◊ 2.3 Shutdown Port
◊ 2.4 Disabling a Port on a Multiple Port Card
♦ 3 FXO Disconnect Failure
♦ 4 Troubleshooting FXO Answer and Disconnect Supervision
◊ 4.1 Monitoring and Maintaining FXO Answer and
Disconnect Supervision
♦ 5 Unbreakable Dial Tone
♦ 6 Troubleshooting Caller ID Problems
◊ 6.1 Calling Number Lost, Name Delivered
◊ 6.2 Calling Number Delivered, Name Lost
05/08/11 208
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• Software Compatibility
• Cabling
• Shutdown Port
• Disabling a Port on a Multiple Port Card
Software Compatibility
To ensure that your card is compatible with your software, check the following:
• For network modules inserted into Cisco 2600 series, Cisco 3600 series, and Cisco 3700 series routers,
refer to Overview of Cisco Network Modules for Cisco Access Routers.
• For interface cards inserted into Cisco 1600 series, Cisco 1700 series, Cisco 2600 series, Cisco 3600
series, Cisco 3700 series, and Cisco ICS 7750 platforms, refer to Voice Interface Cards.
Cabling
Two types of cabling are supported for Cisco FXO interfaces. They are described in the following sections:
• RJ-11 Connectors
• RJ-21 Connectors on the High-Density Analog Telephony Network Module
Note: For FXO connections, use a 2-wire (RJ-11) cable. A 4-wire cable can cause the second port to busy out.
RJ-11 Connectors
The two-port and four-port FXO interface cards support the RJ-11 connector. Illustrations of the connector ports
are shown in Figure: Two-Port FXO Card Front Panel and Figure: Four-Port FXO Card Front Panel. Information
about LEDs can be found in the "Connecting Voice Interface Cards to a Network" chapter of the Cisco Interface
Card Hardware Installation Guide.
05/08/11 209
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Figure: Four-Port FXO Card Front Panel
The High-Density Analog Telephony network module supports an RJ-21 connector. This network module
supports both FXS and FXO traffic. An illustration of the connector port is shown in Figure: High-Density
Analog Telephony Network Module. Information about LEDs and pinouts can be found in the "Connecting
High-Density Analog Telephony Network Modules to a Network" chapter of the Cisco Network Modules
Hardware Installation Guide.
Image:62292p.jpg
Shutdown Port
If the port is not working, be sure the port is not shut down. Enter the show voice port command with the voice
port number that you are troubleshooting. The output will tell you:
• If the voice port is up. If it is not, use the no shutdown command to make it active.
• What parameter values have been set for the voice port, including default values (these values do not
appear in the output from the 'show running-config' command). If these values do not match those of the
telephony connection you are making, reconfigure the voice port.
• On a Cisco universal gateway, such as the Cisco AS5350, Cisco AS5400, Cisco AS5800, and Cisco
AS5850, busy out the port using the busyout command. This allows the port to be taken out of service
without disrupting the Cisco IOS configuration. Refer to the product documentation for details:
♦ For Cisco AS5350 and Cisco AS5400 universal gateways, refer to the Managing and
Troubleshooting the Universal Port Card document.
♦ For Cisco AS5800 access servers, refer to Managing and Troubleshooting NextPort Services on
the AS5800.
♦ For Cisco AS5850 universal gateways, refer to Managing Port Services on the Cisco AS5850
Universal Gateway.
• On other Cisco gateways, remove the port from the dial peer. Refer to Dial Peer Configuration on Voice
Gateway Routers to configure the dial peer.
05/08/11 210
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
The most common symptoms of this problem are phones that continue to ring when the caller has cleared, or FXO
ports that remain busy after the previous call should have been cleared.
To troubleshoot this problem, refer to Understanding FXO Disconnect Problem, document ID 8120.
The FXO Answer and Disconnect Supervision feature enables analog FXO ports to monitor call-progress tones
and to monitor voice and fax transmissions returned from a PBX or from the PSTN.
Answer supervision can be accomplished in two ways: by detecting battery reversal, or by detecting voice, fax, or
modem tones. If an FXO voice port is connected to the PSTN and battery reversal is supported, use the battery
reversal method. Voice ports that do not support battery reversal must use the answer supervision method, in
which answer supervision is triggered when the DSP detects voice, modem, or fax transmissions. Configuring
answer supervision automatically enables disconnect supervision; however, you can configure disconnect
supervision separately if answer supervision is not configured.
Disconnect supervision can be configured to detect call-progress tones sent by the PBX or PSTN (for example,
busy, reorder, out-of-service, number-unavailable), or to detect any tone received (for example, busy tone or dial
tone). When an incoming call ends, the DSP detects the associated call-progress tone, causing the analog FXO
voice port to go on-hook.
This section provides solutions to problems that you might encounter when implementing the FXO Answer and
Disconnect Supervision feature.
• Call-progress tones such as ringback are not heard by the calling party.
If any call legs have IVR configured, ensure that the IVR version is 2.0.
05/08/11 211
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
The level on the sensitivity parameter in the supervisory answer dualtone command is set too low.
Configure the sensitivity for high.
Note: If the frequencies and cadences (including error deviations as defined in the voice class
dualtone-detect-params command) are the same for multiple call-progress tones, the order of detection
is as follows: busy, reorder, number-unobtainable, out-of-service, disconnect.
If calls are not billed correctly, it might be that answer supervision is not being triggered. For answer supervision
to be triggered, voice, fax, or data tones originating at the called-party end must be detected.
To configure the FXO Supervisory Disconnect Tone, refer to the Voice Port Configuration document.
Command Purpose
Shows a detailed status of the voice port. Under the heading "Voice card specific Info
Router# show Follows:", the status of the FXO Answer and Disconnect Supervision feature is indicated by
voice port 1/1/0 one of the following messages: "Answer Supervision is active" or "Answer Supervision is
inactive".
05/08/11 212
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• DTMF tones too distorted to be understood.
• Other signaling and cabling issues.
Make sure the dial type is set as DTMF on both the router and the PBX. The FXS port does not pass on the digits,
therefore this setting is not available on an FXS port. However, this setting can be changed on FXO and E&M
ports:
Router(config-voiceport)# dial-type ?
dtmf touch-tone dialer
mf mf-tone dialer
pulse pulse dialer
For more information, refer to Inability To Break Dialtone in a Voice over IP Network, document ID 22376.
In this example, everything was working fine and both Name and Number Display were properly delivered to the
phone. In the two scenarios below, the calling number is missing in one case, and the name display is missing in
the other.
05/08/11 213
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
For more information, refer to Caller ID Name Delivery Issues on Cisco IOS Gateways, document ID 23444.
05/08/11 214
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 E&M Overview
♦ 1.1 Figure: E&M Signaling Interfaces
• 2 E&M Hardware Troubleshooting
♦ 2.1 Software Compatibility
♦ 2.2 Cabling
◊ 2.2.1 Figure: Two-Port E&M Card Front Panel
◊ 2.2.2 show version Command on a Cisco 3640 Platform
◊ 2.2.3 show running-config Command on a Cisco 3640
Platform
♦ 2.3 Shutdown Port
• 3 E&M Interface Types
♦ 3.1 E&M Signaling Unit Side and Trunk Circuit Side Compatibility
Issues
◊ 3.1.1 Table: E&M Interface Supervision Signal Description
♦ 3.2 E&M Type I Interface Model
◊ 3.2.1 Table: E&M Type I Signal States
◊ 3.2.2 Figure: E&M Type I 2-Wire Audio Operation
◊ 3.2.3 Figure: E&M Type I 4-Wire Audio Operation
◊ 3.2.4 Figure: Figure 19 E&M Cabling Pins
♦ 3.3 E&M Type II Interface Model
◊ 3.3.1 Table: E&M Type II Signal States
◊ 3.3.2 Figure: E&M Type II 2-Wire Audio Operation
◊ 3.3.3 Figure: E&M Type II 4-Wire Audio Operation
♦ 3.4 E&M Type III Interface Model
◊ 3.4.1 Table: E&M Type III Signal States
◊ 3.4.2 Figure: E&M Type III 2-Wire Audio Operation
◊ 3.4.3 Figure: E&M Type III 4-Wire Audio Operation
♦ 3.5 E&M Type V Interface Model
◊ 3.5.1 Table: E&M Type V Signal States
◊ 3.5.2 Figure: E&M Type V 2-Wire Audio Operation
◊ 3.5.3 Figure: E&M Type V 4-Wire Audio Operation
• 4 Troubleshooting E&M Interfaces at the Physical Level
♦ 4.1 Preparing to Troubleshoot E&M Physical Problems
◊ 4.1.1 Hardware Troubleshooting Tools
◊ 4.1.2 Precautions
◊ 4.1.3 PBX Interconnection
◊ 4.1.4 Use Rollover Cable for E&M Port-to-Port Testing
05/08/11 215
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
E&M Overview
The difference between a conventional two-wire telephone interface such as FXS or FXO and an E&M interface
is that the E&M interface has wires that pass the audio signals plus wires to act as an input (to sense an incoming
call) or an output (to indicate an outgoing call). These control leads are normally called the E lead (input) and the
M lead (output). Depending on the type of E&M interface, the signaling leads could be controlled by connecting
them to the ground, switching a -48-Vdc source, or completing a current loop between the two devices.
E&M interfaces can normally be two- or four-wire operation, which does not refer to the total number of physical
connections on the port but rather to the way that audio is passed between the devices. Two-wire operation means
the transmitting and receiving audio signals are passed through a single pair of wires (one pair equals two wires).
Four-wire operation uses one pair for transmitting and another pair for receiving audio.
In Figure: E&M Signaling Interfaces, two PBXs are connected across a WAN by E&M interfaces. This topology
illustrates the path over a WAN between two geographically separated offices in the same company.
05/08/11 216
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Figure: E&M Signaling Interfaces
• Software Compatibility
• Cabling
• Shutdown Port
Software Compatibility
For interface cards inserted into Cisco modular access routers, refer to Voice Interface Cards to check the
software compatibility for your voice interface card.
Cabling
E&M is a signaling technique for two-wire and four-wire telephone and trunk interfaces. The E&M interface
typically connects remote calls from an IP network to a PBX. The card is connected to the PSTN or PBX through
a telephone wall outlet by a straight-through RJ-48C cable.
Note: Refer to the appropriate platform product documentation for specific interface information about your
E&M card.
The connector port for the E&M voice interface card is shown in Figure: Two-Port E&M Card Front Panel.
Information about LEDs can be found in the Voice Interface Cards document.
Note: Ports on the E&M voice interface card are color-coded brown.
05/08/11 217
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
To verify that the analog E&M hardware is being recognized by the Cisco IOS platform, use the following
commands:
• show version-This command displays the configuration of the system hardware, the software version, the
names of configuration files, and the boot images. See the following sample output.
• show running-config-This command shows the configuration of the Cisco platform. The voice ports
should appear in the configuration automatically. See the following sample output.
05/08/11 218
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
hostname Router
!
voice-port 3/0/0
!
voice-port 3/0/1
!
voice-port 3/1/0
!
voice-port 3/1/1
!
end
Shutdown Port
Check to make sure the port is not shut down. Enter the show voice port command with the voice port number
that you are troubleshooting. The output will tell you:
• If the voice port is up. If it is not, use the no shutdown command to make it active.
• What parameter values have been set for the voice port, including default values (default values do not
appear in the output from the show running-config command). If these values do not match those of the
telephony connection you are making, reconfigure the voice port.
• E&M Signaling Unit Side and Trunk Circuit Side Compatibility Issues
• E&M Type I Interface Model
• E&M Type II Interface Model
• E&M Type III Interface Model
• E&M Type V Interface Model
E&M Signaling Unit Side and Trunk Circuit Side Compatibility Issues
E&M signaling defines a trunk circuit side and a signaling unit side for each connection. Cisco's analog E&M
interface functions as the signaling unit side, so it expects the other side to be a trunk circuit. When you use E&M
interface model Type II or Type V, you can connect two signaling unit sides back to back by appropriate crossing
of the signaling leads. When using the E&M Type I or Type III interface, you cannot connect two signaling unit
sides back to back.
Many PBX brands have E&M analog trunk cards that can operate as either the trunk circuit side or the signaling
unit side. Because the Cisco E&M interfaces are fixed as the signaling unit side of the interface, it may be
necessary to change the E&M trunk settings on the PBX to operate as the trunk circuit side. If Type I or III E&M
is being used, this is the only way the PBX can work with the Cisco E&M interface.
Some PBX products (and many key systems) can operate only as the signaling unit side of the E&M interface.
They cannot interoperate with the Cisco E&M interface if Type I or Type III is chosen. If Type II or Type V
E&M is being used, PBX products fixed as "signaling unit" side can still be used with the Cisco E&M interface
05/08/11 219
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
via Type II or Type V.
Each E&M signaling type has a unique circuit model and connection diagram. The following sections describe the
different types. Table: E&M Interface Supervision Signal Description shows the E&M supervisory signal
description.
The gateway grounds its E-lead to signal a trunk seizure. The PBX applies battery to its M-lead to signal a
seizure. Cisco gateways expect to see off-hook conditions on the M-lead, and they signal off-hook to a remote
device on the E-lead. E&M Type I 2-wire operation is shown in Figure: E&M Type I 2-Wire Audio Operation.
E&M Type I 4-wire operation is shown in Figure: E&M Type I 4-Wire Audio Operation.
05/08/11 220
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 221
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Note: For the four-wire audio setup, Pin 6 (Tip) and Pin 3 (Ring) on the router transport the audio path from
the PBX to the router. Pin 5 (Tip1) and 4 (Ring1) on the router transport the audio path from the router
to the PBX. Pins for the cable are shown in Figure: E&M Cabling Pins.
05/08/11 222
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• It is critical to provide and ground connection directly between the Cisco product and the PBX.
Otherwise, E&M signaling might be intermittent.
• Four wires are used for Type I, two-wire audio operation.
• Six wires are used for Type I, four-wire audio operation.
05/08/11 223
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 224
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Note: For the four-wire audio setup, Pin 6 (Tip) and Pin 3 (Ring) on the router transport the audio path from
the PBX to the router. Pin 5 (Tip1) and Pin 4 (Ring1) on the router transport the audio path from the
router to the PBX.
Considerations for Type II interfaces include:
• Two signaling unit sides can be connected back-to-back if the appropriate signaling leads are swapped.
• Six wires are used for Type II, two-wire audio operation.
• Eight wires are used for Type II, four-wire audio operation.
05/08/11 225
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 226
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Note: For the four-wire audio setup, Pin 6 (Tip) and Pin 3 (Ring) on the router transport the audio path from
the PBX to the router. Pin 5 (Tip1) and Pin 4 (Ring1) on the router transport the audio path from the
router to the PBX.
Considerations for Type III interfaces include:
05/08/11 227
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
The gateway grounds its E-lead to signal a trunk seizure. The PBX grounds its M-lead to signal a seizure. Cisco
gateways expect to see off-hook conditions on the M-lead, and they signal off-hook to remote device on the
E-lead. E&M Type V 2-wire operation is shown in Figure: E&M Type V 2-Wire Audio Operation. E&M Type V
4-wire operation is shown in Figure: E&M Type V 4-Wire Audio Operation.
05/08/11 228
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Note: For the four-wire audio setup, Pin 6 (Tip) and Pin 3 (Ring) on the router transport the audio path from
the PBX to the router. Pin 5 (Tip1) and Pin 4 (Ring1) on the router transport the audio path from the
router to the PBX.
Considerations for Type V interfaces include:
05/08/11 229
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• PBX Interconnection
• Use Rollover Cable for E&M Port-to-Port Testing
Test equipment is not required for every installation, but sometimes you need to use it to isolate problems with
analog E&M ports. The most useful equipment is a digital multimeter and a technician's line test set. These tools
allow measurement of signaling states and voltages, and monitoring of audio signals. A digital multimeter is used
to measure the DC loop voltage and AC ringing voltage on FXS ports, E- or M-lead signaling transitions, voltages
on E or M leads, and DC resistance of E&M signaling leads.
In the terminating mode of operation, the technician's line test set acts like a normal telephone handset when
connected to a loopstart trunk, allowing telephone numbers to be dialed on the built-in keypad. When switched to
the monitoring mode (bridging mode), the unit presents a high impedance to the TX or RX audio pairs of the
E&M port, allowing the audio signals and tones to be heard on the built-in loudspeaker. This mode helps you find
problems with one-way audio, incorrect digits being sent or received, distortion and level problems, and possible
sources of noise and echo.
• Digital volt ohm meter (VOM) with sharp-tipped probes. Those with the analog bar graph and a beeper
with pitch proportional to the display are particularly useful.
• Lineman's test set.
• RJ-45 breakout adapter. This adapter has an RJ-45 socket on each end, with terminals for each of the lines
distributed about each side.
• RJ-45 straight-through cable (verify that it is straight through).
• Alligator-clip patch cables.
Precautions
Warning! Equipment closets where telecommunication devices exist, while usually not hazardous, can have
some potentially harmful situations, including, but not limited to:
• Lead acid battery stacks able to supply large amounts of current, and possibly flammable hydrogen
fumes. Ventilation and insulation are the keys to avoiding damage. Wear long-sleeved shirts, long pants,
and steel-toed work boots. Keep electrically insulated work gloves and OSHA-approved eye protection
available. Avoid wearing metal objects such as chains, bracelets, rings, and watches unless under cover
and away from making any connection. Voltage does not injure; current does.
• Many wires for voice, data, power, and so on. Watch for potentially damaging outages caused by pulling
a wire that is snagged on another wire. RJ plugs have a tendency to snag on other wires and loosen
equipment.
• Sharp edges. Equipment deployed before there were safety requirements regarding snag or cut hazards
often have protruding bolts and screws. Full clothing protection helps protect you in these cases.
• Loose, heavy equipment. Objects in the equipment room may be less than secure. These objects can fall
and hurt the equipment, you, or others. If moving heavy objects is involved, leave it to the facility staff or
other professional movers; otherwise, use a back protector belt and follow proper OSHA-approved lifting
and moving guidelines.
05/08/11 230
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
PBX Interconnection
The majority of PBXs interface with peripheral equipment using cable distribution frames (DFs). Multipair cables
are run from the PBX equipment cabinet to the distribution frame, where they are jumpered (cross-connected) to
the external devices. These DFs have various names, but the most common terms for them are 110 block, 66
block, and Krone frame. The DF is generally the place where all connections are made between the router voice
port and the PBX, so it is where most wiring errors are made and would obviously be the best place to perform
testing and troubleshooting.
Past experience of Cisco Technical Assistance Center (TAC) engineers has shown that most E&M-related faults
are due to incorrect wiring or PBX port programming. To assist in determining if the fault is external to the router,
you can use the standard rollover console cable that is supplied with every Cisco router as an E&M cross-over
cable. This cross-over cable connects the signaling output of one port to the input of the other port and maintains
an audio path between the two ports. You can configure a dial peer so that a test call is sent out one port and
looped back into the second port, proving the operation of the router.
The rollover console cable has the following RJ-45 connector wiring:
1-------8
2-------7
3-------6
4-------5
5-------4
6-------3
7-------2
8-------1
The signaling cross-over occurs as pins 2 (M-lead) and 7 (E-lead) on one port are connected to pins 7 (E-lead) and
2 (M-lead) on the other port. The two ports share a common internal ground. The cross-over on pins 4 and 5
(audio pair) has no effect on the audio signal. By setting both voice ports to 2-wire, type 5 operation, the E&M
ports become symmetrical and an outward seizure on one port is seen as an incoming seizure on the second port.
Any DTMF digits sent out immediately come back in and are then matched on another dial peer. If the test calls
are successful, there is little doubt about the operation of the router voice ports. In the following example, the
05/08/11 231
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
assumption is made that there are working devices on the IP network that can originate and accept VoIP calls.
The voice ports and dial peers are configured like this:
voice-port 1/0/0
!--- First port under test.
operation 2-wire
signal-type wink
type 5
!
voice-port 1/0/1
!--- Second port under test.
operation 2-wire
signal-type wink
type 5
Cisco - Analog E&M Troubleshooting Guidelines (Cisco IOS Platforms)
!
dial-peer voice 100 pots
!--- Send call out to port 1/0/0, strip the 100 and prefix with a called
!--- number 200.
destination-pattern 100
port 1/0/0
prefix 200
!
dial-peer voice 200 voip
!--- Incoming test call for 200 comes
!--- in on port 1/0/1 and is sent to 10.1.1.1 as VoIP call.
destination-pattern 200
session-target ipv4:10.1.1.1
!
When a VoIP call comes in to the router with a called number of 100, it is sent out port 1/0/0. By default, any
explicitly matched digits on a POTS dial peer are assumed to be an access code and stripped off before the call is
made. To route the call correctly, these digits need to be replaced. In this case the prefix command prepends the
digits 200 as the called number. This call is immediately looped back in on port 1/0/1. The digits match on
dial-peer 200 and make the new call to the designated IP address. The devices originating and accepting the VoIP
calls should then have an audio connection that is across the IP network and goes out and back through the E&M
ports. This connection proves the router is working properly and indicates that the fault is external to the router.
The majority of faults are due to incorrect cabling or PBX port programming issues.
05/08/11 232
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Confirm the Cable Interface from the PBX
If you think the cable is bad, pull the suspect voice cable from the router and leave the other side connected to the
PBX. Then do the following:
• With a VOM, measure DC voltage between pin 7 of the cable and the chassis ground. The meter should
read between -24 V and -56 V. If it does not, pin 7 is likely not the E lead on the PBX.
• Measure the other pins, looking for -24 to -56 V to ground. Some devices, like an AT&T, Lucent or
Avaya PBX, bias the tip/ring leads to -48 V to aid debugging. On pins that had no conclusive energy,
measure the ohms to ground with a VOM. If one shows less than 500 ohms, it is likely the M lead. It
should be pin 2 on the cable. If pin 2 shows between --24 v and -48 V to ground, it is possible that the
PBX is off hook; sometimes a PBX busies out what seems to be a bad port.
• With a VOM, measure the resistance (ohms) between tip and ring. It should read from 30 to 120 ohms if
the PBX has no DC blocking capacitor. If there is a capacitor, you will see the meter jump to around 100
ohms, then climb to infinity as the capacitor charges. With either signature, there is an audio pair-you just
need to figure out which direction it is.
• Do the same for tip-1/ring-1. It should behave like tip/ring.
• Attach a test to tip/ring. While listening, ground E (pin 7 on the cable). If the PBX is configured to
provide a dial tone, you should hear it in the earpiece. If you hear nothing, try the other audio pair in case
it is cross-wired. If you still hear nothing, the PBX might not give a dial tone on a trunk line.
• It is acceptable to cross tip with ring or tip-1 with ring-1.
• On either the router or the PBX, try a similar port that is known to work.
• Listen in on both sides of the audio path (one at a time) with the test set to hear the call progress.
• Try to spoof the signaling of one end or the other by clipping one of the active signals to see if the
equipment reacts as expected. Grounding E should simulate an inbound call coming over the trunk to the
PBX, and the PBX might respond with a dial tone (if provisioned to do so).
• Using an extension off of the PBX, try to seize the trunk and see if M connects to ground.
Pull the suspect voice cable from the router and leave the other side connected to the PBX. Then do the following:
05/08/11 233
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• With a VOM, measure the DC voltage between E (pin 7 of the cable) and the chassis ground. The meter
should read between -24 V and -56 V. If it does not, pin 7 on the cable is likely not the E lead.
• Measure the other pins, looking for -24 to -56 V to ground. Some devices, like an AT&T, Lucent, or
Avaya PBX, bias the tip/ring leads to -48 V to aid debugging. On pins that have no conclusive energy,
measure the ohms to ground with a VOM. If one shows less than 500 ohms, it is likely the SG lead. It
should be pin 8 on the cable.
• With a VOM, measure the resistance (ohms) between tip and ring. It should read from 30 to 120 ohms if
the PBX has no DC blocking capacitor. If there is a capacitor, you will see the meter jump to around 100
ohms, then climb to infinity as the capacitor charges. With either signature, there is an audio pair-you just
need to figure out which direction it is.
• Do the same for tip-1/ring-1. It should behave like tip/ring.
• Attach a test set to tip/ring. While listening, ground E (pin 7 on the cable). If the PBX is configured to
provide a dial tone, you should hear it in the earpiece. If you hear nothing, try the other audio pair in case
it is cross-wired. If you still hear nothing, the PBX might not give a dial tone on a trunk line.
• It is acceptable to cross tip with ring or tip-1 with ring-1.
• In most cases, you can get M/SB backwards and E/SG backwards and still have no problems.
• On either the router or the PBX, try a similar port that is known to work.
• Listen in on both sides of the audio path (one at a time) with the test set to hear the call progress.
• Try to spoof the signaling of one end or the other by clipping one of the active signals to see if the
equipment reacts as expected. Grounding E should simulate an inbound call coming over the trunk to the
PBX, and the PBX might respond with a dial tone (if provisioned to do so).
• Using an extension off of the PBX, try to seize the trunk and see if M connects to ground.
Pull the suspect voice cable from the router and leave the other side connected to the PBX. Then do the following:
• With a VOM, measure DC voltage between E (pin 7 of the cable) and the chassis ground. The meter
should read somewhere between -24 V and -56 V. If it does not, pin 7 is likely not the E lead.
• Measure the other pins, looking for -24 to -56 V to ground. Some PBXs bias (apply a DC voltage to
control the operation of a device) the tip/ring leads to -48 V to aid debugging. On pins that have no
conclusive energy:
05/08/11 234
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
♦ Look for a contact closure (low ohms) between M and SG (if the PBX is on-hook).
♦ Look for a contact closure (low ohms) between M and SB (if the PBX is off-hook).
• With a VOM, measure the resistance (ohms) between tip and ring. It should read from 30 to 120 ohms if
the PBX has no DC blocking capacitor. If there is a capacitor, you'll see the meter jump to around 100
ohms, then climb to infinity as the capacitor charges. With either signature, there is an audio pair--you
just need to figure out which direction it is.
• Do the same for tip-1/ring-1. It should behave like tip/ring.
• Attach a test set to tip/ring. While listening, ground E (pin 7 on the cable). If the PBX is configured to
provide a dial tone, you should hear it in the earpiece. If you hear nothing, try the other audio pair in case
it is cross-wired. If you still hear nothing, the PBX might not give a dial tone on a trunk line.
• It is acceptable to cross tip with ring or tip-1 with ring-1.
• On either the router or the PBX, try a similar port that is known to work.
• Listen in on both sides of the audio path (one at a time) with the test set to hear the call progress.
• Try to spoof the signaling of one end or the other by clipping one of the active signals to see if the
equipment reacts as expected. Grounding E should simulate an inbound call coming over the trunk to the
PBX, and the PBX might respond with a dial tone (if provisioned to do so).
• Using an extension off of the PBX, try to seize the trunk and see if M (pin 2 on the cable) connects to SB
(pin 1 on the cable).
Pull the suspect voice cable from the router and leave the other side connected to the PBX. Then do the following:
• With a VOM, measure DC voltage between E (pin 7 of the cable) and the chassis ground. The meter
should read between -24 V and -56 V. If it does not, pin 7 on the cable is likely not the E lead.
• With a VOM, measure the resistance (ohms) between tip and ring. It should read from 30 to 120 ohms if
the PBX has no DC blocking capacitor. If there is a capacitor, you will see the meter jump to around 100
ohms, then climb to infinity as the capacitor charges. With either signature, there is an audio pair-you just
need to figure out which direction it is.
• Do the same for tip-1/ring-1. It should behave like tip/ring.
• Attach a test set to tip/ring. While listening, ground E (pin 7 on the cable). If the PBX is configured to
provide a dial tone, you should hear it in the earpiece. If you hear nothing, try the other audio pair in case
it is cross-wired. If you still hear nothing, the PBX might not give a dial tone on a trunk line.
• It is acceptable to cross tip with ring or tip-1 with ring-1.
05/08/11 235
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• On either the router or the PBX, try a similar port that is known to work.
• Listen in on both sides of the audio path (one at a time) with the test set to hear the call progress.
• Try to spoof the signaling of one end or the other by clipping one of the active signals to see if the
equipment reacts as expected. Grounding E should simulate an inbound call coming over the trunk to the
PBX, and the PBX might respond with a dial tone (if provisioned to do so).
• Using an extension off of the PBX, try to seize the trunk and see if M (pin 2 on the cable) connects to
ground.
For information about how specific PBX types interoperate with your gateway, go to the Cisco Interoperability
Portal
Note: E&M Type IV is not supported by Cisco gateways. E&M Type V is the most common interface type
used outside of North America, but the term Type V is not commonly used outside of North America.
From the viewpoint of many PBX operators, there is only one E&M type, what is called Type V in
North America.
• show running-config-This command displays the running configuration of the router/ gateway.
05/08/11 236
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Note: The default configuration on E&M voice ports is Type I, wink-start, 2-wire operation, DTMF dialing.
Default E&M voice port parameters are not displayed with the show running-config command.
• show voice-port- For E&M voice ports, this command displays specific configuration data such as E&M
voice port, interface type, impedance, dial-supervision signal, audio operation, and dial method. For
detailed information see the sample output below.
Verifying the Wiring Arrangement Between the PBX and the Cisco Gateway
Physical wiring is often the primary source for analog E&M problems. It is imperative that you verify that the
cable/wiring you are using is appropriate for the E&M setup in place. A few things to consider:
05/08/11 237
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• E&M Type I and Type V use two leads for supervisory signaling (on/off hook signaling)-E (ear,
earth) and M (mouth, magnet). Cisco routers/gateways expect to see off-hook conditions on the M-lead
and signal off-hook to the remote device on the E-lead.
• E&M Type II and Type III use four leads for supervisory signaling (on/off hook signaling)-E (ear,
earth), M (mouth, magnet), SG (signal ground), SB (signal battery). Cisco routers/gateways expect to see
off-hook conditions on the M-lead and signal off-hook to a remote device on the E-lead.
• Audio operation-The 2-wire/4-wire operation is independent of the signaling type. For example, a 4-wire
audio operation E&M circuit has 6 physical wires if configured for Type I or Type V and 8 physical wires
if configured for Type II or Type III.
• Audio path wiring-In 4-wire audio mode, some PBX es and key systems reverse the normal usage of the
tip and ring and tip-1 and ring-1 pairs. To match up the audio pairs with the Cisco E&M audio pairs,
connect tip and ring on the PBX side to tip-1 and ring-1 on the Cisco side, and tip-1 and ring-1 on the
PBX side to tip and ring on the Cisco side.
See the Troubleshooting E&M Interfaces at the Physical Level for more information on the wiring arrangement.
SUMMARY STEPS
1. enable
2. debug vpm signal
3. Place a call from the PBX to the gateway.
DETAILED STEPS
1. At the Router> prompt, enter enable to enter privileged EXEC mode. Enter your password if prompted.
2. Turn on the command debug vpm signal on the Cisco gateway. This command is used to collect debug
information for signaling events (on-hook/ off-hook transitions).
3. Place a call from the PBX to the gateway. The PBX should seize the E&M trunk and send the on-hook ->
off-hook signal transition to the gateway. The following output displays a successful reception of these
signals.
In this example, the PBX is seizing the router trunk. The router E&M voice port transitions from on-hook to
off-hook. This shows that on-hook, off-hook signaling is being received from the PBX.
05/08/11 238
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
fxsls_onhook_setuphtsp_alerthtsp_alert_notify
*Mar 2 05:54:44.788: htsp_process_event: [1/0/0, 1.7 , 11]
*Mar 2 05:54:44.788: htsp_process_event: [1/1/0, 1.5 , 11]
fxsls_waitoff_voice
If no output is displayed, there is probably a problem with the E&M supervision signaling.
Table: E&M Supervisory Signaling Troubleshooting Table describes some possible problems and the
corresponding solutions.
Verifying That the Cisco Equipment and PBX Are Sending and Receiving
Digits
After confirming successful supervisory (on-hook/off-hook) signaling between the PBX and the gateway, you
need to verify that address information (DTMF digits or pulse dial) is being passed between both ends.
05/08/11 239
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Note: DTMF digits are sent on the audio path. Pulse-dial address information is sent by pulsing on the E or M
lead.
There are three start dial supervision line protocols that analog E&M uses to define how the equipment passes
address information:
• Immediate start
• Wink start
• Delay dial
Make sure both the Cisco gateway and the PBX are configured with the same start dial supervision protocol.
Verify that information is being passed by performing the following steps:
SUMMARY STEPS
1. enable
2. debug vpm signal, debug vtsp dsp
3. Place a call from the PBX to the gateway.
4. Place a call from the gateway to the PBX.
DETAILED STEPS
1. At the Router> prompt, enter enable to enable privileged EXEC mode. Enter your password if prompted.
2. Turn on the commands debug vpm signal and debug vtsp dsp on the Cisco gateway. The command debug
vtsp dsp is useful for displaying the digits received and sent by the voice DSPs.
3. Place a call from the PBX to the gateway. The following output displays a successful reception of the expected
digits. In this example, the router receives a call from the PBX to extension 2000.
05/08/11 240
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
4. Place a call from the gateway to the PBX. The following output displays the digits the Cisco equipment is
sending. In this example, the PBX receives a call from the router to extension 1000. If digits are not parsed
properly, the wink start timers being triggered.
Table: Digit Send and Receive Troubleshooting Table shows digit send and receive problems and the
corresponding solutions. These problems can be diagnosed if you notice that the wink timers are being triggered.
Problem Solution
Start dial supervision mismatch or timing Make sure both end systems are configured with the same start
issues between the PBX and gateway. dial protocol.
Audio operation mismatch (for example, one Verify the gateway configuration and PBX configuration and the
side configured for 2-wire, the other for wiring arrangement. For more information see the
4-wire) or wiring problems on the audio path. Troubleshooting E&M Interfaces at the Physical Level.
05/08/11 241
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Note: DTMF digits are passed on the audio path. Even if the
line supervision signaling is operating correctly, DTMF
digits are not passed if the audio path is broken.
Verify the wiring arrangement. See the Troubleshooting E&M
Wiring problems in the audio path.
Interfaces at the Physical Level.
In the 4-wire audio mode, some PBX and key system products reverse the normal usage of the tip and ring and
tip-1 and ring-1 pairs. In that case, to match up the audio pairs with the Cisco E&M audio pairs, you might need
to connect tip and ring on the PBX side to tip-1 and ring-1 on the Cisco side, and tip-1 and ring-1 on the PBX side
to tip and ring on the Cisco side. If the audio pairs are not correctly matched up in 4-wire mode, there is no
end-to-end audio path in either direction. If the E&M interface is configured to send dial strings as dial pulse
(which works by pulsing on the E or M lead), it is possible to establish a call even with the 4-wire audio pairs
reversed, but there will be little or no audio path in either direction after the call is established (there might be
low-level transmission of audio, but the sound levels will be far too low for comfort). If you are using DTMF to
send dial strings, the E&M interface goes off hook at the start of the call, but the call does not complete, because
one end sends the DTMF tones on the wrong audio pair, and the other end does not receive these DTMF tones.
Verifying That the Gateway Sends the Expected Digits to the PBX
Once the two end devices are able to successfully send supervision and address signaling (on-hook, off-hook,
digits), we can assume that the troubleshooting process is complete for analog E&M signaling, and it is now in the
dial plan domain. For more information about dial plan design, refer to the Voice Design and Implementation
Guide, document ID 5756.
If incomplete or incorrect digits are sent by the Cisco equipment, then the Telco switch (CO or PBX), cannot ring
the correct station.
On POTS dial peers, the only digits that are sent to the other end are the ones specified with the command
destination-pattern and the wild card character ("."). The POTS dial peer command prefix can be used to
include a dial-out prefix that the system enters automatically instead of people dialing it. Refer to the following
output example for a sample configuration.
!
!--- Some output ommited.
!
!--- E&M Voice Port
!
voice-port 1/0/0
type 2
signal immediate
!
!--- FXS Voice Port
voice-port 1/1/0
!
dial-peer voice 1 pots
destination-pattern 2000
port 1/1/0
!
!--- Dial peer 2 is in charge of forwarding calls to the E&M voiceport 1/0/0.
!--- In this case the digit "1" in the destination pattern will be dropped and the syste
!--- will transmit the 3 digits matched by the "." wildcard.
!--- Notice that since the PBX is expecting the "1000" string, the prefix command is used.
!
dial-peer voice 2 pots
05/08/11 242
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
destination-pattern 1...
port 1/0/0
prefix 1
!
Verify That the Gateway Receives the Expected Digits from the PBX
Verify that the digits received from the PBX match a dial peer in the gateway. If incomplete or incorrect digits are
sent by the PBX, a dial peer cannot be matched. Use the command debug vtsp dsp to view the digits received by
the analog E&M voice port.
To verify which dial peers match a specific string use the command show dialplan number. Refer to the
following sample output example.
05/08/11 243
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
For more information, refer to Inability To Break Dialtone in a Voice over IP Network, document ID 22376.
05/08/11 244
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Direct inward dialing (DID) is a service offered by telephone companies that enables callers to dial directly to an
extension on a PBX without the assistance of an operator or automated call attendant. This service makes use of
DID trunks, which forward only the last three to five digits of a phone number to the PBX. The DID state
machine is identical to the E&M state machine.
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 DID Topology
♦ 1.1 Figure: DID Support for Cisco 2600 and Cisco 3600
Series Routers
• 2 DID Hardware Troubleshooting
♦ 2.1 Software Compatibility
♦ 2.2 Cabling
◊ 2.2.1 Figure: Two-Port Analog DID Voice
Interface Card
◊ 2.2.2 Figure: Four-Port Analog FXS/DID Voice
Interface Card
♦ 2.3 Shutdown Port
• 3 Verifying Direct Inward Dialing Voice-Port Configuration
DID Topology
Figure: DID Support for Cisco 2600 and Cisco 3600 Series Routers shows a hypothetical topology in which a
user connected to the PSTN (User A) dials various numbers and is connected to the appropriate extensions on a
PBX.
Figure: DID Support for Cisco 2600 and Cisco 3600 Series Routers
05/08/11 245
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• Software Compatibility
• Cabling
• Shutdown Port
Software Compatibility
Cisco interface cards are often supported on multiple Cisco IOS releases. Cisco IOS release information is
documented in the product data sheet and in Feature Navigator II.
To determine which Cisco IOS releases support your particular router and combination of cards and modules, go
to the Software Advisor at http://tools.cisco.com/Support/Fusion/.
You must have an account on Cisco.com. If you do not have an account or have forgotten your username or
password, click Cancel at the login dialog box and follow the instructions that appear.
Cabling
The two-port and four-port DID interface cards support the RJ-11 connector. Illustrations of the connector ports
are shown in Figure: Two-Port Analog DID Voice Interface Card and Figure: Four-Port Analog FXS/DID Voice
05/08/11 246
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Interface Card. Information about LEDs can be found in the Voice Interface Cards document.
For more information about the VIC-2DID interface card, refer to Understanding 2 Port Direct Inward Dial (2
DID) Voice Interface Cards, document ID 15268.
Shutdown Port
Check to make sure that the port is not shut down. Enter the show voice port command with the voice port
number that you are troubleshooting, which will tell you:
• If the voice port is up. If it is not, use the no shutdown command to make it active.
• What parameter values have been set for the voice port, including default values (these do not appear in
the output from the 'show running-config' command). If these values do not match those of the telephony
connection you are making, reconfigure the voice port.
05/08/11 247
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Music On Hold Threshold is Set to -38 dBm
In Gain is Set to 0 dB
Out Attenuation is Set to 0 dB
Echo Cancellation is enabled
Echo Cancel Coverage is set to 8 ms
Playout-delay Mode is set to default
Playout-delay Nominal is set to 60 ms
Playout-delay Maximum is set to 200 ms
Playout-delay Minimum mode is set to default, value 4 ms
Playout-delay Fax is set to 300 ms
Connection Mode is normal
Connection Number is not set
Initial Time Out is set to 10 s
Interdigit Time Out is set to 10 s
Call Disconnect Time Out is set to 3 s
Ringing Time Out is set to 180 s
Wait Release Time Out is set to 3 s
Companding Type is u-law
Region Tone is set for US
Analog Info Follows:
Currently processing none
Maintenance Mode Set to None (not in mtc mode)
Number of signaling protocol errors are 0
Impedance is set to 600r Ohm
Station name Chalil Mohanan, Station number 1234567
Voice card specific Info Follows:
Signal Type is wink-start
Dial Type is dtmf
In Seizure is inactive
Out Seizure is inactive
Digit Duration Timing is set to 100 ms
InterDigit Duration Timing is set to 100 ms
Pulse Rate Timing is set to 10 pulses/second
InterDigit Pulse Duration Timing is set to 750 ms
Clear Wait Duration Timing is set to 400 ms
Wink Wait Duration Timing is set to 200 ms
Wait Wink Duration Timing is set to 550 ms
Wink Duration Timing is set to 200 ms
Delay Start Timing is set to 300 ms
Delay Duration Timing is set to 2000 ms
Dial Pulse Min. Delay is set to 140 ms
Percent Break of Pulse is 60 percent
Auto Cut-through is disabled
Dialout Delay for immediate start is 300 ms
05/08/11 248
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Voice port testing commands allow you to force voice ports into specific states for testing.
Contents
• 1 Detector-Related
Function Tests
• 2 Loopback Function
Tests
• 3 Tone Injection Tests
• 4 Relay-Related Function
Tests
• 5 Fax/Voice Mode Tests
To configure this feature, enter these commands beginning in privileged EXEC mode:
Command Purpose
Identifies the voice port you want to test.
05/08/11 249
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Command Purpose
Identifies the voice port you want to test and enters
a keyword for the loopback direction.
Router# test voice port slot/subunit/port
1.
loopback {local | network}
Note: A call must be established on the voice
port under test.
Identifies the voice port on which you want to end
Router# test voice port slot/subunit/port
2. the test and enters the keyword disable to end the
loopback disable
loopback.
Command Purpose
Identifies the voice port you want to
test and enter keywords for the
Router# test voice port slot/subunit/port inject-tone {local | direction to send the test tone and for
1. network} {1000hz | 2000hz | 200hz | 3000hz | 300hz | the frequency of the test tone.
3200hz | 3400hz | 500hz | quiet}
Note: A call must be established on
the voice port under test.
Identifies the voice port on which you
want to end the test and enter the
keyword disable to end the test tone.
2. Router# test voice port slot/subunit/port inject-tone disable
Note: The disable keyword is
available only if a test
condition is already activated.
Command Purpose
1. Router# test voice port slot/subunit/port relay {e-lead | Identifies the voice port you want to test.
loop | ring-ground | battery-reversal | power-denial |
ring | tip-ground} {on | off} • Enter a keyword for the relay under
test and specify whether to force it to
the on or off state.
05/08/11 250
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
The disable keyword ends the forced mode switch; however, the fax mode ends automatically after 30 seconds.
The disable keyword is available only while the voice port is in fax mode.
To force a voice port into fax mode and return it to voice mode, enter the following commands, beginning in
privileged EXEC mode:
Command Purpose
Identifies the voice port you want to test.
1. Router# test voice port slot/subunit/port switch fax
• Enter the keyword fax to force the voice
port into fax mode.
Identifies the voice port on which you want to end
the test.
Router# test voice port slot/subunit/port switch
2.
disable
• Enter the keyword disable to return the
voice port to voice mode.
05/08/11 251
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Digital voice interface hardware connects a router or access server to a line from a circuit-switched telephony
device in a PBX or the public switched telephone network (PSTN).
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 Software Compatibility
• 2 Cabling
♦ 2.1 T1/E1 Trunk and Digital Voice Port Pinouts
(RJ-48)
◊ 2.1.1 Figure: RJ-48-to-RJ-48 T1/E1 Cable
Wiring
◊ 2.1.2 Table: Pinouts for T1/E1 Trunk and
Digital Voice Port (RJ-48)
♦ 2.2 T1/E1 Trunk and Digital Voice Port Pinouts
(RJ-45)
◊ 2.2.1 Table: T1 or E1 Port Pinouts (RJ-45)
• 3 Shutdown Port
Software Compatibility
To ensure that your card is compatible with your software, check the following:
• For network modules inserted into Cisco modular access routers, refer to the compatibility tables in
Overview of Cisco Network Modules for Cisco Access Routers.
• For interface cards inserted into Cisco modular access routers, refer to the compatibility tables in Voice
Interface Cards.
Cabling
Cabling for the digital ports varies by platform:
• Cisco 1600 series, Cisco 1700 series, Cisco 2600 series, Cisco 3600 series, Cisco 3700 series, and Cisco
ICS 7750 platforms that use the Multiflex Trunk Interface card use an RJ-48C cable. Refer to the Voice
Interface Cards document for information about digital Cisco interface cards.
• Cisco 7200 VXR platforms use RJ-48C cables for the port adapter. See the MIX-Multichannel T1/E1 Port
Adapter Installation and Configuration Guide for more information.
• Cisco AS5300 universal access servers use RJ-45 cables for the T1 or E1 interface. A VoIP feature is also
05/08/11 252
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
required for voice traffic. See the Cisco AS5300 Module Installation Guide.
• Cisco AS5350 and 5400 universal gateways use RJ-45 cables for the four-port card and a 36-pin cable to
RJ-45 interface for the eight-port card. For more information about cabling these platforms, see the
"Cabling Specifications" chapter of the Cisco AS5350 and AS5400 Universal Gateway Card Installation
Guide.
Table: Pinouts for T1/E1 Trunk and Digital Voice Port (RJ-48)
Pin Signal
1 RX (input)
2 RX (input)
3 -
4 TX (output)
5 TX (output)
6 -
7 -
8 -
05/08/11 253
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Table: T1 or E1 Port Pinouts (RJ-45)
Shutdown Port
If the port is not operational, check to make sure the port is not shut down. Enter the show voice port command
with the voice port number that you are troubleshooting, which tells you:
• If the voice port is up. If it is not, use the no shutdown command to make it active.
• What parameter values have been set for the voice port, including default values. (these do not appear in
the output from the 'show running-config' command.) If these values do not match those of the telephony
connection you are making, reconfigure the voice port.
05/08/11 254
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 DSP Symptoms
• 2 Voice DSP Control Message Logger
♦ 2.1 Message Logger Overview
◊ 2.1.1 Message Capture
◊ 2.1.2 Benefits
◊ 2.1.3 Restrictions
♦ 2.2 Configuration Tasks
◊ 2.2.1 Configuring the Voice DSP Control
Message Logger
◊ 2.2.2 SUMMARY STEPS
◊ 2.2.3 DETAILED STEPS
◊ 2.2.4 Verifying the Voice DSP Control Message
Logger
◊ 2.2.5 Troubleshooting Tips
♦ 2.3 Configuration Examples
◊ 2.3.1 Starting the Logger Feature Example
◊ 2.3.2 Setting up an FTP Destination Example
◊ 2.3.3 Verifying Configuration Example
• 3 Voice Call Tuning
• 4 Voice DSP Crash Dump File Analysis
♦ 4.1 How to Configure Voice DSP Crash Dump File
Analysis
◊ 4.1.1 SUMMARY STEPS
◊ 4.1.2 DETAILED STEPS
♦ 4.2 Troubleshooting Voice DSP Crash Dump File
Analysis
◊ 4.2.1 SUMMARY STEPS
◊ 4.2.2 DETAILED STEPS
♦ 4.3 Verifying DSP Crash Dump File Analysis
♦ 4.4 Configuration Examples for Voice DSP Crash
Dump File Analysis
◊ 4.4.1 Verifying Voice DSP Crash Dump File
Analysis
• 5 Troubleshooting Universal Port SPEs
♦ 5.1 Configure SPE Diagnostic Tests
◊ 5.1.1 SPE Startup Test
◊ 5.1.2 SPE Auto-Test
05/08/11 255
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
DSP Symptoms
Digital signal processors (DSPs) enable Cisco platforms to efficiently process digital voice traffic. The following
symptoms can be attributed to DSP hardware or software issues:
• No audio heard by either party or one-way audio on the voice path after the call is connected.
• Call setup failure, such as the inability to detect or transmit proper Channel Associated Signaling (CAS)
state transitions.
• Channels are stuck in the PARK state and cannot be used.
• Error messages on the console or in the router log complain of DSP timeouts.
Caution: Using the logger feature in a production network environment increases CPU and memory usage on
the gateway.
Note: We recommend that you work closely with your Cisco representative to use this feature. If you are
experiencing problems with certain voice calls, the engineering team at Cisco might ask you to capture
the control messages using the voice DSP logger. You can capture these messages by turning on the
logger, repeating the problematic calls, and capturing the logs. Only Cisco engineers can determine if
you should send the logs in for further review.
There are two main types of HPI messages that flow through the HPI interface: control messages and data
messages. Control messages carry control information between Cisco IOS software and the DSP. Data messages
carry voice data.
The Voice DSP Contol Message Logger feature captures control messages sent between the platform-independent
portions of Cisco IOS software and the DSP. The HPI subsystem that is in Cisco IOS software contains the
05/08/11 256
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
platform-independent portion of Cisco IOS software. This feature addresses the sequence and contents of the
control messages. The logged messages can be checked for parameters that might cause undesirable DSP
behavior including the following:
• Incorrect parameters
• Out-of-sequence function calls
• Interactions between parameters of different HPI calls
In many cases, DSP problems have been the result of bad control messages. By logging all of these messages for
offline analysis, you can better integrate and debug at-speed issues for analysis.
Message Capture
Message capture occurs when voice control messages are captured and passed between the Cisco IOS software
and the DSP to a ring buffer. Some of these messages are sent in fast-path routines that run at a high priority, so
the capture of the message must be done as quickly as possible. After the fast-path routine messages have been
sent, a normal priority process sends the messages that are waiting in the ring buffer to off-router data storage
through the Cisco IOS File System (IFS).
The size of the ring buffer is configurable through the use of the voice hpi capture command. If the ring buffer
fills up faster than the normal priority process can move the messages off the router, some of the control messages
are dropped.
Counters keep track of the number of messages that are waiting in the ring buffer, the number of messages that
are sent, and the number of messages that are dropped. When message capture is enabled and a message arrives
for which there is no buffer space, a missed-message count is started. The next time there is room for a message
on the ring, the dropped-message count is included with the message data. This alerts the software that processes
the messages to the missed messages, and it provides data capture feedback that helps you configure the ring
buffer size to your specifications.
If messages are dropped during the capture, the ability to check the messages becomes limited. A complete
capture is required for analysis.
Benefits
This feature improves the reliability of DSPs by improving debug capabilities. Unexpected sequences of calls or
parameters that cause DSP problems are difficult to debug because many calls can be made to the DSP before any
ill effects are noticed. Systems that are running under load are more likely to encounter subtle timing-related
issues that occur infrequently and are very hard to reproduce and debug. These parameters are marked as bad in
HPI calls to the DSP, and they can cause undesirable DSP behavior. There fore, the logger intercepts those
parameters that pass between Cisco IOS software and the DSP that can later be checked for errors.
05/08/11 257
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Robust Firmware
This feature makes the T1-based DSP firmware more robust, adding debug capabilities and enabling better field
support.
Restrictions
The Voice DSP Contol Message Logger feature is supported only on systems that use the HPI interface.
Configuration Tasks
See the following sections for configuration tasks for the Voice DSP Control Message Logger feature. Each task
in the list is identified as either required or optional.
You can start the message logger by choosing the amount of memory (greater than 324 bytes) that the
buffer-queueing system can allocate to the free message pool. HPI messages are captured until buffer space runs
out. Once the buffer-queueing system is running, the transport process attempts to connect to a new or existing
capture destination URL. A version message is written to the URL, and if the version message is accepted, any
messages placed into the message queue are written to the URL. If a new URL is entered using command-line
interface (CLI), an open URL is closed, and the system tries to write to the new URL. If the new URL fails, the
transport process exits. The transport process is restarted when another URL is entered or the system is restarted.
To configure the message logger, use the following commands beginning in privileged EXEC mode.
SUMMARY STEPS
1. enable
2. show voice hpi capture
3. debug hpi capture
4. configure terminal
5. voice hpi capture buffer size
6. voice hpi capture destination url
7. exit
8. show voice hpi capture
9. configure terminal
10. no voice hpi capture buffer 0
11. exit
12. show voice hpi capture
05/08/11 258
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
DETAILED STEPS
Command Purpose
enable Enables higher privilege levels, such as
privileged EXEC mode.
1. Example:
• Enter your password if prompted.
Router> enable
(Optional) Displays the capture status and
show voice hpi capture statistics.
2. Example:
• Use this command to confirm logger
status and examine the logger status
Router# show voice hpi capture
output when the logger is running.
(Optional) Turns on the debug output for the
debug hpi capture logger.
3. Example:
• It is recommended that you enable the
debug output for the logger when you
Router# debug hpi capture
are interacting with it using CLI.
configure {terminal | memory | network}
05/08/11 259
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
exit
Exits global configuration mode and returns to
7. Example:
privileged EXEC mode.
Router(config)# exit
(Optional) Displays the capture status and
statistics.
To verify and print capture status and statistics, use the show voice hpi capture privileged EXEC command. This
command displays the capture status and statistics and checks that the message counter is incrementing. If
messages are being dropped consistently, try increasing the buffer size.
05/08/11 260
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Note: If you want to stop the logger or change the buffer to another size, first set the buffer size to zero.
Troubleshooting Tips
Use the debug hpi capture command in privileged EXEC mode to turn on the debug output for the logger.
Enable the debug output for the logger by using the CLI.
Configuration Examples
This section provides configuration examples for the Voice DSP Control Message Logger feature. This section
contains the following examples:
In the following example, the voice hpi capture buffer command is used in global configuration mode to start the
logger by giving it a buffer size of 700000:
In the following example, the show voice hpi capture command is used in privileged EXEC mode to examine the
logger status output now that the logger is enabled:
In the following example, the voice hpi capture destination command is used in global configuration mode to set
up an FTP destination file where the logged data can be sent:
In the following example, the show voice hpi capture command is used in privileged EXEC mode to examine the
logger status output:
05/08/11 261
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
HPI Capture is on and is logging to URL ftp://172.23.184.216/d:\test_data.dat1
messages sent to URL, 0 messages dropped
Message Buffer (total:inuse:free) 2134:0000:2134
Buffer Memory:699952 bytes, Message size:328 bytes
In the following example, the show voice hpi capture command is used in privileged EXEC mode to check on
the status of the logger before, during, and after configuration:
• Detect when control messages have been lost between Cisco IOS software and the DSP
• Detect when the DSP has crashed
• Collect an image of the DSP memory after a DSP crash and put it into a file for analysis later by an
engineer
When these events have been detected, they are announced by console alarms. You can enable and disable this
feature and specify where the crash dump is to be written using Cisco IOS command-line interface (CLI). The
active part of the stack is written to the console, while the entire contents of the DSP memory is written to the
crash dump file. You can request that a dump file be written into a "smart" slot 0 or slot 1 flash card, or sent to a
server using TFTP or FTP, or it may be written directly to Flash.
05/08/11 262
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
SUMMARY STEPS
1. enable
2. configure terminal { memory | network}
3. voice dsp crash-dump destination url
4. voice dsp crash-dump file-limit limit-number
5. exit
6. show voice dsp crash-dump
DETAILED STEPS
05/08/11 263
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Router(config)# exit
show voice dsp crash-dump
(Optional) Displays voice DSP crash dump
6. Example:
information
Router# show voice dsp crash-dump
SUMMARY STEPS
1. enable
2. debug voice dsp crash-dump keepalive
3. undebug all
4. debug voice dsp crash detail
5. exit
DETAILED STEPS
05/08/11 264
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
undebug all Disables all the debug output on screen to stop the above
output.
3. Example:
• Alternately, you can use the no debug all command.
Router# un all
Displays debugging information for the crash dump feature
debug voice dsp crash detail details.
4. Example:
• There is no debug output until there is one DSP
crash. When the crash dump feature is turned on, the
Router# debug voice dsp crash detail
detailed debug messages are displayed.
exit
Router(config)# exit
The following example shows output information that verifies the status of the crash dump:
05/08/11 265
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
A universal port card is a hardware card that processes digital signals for the Cisco AS5350 and Cisco AS5400
universal gateways. The service-processing element (SPE) works as a DSP for the universal port card.
This section provides troubleshooting information that apply to modems regardless of service type mode. It
describes how to perform diagnostic tests on installed ports or SPEs, configure automatic recovery of ports on an
SPE, and configure a scheduled recovery of SPEs.
To perform diagnostic testing on all the installed SPE ports during the system's initial startup or rebooting
process, use the port modem startup-test command in global configuration mode.
The results of the SPE port startup test are displayed in the show port modem test command output. SPE ports
that pass the diagnostic test are marked as Pass, Fail, and Unkn. Ports that fail the diagnostic test are marked as
Bad. These ports cannot be used for call connections. Depending on how many ports are installed, this diagnostic
test may take from 5 to 10 minutes to complete. Perform additional testing on an inoperative SPE port by
executing the test port modem back-to-back command. The no port modem startup-test command disables
startup testing.
SPE Auto-Test
To perform diagnostic testing on all the installed SPE ports during the system's initial startup or rebooting
process, or during service, use the port modem autotest command in global configuration mode.
The results of the SPE port auto-test are displayed in the show port modem test command's output. Ports that
pass the diagnostic test are marked as Idle, Busy, Downloading, and Reset, and are put into service. Ports that fail
the diagnostic test are marked as Bad, and are not put into service or tested again until they are no longer marked
as Bad. If all the ports of an SPE are bad, the corresponding SPE is also marked bad. These ports cannot be used
for call connections. Depending on how many ports are present and not marked Bad, this diagnostic test may take
from 5 to 10 minutes to complete. You may perform additional testing on an inoperative port by executing the
test port modem back-to-back command. The no port modem autotestcommand disables testing.
• port modem autotest minimum ports-Define the minimum number of free ports available for autotest to
begin.
• port modem autotest time hh:mm {interval}-Enable autotesting time and interval.A sample diagnostic
autotest setting the time at 12:45 and at 8 hour intervals looks like the following:
05/08/11 266
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
AS5400(config)#
• port modem autotest error threshold-Define the maximum number of errors detected for autotest to
begin.
When an SPE port tests as Bad, perform additional testing by conducting a series of internal back-to-back
connections and data transfers between two SPE ports. All port test connections occur inside the gateway. For
example, if mobile users cannot dial into port 2/5 (the sixth port on the universal port card in the second chassis
slot), attempt a back-to-back test with port 2/5 and a known-functioning port such as port 2/6.
Enter the following command in privileged EXEC mode (the prompt is displayed as AS5350# or AS5400# ) to
perform internal back-to-back port tests between two ports:
test port modem back-to-back slot/port slot/port {num-packets}-Perform internal back-to-back port
tests between two ports, sending test packets of the specified size.
You might need to enable this command on several different combinations of ports to determine which one is not
functioning properly. A pair of operable ports successfully connect and complete transmitting data in both
directions. An operable port and an inoperable port do not successfully connect with each other.
A port that has been confirmed to have problems can often be fixed using the clear spe command.
The results of the test port modem back-to-back command are displayed in the show port modem test
command's output:
05/08/11 267
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
3/02 12:44:00 PM 3/107 No Test (Time) :MIN IDLE MODEMS Idle NOTST
3/02 12:44:21 PM 2/73 Back-To-Back :TIME INTERVAL Idle PASS
3/02 12:44:21 PM 2/72 Back-To-Back :TIME INTERVAL Idle PASS
3/02 12:44:21 PM 2/33 Back-To-Back :TIME INTERVAL Idle PASS
3/02 12:44:21 PM 2/32 Back-To-Back :TIME INTERVAL Idle PASS
3/02 12:44:21 PM 3/37 Back-To-Back :TIME INTERVAL Idle PASS
Note: The Reason column indicates why the test was started. The TIME INTERVAL is one of the
triggers under autotest; the other is the error threshold.
Note: The disconnect reason is managed in a first-come-first-serve fashion. This means that the first
disconnect reason generated is the only disconnect reason recorded. If the modem and the NAS attempt
to terminate the session simultaneously and the modem happens to save the disconnect reason before the
LINK_TERMINATE message from the NAS is processed, then the NAS disconnect reason is ignored.
When evaluating whether you are experiencing "good" or "bad" disconnects, it is important to obtain the history
of disconnects that a particular port has experienced. In most environments, the disconnect reason is obtained
using modem call records or call tracker syslog messages. This disconnect code can then be interpreted using the
table provided in this document. Use the following commands to determine the disconnect reason:
• The show spe modem disconnect-reason command does not display the disconnect reason code as a
hexadecimal value. However, it does indicate the disconnect reason as a name. The name and class of the
disconnect reason can be found inTable: CLASS OTHER Code Summary Table and Table: CLASS DSP
Reason Codes respectively.
• The show port modem log command displays the disconnect reason code as a hexadecimal value. Refer
to Table: Disconnect Reason Code Hexadecimal Values for the hexadecimal values.
05/08/11 268
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Use the show port modem log slot/port command to obtain the disconnect cause code (in Hex) for a particular
call on a specific port. This disconnect code is identical to the cause code obtained from modem call-record and
call-tracker syslog outputs. An example is shown:
From the example above, note that the disconnect code is 0x220.
Use the show spe modem disconnect-reason {summary | slot | slot/spe} command to determine the distribution
of disconnect reasons that the particular port has experienced. A sample summary output of all the ports is shown
below:
05/08/11 269
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
From the example above, let us say that we are interested in the disconnect category Disc within CLASS EC
LCL. To determine what the disconnect reason Disc means, go to the entry corresponding to the class (CLASS
EC LCL) and the disconnect reason name (Disc) which shows a hex code of 0x220 and is a normal disconnect.
The codes for the classes are shown in the following tables:
The following tables contain the detailed reason codes for universal port disconnects.
05/08/11 270
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 271
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Disconnect
Disconnect Disconnect
Reason Code Description
Reason Type Reason: Name
(Hex)
- - 0x1xx DSP conditions reported by SPE
The SPE carrier signal is lost. The universal port card
detected a client modem carrier drop.
05/08/11 272
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 273
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
This disconnect reason can be caused by noise on the line that spurs
retransmissions. For instance, the host modem transmits data to the
client modem, but noise on the line causes the data to be received
incorrectly (or not at all) by the client side.
The client modem could also have disconnected without the host
modem realizing this. So the host modem continuously retransmits,
without knowing that the client modem is no longer present.
4,5 Retrns Lt 0x204
Sometimes, when the call connects in LAPM or MNP, the universal
port card is unable to transmit a frame to the client modem. The client
modem fails to acknowledge the universal port card's initial
transmission, then fails to respond to Register S19 (error correction
retransmission limit) polls (the default is 12), so NP disconnects the
call. One cause could be that the carrier in the transmit path degraded
substantially while the client failed to downshift. Another cause could
be a problem with the client's EC engine (as happens on a Winmodem
system if Windows stops responding).
Inactivity timeout, MNP Link Disconnect (LD) sent.
6,7 Inactivity 0x205
The host modem sends the client modem a LD frame, indicating that an
inactivity timeout has occurred.
EC protocol error.
4,5 Protocol Err 0x206
This is a general catch-all protocol error. It indicates that a LAPM or
MNP EC protocol error has occurred.
3 Fallbck 0x210 No EC fallback protocol available. Error correction negotiation has not
Term been successful. The call is terminated because there is no error
correction fallback protocol available.
05/08/11 274
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
3,4,5 Disc 0x220 The call terminated normally with a proper clear down from the client
side. For example, a V.42 disconnect packet was sent from the client
modem to the host modem. The client modem dropped DTR and
cleanly negotiated a clear-down protocol.
Received DM frame. Peer might be disconnecting.
3,4,5 DM 0x221 The client modem indicates that it is disconnecting. During call setup,
this reason indicates that the client modem is giving up on negotiating
error correction.
Bad receive sequence number or ACK number was received. An MNP
LD or LAP-M FRMR is sent.
4,5 Bad NR 0x222 The host modem received a LAPM or MNP error correction frame with
a bad sequence number or acknowledgment number. An LD or Frame
Reject (FRMR) frame is sent to the client modem, indicating that the
host modem is disconnecting.
Received MNP XID frame in steady-state.
SABME
4,5 0x224 This is interpreted as a LAPM error correction protocol error in steady
Online
state. It means that the client modem may have reset due to receiving a
FRMR.
Received MNP LR frame while in steady-state.
4,5 XID Online 0x225
This is interpreted as an MNP error correction protocol error in steady
state. It means that the client modem has reset.
Table: CLASS EC Cmd: EC Detected Bad Command Code Reason Code Table
05/08/11 275
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Table: CLASS EC FRMR: EC Detected FRMR From Peer Reason Code Table
Disconnect
Disconnect Disconnect
Reason Code Description
Reason Type Reason: Name
(Hex)
EC conditions indicated by client in LAP-M FRMR frame.
4,5 - 0x4xx
The bit-mapped reason is in the last two digits.
LAPM: peer reports bad command.
Table: CLASS EC LD: Error Correction (EC) Detected Link Disconnect (LD) From Peer Reason Code Table
Disconnect
Disconnect Disconnect
Reason Code Description
Reason Type Reason: Name
(Hex)
EC conditions indicated by client in MNP link
4,5 - 0x5xx disconnect ( LD ) frame. Reason field is in the last 2
digits.
05/08/11 276
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
4,5 LD Retrns Lt 0x504 The host modem received a LD frame from the client
modem. The received LD frame indicates that the
client modem received too many consecutive
retransmissions.
MNP: peer reports inactivity timer expired
3 LD User 0x507 The host modem received a LD frame from the client
modem. The received LD frame indicates a normal
MNP termination.
05/08/11 277
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Table: CLASS HOST: Requested by Host Reason Code Table
Disconnection has occurred because the host dropped the virtual DTR
line. This generic disconnect cause is initiated by the Cisco IOS
3,6,7 HST DTR 0x1F03
software. Example causes are idle timeout, PPP LCP TERMREQ
received, authentication failure, Telnet hangup, and so on. To
determine the reason for the hang up, examine the Radius disconnect
reason from the modem call-record terse command or from
Authentication, Authorization, and Accounting (AAA).
6,7 HST ATH 0x1F04 ATH (hangup) command was detected by local host.
HST No access to telco network. Disconnection has occurred because the
3 0x1F05
NoDialTn host could not access the network.
Network indicated disconnect.
05/08/11 278
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
!Disconnect
!Description
Type
0 (unused)
1 - 0x2... (unused)
2 - 0x4... Other situations
3 - 0x6... Condition occurred during call setup
4 - 0x8... In data mode. Rx (line to host) data flushing OK
In data mode. Rx (line to host) data flushing not OK
5 - 0xA...
(at present, applications should not be concerned about the "not OK")
6 - 0xC... In data mode. Tx (host to line) data flushing OK
In data mode. Tx (host to line) data flushing not OK (at present, applications should not be
7 - 0xE...
concerned about the "not OK")
For more information about troubleshooting SPEs, refer to Interpreting NextPort Disconnect Reason Codes,
document ID 9502.
• For troubleshooting the DSP on NM-HDV for Cisco 2600 series, Cisco 3600 series, and VG200 series
routers, refer to Troubleshooting the DSP on NM-HDV for Cisco 2600/3600/VG200 Series Routers,
document ID 19066.
• For troubleshooting the VTSP-3-DSP_TIMEOUT error on AS5300 platforms, refer to Troubleshooting
VTSP-3-DSP_TIMEOUT Error on Cisco AS5300 Access Server Platforms, document ID 18680.
• If you have problems with unrecognized voice cards on Cisco 1750, Cisco 1751, and Cisco 1760 routers,
it could be a problem with the packet voice data module (PVDM), which houses the DSPs. Refer to
Troubleshooting Unrecognized Voice Interface Cards on Cisco 1750, 1751, and 1760 Routers, document
ID 5711.
05/08/11 279
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Codec complexity refers to the amount of processing power that a codec compression technique requires: some
require more processing power than others. Codec complexity affects call density, which is the number of calls
that can take place on the DSP interfaces. The DSP interfaces can be HCMs, port adapter DSP farms, or voice
cards, depending on the type of router. The greater the codec complexity, the fewer the calls that can be handled.
Codec complexity is either medium or high. The difference between medium- and high-complexity codecs is the
amount of CPU power necessary to process the algorithm and, therefore, the number of voice channels that can be
supported by a single DSP. All medium-complexity codecs can also be run in high-complexity mode, but in that
mode fewer (usually half as many) channels are available per DSP.
For details on the number of calls that can be handled simultaneously through the use of each of the codec
standards, refer to the entries for the codec and codec complexity commands in the Cisco IOS Voice Command
Reference.
21:12:54: %DSPRM-5-SETCODEC: Configured codec 10 is not supported with this dsp image.
This condition indicates that the codec complexity and the voice card complexity configuration are mismatched.
This problem can appear on Cisco modular access routers with HDV modules. This problem can affect Cisco IOS
software Releases 12.0(7)T and later.
To see if you have this problem, you need to check the following conditions:
• Check if the codec you are using is a high-complexity codec. For more information about codecs, refer to
Understanding Codecs: Complexity, Hardware Support, MOS, and Negotiation, document ID 14069.
• If you are going to use high-complexity codecs, check the voice card configuration. It should also be
configured as high complexity.
The default configuration for voice cards on routers with HDV modules is medium complexity. To allow usage of
high-complexity codecs, use the voice-card 1 and codec complexity high configuration commands.
Note: To change the voice card codec complexity, remove all voice ports bound to the card and remove the
configuration from the E1/T1 controller.
05/08/11 280
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 281
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 T1 or E1 Interface Troubleshooting
♦ 1.1 SUMMARY STEPS
♦ 1.2 DETAILED STEPS
• 2 Troubleshooting T1 and E1 Layer 1 Problems
♦ 2.1 Controller Is Administratively Down
◊ 2.1.1 SUMMARY STEPS
◊ 2.1.2 DETAILED STEPS
◊ 2.1.3 What to Do Next
♦ 2.2 Controller Has Loss of Frame
◊ 2.2.1 What to Do Next
♦ 2.3 Controller Has Loss of Signal
◊ 2.3.1 Figure: DB-15 Connector
◊ 2.3.2 Figure: RJ-45 Pin Numbering
◊ 2.3.3 Figure: Rollover Cable
• 3 Checking T1/E1 Controller Configuration
♦ 3.1 Framing Formats on Digital T1/E1 Voice Ports
◊ 3.1.1 Path Code Violations Increasing
♦ 3.2 Clock Sources on Digital T1/E1 Voice Ports
◊ 3.2.1 Slip Seconds Error Counter Increasing
◊ 3.2.2 SUMMARY STEPS
◊ 3.2.3 DETAILED STEPS
◊ 3.2.4 Framing Loss Seconds Increasing
◊ 3.2.5 SUMMARY STEPS
◊ 3.2.6 DETAILED STEPS
♦ 3.3 Line Coding on Digital T1/E1 Voice Ports
◊ 3.3.1 Line Code Violations Increasing
◊ 3.3.2 Path Code Violations Increasing
• 4 T1/E1 Channel-Associated Signaling
♦ 4.1 Troubleshooting Commands
• 5 E1 R2 Interfaces
♦ 5.1 Troubleshooting E1 R2 Failures
◊ 5.1.1 SUMMARY STEPS
◊ 5.1.2 DETAILED STEPS
♦ 5.2 debug and show Commands
• 6 ISDN Interfaces
♦ 6.1 Figure: Typical Application Using ISDN BRI NT/TE VICs or
ISDN BVMs
05/08/11 282
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
T1 or E1 Interface Troubleshooting
To troubleshoot the T1 or E1 interface, perform the following steps:
SUMMARY STEPS
DETAILED STEPS
1. Enter the show controller t1 or show controller e1 command with the controller number for the voice port
you are troubleshooting.
2. Check if the line is down. If so, see the Troubleshooting T1 and E1 Layer 1 Problems.
3. Check if there are any reported alarms. If so, refer to T1 Alarm Troubleshooting, document ID 14172 to
troubleshoot alarm indications.
05/08/11 283
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
4. Check if there are any error events. If you encounter framing, line coding, or clock timing errors, see the
Checking T1/E1 Controller Configuration.
Refer to T1 Alarm Troubleshooting Flowchart, document ID 14174 for a flowchart to troubleshoot error events.
5. Check if the interface is T1 or E1 CAS, E1 R2, or PRI. See the following sections for more information:
Use the show controllers t1 and show controllers e1 commands in privileged EXEC mode to display
information about the T1 or E1 links or to display the hardware and software driver information for the controller.
These commands show what state the T1 or E1 controller is in. The controller can be in one of three states:
• Administratively down-If the controller is administratively down, you can manually bring it up using the
procedure in the Controller Is Administratively Down section.
• Down-If the controller is down, then the cause is one of the following:
♦ Loss of frame-See the Controller Has Loss of Frame section to resolve this issue.
♦ Loss of signal-See the Controller Has Loss of Signal section to resolve this issue.
• Up-The controller is functioning properly on Layer 1.
SUMMARY STEPS
1. enable
2. configure {terminal | memory | network}
3. controller t1 number
4. no shutdown
5. end
05/08/11 284
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
DETAILED STEPS
Router> enable
configure terminal
Example:
controller t1 number
The number syntax is platform-specific. For more information about the syntax of this command, see the Cisco
IOS Interface and Hardware Component Command Reference.
Example:
Router(config)# controller t1 0
Example:
Example:
Router(config)# end
What to Do Next
• Ensure that the framing format configured on the port matches the framing format of the line. Check the
framing format of the controller from the running configuration or the show controller t1 or show
05/08/11 285
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
controller e1 command output. To change the framing format, use the framing command in controller
configuration mode.
◊ For E1, the options are crc4 and no-crc4. For example:
Router>configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# controller e1 0
Router(config-controlle)# framing crc4
If the first framing format does not work, try the other framing format to see if the alarm clears. For more
information on framing formats, see the Framing Formats on Digital T1/E1 Voice Ports.
• For T1 lines, change the line build-out setting using the cablelength long or cablelength short command.
Line build-out (LBO) or cable length compensates for the loss in decibels based on the distance from the
device to the first repeater in the circuit. A longer distance from the device to the repeater requires that the
signal strength on the circuit be boosted to compensate for loss over that distance.
To configure transmit and receive levels for a cable length (line build-out) longer than 655 feet for a T1
trunk with a channel service unit (CSU) interface, use the cablelength long controller configuration
command. To configure transmit attenuation for a cable length (line build-out) of 655 feet or shorter for a
T1 trunk with a DSX-1 interface, use the cablelength short controller configuration command.
Contact your service provider and refer to the Cisco IOS Interface and Hardware Component
Configuration Guide for details on build-out settings.
What to Do Next
If the preceding steps do not fix the problem, see the Controller Has Loss of Signal section.
Note: Use the show controller t1 EXEC command after each step to see if the controller exhibits any errors.
• Ensure that the cable between the interface port and the T1 service provider's equipment or T1 terminal
equipment is connected correctly. Ensure that the cable is hooked up to the correct ports. Correct the
cable connections if necessary.
• Check the cable integrity by looking for breaks or other physical abnormalities in the cable. Ensure that
the pinouts are set correctly. Replace the cable if necessary.
• Check the cable connectors. A reversal of the transmit and receive pairs or an open receive pair can cause
errors. Depending on the type of module used, the cable terminates on a male DB-15 or RJ-45/48
connector.
05/08/11 286
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
On a DB-15 connector, the receive pair should be on pins 2 and 9, and the transmit pair on pins 8 and 15.
A DB-15 connector is shown in Figure: DB-15 Connector.
The pins on a RJ-45/48 jack are numbered from 1 through 8. With the metal pins facing toward you, pin 1
is the left-most pin. Figure: RJ-45 Pin Numbering shows the pin numbering on an RJ-45 jack. The receive
pair should be on lines 1 and 2, and the transmit pair should be on lines 4 and 5.
• If you have completed all of the steps above and you are still experiencing problems, try using a rollover
cable. A rollover cable is shown in Figure: Rollover Cable.
05/08/11 287
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Contact your service provider for framing and line coding settings. Common settings are as follows:
• For T1 lines, it is common to use binary 8-zero substitution (B8ZS) line coding with extended superframe
(ESF), and alternate mark inversion (AMI) line coding with superframe (SF).
• For E1 lines, both HDB3 and AMI line coding are available, but CRC4 framing is most widely used.
Digital T1 lines use the SF or ESF framing format. SF provides two-state, continuous supervision signaling, in
which a 0 bit value is used to represent on-hook and a 1 bit value is used to represent off-hook. ESF robs four bits
instead of two, yet has little impact on voice quality. ESF is required for 64-kbps operation on DS0 and is
recommended for Primary Rate Interface (PRI) configurations.
E1 lines can be configured for cyclic redundancy check (CRC4) or no cyclic redundancy check, with an optional
argument for E1 lines in Australia.
To change the framing format, use the framing command in controller configuration mode. Refer to the Cisco
IOS Voice Port Configuration Guide for configuration information.
Ensure that the framing format configured on the port matches the framing format of the line. Path code violations
and line code violations are typically present simultaneously. Always verify that your line coding is correct. Look
for the following in the show controller command output:
If path code violations keep increasing, contact your service provider to check the line, because path code
violations can also be caused by physical line problems.
05/08/11 288
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
If the timing source is internal, timing derives from the onboard phase-lock loop (PLL) chip in the digital voice
interface. If the timing source is line (external), timing derives from the PBX or PSTN CO to which the voice port
is connected. It is generally preferable to derive timing from the PSTN because PSTN clocks are maintained at an
extremely accurate level. This is the default setting for the clock source. When two or more controllers are
configured, one should be designated as the primary clock source; it drives the other controllers.
To change the clock source, use the clock source command in controller configuration mode. Refer to the Cisco
IOS Voice Port Configuration Guide for configuration information.
Use the show controller command to see if there are alarms or errors displayed by the controller. To see if the
framing, line coding, and slip seconds error counters are increasing, use the show controller e1 command
repeatedly. Note the values of the counters for the current interval.
If slips are present on the line, there is a clocking problem. The customer premises equipment (CPE) needs to
synchronize to the clocking from the T1/E1 service provider. Complete the following steps to correct this
problem:
SUMMARY STEPS
1. enable
2. show controller
3. configure terminal
4. controller {t1 | e1}
5. clock source {line [primary | secondary} | internal}
DETAILED STEPS
2. Ensure that the clock source is derived from the network. In the show controller EXEC command output, look
for "Clock Source is Line Primary."
Note: If there are multiple lines into an access server, only one can be the primary source. The other lines
derive the clock from the primary source. If there are multiple lines, ensure that the line designated as
the primary clock source is configured correctly. You can also configure a second line to provide
clocking in case the primary source goes down. To do this, use the clock source line secondary
command from controller configuration mode.
3. Enter configure terminal to enter global configuration mode.
05/08/11 289
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
5. Set both the primary and secondary clock sources from controller configuration mode. For example:
and
Ensure that the lines that you specify as the primary and secondary are both active and stable.
Note: On Cisco universal gateways and access servers, the clock source is specified using the dial-tdm-clock
command. Refer to the "Managing Dial Shelves" chapter in the Cisco IOS Interface Configuration
Guide.
Follow these instructions when dealing with a framing loss seconds increase:
SUMMARY STEPS
1. enable
2. show controller
3. configure terminal
4. controller {t1 | e1}
5. framing {sf | esf} or framing {crc4|no-crc4}
6. cablelength {long|short}
DETAILED STEPS
2. Ensure that the framing format configured on the port matches the framing format of the line. Look for the
following in the show controller output
5. To change the framing format, use the following commands in controller configuration mode:
Router(config-controlle)#framing esf
05/08/11 290
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Router>(config-controller)#framing crc4
6. For T1 lines, change the line build-out using the cablelength long or cablelength short command.
Contact your service provider and consult the Voice Port Configuration Guide for details on settings.
T1 line encoding methods include alternate mark inversion (AMI) and binary 8 zero substitution (B8ZS). AMI is
used on older T1 circuits and references signal transitions with a binary 1, or "mark." B8ZS, a more reliable
method, is more popular and is recommended for PRI configurations as well. B8ZS encodes a sequence of eight
zeros in a unique binary sequence to detect line-coding violations.
Supported E1 line encoding methods are AMI and high-density bipolar 3 (HDB3), which is a form of
zero-suppression line coding.
Use the show controller command to see if there are alarms or errors displayed by the controller. To see if the
framing, line coding, and slip seconds error counters are increasing, use the show controller command
repeatedly. Note the values of the counters for the current interval.
Ensure that the line coding configured on the port matches the line coding of the line. Change the line code in
controller configuration mode if necessary.
• For E1 lines, look for "Line Code is HDB3" in the show controller e1 output.
• For T1 lines, look for "Line Code is {B8ZS|AMI}" in the show controller t1 output.
For T1 lines, change the line build-out using the cablelength long or cablelength short command.
If line code violations keep increasing, contact your service provider to check the line, because line code
violations can also be caused by physical line problems.
Ensure the framing format configured on the port matches the framing format of the line. Path code violations and
line code violations are typically present simultaneously. Always verify that your line coding is correct. Look for
the following in the show controller output:
For T1 lines, path code violation error event is a frame synchronization bit error in the D4 (SF) format, or
a CRC error in the ESF format.
05/08/11 291
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• For E1 lines, check the framing as described in the Framing Formats on Digital T1/E1 Voice Ports.
For T1 lines, change the line build-out using the cablelength long or cablelength short command.
If path code violations keep increasing, contact your service provider to check the line. Path code violations can
also be caused by physical line problems.
• Supervision signals represent events occurring on a trunk and can be specific to CAS. Signal types
include seizure, wink, and answer.
• Address signals represent the digits dialed or called party number and, in some instances, other
information. Address signals are based on multiflex signaling.
• Tone and announcement signals include ringing and busy tones and announcements specific to an event.
Service circuits are used in most exchanges to send and receive address signals and tones as well as to
play announcements.
This section describes CAS signaling, which is sometimes called robbed-bit signaling because user bandwidth is
robbed by the network for signaling. A bit is taken from every sixth frame of voice data to communicate on- or
off-hook status, wink, ground start, dialed digits, and other information about the call.
In addition to setting up and tearing down calls, CAS provides for the receipt and capture of dialed number
identification (DNIS) and automatic number identification (ANI) information, which are used to support
authentication and other functions. The main disadvantage of CAS signaling is its use of user bandwidth to
perform these signaling functions.
For more information about troubleshooting CAS, refer to Configuring and Troubleshooting T1 CAS Signaling,
document ID 24642.
If your CAS-configured router gets stuck in the EM_PARK state, refer to Troubleshooting EM_PARK Issues for
E&M Digital CAS Signaling, document ID 18959.
Troubleshooting Commands
Certain show commands are supported by the Output Interpreter tool, which allows you to view an analysis of
show command output.
• debug voip ccapi inout-Traces the execution path through the call control API, which serves as the
interface between the call session application and the underlying network-specific software. You can use
the output from this command to understand how calls are being handled by the router.
05/08/11 292
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• debug vpm all-Enables all of the debug vpm commands: debug vpm spi, debug vpm signal, and debug
vpm dsp.
• show call active voice-Displays the contents of the active call table, which shows all of the calls currently
connected through the router.
• show call history voice-Displays the call history table. The call history table contains a listing of all calls
connected through this router in descending time order since VoIP was enabled. You can display subsets
of the call history table by using specific keywords.
• show voice port-Displays configuration information about a specific voice port.
• debug vtsp all-Enables the following debug vtsp commands: debug vtsp session, debug vtsp error, and
debug vtsp dsp.
E1 R2 Interfaces
R2 signaling is a CAS system developed in the 1960s and still in use today in Europe, Latin America, Australia,
and Asia. R2 signaling exists in several country versions or variants in an international version called Consultative
Committee for International Telegraph and Telephone-R2 (CCITT-R2). The R2 signaling specifications are
contained in International Telecommunication Union Telecommunication Standardization Sector (ITU-T)
Recommendations Q.400 through Q.490. E1 R2 signaling is an international signaling standard that is common to
channelized E1 networks.
E1 R2 signaling support allows the Cisco gateways to communicate with a central office (CO) or PBX trunk and
act as a tie-line replacement. Although R2 signaling has been defined in ITU-T Q.400-Q.490 recommendations,
R2 is implemented in many different ways. (Various countries implement R2 differently.) Cisco's implementation
of R2 signaling on routers can accommodate most of the variations.
Troubleshooting E1 R2 Failures
Follow the instructions below to troubleshoot your configuration.
SUMMARY STEPS
1. show controller e1
2. show vfc slot number interface
3. Configure DID on the POTS peer.
4. cptone
5. Match line and register signaling provisions to the switch configuration.
6. Turn on appropriate debugs.
7. Check for communication between the router and PBX or switch.
DETAILED STEPS
05/08/11 293
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
If it is down, check framing, line coding, clock source, and alarms. Replace the cable and reseat the card. To run
these tests, see the following sections:
2. If you are using an AS5300, check that the DSPs are correctly installed with the show vfc slot number
interface command.
3. Configure direct inward dial (DID) on the plain old telephone service (POTS) peer, so that the received digits
are used to choose an outgoing peer.
A cptone country must be configured to match cas-custom country. The cptone parameter sets the call progress
tones for a particular country, and more importantly sets the encoding to a-law or u-law, depending on the
country. For u-law, use the us keyword. For a-law, use the gb keyword. To configure cptone, see the Voice Port
Configuration Guide.
6. Turn on some of the debugs shown in the following section and study the outputs.
For Cisco IOS Software Release 12.0 and newer, use the following debugs:
For Cisco IOS Software Release IOS 11.3, use the following commands:
• modem-mgmt csm debug-rbs -For line signaling (specify service internal in global configuration
mode.)
05/08/11 294
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
For the AS5400 and AS5350 platforms, use the following debugs:
ISDN Interfaces
An ISDN network can consist of T1, T3, E1, and E3 and has two types of subscriber access: Basic Rate Interface
(BRI) and Primary Rate Interface (PRI). Each access comprises B and D channels.
ISDN BRI provides two B channels, each capable of transferring voice or data at 64 kbps, and one 16-kbps D
channel that carries signaling traffic. The D channel is used by the telephone network to carry instructions about
how to handle each of the B channels. ISDN BRI (also referred to as "2 B + D") provides a maximum
transmission speed of 128 kbps.
ISDN PRI provides 23 B channels plus a D channel (in North America and Japan) or 30 B channels plus a D
channel (in the rest of the world). Similar to the ISDN BRI D channel, the ISDN PRI D channel carries signaling
traffic. ISDN PRI is often referred to as "23 B + D" (in North America and Japan) or "30 B + D" (in the rest of the
world). The D channel notifies the central office switch to send the incoming call to particular time slots on the
Cisco access server or router. Each one of the B channels carries data or voice. The D channel carries signaling
for the B channels. The D channel indicates whether the call is a circuit-switched digital call or an analog modem
call. Analog modem calls are decoded and then sent to the onboard modems. Circuit-switched digital calls are
relayed directly to the ISDN processor in the router.
The ISDN interfaces for Cisco gateways enable Cisco IOS software to replicate the PSTN interface to a PBX that
is compatible with European Telecommunications Standards Institute (ETSI) NET3 and QSIG switch types.
The application shown in Figure: Typical Application Using ISDN BRI NT/TE VICs or ISDN BVMs allows
enterprise customers with a large installed base of legacy telephony equipment to bypass the PSTN.
Figure: Typical Application Using ISDN BRI NT/TE VICs or ISDN BVMs
05/08/11 295
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
For more information about troubleshooting T1 PRI, refer to T1 PRI Troubleshooting, document ID 9344.
Verifying the ISDN Switch Type and PRI Group Timeslot Configuration
Use the show running-config command to ensure that isdn switch-type and pri-group timeslots are configured
correctly. To specify the central office switch type on the ISDN interface, use the isdn switch-type global
configuration command. Options for this command include primary-net5. Contact your service provider for the
correct values to use.
Note: If you have defined ISDN PRI groups and channel groups on the same controller, ensure that
you do not overlap time slots or use the ISDN D-channel timeslot in a channel group. When
05/08/11 296
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
configuring a Primary Rate Interface (PRI), use the isdn switch-type global configuration
command to configure the switch type.
To configure the isdn switch-type and pri-group:
Note: In some countries, service providers offer fractional PRI lines. This means that fewer than 30
B-channels may be used for ISDN connections. For fractional PRI lines, the time slot range
must include the operational B channels, plus the D channel (this is fixed on time slot 16).
For example:
If the error counters do not increase, but the problem persists, complete the following steps to verify that the
signaling channel is up and configured correctly
SUMMARY STEPS
DETAILED STEPS
1. Run the show interfaces serial number:15 command, where the number is the interface number.
2. Ensure that the interface is up. If the interface is not up, use the no shutdown command to bring the interface
up. For example:
3. Ensure that encapsulation is PPP. If not, use the encapsulation ppp command to set encapsulation. For
example:
05/08/11 297
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
4. Ensure that the interface is not in loopback mode. Loopback should be set only for testing purposes. Use the no
loopback command to remove loopbacks. For example:
Router(config-if)# no loopback
7. If the problem persists, contact your service provider or the Cisco Technical Assistance Center (TAC).
Ringback
In some situations, a gateway might intermittently fail to provide ringback tone (RBT) to an incoming ISDN
caller. This problem has been seen on local, long-distance, and international calls.
The gateway generates ringback towards the network side (PSTN or PBX) if the setup contains Progress IE = 3,
meaning the originating address (calling party) is NON-ISDN.
The gateway does not generate a ringback towards the network side (PSTN or PBX) if the setup contains no
Progress IE (Progress IE =0), meaning the originating address (calling party) is ISDN.
The following figure is an example of when this might occur. International calls are arriving on ISDN.
PSTN (ISDN) --------- Cisco IOS gateway ------------ Cisco CallManager ------------ IP phone
You receive a call from a non-ISDN terminal. The setup contains a Progress IE = 3. The gateway generates
ringback when it receives an alert from Cisco CallManager.
The following debugs were captured with the Cisco IOS command debug isdn q931:
05/08/11 298
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
You receive a call from an ISDN terminal. There is no Progress IE in the setup. (Progress IE = 0). The gateway is
not generating ringback when it receives the alert from Cisco CallManager.
In the case above, the gateway is expecting the ISDN to generate the ringback (due to no PI of 3). The ISDN,
however, is not generating a ringback tone. This results in the caller hearing only silence until the called party
answers the call. This might be due to an ISDN interworking issue caused because the call originated
internationally (normally ring is generated at the terminating device for international calls).
Forcing Ringback
You can force the gateway to generate a ringback with the progress_ind setup enable 3 command. Configure the
forced ringback on the VoIP dial peer that points to Cisco CallManager.
!
dial-peer voice 500 voip
destination-pattern 5...
progress_ind setup enable 3
!--forces ring back tone for this peer
session target ipv4:10.200.73.15
codec g711ulaw
!
For more information, refer to PSTN Callers not Hearing any Ring Back When they Call IP Phones, document ID
8331.
QSIG also has one important mechanism known as Generic Functional Procedures (QSIG GF). This mechanism
provides a standard method for transporting features transparently across a network.
Integration of QSIG protocol support with Cisco voice switching services allows Cisco devices to connect PBXs,
key systems, and central office switches (COs) that communicate by using the QSIG protocol. With QSIG, Cisco
networks emulate the functionality of the PSTN, and QSIG signaling messages allow the dynamic establishment
of voice connections across a Cisco WAN to a peer router, which can then transport the signaling and voice
05/08/11 299
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
packets to a second PBX, as shown in Figure: QSIG Signaling.
The Cisco voice packet network appears to the traditional QSIG PBXs as a distributed transit PBX that can
establish calls to any PBX, non-QSIG PBX, or other telephony endpoint served by a Cisco gateway, including
non-QSIG endpoints.
Table: QSIG Troubleshooting Commands lists debug and show commands that can help you analyze problems
with your QSIG configuration.
!Command !Purpose
Displays the status of all ISDN interfaces, including active layers, timer information, and
show isdn status
switch type settings.
show controller
Displays information about T1 and E1 controllers.
t1/e1
show voice port
Displays summary information about voice port configuration.
summary
show dial-peer
Displays how voice dial peers are configured.
voice
show cdapi Displays the Call Distributor Application Programming Interface (CDAPI) information.
show call history
Displays information about calls made to and from the router.
voice record
show rawmsg Displays information about any memory leaks.
Displays events occurring on the user side (on the router) of the ISDN interface. The ISDN
debug isdn event events that can be displayed are Q.931 events (call setup and teardown of ISDN network
connections).
debug tsp Displays information about the telephony service provider (TSP).
debug cdapi
Displays information about CDAPI application events, registration, messages, and so on.
{events | detail}
05/08/11 300
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Troubleshooting Drop-and-Insert
When a router is configured for drop-and-insert, also called TDM cross connect, traffic is passed as a transparent
bit stream between the configured ports. The router acts as a conduit between the ports, ensuring that the bit
stream and clocking are preserved. Because of this, there are no commands to monitor traffic or debug signaling
bits. You can confirm the physical status of the T1 interfaces (carrier loss) and line quality (line errors, clock
slips, framing errors) using the show controller t1 slot/port command.
You can connect the PBX directly to the voice mail system to isolate signaling problems. If the system is still not
working when the router has been bypassed, you might need to use T1 analyzers (for example, the Acterna Tberd
T1 analyzer) to verify that the PBX or voice mail system is sending the correct information on the T1 trunk. You
can also use the analyzer to verify that the drop-and-insert feature is working correctly from one port to the other.
For more information on troubleshooting drop-and-insert, refer to Integrating PBXs into VoIP Networks Using
the TDM Cross Connect Feature, document ID 27789.
With T-CCS, the PBX voice channels can be "nailed-up" and compressed between sites, and the accompanying
signaling channel(s) can be transparently tunneled across the IP/FR/ATM backbone between PBXs. Thus, calls
from the PBXs are not routed by Cisco on a call-by-call basis but follow a preconfigured route to the destination.
For information about troubleshooting T-CCS, refer to Configuring and Troubleshooting Transparent CCS,
document ID 19087.
A common problem in the voice network involves no dial tone being heard from a voice port in the off-hook
condition. This might be related to configuration issues, a hardware problem, a DSP problem, or a bug in Cisco
IOS software. A voice port configured with connection trunk does not provide dial tone. A faulty network module
or Foreign Exchange Station (FXS) card might cause silence or no dial tone in a voice port.
For more information, refer to Troubleshooting No Dial Tone Issues, document ID 22372.
05/08/11 301
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
The following sections describe these various problems and related solutions.
For Cisco modular access routers , another problem could be a bad network module. If there is an alarm light on
the network module, remove the module, put it back in the slot and power cycle. If the alarm light is still lit,
replace the network module. Also, try plugging an analog phone into the FXS port with a good cable. If there is
no dial tone, replace the FXS card.
Note: FXS-Direct Inward Dialing (DID) does not provide dial tone.
Remove the connection trunk/PLAR configuration to ensure that you are getting the dial-tone.
05/08/11 302
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Removing the direct-inward-dial command from dial-peer pots causes the digital voice port to provide dial tone.
05/08/11 303
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
After configuring the voice ports on your router, follow these steps to verify proper operation:
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 SUMMARY STEPS
• 2 DETAILED STEPS
• 3 show voice port Samples
♦ 3.1 Cisco 3600 Digital E&M Voice Port
♦ 3.2 Cisco AS5300 Universal Access Server T1
CAS Voice Port
♦ 3.3 Cisco 7200 Series Router Digital E&M
Voice Port
• 4 show controller Samples
♦ 4.1 Cisco 3600 Series Router T1 Controller
♦ 4.2 Cisco AS5800 Universal Access Server T1
Controller
• 5 show voice dsp Samples
• 6 show voice call summary Samples
♦ 6.1 Cisco 3600 Series Router Digital Voice Port
• 7 show call active voice Samples
• 8 show call history voice Sample
• 9 Verifying Digits Received and Sent on the POTS Call
Leg
♦ 9.1 show dialplan number
♦ 9.2 debug vtsp dsp
SUMMARY STEPS
05/08/11 304
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
DETAILED STEPS
1. Pick up the handset of an attached telephony device and check for a dial tone.
2. If you have dial tone, check for DTMF detection. If the dial tone stops when you dial a digit, then the voice port
is most likely configured properly for DTMF detection.
3. To identify port numbers of voice interfaces installed in your router, use the show voice port summary
command.
4. To verify voice-port parameter settings, enter the show voice port command with the appropriate syntax for
your voice interfaces.
5. For digital T1/E1 connections, to verify the codec complexity configuration, enter the show running-config
command to display the current voice-card setting. If medium complexity is specified, the codec complexity
setting is not displayed. If high complexity is specified, the setting codec complexity high is displayed. The
following example shows an excerpt from the command output when high complexity has been specified:
voice-card 0
codec complexity high
.
.
.
6. For digital T1/E1 connections, to verify that the controller is up and that no alarms have been reported, and to
display information about clock sources and other controller settings, use the show controller command. For
output examples, see the show controller Samples.
7. To display voice-channel configuration information for all DSP channels, enter the show voice dsp' command'.
For output examples, see the show voice dsp Samples.
8. To verify the call status for all voice ports, enter the show voice call summary' command'. For output
examples, see the show voice call summary Samples.
9. To display the contents of the active call table, which shows all of the calls currently connected through the
router or concentrator, enter the 'show call active voice' command. For output examples, see the show call active
voice Samples.
05/08/11 305
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Router# show call active voice
10. To display the contents of the call history table, enter the show call history voice' command'. To limit the
display to the last calls connected through this router, enter the keyword last and define the number of calls to be
displayed with the argument number. To limit the display to a shortened version of the call history table, use the
keyword brief. For output examples, see the show call history voice Sample.
05/08/11 306
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
In Gain is Set to 0 dB
Out Attenuation is Set to 0 dB
Echo Cancellation is enabled
Echo Cancel Coverage is set to 8 ms
Playout-delay Mode is set to default
Playout-delay Nominal is set to 60 ms
Playout-delay Maximum is set to 200 ms
Connection Mode is normal
Connection Number is not set
Initial Time Out is set to 10 s
Interdigit Time Out is set to 10 s
Call-Disconnect Time Out is set to 60 s
Ringing Time Out is set to 180 s
Companding Type is u-law
Region Tone is set for US
Wait Release Time Out is 30 s
Station name None, Station number None
05/08/11 307
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Cisco 3600 Series Router T1 Controller
05/08/11 308
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
01 g729r8 .8 busy idle 0 0 1/015 11 0 65664/81737
02 g729r8 busy idle 0 0 1/015 18 0 65607/81820
03 g729r8 busy idle 0 0 1/015 24 0 65589/83889
C549 015 00 g729r8 3.3 busy idle 0 0 1/015 6 0 66889/83331
01 g729r8 .8 busy idle 0 0 1/015 12 0 65690/81700
02 g729r8 busy idle 0 0 1/015 19 0 66422/82099
03 g729r8 busy idle 0 0 1/015 25 0 65566/83852
Router# show voice dsp
TYPE DSP CH CODEC VERS STATE STATE RST AI PORT TS ABORT TX/RX-PAK-CNT
==== === == ======== ==== ===== ======= === == ======= == ===== ===============
C549 007 00 {medium} 3.3 IDLE idle 0 0 1/0:1 4 0 0/0
.13
C549 008 00 {medium} 3.3 IDLE idle 0 0 1/0:1 5 0 0/0
.13
C549 009 00 {medium} 3.3 IDLE idle 0 0 1/0:1 6 0 0/0
.13
C549 010 00 {medium} 3.3 IDLE idle 0 0 1/0:1 7 0 0/0
.13
C549 011 00 {medium} 3.3 IDLE idle 0 0 1/0:1 8 0 0/0
.13
C549 012 00 {medium} 3.3 IDLE idle 0 0 1/0:1 9 0 0/0
.13
C542 001 01 g711ulaw 3.3 IDLE idle 0 0 2/0/0 0 512/519
.13
C542 002 01 g711ulaw 3.3 IDLE idle 0 0 2/0/1 0 505/502
.13
C542 003 01 g711alaw 3.3 IDLE idle 0 0 2/1/0 0 28756/28966
.13
C542 004 01 g711ulaw 3.3 IDLE idle 0 0 2/1/1 0 834/838
.13
05/08/11 309
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 310
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Index=450
PeerAddress=##52258
PeerSubAddress=
PeerId=50000
PeerIfIndex=35
LogicalIfIndex=0
DisconnectCause=10
DisconnectText=normal call clearing.
ConnectTime=94893780
DisconectTime=95015500
CallOrigin=1
ChargedUnits=0
InfoType=2
TransmitPackets=32258
TransmitBytes=645160
ReceivePackets=20061
ReceiveBytes=401220
VOIP:
ConnectionId[0x142E62FB 0x5C6705B3 0x0 0x388F851C]
RemoteIPAddress=171.68.235.18
RemoteUDPPort=16552
RoundTripDelay=23 ms
SelectedQoS=best-effort
tx_DtmfRelay=inband-voice
SessionProtocol=cisco
SessionTarget=ipv4:171.68.235.18
OnTimeRvPlayout=398000
GapFillWithSilence=0 ms
GapFillWithPrediction=1440 ms
GapFillWithInterpolation=0 ms
GapFillWithRedundancy=0 ms
HiWaterPlayoutDelay=97 ms
LoWaterPlayoutDelay=30 ms
ReceiveDelay=49 ms
LostPackets=1 ms
EarlyPackets=1 ms
LatePackets=132 ms
VAD = disabled
CoderTypeRate=g729r8
CodecBytes=20
cvVoIPCallHistoryIcpif=0
• show dialplan number-This command is used to show which dial peer is reached when a particular
telephone number is dialed.
• debug vtsp session-This command displays information on how each network indication and application
request is processed, signaling indications, and DSP control messages.
• debug vtsp dsp-This command displays the digits as they are received by the voice port.
05/08/11 311
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• debug vtsp all-This command enables the following debug voice telephony service provider (VTSP)
commands: debug vtsp session, debug vtsp error, and debug vtsp dsp.
The show dialplan number command displays the dial peer that is matched by a string of digits. If multiple
dial-peers can be matched, they are all shown in the order in which they are matched. The output of this command
looks like this:
debug vtsp dsp shows the digits as they are received by the voice-port. The following output shows the collection
of DTMF digits from the DSP:
05/08/11 312
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
*Mar 10 17:57:08.505: vtsp_process_dsp_message:
MSG_TX_DTMF_DIGIT_BEGIN: digit=5,
*Mar 10 17:57:08.585: vtsp_process_dsp_message:
MSG_TX_DTMF_DIGIT_OFF: digit=5,
duration=130
*Mar 10 17:57:09.385: vtsp_process_dsp_message:
MSG_TX_DTMF_DIGIT_BEGIN: digit=0
*Mar 10 17:57:09.485: vtsp_process_dsp_message:
MSG_TX_DTMF_DIGIT_OFF: digit=0,
duration=150
*Mar 10 17:57:10.697: vtsp_process_dsp_message:
MSG_TX_DTMF_DIGIT_BEGIN: digit=0
*Mar 10 17:57:10.825: vtsp_process_dsp_message:
MSG_TX_DTMF_DIGIT_OFF: digit=0,
duration=180
*Mar 10 17:57:12.865: vtsp_process_dsp_message:
MSG_TX_DTMF_DIGIT_BEGIN: digit=0
*Mar 10 17:57:12.917: vtsp_process_dsp_message:
MSG_TX_DTMF_DIGIT_OFF: digit=0,
duration=100
If the digits are not being sent or received properly, then it might be necessary to use either a digit-grabber (test
tool) or T1 tester to verify that the digits are being sent at the correct frequency and timing interval. If they are
being sent "incorrectly" for the switch (CO or PBX), some values on the router or switch (CO or PBX) might
need to be adjusted so that they match and can interoperate. These are usually digit duration and inter-digit
05/08/11 313
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
duration values.
Another item to examine if the digits appear to be sent correctly are any number translation tables in the switch
(CO or PBX) that may add or remove digits. Refer to your switch documentation to check the translation tables
on your switch.
05/08/11 314
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
These commands allow you to force voice ports into specific states for testing. The following types of voice-port
tests are covered:
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 Detector-Related
Function Tests
• 2 Loopback Function
Tests
• 3 Tone Injection Tests
• 4 Relay-Related Function
Tests
• 5 Fax/Voice Mode Tests
To configure this feature, enter these commands beginning in privileged EXEC mode:
Command Purpose
Router# test voice port slot/port:ds0-group detector Identifies the voice port you want to test. Enter a
1. {m-lead | battery-reversal | loop-current | ring | keyword for the detector under test and specify
tip-ground | ring-ground | ring-trip} {on | off} whether to force it to the on or off state.
Identifies the voice port on which you want to end
Router# test voice port slot/port:ds0-group detector
the test. Enter a keyword for the detector under
2. {m-lead | battery-reversal | loop-current | ring |
test and the keyword disable to end the forced
tip-ground | ring-ground | ring-trip} disable
state.
05/08/11 315
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Command Purpose
Identifies the voice port you want to test and enters a keyword
Router# test voice port slot/port:ds0-group for the loopback direction.
1.
loopback {local | network}
Note: A call must be established on the voice port under test.
Router# test voice port slot/port:ds0-group Identifies the voice port on which you want to end the test and
2.
loopback disable enters the keyword disable to end the loopback.
Command Purpose
Identifies the voice port you want to
test and enter keywords for the
Router# test voice port slot/port:ds0-group inject-tone {local | direction to send the test tone and for
1. network} {1000hz | 2000hz | 200hz | 3000hz | 300hz | 3200hz | the frequency of the test tone.
3400hz | 500hz | quiet}
Note: A call must be established
on the voice port under test.
Identifies the voice port on which you
want to end the test and enter the
keyword disable to end the test tone.
2. Router# test voice port slot/port:ds0-group inject-tone disable
Note: The disable keyword is
available only if a test
condition is already
activated.
Command Purpose
Identifies the voice port you want to test.
Router# test voice port slot/port:ds0-group relay {e-lead | loop |
1. ring-ground | battery-reversal | power-denial | ring | • Enter a keyword for the relay
tip-ground} {on | off} under test and specify whether to
force it to the on or off state.
2. Router# test voice port slot/port:ds0-group relay {e-lead | loop | Identifies the voice port on which you
ring-ground | battery-reversal | power-denial | ring | want to end the test.
tip-ground} disable
05/08/11 316
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
The disable keyword ends the forced mode switch; however, the fax mode ends automatically after 30 seconds.
The disable keyword is available only while the voice port is in fax mode.
To force a voice port into fax mode and return it to voice mode, enter the following commands, beginning in
privileged EXEC mode:
Command Purpose
Identifies the voice port you want to test.
1. Router# test voice port slot/port:ds0-group switch fax
• Enter the keyword fax to force the voice
port into fax mode.
Identifies the voice port on which you want to end
the test.
Router# test voice port slot/port:ds0-group switch
2.
disable
• Enter the keyword disable to return the
voice port to voice mode.
05/08/11 317
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
• Understand how much bandwidth a VoIP call consumes with each codec, including Layer 2 and
IP/UDP/RTP headers. For more information about VoIP bandwidth consumption, refer to Voice Over IP -
Per Call Bandwidth Consumption, document ID 7934.
• Understand the characteristics of the IP network over which the calls travel. For example, the bandwidth
of a Frame Relay network at CIR is much different than that above-CIR (or burst), where packets could
be dropped or queued in the Frame-Relay cloud. Ensure that delay and jitter are controlled and eliminated
as much as possible. One-way transmit delay should not exceed 150 ms (per G.114 recommendation).
• Use a queuing technique that allows VoIP traffic to be identified and prioritized.
• When transmitting VoIP over low-speed links, consider using Layer 2 packet fragmentation techniques,
such as Multilink Point-to-Point Protocol (MLPPP) with Link Fragmentation and Interleaving (LFI) on
point-to-point links, or FRF.12 on Frame Relay links. Fragmentation of larger data packets allows less
jitter and delay in transmitting VoIP traffic because the VoIP packets can be interleaved onto the link.
• Try the call with a different codec and with the voice activity detector (VAD) enabled and disabled to
possibly narrow down the issue to the digital signal processor (DSP), as opposed to the IP network.
With VoIP, when you are troubleshooting QoS issues, look especially for dropped packets and network
bottlenecks that can cause delay and jitter.
• Interface drops
• Buffer drops
• Policy-map drops
• Interface congestion
• Link congestion
Each interface in the path of the VoIP call should be examined and drops and congestion should be eliminated.
Also, round-trip delay should be reduced as much as possible. Pings between the VoIP end points give an
indication of the round trip delay of a link. The round trip delay should not exceed 300 ms whenever possible. If
the delay does have to exceed this value, efforts should also be taken to ensure this delay is constant, so that you
do not introduce jitter or variable delay.
When low latency queueing (LLQ) is set up, you can check policy-map drops by looking for packets that match
the priority class by entering the show policy interface serial command. This shows how much traffic is
05/08/11 318
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Ensure that the Cisco IOS queuing mechanism is placing the VoIP packets within the proper queues. Cisco IOS
commands, such as show queue and show priority can help you to verify queueing.
Measuring QoS
Cisco offers several options for monitoring QoS in networks using VoIP solutions. Cisco offers tools that provide
information about the voice quality you are experiencing by measuring delay, jitter, and packet loss. Cisco
solutions do not measure voice quality using Perceptual Speech Quality Measurement (PSQM) or some of the
new proposed algorithms for voice quality measurement. Tools from outside vendors are available for this
purpose.
When implementing service policies using the QoS command line interface (CLI), start with the Cisco
Class-Based QoS Configuration and Statistics Management Information Base (MIB). This MIB provides read
access to QoS configuration and statistics information for Cisco platforms that support the Modular QoS CLI.
Statistics available through this MIB include summary counts and rates by traffic class before and after any
configured QoS policies are enforced. In addition, detailed feature-specific statistics are available for select
PolicyMap features. See Cisco MIBs for the object IDs.
In addition, Cisco offers the following software tools for monitoring QoS:
• Network monitoring using Cisco Service Assurance Agent (Cisco SSA)-The response time and
availability monitoring capabilities of this tool include support for VoIP, QoS, and the World Wide Web.
The Cisco SSA is an application-aware synthetic operation agent that monitors network performance by
measuring key metrics such as response time, availability, jitter (interpacket delay variance), connect
time, throughput, and packet loss. These metrics can be used for troubleshooting, for analysis before
problems occur, and for designing future network topologies. This tool is designed more for trending,
rather than real-time monitoring. Refer to Using Cisco Service Assurance Agent and Internetwork
Performance Monitor to Manage Quality of Service in Voice over IP Networks for more information.
• Cisco Gateway Management Agent (CGMA)-The only real-time management Cisco IOS software
agent and protocol for VoIP. The CGMA is a new gateway Cisco IOS agent that provides real-time
call-state information for all VoIP calls. CGMA supports a push protocol, in which certain call-state
changes result in a message being sent out of CGMA by the gateways. The interface from the CGMA is
the Real Time Management Protocol (RTMP). RTMP is a lightweight XML-based protocol that uses TCP
as the transport protocol. This solution allows Service Providers to monitor their calls (session initiation
protocol (SIP) and H.323 networks), viewing call detail records (CDRs) and trunk utilization in real time.
The validated gateways for the CGMA include the Cisco 2600 series, the Cisco 3600 series, and the Cisco
5000 series. The Cisco IOS that has been validated on all gateways is the 12.2(2)XB mainline release.
• CiscoWorks QoS Policy Manager (QPM)-QPM provides a scalable platform for defining, applying,
and monitoring QoS policy on a system-wide basis for Cisco devices, including routers and switches.
QPM enables you to baseline profile network traffic, create QoS policies at an abstract level, control the
deployment of policies, and then monitor QoS to verify intended results. As a centralized tool QPM is
used to monitor and provision QoS for groups of interfaces and devices.
QPM provides a web-based intuitive user interface to define QoS policies, and translates those policies
into the device's command line interface (CLI) commands.
QPM runs on the CiscoWorks Common Services server, which can be installed as a standalone server, or
as an add-on to CD One 5th Edition. CiscoWorks Common Services provides the infrastructure required
05/08/11 319
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
by QPM to run from the CiscoWorks desktop environment, and also provides management of user roles
and privileges, allowing you to control who gets access to specific tasks in QPM.
05/08/11 320
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 Quality on Voice Ports
♦ 1.1 Table: Troubleshooting Voice Quality on Voice
Ports
• 2 Delay in Voice Networks
♦ 2.1 Table: Serialization Delay
♦ 2.2 Table: Recommended Delay Ranges
• 3 Packet Loss
• 4 Jitter Adjustment
♦ 4.1 SUMMARY STEPS
• 5 Echo Adjustment
♦ 5.1 Determine Where Echo Is Occurring
◊ 5.1.1 PSTN Phone Users Hears Echo
◊ 5.1.2 IP Phone User Hears Echo
♦ 5.2 Troubleshooting Echo in Cisco IOS Gateways
◊ 5.2.1 SUMMARY STEPS
♦ 5.3 Measuring Echo in Cisco IOS Gateways
◊ 5.3.1 SUMMARY STEPS
• 6 Voice Level Adjustment
♦ 6.1 Input and Output Levels
◊ 6.1.1 SUMMARY STEPS
♦ 6.2 Voice Activity Detection Level
◊ 6.2.1 Hissing or Static While You Are Using
Voice Activity Detector
05/08/11 321
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Use the show voice port command to confirm that the cptone keyword
setting (also called region tone) is set to us for the United States.
Distorted speech.
Note: Having a wrong cptone setting can cause faulty voice
reproduction during analog-to-digital or digital-to-analog
conversions.
Reduce the music-threshold level to make VAD less sensitive with the
Music on Hold (MOH) is not heard. music-threshold voice-port configuration command. Valid entries are
from -70 to -30.
Background noise is not heard. Enable the comfort-noise command.
Overall delay is probably excessive; the standard for adequate voice
quality is 150 ms one-way transit delay. Measure delay by using ping
Long pauses occur in conversation, as
tests at various times of the day with different network traffic loads. If
if you were speaking on a
delay must be reduced, examine propagation delay of signals between the
walkie-talkie.
sending and receiving endpoints, voice encoding delay, and the voice
packetization time for various VoIP codecs.
Variable delay, or jitter, is being introduced by congestion in the packet
network. There are two possible remedies:
05/08/11 322
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
When listening to speech, the human ear normally accepts up to about 150 ms of delay without noticing it. The
ITU G.114 standard recommends no more than 150 ms of one-way delay for a normal voice conversation. Once
the delay exceeds 150 ms, a conversation is more like a "walkie-talkie" conversation in which one person must
wait for the other to stop speaking before beginning to talk.
Several different types of delay combine to make up the total end-to-end delay associated with voice calls:
• Coder delay-Amount of time used by the digital signal processor (DSP) to compress samples.
• Handling delay-Amount of time it takes to process data (adding headers, taking samples, forming packets,
and so forth).
• Serialization delay-Fixed delay related to the clock rate on the interface. The amount of delay needed for
different frame sizes is shown in Table: Serialization Delay.
• Propagation delay-Amount of time it takes the data to physically travel over the media.
• Queuing delay-Amount of time lost due to congestion. Every network device between two endpoints
involved in a call is a potential source of queuing or buffering delays. Use a sniffer trace at each hop to
see where the delay or jitter is being introduced.
Output drops can occur because of incorrectly configured priority queuing. For information about
troubleshooting output drops with priority queueing, refer to Troubleshooting Output Drops with Priority
Queueing , document ID 10105.
• Variable delay or jitter-Amount of time that causes the conversation to break and become unintelligible.
Jitter is described in the Jitter Adjustment.
You can measure delay by using ping tests at various times of the day with different network traffic loads. Sniffer
traces can also be used to find where delay is being introduced in the network. For more information about
measuring QoS, see the Measuring QoS.
The recommended ranges for delay are shown in Table: Recommended Delay Ranges. These ranges are for
connections in which echo is controlled. Echo cancellers are required when one-way delay exceeds
25milliseconds. For more information about echo cancellation, see the Echo Adjustment. These ranges are for
total end-to-end delay, not just the delay on the WAN side of a connection. For more information about
05/08/11 323
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
developing a delay budget, refer to the "Building the Delay Budget" section of the Understanding Delay in Packet
Voice Networks white paper.
Private Network
ITU Recommdation Description
Recommendation
0 to 150 milliseconds 0 to 200 milliseconds Acceptable for most user appliations
Acceptable if administrators are aware of the
150 to 400 milliseconds 200 to 250 milliseconds
transmission time and its impact on quality.
Above 400 milliseconds Above 250 milliseconds Unacceptable in most situations.
Packet Loss
Packet loss is a very common cause of voice quality problems on an IP network. In a properly designed network,
packet loss should be near zero. Voice codecs can tolerate some degree of packet loss without a dramatic effect on
voice quality. Voice packets should be tagged for zero packet loss. On converged voice/data networks, the
quantity of the voice calls and link bandwidth should be limited. The bandwidth should be guarenteed for the
voice calls by giving priority to voice traffic. Packet loss can have an impact voice quality in several ways:
A common cause of packet loss is duplex mismatching. This occurs when one side of the connection is set up for
full duplex and the other is set up for half duplex. Look at the link between the two endpoints experiencing the
packet loss and check the speed and duplex settings for each side.
Although duplex mismatch is common, there are many other opportunities for packet loss in the network. To find
the cause of these packet drops, check each interface between two endpoints by using the show interface
command. If dropped packets are showing up on any interface, the link might be oversubscribed or there might be
other traffic on this link that you are not expecting. In this case, use a network analyzer (or "sniffer") to check
what traffic might be congesting the link. For more information about network analyzers, see the Network
Analyzers.
Jitter Adjustment
Delay can cause unnatural starting and stopping of conversations, but variable-length delays (also known as jitter)
can cause a conversation to break and become unintelligible. Jitter is not usually a problem with PSTN calls
because the bandwidth of calls is fixed and each call has a dedicated circuit for the duration of the call. However,
in VoIP networks, data traffic might be bursty, and jitter from the packet network can become an issue. Packets
from the same conversation can arrive at different interpacket intervals, especially during times of network
congestion, which can disrupt the steady, even delivery needed for voice calls. Cisco voice gateways have built-in
jitter buffering to compensate for a certain amount of jitter; the playout-delay command can be used to adjust the
jitter buffer.
Normally, the defaults in effect are sufficient for most networks. However, a small playout delay from the jitter
buffer can cause lost packets and choppy audio, and a large playout delay can cause unacceptably high overall
05/08/11 324
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
end-to-end delay.
Note: For Cisco IOS Release 12.1(5)T and later, in most cases playout delay should be configured in dial-peer
configuration mode on the VoIP dial peer that is on the receiving end of the voice traffic that is to be
buffered. This dial peer senses network conditions and relays them to the DSPs, which adjust the jitter
buffer as necessary. When multiple applications are configured on the gateway, playout delay should be
configured in dial-peer configuration mode. When there are numerous dial peers to configure, it might
be simpler to configure playout delay on a voice port. If there are conflicting playout delay
configurations on a voice port and also on a dial peer, the dial-peer configuration takes precedence.
Jitter is more likely to occur on low-speed links because even a single packet in the queue on a low-speed link can
dramatically affect the amount of time a voice packet needs to wait in the queue before being transmitted. Jitter
can be an even bigger problem if you do not have priority queuing, such as low latency queuing (LLQ), enabled
or configured correctly on your WAN connections. For more information about LLQ, see the Cisco IOS Quality
of Service Solutions Configuration Guide. For information about troubleshooting VoIP over Point-to-Point
Protocol (PPP) links with QoS for low latency queueing, refer to VoIP over PPP Links with Quality of Service
(LLQ / IP RTP Priority, LFI, cRTP), document ID 7111.
Low-speed links also require special considerations when data traffic is also present to ensure that a large data
packet does not cause excessive jitter. Generally on WAN links that are 768 kbps or slower, you should use some
form of fragmentation and interleaving to ensure that large data packets do not starve smaller voice packets. Even
with LLQ enabled, the voice packet must wait if it arrives when a data packet is in the process of being
transmitted.
To configure the playout delay jitter buffer, perform the following steps.
SUMMARY STEPS
1. enable
2. configure terminal
3. 'voice-port slot/port:ds0-group-number
4. playout-delay mode {adaptive | fixed}
5. playout-delay {nominal value | maximum value | minimum {default | low | high}}
6. exit
Command Purpose
Enables higher privilege
enable levels, such as privileged
EXEC mode.
1. Example:
05/08/11 325
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• adaptive-Adjusts the
jitter buffer size and
amount of playout
delay during a call
based on current
network conditions.
This is the default.
• fixed-Defines the
jitter buffer size as
fixed so that the
playout delay is not
adjusted during a
call. A constant
playout delay is
added.
5. playout-delay {nominal value | maximum value | minimum {default | low Tunes the playout buffer to
| high}} accommodate packet jitter
caused by switches in the
05/08/11 326
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 327
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
For more information about jitter, refer to Understanding Jitter in Packet Voice Networks (Cisco IOS Platforms),
document ID 18902.
Echo Adjustment
Echo is a common problem, but can sometimes be difficult to troubleshoot. Echo exists in almost any telephone
network but problems are more apparent in packet networks. Echo is perceived as a problem when all of the
following conditions are true:
• Signal leakage between analog transmit (Tx) and receive (Rx) paths. This leakage is in one of these forms
of echo:
♦ Acoustic echo-Acoustic echo is caused by poor acoustic isolation between the earpiece and the
microphone in handsets and hands-free devices.
♦ Hybrid echo-Hybrid echo is caused by an impedance mismatch in the hybrid circuit, such as a
two-wire to four-wire interface. This mismatch causes the Tx signal to appear on the Rx signal.
• Perceptible delay between when the originating signal is transmitted and when the echo returns. In most
telephones, sidetone helps mask some of the echo. Echos must be delayed by at least 20 milliseconds to
be perceived.
• Sufficient echo amplitude. If the amplitude of the echo is low, it can go unnoticed.
The packet segment of the voice connection introduces a significant delay, typically 30 ms in each direction. The
introduction of delay causes echoes generated on analog tail circuits that were normally indistinguishable from the
side tone to be perceived by the user. The delay introduced by packet voice is unavoidable, therefore, the voice
gateways must prevent the echo.
For a description about echo cancellation features and how echo cancellation is implemented on different Cisco
platforms and Cisco IOS software releases, refer to the Cisco IOS Voice Port Configuration Guide.
To configure echo cancellation, refer to the "How to Configure the Extended G.168 Echo Canceller" section in
the Cisco IOS Voice Port Configuration Guide.
In this case, a PSTN phone user hears echo, which is caused by acoustic coupling between the earpiece and the
microphone in the IP phone handset. The solution is to use a load ID on the IP phone, which includes echo
suppression on the handset and headset. Available load IDs only include echo cancellation on the speaker phone.
05/08/11 328
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
In this case, an IP phone user hears echo caused by hybrids in a PSTN network. The solution is to configure and
verify echo cancellation operation on a Cisco IOS gateway. The echo canceller in the voice gateway cancels the
echo heard by the IP phone user.
• Input level-Signal input gain is performed before the echo canceller has detected the echo.
• Output level-Signal output attenuation is performed after the echo canceller has seen the original output
signal.
• Echo canceller coverage-The amount of time the echo canceller retains a signal that has been output. This
parameter must be set to a value greater than the time the echo needs to return to the gateway.
SUMMARY STEPS
1. Verify that echo cancellation is enabled on the voice port. Echo cancellation is enabled by default on most
platforms in most Cisco IOS releases.
Gateway(config-voiceport)# echo-cancel
coverage Echo Cancel Coverage
enable Echo Cancel Enable
Note: You must enter the shut, then the no shut commands on the voice port for the changes to take effect.
2. Configure the echo canceller coverage to a value greater than the time the echo needs to return to the gateway.
It must be long enough to cover the worst case for your environment, but not longer.
Note: You must enter the shut and no shut commands on the voice port for the changes to take effect.
The default coverage is set to 8 ms, but it can be increased up to 64 ms, depending on the Cisco IOS software
release. If the PSTN delay (tail length) is more than 32 ms, echo cancellers in Cisco IOS gateways cannot cancel
the echo.
3. Measure the echo and adjust the echo signal level as required.
05/08/11 329
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Insufficient echo return loss (ERL) to handle the echo might cause the following problems:
• Echo canceller is cancelling but not enough to make echo inaudible. If the ERL value is too low, the total
ERL seen by the IP network Acombined (ACOM) might be insufficient to suppress the echo. ERL should
be approximately 20 dB (at least 15 dB).
ACOM is the total ERL seen across the incoming and outgoing terminals of the echo canceller. The
incoming terminal is equal to the signal sent into the ECAN toward the PSTN (voice), and the outgoing
terminal is equal to the signal coming out of the ECAN toward the IP network (echo). ACOM is the sum
of the ERL, plus ERLE, or the total ERL seen by the network. ACOM (Total loss) is equal to the ERL
(tail loss) plus ERLE (ECAN loss).
• Echo canceller is not canceling. If the ERL value is too low, the echo signal returning to the gateway
might be too loud (within 6 dB of the talker signal), causing the echo canceller to consider it as voice
(double-talk) instead of echo. As a consequence, the echo canceller does not cancel it. ERL should be
approximately 6 dB or higher for the echo canceller to engage. In 12.2(13)T, you can configure this ERL
level.
To prevent these problems, you need to measure the ERL and signal levels, and adjust the signal levels on the
Cisco IOS gateway based on the results. See theMeasuring QoS for more information about measuring QoS. See
the Measuring Echo in Cisco IOS Gateways for more information about measuring ERL. You can adjust these
levels by configuring positive values for output attenuation and negative values for input gain. Input gain is
performed before the echo canceller has seen the echo signal, and output attenuation is performed after the echo
canceller has seen the original output signal.
voice-port 1/1:15
input gain -3
output attenuation 3
Note: You must enter the shut and no shut command on the voice port for the changes to take effect.
Note: In Cisco IOS Release 12.2(1) and later, output attenuation can be set to a negative value, which
amplifies the output signal.
4. An impedance mismatch can cause echo if both sides are not configured identically. Verify the impedance
configured in the voice port and modify it if needed. A default of 600 ohms is consistent with most lines on the
PSTN and PBXs.
Gateway(config-voiceport)# impedance
600c 600 Ohms complex
600r 600 Ohms real
900c 900 Ohms complex
complex1 complex 1
complex2 complex 2
05/08/11 330
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
SUMMARY STEPS
1. To enable the tone generator, type **3 on the Cisco IP Phone 7960 or 7940 keypad while the phone is not on a
call. This enables the Tone softkey for as long as this phone is registered to Cisco CallManager.
Note: From Load #P0030301ESP5, you need to unlock the phone first, then press **3. If you press **# **3
consecutively you reset the phone (because of the **#** sequence). Therefore, you need to press **#,
make a call, then press **3.
2. Place a call to the source of echo.
3. After the call is established, press the i button twice. This brings up the statistics for the call.
Note: If pressing **3 worked, you should have a Tone softkey available. Press the Tone softkey and the phone
begins to generate a 1004 Hz tone at -15 dB. The only way to stop the tone is to end the call.
4. Make sure you start with a cleared configuration by setting the input and output levels to 0 dB gain/attenuation.
After the tone is being generated, keep the call up, then perform the remaining steps to measure the decibel levels.
5. Use the show call active voice command to view the input and output levels for your call. The following is a
call to a loopback number that simply echoes back whatever is sent with no attenuation.
! snip
OutSignalLevel=-15
InSignalLevel=-15
ERLLevel=25
! snip
The test tone in this example is output as -15 and is looped back with 0 dB loss. Therefore, the tone is coming
back at -15 dB. The ERL value in the example has no significance because the echo canceller does not consider
the input signal to be echo.
Note: The OutSignalLevel shows the value of the level after the output attenuation has been applied to the
signal. The InSignalLevel shows the value of the level after the input gain has been applied.
6. If you configure 1 dB of attenuation in each direction, the resulting levels decrease, as shown in the following
configuration examples:
voice-port 1/1:15
input gain -1
output attenuation 1
Gateway#show call active voice
! snip
OutSignalLevel=-16
05/08/11 331
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
InSignalLevel=-17
ERLLevel=11
! snip
Note: Notice that the OutSignalLevel is -16 because the -15 dB signal is attenuated by 1 dB. The
InSignalLevel is -17 dB, the result of the -1 input gain. The ERL is 11 dB in the example, but it is
actually 2 dB; the echo canceller still does not acknowledge the input signal as echo.
7. If you configure 3 dB of attenuation in each direction the resulting levels are shown in the following examples:
voice-port 1/1:15
input gain -3
output attenuation 3
Gateway#show call active voice
! snip
OutSignalLevel=-18
InSignalLevel=-21
ERLLevel=6
! snip
Note: Notice that the OutSignalLevel is -18 because the -15 dB signal is attenuated by 3 dB. The
InSignalLevel is -21 dB as a result of the input gain of -3. The expected ERL of 6 dB is now correct.
8. If you keep the same 3 dB in each direction, but change the coverage to 32 ms, the resulting levels are shown in
the following examples.
voice-port 1/1:15
input gain -3
output attenuation 3
echo-cancel coverage 32
Gateway#show call active voice
! snip
OutSignalLevel=-18
InSignalLevel=-21
ERLLevel=6
! snip
The levels look the same as the previous result, however the echo canceller takes a few more seconds longer to
converge. Do not set the echo cancel coverage higher than necessary.
For more information about troubleshooting echo problems, refer to the following documents:
• Troubleshooting Echo Problems between IP Phones and Cisco IOS Gateways, document ID 19640
• Echo Analysis for Voice over IP white paper, at the following website:
http://www.cisco.com/en/US/tech/tk652/tk701/technologies_white_paper09186a00800d6b68.shtml
05/08/11 332
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• Voice Activity Detection Level
Incorrect input or output levels can cause echo, as can an impedance mismatch. Too much input gain can cause
clipped or fuzzy voice quality. If the output level is too high at the remote router's voice port, the local caller hears
an echo. If the local router's voice port input decibel level is too high, the remote side hears clipping. If the local
router's voice port input decibel level is too low or the remote router's output level is too low, the remote side
voice can be distorted at a very low volume, and DTMF signaling might be missed.
Use the input gain and output attenuation commands to adjust voice levels, and the impedance command to set
the impedance value to match that of the voice circuit to which the voice port connects.
SUMMARY STEPS
1. enable
2. configure terminal
3. voice-port port:ds0-group-number
4. input gain value
5. output attenuation value
6. impedance {600c | 600r | 900c | complex1 | complex2}
7. exit
Command Purpose
enable Enables higher privilege levels,
such as privileged EXEC mode.
1. Example:
• Enter your password if
Router> enable prompted.
configure {terminal | memory | network}
Enters global configuration
2. Example: mode.
Router# configure terminal
3. voice-port slot/port:style="font-style: normal; font-weight: Enters voice-port configuration
normal">ds0-group-number mode on the selected slot, port,
and DS-0 group.
Example:
• Each defined DS-0
Router(config)# voice-port 1/0:0 group number is
represented on a
05/08/11 333
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• A system-wide loss
plan can be
implemented through
the use of the input
output attenuation value gain and output
attenuation commands.
5. Example: • The default value for
this command is based
Router(config-voiceport)# output attenuation -6 on the assumption that
a standard transmission
loss plan is in effect,
meaning that normally
there must be -6 dB
attenuation between
phones.
• The value argument is
any integer from -6 to
14. The default is 0.
6. impedance {600c | 600r | 900c | complex1 | complex2} Specifies the terminating
impedance of a voice port
Example: interface, which needs to match
the specifications from the
Router(config-voiceport)# impedance 600r specific telephony system to
which it is connected.
05/08/11 334
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• 600c-Specifies 600
ohms complex
• 600r-Specifies 600
ohms real (default)
• 900c-Specifies 900
ohms complex
• complex1-Specifies
Complex 1
• complex2-Specifies
Complex 2
exit
Exits voice-port configuration
7. Example: mode.
Router(config-voiceport)# exit
With VAD, voice data packets fall into three categories: speech, silence, and unknown. Speech and unknown
packets are sent over the network; silence packets are discarded. The sound quality is slightly degraded with
VAD, but the connection monopolizes much less bandwidth. If you use the no form of this command, VAD is
disabled and voice data is continuously sent to the IP backbone.
When the aggressive keyword is used, the VAD noise threshold is reduced from -78 to -62 dBm. Noise that falls
below the -62 dBm threshold is considered to be silence and is not sent over the network. Additionally, unknown
packets are considered to be silence and are discarded.
You can also change the amount of time that VAD waits for silence. Use the voice vad-time command in global
configuration mode to change the minimum silence detection time. For example, setting the VAD time to 3000
allows 30 seconds of silence before VAD is initiated.
On gateways that use MGCP, the call agent controls the amount of VAD. For H.323 gateways, VAD must be
disabled on the gateway itself. VAD is enabled by default on H.323 gateways. To disable VAD, you must match a
VoIP dial peer that has the no vad command configured.
Some codecs, such as G.729b and G.729ab, have VAD built into them and cannot be diabled. If you do not want
to use VAD, use the standard G.729 or G.729a codecs instead.
05/08/11 335
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Hissing or Static While You Are Using Voice Activity Detector
The VAD detects silence periods in the voice signal and temporarily discontinues transmission of the signal
during these periods. This saves bandwidth and allows the far-end to adjust its jitter buffer. The downside is that
the far-end phone has to generate its own signal to play to the listener during silence periods. Usually comfort
noise is played out to the listener to mask the absence of an audio signal from the far-end. Comfort noise is
usually modeled on the far-end noise so that there is not a stark contrast between the two. Sometimes there can be
unwanted noise generated by VAD. To troubleshoot hissing or static issues that might be because of the VAD,
refer to Troubleshooting Hissing and Static, document ID 22388.
05/08/11 336
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
The Voice Call Tuning feature monitors the interface between Cisco IOS software and a system's DSPs in real
time and reports status on the following: packet flow, DSP state, echo-cancellation state, and jitter state. The
feature also allows you to manipulate echo-cancellation and jitter-buffer parameters in real time.
The feature is part of the standard product and is supported under normal Cisco Technical Assistance Center
(TAC) procedures. No new code is required and there are no configuration tasks for this feature. It is backward
compatible with older versions of Cisco IOS software, Cisco VCWare, and Cisco voice DSP code base
(DSPWare).
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 Restrictions for Voice Call Tuning
• 2 Information About Voice Call Tuning
♦ 2.1 Packet-Flow Detection
♦ 2.2 DSP State
♦ 2.3 Echo-Cancellation State
♦ 2.4 Jitter-Buffer Parameters
• 3 How to Verify Voice Call Tuning
Functionality
• 4 Voice Call Tuning Configuration
Examples
• Packet-Flow Detection
• DSP State
• Echo-Cancellation State
• Jitter-Buffer Parameters
05/08/11 337
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Packet-Flow Detection
The Voice Call Tuning feature allows you to determine whether packets are flowing in each direction while a call
is in progress.
The analog signal from the telephone is digitized into pulse code modulation (PCM) signals by the voice
coder-decoder (codec). The PCM samples are then passed to the compression algorithm which compresses the
voice into a packet format for transmission across the WAN. On the far side of the cloud similar functions are
performed but in reverse order.
Depending on how the network is configured, the router or gateway can perform both the codec and compression
functions or only one of them. For example, if an analog voice system is used, then the router or gateway
performs the codec function and the compression function.
DSP State
The Voice Call Tuning feature allows you to check whether the DSP servicing an active call is functioning
properly. Explicit configuration of a periodic ping message with both the period and timeout parameters
configurable catches DSPs that are in a hung state as soon as possible. A failure can then signal this event to the
console log or as a triggering event to a logging functionality. The DSP can also send periodic informational
messages like jitter measures, echo canceller measures, and alarms to alert you if there is an impending problem.
Echo-Cancellation State
Echo is the sound of your own voice reverberating in the telephone receiver while you are talking. When timed
properly, echo is not a problem in the conversation; however, if the echo interval exceeds approximately 25 ms, it
can be distracting to the speaker. Echo is controlled by ECs. By design, ECs are limited by the total amount of
time they wait for the reflected speech to be received, which is known as an echo tail. The echo tail is normally 32
ms.
In the traditional telephony network, echo is generally caused by an impedance mismatch when the four-wire
network is converted to the two-wire local loop. Echo cancellation is required because of packet network latency.
Echo cancellation is implemented in DSP firmware on the gateways and is independent of other functions
implemented in the DSP (the DSP protocol and compression algorithm). In voice packet-based networks, ECs are
built into the low-bit-rate codecs and are operated on each DSP.
This feature gives you the ability to change echo canceller parameters while a call is in progress. Audible effects
are immediately noticed, aiding in problem determination and resolution. You can change the echo canceller
parameters (tail length and echo return loss (ERL) threshold) in the field.
Jitter-Buffer Parameters
Jitter is a variation in the delay of received packets. At the sending side, packets are sent in a continuous stream
with the packets being spaced evenly apart. Due to network congestion, improper queuing, or configuration
errors, this steady stream can become erratic, or the delay between and two packets can vary instead of remaining
constant.
05/08/11 338
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
This feature gives you the ability to change jitter-buffer parameters while a call is in progress. Audible effects are
immediately noticed, aiding in problem determination and resolution. You can change the jitter buffer parameters
(delay, size, fixed state, or adaptive state) in the field.
• Use the show vfc version command to show the version of the software that resides on your voice feature
card (VFC). This command shows information in the output of the show version vcware and show
vfcversion dspware commands that indicates whether the Cisco VCWare or DSPWare is compatible
with the Cisco IOS image.
• Use the show voice call command to show the real-time call status for voice ports, including packet flow
indication, DSP state, echo canceller state, and jitter state. If you enable terminal monitor before doing
this, you can also see the DSP and playout buffer statistics, overflow specifications, late packets, lost
packets, and "concealment 9," in which the DSP invents a packet using interpolation.
• Use the show voice dsp command to show the status of all DSP voice channels when abnormal behavior
in the DSP voice channels occurs.
• Use the test call id command to manipulate echo canceller and jitter-buffer parameters in real time. You
can use this command with the extended G.168 echo canceller, which allows you to configure the voice
card in a router individually, or with the Cisco G.165 echo canceller, which allows you to configure the
router as a whole. Messages are visible in the command output when either an extended-only or a
standard-only echo cancellation is requested, as in the following example:
• Use the show vfc version command to show the version of the software that resides on your VFC. This
command was modified to include new information in the output of the show vfc version vcware and
show version dspware commands. Messages are output if the Cisco VCWare or DSPWare is not
compatible with the Cisco IOS image. The new information is advisory only, so there is no action taken if
the software is compatible or incompatible.
Cisco IOS Release 12.2(13)T adds new information to the output of the show vfc version vcware and
show vfc version dspware commands. Messages are output if the Cisco VCWare or DSPWare is not
compatible with the Cisco IOS image. The new information is advisory only, so there is no action taken if
the software is compatible or incompatible.
If the versions detected fall within the defined criteria and are compatible, nothing is output at bootup
time. A confirmation line is output when the show vfc version vcware and show vfc version dspware
commands are used, as in the following example:
05/08/11 339
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Voice Feature Card in Slot 1:
VCWare Version : 7.35
ROM Monitor Version: 1.3
DSPWare Version : 3.4.46L
Technology : C549
VCWare/DSPWare version compatibility OK
• Use the show voice call command to show the real-time call status for voice ports, including packet flow
indication, DSP state, echo canceller state, and jitter state. This command was modified with the status,
call-id, and sample sample-period command options. This command is available on all voice platforms.
You can use the call-id argument to identify active calls. If the call-id argument is omitted, the enquiry
shows all active voice calls. In the following example, a list of all active calls with relevant identifying
information is shown, as in the following example:
• Use the test call id command to manipulate the echo canceller and jitter buffer parameters in real time.
You can use this command with the extended echo canceller, which allows you to configure the voice
card in a router individually, or with the standard echo canceller, in which the configuration occurs
implicitly on the router.
The following example shows query output from a Cisco AS5350 universal gateway using the NextPort
version of the standard echo canceller:
05/08/11 340
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 H.323-Related Standards
♦ 1.1 Figure: H.323 Call
Flow
♦ 1.2 H.225 Signaling
◊ 1.2.1 Table:
H.225 Call
Setup Messages
♦ 1.3 H.245 Signaling
H.323-Related Standards
Because several standards are involved with setting up a call through an H.323 device, it is important to
understand the role each protocol plays to be able to effectively troubleshoot such a call. The following sections
describe these standards:
• H.225 Signaling
• H.245 Signaling
Figure: H.323 Call Flow shows the basic call flow for an H.323 call.
05/08/11 341
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
H.225 Signaling
H.225 is used for call control functions. H.225 is very similar to Q.931. H.225 signaling is carried over a TCP
connection. H.323 devices listen to port 1720 for incoming connections and show messages that might be used in
an H.225 call setup, such as those shown in Table: H.225 Call Setup Messages. Each message can contain one or
more information element (IE). Each IE carries a specific piece of information within an H.225 message. For a
complete list of IEs and the coding for each, refer to the ITU-T Q.931 specification.
Message Description
This message is sent by a calling H.323 device to indicate its desire to set up a connection to the
Setup
called device.
Setup This message typically indicates that the called device wants to do overlap sending and can
Acknowledge accept more digits before proceeding with the call.
Call This message is sent by the called device to indicate that it has received all the information it
Proceeding needs to route the call to its destination.
This message can be sent by an H.323 gateway to indicate a call's progress. You typically see
Progress progress messages when internetworking with a non-ISDN network because audio cut-through
must be treated differently in this case.
This message might be sent by the called phone to indicate that the called phone is being alerted
Alerting
of the incoming call. That is, the phone is ringing.
This message is sent by the called device to the calling device to indicate that the call has been
Connect
accepted or answered.
05/08/11 342
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
This message can be sent to provide additional information. It can be used to provide
information for call establishment in the case of overlap sending or miscellaneous call-related
User
information. It can also be used to deliver proprietary features. Cisco IOS gateways use this
Information
message to get around the fact that H.323 gateways do not normally provide ringback when a
call is transferred and also to generate tone on hold.
Release
This message is sent by a device to indicate the call's release.
Complete
This message can be used to request call status. Normally the device receiving this message
Status Inquiry
responds with a status message indicating the current call state for the specific call reference.
This message is used to respond to an unknown call signaling message or to a Status Inquiry
Status
message.
This message is used to send additional information for a call. For example, when using overlap
Information
sending, each digit is sent one at a time in an Information message.
Notify This message is used to notify a device of a change that has occurred in the call.
H.245 Signaling
H.225 is responsible only for setting up the call and routing it to the proper destination. H.225 does not have any
mechanism for exchanging capabilities or setting up and tearing down media streams. The called H.323 device is
responsible for sending the IP address and port number that are used to establish the TCP connections for H.245
signaling. This information can be sent by the called device in either the Alerting or Connect message.
When the originating H.323 device receives the IP address and port number for H.245 negotiations, it initiates a
second TCP connection to carry out the necessary capabilities exchange and logical channel negotiations. This
TCP session is primarily used to do four things:
• Master/slave determination-This is used to resolve conflicts that might exist when two endpoints in a call
request the same thing, but only one of the two can gain access to the resource at a time.
• Terminal capabilities exchange-This is one of the most important functions of the H.245 protocol. The
two most important capabilities are the supported audio codecs and the basic audio calls.
• Logical channel signaling-This indicates a one-way audio stream.With H.323 version 2, it is possible to
open and close logical channels in the middle of a call. Because H.245 messages are independent of the
H.225 signaling, a call can still be connected in H.225 even if no logical channels are open. This is typical
with such features as hold, transfer, and conference.
• DTMF relay-Because voice networks typically do not carry DTMF tones inband because of compression
issues, these tones are carried on the signaling channel. Ensure that the type of DTMF relay configured on
your gateway is compatible with your gatekeeper.
05/08/11 343
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
An H.323 gateway is an endpoint on the LAN that provides real-time communications between H.323 terminals
on the LAN and other ITU terminals on a WAN or to other H.323 gateways.
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 H.323 Gateway Overview
♦ 1.1 Figure: Gateway Between an H.323 Terminal and an H.320 Terminal
• 2 Troubleshooting H.323 Gateway Call Routing and Dial Peers
♦ 2.1 Verifying Digits Received and Sent on the POTS Call Leg
◊ 2.1.1 show dialplan number
◊ 2.1.2 debug vtsp dsp
◊ 2.1.3 debug vtsp session
♦ 2.2 Verifying End-to-End VoIP Signaling on the VoIP Call Leg
◊ 2.2.1 debug voip ccapi inout
• 3 Troubleshooting H.323 Gateway Dial Tone
• 4 Troubleshooting H.323 Gateway Busy Tone
♦ 4.1 No DTMF Digits or Audio Passed on VoIP Calls to PSTN or PBX
◊ 4.1.1 Symptom
◊ 4.1.2 Problem Description
◊ 4.1.3 Solution
♦ 4.2 No Busy Tone or Announcement Message Received When Placing VoIP Outbound Calls
◊ 4.2.1 Symptom
◊ 4.2.2 Solution
♦ 4.3 No Busy Tone on Inbound Call from Telephony (ISDN) to Cisco CallManager IP Phone,
Cisco IOS Gateway, or Third-Party H.323 Device
◊ 4.3.1 Symptom
◊ 4.3.2 Solution
• 5 Troubleshooting H.323 Gateway Ringback
♦ 5.1 No Ringback Tone on VoIP Toll-Bypass Calls
◊ 5.1.1 Symptom
◊ 5.1.2 Problem Description
◊ 5.1.3 Solutions
♦ 5.2 No Ringback Tone on VoIP Inbound Calls to Cisco CallManager (or Third-Party VoIP
Devices) Through Cisco IOS Gateway
◊ 5.2.1 Symptom
◊ 5.2.2 Problem Description
◊ 5.2.3 Solutions
♦ 5.3 No Ringback Tone on VoIP Outbound Calls from Cisco CallManager (or Third-Party
Device) Through Cisco IOS Gateway
05/08/11 344
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
◊ 5.3.1 Symptom
◊ 5.3.2 Problem Description
◊ 5.3.3 Solutions
♦ 5.4 No Ringback to PSTN When IP Phones Initiate a Call Transfer (Cisco CallManager or Cisco
Unity Voice Mail)
◊ 5.4.1 Symptom
◊ 5.4.2 Problem Description
◊ 5.4.3 Solution for Cisco CallManager 3.0
◊ 5.4.4 Solution for Cisco CallManager 3.3 or Newer
• 6 Troubleshooting H.323 Gateway One-Way or No Audio
♦ 6.1 Ensuring IP Routing Is Enabled on Cisco IOS Gateways
♦ 6.2 Checking Basic IP Routing
♦ 6.3 Binding the H.323 Signaling to a Specific IP Address
♦ 6.4 Checking That Answer Supervision Is Being Sent and Received Correctly From the Telco or
Switch
♦ 6.5 Using the voice rtp send-recv Command to Establish Early Two-Way Audio
♦ 6.6 Checking cRTP Settings on a Link-by-Link Basis
♦ 6.7 Verifying Minimum Software Level for NAT on Cisco IOS Gateways
♦ 6.8 Disabling voice-fastpath on Cisco AS5350 and Cisco AS5400 Universal Gateways
♦ 6.9 Configurinng the VPN IP Address with SoftPhone
♦ 6.10 Verifying One-Way Audio
• 7 Using the Test Call Feature to Verify Voice Path
♦ 7.1 Information About the Test Call Feature
◊ 7.1.1 Route Server
◊ 7.1.2 TCL Script
♦ 7.2 Limitations
◊ 7.2.1 Test Mode Limitations
◊ 7.2.2 Feature Limitations
♦ 7.3 Test Call Command-Line Interface
♦ 7.4 Sample Tasks
◊ 7.4.1 Originating Analog Gateway Configuration
◊ 7.4.2 ======= Terminating side ===============
05/08/11 345
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• show dialplan number-This command is used to show which dial peer is reached when a particular
telephone number is dialed.
• debug vtsp session-This command displays information on how each network indication and application
request is processed, signaling indications, and DSP control messages.
• debug vtsp dsp -This command displays the digits as they are received by the voice-port.
• debug vtsp all-This command enables the following debug voice telephony service provider (VTSP)
commands: debug vtsp session, debug vtsp error, and debug vtsp dsp.
The show dialplan number digit_string command displays the dial peer that is matched by a string of digits. If
multiple dial peers can be matched, they are all shown in the order in which they are matched. The output of this
command looks like this:
05/08/11 346
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
connections/maximum = 0/unlimited,
application associated:
type = voip, session-target =
`ipv4:192.168.10.2',
technology prefix:
ip precedence = 5, UDP checksum =
disabled, session-protocol = cisco,
req-qos = best-effort,
acc-qos = best-effort,
dtmf-relay = cisco-rtp,
fax-rate = voice,
payload size = 20 bytes
codec = g729r8,
payload size = 20 bytes,
Expect factor = 10, Icpif = 30,
signaling-type = cas,
VAD = enabled, Poor QOV Trap = disabled,
Connect Time = 25630, Charged Units = 0,
Successful Calls = 25, Failed Calls = 0,
Accepted Calls = 25, Refused Calls = 0,
Last Disconnect Cause is "10 ",
Last Disconnect Text is "normal call
clearing.",
Last Setup Time = 84427934.
Matched: 5000 Digits: 4
Target: ipv4:192.168.10.2
debug vtsp dsp shows the digits as they are received by the voice port. The following output example shows the
collection of DTMF digits from the DSP:
05/08/11 347
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
debug vtsp session shows the activity on the voice port. The following output example shows the handset being
picked up and dial tone generated:
If you find that the digits are not being sent or received properly, you might need to use either a digit-grabber (test
tool) or T1 tester to verify the digits are being sent at the correct frequency and timing interval. If they are being
sent incorrectly for the switch (CO or PBX), some values on the router or switch (CO or PBX) might need to be
adjusted so that they match and can interoperate. These are usually digit duration and interdigit duration values. If
the digits appear to be sent correctly you might want to examine any number translation tables in the switch (CO
or PBX) that might add or remove digits.
• Cisco VoIP gateways use H.323 signaling to complete calls. H.323 is made up of three layers of
call-negotiation and call-establishment: H.225, H.245, and H.323. These protocols use a combination of
05/08/11 348
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
TCP and UDP to set up and establish a call.
• End-to-end VoIP debugging shows a number of Cisco IOS state machines, and problems with any state
machine can cause a call to fail.
• End-to-end VoIP debugging can be very verbose and can create a lot of debug output.
The primary command to debug end-to-end VoIP calls is debug voip ccapi inout. The output from a sample call
debug is shown below.
In the following lines, the call control API (CCAPI) receives the call setup. The called number is 34999, and the
calling number is 55555. The calling number matches dial peer 10002.
05/08/11 349
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
*Mar 1 15:35:53.596: //-1/xxxxxxxxxxxx/CCAPI/ccCheckClipClir:
*Mar 1 15:35:53.596: ccCheckClipClir: calling number is: "55555", calling oct3a
is: 0x0
*Mar 1 15:35:53.596: //-1/xxxxxxxxxxxx/CCAPI/ccCheckClipClir:
*Mar 1 15:35:53.596: Calling Party number is User Provided
*Mar 1 15:35:53.596: //-1/xxxxxxxxxxxx/CCAPI/ccCheckClipClir:
*Mar 1 15:35:53.596: Leaving ccCheckClipClir
calling number is: "55555"
calling oct3 is: 0x80
calling oct3a is: 0x0
In the next line, 45F2AAE28044 is the GUID. The tag 10002 entry shows that the incoming dial-peer matched
the CallEntry ID.
The next line shows CallEntry ID in hexadecimal form, 0x2C (44 in decimal). The CallID and GUID numbers
have been identified. The incoming dial-peer is 10002.
05/08/11 350
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
st(SSA_CS_MAPPING),oldst(0), ev(24)ev->e.evCallSetupInd.nCallInfo.finalDestFlag
= 1
*Mar 1 15:35:53.608: //44/45F2AAE28044/SSAPP:10002:-1/ssaCallSetupInd: src rout
e label=, tgt route label= tg_label_flag 0x0
*Mar 1 15:35:53.608: //44/45F2AAE28044/SSAPP:10002:-1/ssaCallSetupInd: finalDes
t cllng(55555), clled(34999) tgt_route_label()tg_label_flag 0x0
*Mar 1 15:35:53.612: //44/45F2AAE28044/SSAPP:10002:-1/ssaCallSetupInd: cid(44),
st(SSA_CS_CALL_SETTING),oldst(0), ev(24)dpMatchPeersMoreArg result= 0
For CallEntry ID 44, two dial-peer tags (10001 and 20002) were matched with called number 34999.
The next line shows that 5 digits were matched for this dial-peer and no prefix was added. The encapType (2)
entry indicates a VoIP call.
The next line shows the voice gateway sending out a call-proceeding message to the incoming call leg with
progress indicator of 0x0.
The next line shows the voice gateway sending out the call-setup request to the outgoing call leg. The dial-peer is
10001 with the incoming CallEntry ID being 0x2C.
05/08/11 351
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
4999, called 34999, digit_strip 0
*Mar 1 15:35:53.616: //44/45F2AAE28044/CCAPI/ccCallSetupRequest:
*Mar 1 15:35:53.616: callingNumber=55555, calledNumber=34999, redirectNumber= d
isplay_info= calling_oct3a=0
*Mar 1 15:35:53.616: accountNumber=, finalDestFlag=1,
guid=45f2.aae2.1571.11cc.8044.95f5.fabb.6b0f
*Mar 1 15:35:53.616: peer_tag=10001
*Mar 1 15:35:53.616: //-1/xxxxxxxxxxxx/CCAPI/cc_api_display_ie_subfields:
*Mar 1 15:35:53.616: ccCallSetupRequest:
*Mar 1 15:35:53.616: cisco-username=
*Mar 1 15:35:53.616: ----- ccCallInfo IE subfields -----
*Mar 1 15:35:53.616: cisco-ani=55555
*Mar 1 15:35:53.616: cisco-anitype=0
*Mar 1 15:35:53.616: cisco-aniplan=0
*Mar 1 15:35:53.616: cisco-anipi=0
*Mar 1 15:35:53.616: cisco-anisi=0
*Mar 1 15:35:53.620: dest=34999
*Mar 1 15:35:53.620: cisco-desttype=0
*Mar 1 15:35:53.620: cisco-destplan=0
*Mar 1 15:35:53.620: cisco-rdn=
*Mar 1 15:35:53.620: cisco-rdntype=-1
*Mar 1 15:35:53.620: cisco-rdnplan=-1
*Mar 1 15:35:53.620: cisco-rdnpi=-1
*Mar 1 15:35:53.620: cisco-rdnsi=-1
*Mar 1 15:35:53.620: cisco-redirectreason=-1
*Mar 1 15:35:53.620: //-1/xxxxxxxxxxxx/CCAPI/ccIFCallSetupRequestPrivate: (vdbP
tr=0x62EC61A4, dest=, callParams={called=34999,called_oct3=0x80, calling=55555,c
alling_oct3=0x80, calling_oct3a= 0x0, calling_xlated=false, subscriber_type_str
=RegularLine, fdest=1, voice_peer_tag=10001},mode=0x0)
*Mar 1 15:35:53.620: //-1/xxxxxxxxxxxx/CCAPI/ccIFCallSetupRequestPrivate:
*Mar 1 15:35:53.620: ccIFCallSetupRequestPrivate: src route label tgt route la
bel tg_label_flag 0x0
*Mar 1 15:35:53.620: //-1/xxxxxxxxxxxx/CCAPI/ccIFCallSetupRequestPrivate: vdbP
tr type = 1
*Mar 1 15:35:53.620: //-1/xxxxxxxxxxxx/CCAPI/ccIFCallSetupRequestPrivate:
*Mar 1 15:35:53.620: //-1/xxxxxxxxxxxx/CCAPI/ccIFCallSetupRequestPrivate: (vdbP
tr=0x62EC61A4, dest=, callParams={called=34999, called_oct3 0x80, calling=55555
,calling_oct3 0x80, calling_oct3a 0x0, calling_xlated=false, fdest=1, voice_pee
r_tag=10001}, mode=0x0, xltrc=-5)
*Mar 1 15:35:53.620: //-1/xxxxxxxxxxxx/CCAPI/ccIFCallSetupRequestPrivate:
In the next line, outgoing CallEntry ID 45 is bound to the same GUID 45F2AAE28044.
The voice gateway informs the incoming call leg that digits were forwarded.
05/08/11 352
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
REPORT_DIGITS_DONE), cid(44), disp(0)
*Mar 1 15:35:53.624: //44/45F2AAE28044/SS
Router#APP:10002:-1/ssaTraceSct: cid(44)st(SSA_CS_CALL_SETTING)ev(SSA_EV_CALL_RE
PORT_DIGITS_DONE)
oldst(SSA_CS_MAPPING)cfid(-1)csize(0)in(1)fDest(1)
*Mar 1 15:35:53.624: //44/45F2AAE28044/SSAPP:10002:-1/ssaTraceSct: -cid2(45)st2
(SSA_CS_CALL_SETTING)oldst2(SSA_CS_MAPPING)
*Mar 1 15:35:53.624: //44/45F2AAE28044/SSAPP:10002:-1/ssaDebugPeers: ssaReportD
igitsDone cid(44) peer list: tag(20002) called number (34999)
*Mar 1 15:35:53.624: //44/45F2AAE28044/SSAPP:10002:-1/ssaReportDigitsDone: call
id=44 Reporting disabled.
*Mar 1 15:35:53.628: //-1/xxxxxxxxxxxx/CCAPI/cc_api_supported_data: data_mode=0
x10082
*Mar 1 15:35:53.628: //45/xxxxxxxxxxxx/CCAPI/cc_api_get_ic_leg_obtained_numbers
: callID=0x2D
The next two lines show the IP address of the terminating gateway and indicate that the terminating gateway is
reached through Ethernet port 0/0.
The next line shows that the voice gateway received a call proceeding message from the terminating gateway. The
line after that shows that the voice gateway received a call alert from the terminating gateway.
05/08/11 353
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Router#
!call answered
Router#
The voice gateway receives a connect message from the terminating gateway.
The next line shows that the call accounting starts. The leg_type=False message means that message is for an
outgoing call. The line that follows shows that AAA accounting is not configured.
The next lines show a conference being set up between the two call legs 0x2C and 0x2D. Bridge complete
messages are sent to both the terminating and originating gateways.
Here, the voice gateway sets up negotiating capability with the originating telephony leg.
05/08/11 354
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
oldst(SSA_CS_CALL_SETTING)cfid(21)csize(2)in(1)fDest(1)
*Mar 1 15:36:05.024: //44/45F2AAE28044/SSAPP:10002:21/ssaTraceSct: -cid2(45)st2
(SSA_CS_CONFERENCING)oldst2(SSA_CS_ALERT_RCVD)
*Mar 1 15:36:05.024: //44/45F2AAE28044/SSAPP:10002:21/ssaConfCreateDone:
*Mar 1 15:36:05.024: //44/xxxxxxxxxxxx/CCAPI/ccCallConnect: (callID=0x2C), prog_ind = 0
*Mar 1 15:36:05.024: //44/45F2AAE28044/CCAPI/ccCallConnect: setting callEntry->
connected to TRUE
*Mar 1 15:36:05.024: //44/45F2AAE28044/SSAPP:10002:21/ssaDebugPeers: ssaFlushPeerTagQueue
cid(44) peer list: tag(20002) called number (34999)
*Mar 1 15:36:05.028: //-1/xxxxxxxxxxxx/CCAPI/cc_process_notify_bridge_done:
(event=0x63067FC0)
The voice gateway sets up negotiating capability with the terminating VoIP leg.
05/08/11 355
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
dstCallId=0x2C, srcCallId=0x2D, digit=2, digit_begin_flags=0x0, rtp_timestamp=0x0
rtp_expiration=0x0, dest_mask=0x2)
*Mar 1 15:36:11.904: //45/xxxxxxxxxxxx/CCAPI/cc_api_call_digit_end: (dstVdbPtr= 0x637EC1E0,
dstCallId=0x2C, srcCallId=0x2D,digit=2,duration=300,xruleCallingTag=0,xruleCalledTag=0,
dest_mask=0x2), digit_tone_mode=0
Router#
Router#
*Mar 1 15:36:14.476: //-1/xxxxxxxxxxxx/CCAPI/cc_handle_periodic_timer: Calling the callback,
ccTimerctx - 0x628B6330
*Mar 1 15:36:14.476: //-1/xxxxxxxxxxxx/CCAPI/ccTimerStart: ccTimerctx - 0x628B6
330
Router#
Router#!call hung up The user at the terminating gateway hangs up the call.
Router#
The voice gateway receives a disconnect message from the terminating gateway. The cause code is 0x10 which is
normal call clearing.
The voice gateway begins tearing down the conference and dropping the bridge.
The voice gateway stops call accounting on the incoming call, indicated by the leg_type=True message. The
cause code is then set for the originating leg.
05/08/11 356
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
The voice gateway stops call accounting for the outgoing call, indicated by the leg_type=False message. The
cause code is verified for the terminating leg.
05/08/11 357
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
*Mar 1 15:36:22.956: //44/45F2AAE28044/SSAPP:10002:-1/ssaDisconnectDone:
If the call is failing and the cause appears to be in the VoIP portion of the call setup, you might need to look at the
H.225 or H.245 TCP part of the call setup, as opposed to just the UDP portion of the H.323 setup. The commands
that can be used to debug the H.225 or H.245 call setup are:
• debug ip tcp transaction and debug ip tcp packet - These examine the TCP portion of the H.225 and
H.245 negotiation. They returns the IP addresses, TCP ports and states of the TCP connections.
• debug cch323 h225 -This examines the H.225 portion of the call negotiation. Think of this as the Layer1
part of the 3 part H.323 call setup.
• debug ch323 h245-This examines the H.245 portion of the call negotiation. Think of this as the Layer2
part of the 3 part H.323 call setup.
For more information about voice troubleshooting, refer to Troubleshooting and Debugging VoIP Call Basics,
document 14081.
In the case of a VoIP call from an originating gateway (OGW) to a terminating gateway (TGW), terminating the
call to a telephony device might not be understood. When you are passing DTMF tones through a compressed
VoIP audio path, some or part of the dual-tones could become slightly distorted because DSP codecs are designed
to interpret human speech, not machine tones. Usually, this does not occur with lesser compression codecs such as
G.732 or G.711. But the higher compression codecs might result in distortion of in-band tones. However, Cisco
IOS allows the DTMF tones to be passed out-of-band between VoIP gateways using three different techniques.
All of these techniques use the H.245 capabilities-exchange (part of H.323v2) to signal to the remote VoIP
gateway that a DTMF-tone has been received and the remote VoIP gateway should regenerate it.
Make sure the dtmf-relay command is configured under the VoIP dial-peer on both sides. Three different types
of DTMF relays can be configured.
Router(config-dial-peer)#dtmf-relay ?
cisco-rtp Cisco Proprietary RTP
h245-alphanumeric DTMF Relay via H245 Alphanumeric IE
h245-signal DTMF Relay via H245 Signal IE
For more information, refer to Inability To Break Dialtone in a Voice over IP Network, document 22376.
05/08/11 358
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• No DTMF Digits or Audio Passed on VoIP Calls to PSTN or PBX-This occurs when the IP phone user
makes a call, is able to hear announcement messages (for example "enter your account number.") but
cannot pass DTMF digits. This symptom applies for both VoIP toll-bypass calls and Cisco IP phone to
PSTN/PBX calls.
• No Busy Tone or Announcement Message Received When Placing VoIP Outbound Calls-This occurs
when Cisco IP phone (CallManager scenario) or POTS phone (VoIP toll-bypass scenario) does not hear a
busy tone or announcement message from the PSTN. This symptom applies for both VoIP toll-bypass
calls and Cisco IP phone to PSTN/PBX calls.
• No Busy Tone on Inbound Call from Telephony (ISDN) to Cisco CallManager IP Phone, Cisco IOS
Gateway, or Third-Party H.323 Device-This occurs when a call from PSTN through gateway to a Cisco
CallManager IP phone, Cisco IOS gateway or third party H.323 device does not hear busy tone when
running either an application or two-stage dialing on the originating gateway.
Symptom
Caller makes a call, hears announcement messages (for example "enter your account number...") but cannot pass
DTMF digits. This symptom applies for both VoIP toll-bypass and Cisco IP phone calls to PSTN/PBX calls.
Problem Description
A Cisco IP phone (using Cisco CallManager) or POTS phone (VoIP) call leaves through a Cisco IOS gateway,
where the called number is usually an interactive voice response (IVR). The IVR system sends back an ISDN
progress message but does not connect until some account information is entered. By default, the audio path is cut
through in the backward direction (toward the Cisco IP phone or originating gateway), but not in the forward
direction, until the terminating gateway receives a connect message. Therefore, there is no voice path for the
transmission of DTMF tones or speech towards the terminating switch.
Solution
Configure the Cisco IOS global configuration command voice rtp send-recv to establish (cut through) the audio
path in both directions prior to receiving an ISDN connect message from the PSTN. For more information on this
command refer to the Cisco IOS Voice Command Reference.
05/08/11 359
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Symptom
A Cisco IP phone (using CallManager) or POTS phone (VoIP) does not hear a busy tone or announcement
message from the PSTN.
Solution
Configure the voice call convert-discpi-to-prog command. This command converts an inbound ISDN disconnect
message with a progress indicator (PI) to an H.225 progress message with the same progress indicator (PI) value.
This command can help when an announcement is played on the terminating PSTN side, but the calling party
does not hear the response. In the VoIP toll-bypass scenario, most of these issues are resolved by upgrading the
gateways to Cisco IOS Release 12.2(1) or later. However, if the originating device or originating ISDN switch
does not keep the call active when an H.225/ISDN disconnect message is received, try using the voice call
convert-discpi-to-prog command.
This might come up when the announcement in-band is a busy tone, as well. Beyond that, the busy signal should
be provided by either the terminating device, the originating device, or the network. Some aspects of this can be
controlled.
Symptom
You cannot hear busy tone on a call from PSTN through a gateway to a Cisco CallManager IP phone, Cisco IOS
gateway, or third-party H.323 device when running either an application or two-stage dialing on the originating
gateway.
Solution
This can occur when the originating gateway is either running a voice application such as debit-card, or is running
two-stage dialing. The latter refers to the calling party dialing the number to the gateway first, receiving the dial
tone and then dialing the called party. In either case, the call has connected in terms of the PSTN network once it
terminates on the originating gateway. If the IP call leg comes back with a release with the cause user-busy, the
busy state cannot be indicated back towards the telephony session that is in connect state.
This problem has been addressed by having the originating gateway generate a busy tone when the release from
the IP call leg is received with a cause code of user busy. The telephony leg is released either by the calling party
or by the gateway after several minutes, with the cause code of normal call clearing.
For more information, refer to Troubleshooting No Busy Tone and No Announcement Messages on ISDN-VoIP
(H.323) Calls, document 14066.
05/08/11 360
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• No Ringback Tone on VoIP Toll-Bypass Calls-This occurs when a POTS (PSTN/PBX) user places a call
(through Cisco gateways) and does not hear ringback tone before the call is answered.
• No Ringback Tone on VoIP Inbound Calls to Cisco CallManager (or Third-Party VoIP Devices) Through
Cisco IOS Gateway-This occurs when a POTS (PSTN/PBX) user places a call to an IP phone (through a
Cisco gateway) and does not hear ringback tone before the call is answered.
• No Ringback Tone on VoIP Outbound Calls from Cisco CallManager (or Third-Party Device) Through
Cisco IOS Gateway-This occurs when a user places a call from an IP phone or third-party device to an
outside number through a Cisco gateway and does not hear ringback tone.
• No Ringback to PSTN When IP Phones Initiate a Call Transfer (Cisco CallManager or Cisco Unity Voice
Mail)-This occurs when an incoming call from a Cisco gateway that is transferred to Cisco CallManager
or to Unity Voice Mail does not hear ringback.
Symptom
A POTS user (from the PSTN or a PBX) places a call through a Cisco gateway and does not hear ringback tone
before the call is answered.
Problem Description
The call terminating switch is sending the ringback tone, and signals a PI=8 to the terminating Cisco gateway.
The PI information is then forwarded to the originating gateway via an H.225 progress message. The originating
gateway is unable to decode the progress message and does not cut through the backward audio path to permit the
transmission of the ringback tones. Some common scenarios for this problem are as follows:
• Terminating gateway running Cisco IOS software Release 12.1(5)T or later with originating gateway
running Cisco IOS software Release 12.1T. The originating gateway does not understand the H.225
progress message and does not cut through the audio path until the connect message is received.
• Terminating Cisco gateway is connected to a CAS or analog interface and sends the PI information in an
H.225 progress message to the originating gateway. The originating gateway is unable to decode the
H.225 progress message.
• Third-party originating gateways and gatekeepers cannot properly parse H.225 progress messages.
• ISDN switch sends back inband ringback but Alert message does not contain a PI.
Solutions
1. Configure the Cisco IOS global configuration command voice call send-alert command in the terminating
05/08/11 361
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
gateway. This command enables the terminating gateway to send an Alert message instead of a Progress message
after it receives a call setup. If this command is unavailable or does not work, go to step 2.
For more information on this command refer to the Cisco IOS Voice Command Reference..
2. Upgrade the Cisco IOS software onthe originating gateway to a current Cisco IOS software release. If this does
not work, go to step 3. 3. Configure the terminating gateway to send a PI = 8 in the alert message. Configure the
command progress_ind alert enable 8 under the voice dial-peer # pots configuration. This command overrides
the PI value received in ISDN alert message and causes the router to cut through the audio path back towards the
calling party prior to connect.
For more information on this command refer to the Cisco IOS Voice Command Reference.
Note: The progress_ind alert and the progress_ind setup commands are hidden in some versions of Cisco
IOS and might not be visible within CLI help. However, if the progress_ind progress command is
available in the help parser, the above commands are also available and can be entered into the dial peer
in their entirety. These commands subsequently appear in the running configuration output.
Symptom
A POTS user (on the PSTN or PBX) places a call to an IP phone through a Cisco gateway and does not hear
ringback tone before the call is answered.
Problem Description
This commonly occurs when the inbound call does not come in to the Cisco gateway/ router with a PI=3. ISDN
switches send a PI=3 in the setup message to inform the gateway that the originating call is non-ISDN and that
in-band messages are expected.
Solutions
• Configure the progress_ind setup enable 3 command when configuring the VoIP dial peer in the Cisco
gateway. This command forces the gateway to treat the inbound ISDN setup message as if it came in with
a PI = 3 generates an in-band ringback tone towards the calling party when the H.225 alert message does
not contain a PI of 1, 2, or 8.
For more information on this command refer to the Cisco IOS Voice Command Reference.
Note: The progress_ind alert and the progress_ind setup commands are hidden in some versions of Cisco
IOS and might not be visible within CLI help. However, if the progress_ind progress command is
available in the help parser, the above commands are also available and can be entered into the dial peer
in their entirety. These commands subsequently appear in the running configuration.
05/08/11 362
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• An alternative to the progress_ind setup command is the tone ringback alert-no-pi command in
dial-peer voice configuration mode. This command causes the gateway to generate ringback towards the
calling party if an alert is received on the IP call leg with no PI present. It differs from the progress_ind
setup command in that the outbound H.225 setup message does not contain a PI of 3 with the tone
ringback command. Some devices might not accept setup messages when a PI is included.
Symptom
A user makes an outbound call from a Cisco IP phone to the PSTN through a Cisco IOS gateway and does not
hear ringback tone.
Problem Description
In this situation, the originating device expects in-band ringback tones, but either of the following might be
happening:
If the PSTN is providing in-band ringback, but the Q.931 alert message is not providing a PI indicating that there
is in-band information, the gateway does not cut through the audio until the call is connected.
Solutions
• Ringback tones must come from the PSTN for trunk circuits in this situation. There are two dial-peer
subcommands which may help. On the Cisco IOS gateway under the outgoing POTS dial peer, configure
the command progress_ind alert enable 8. This command presents the Q.931 alert message to the
software on the gateway as if the alert message had a PI of 8 and cut through the audio path.
Note: The progress_ind alert and the progress_ind setup commands are hidden in some versions of Cisco
IOS and might not be visible within CLI help. However, if the progress_ind progress command is
available in the help parser, the above commands are also be available and can be entered into the dial
peer in their entirety. These commands subsequently appear in the running configuration.
• In Cisco IOS software releases 12.2(2)T and later, configure the command progress_ind setup enable 3
when configuring the POTS dial peer. This command causes the gateway to send a PI with a value of 3 in
the ISDN setup message, indicating to the PSTN or PBX that the originating device is a non-ISDN device
and in-band information should be presented. This command should be used with the command
progress_ind alert enable 8.
• If the PSTN device, such as an ISDN phone directly connected to a BRI port on the gateway, is not able
to generate ringback in-band, the gateway can be configured to generate ringback on the IP call leg.
Configure the tone ringback alert-no-pi command when configuring the POTS dial peer. When the
05/08/11 363
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
ISDN alert is received with no PI present, the gateway generates the ringback and includes PI=0x8 in the
H.225 alert message.
Symptom
When a call to an IP phone is answered and then transferred, the caller does not hear ringback. When the
transferred call is answered, both parties are able to hear each other.
Problem Description
From the perspective of the Cisco IOS gateway, the call is completed once the call is answered by an IP phone
through Cisco CallManager or Unity Voice Mail system. Any further progress tones (in case of a call transfer)
should be generated by the terminating device. However, Cisco CallManager and Unity are not capable of
generating the in-band progress tones.
To solve this problem you can either check the following conditions, or configure the Cisco IOS gateway as an
MGCP gateway, instead of an H.323 gateway.
Note: These fixes are valid for ringback tones, but not for other progress tones, such as busy signal.
For more information, refer to Troubleshooting No Ringback Tone on ISDN-VoIP (H.323) Calls, document
22983.
To solve this problem for Cisco CallManager 3.3 or newer, perform the following steps:
1. From the Cisco CallManager Administration page, go to the Service menu and select Service
Parameters.
2. Select the Cisco CallManager server from the drop down box.
3. Select the system to modify from the drop down box. Make sure to select Cisco CallManager.
05/08/11 364
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
4. From the Cisco CallManager Administration page go to the Service menu and select Service
Parameters.
5. From the drop-down box, select the server you wish to change.
6. In the second drop-down box, select the service:Cisco CallManager.
7. In the Cluster Wide Parameters ( Device - H323)' section, under the Send H25User Info Message
selection, verify that the box for No Ringback is not checked and the box for User Infro for Ring Back
Tone is checked.
• On a phone call from an IP station through a Cisco IOS voice gateway, only one party receives audio
(one-way communication).
• On a toll-bypass call between two Cisco gateways, only one party receives audio (one-way
communication).
The causes for one-way audio or no audio in IP telephony can be varied, however the root of the problem is
usually related to IP routing issues. For one-way audio, pay attention to which direction is experiencing the audio
loss. Check the following topics if you are experiencing this issue:
Router(config)#ip routing
05/08/11 365
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Once a call is established, an RTP stream carrying audio needs to flow in both directions between the endpoints. It
could be that subnet A can be reached from subnet B, but subnet B cannot be reached from subnet A, so the audio
stream from A to B always gets lost.
This is a basic routing issue, so use IP routing troubleshooting methods to get to the stage at which you can
successfully ping phone A from gateway B. Bear in mind that ping is a bidirectional verification.
• Cisco IP Phone 7910-Press Settings, select option 6, push volume down until the Default Router field
shows up.
• Cisco IP Phone 7960/40-Press Settings, select option 3, scroll down until the Default Router field shows
up.
• Cisco IP Phone 2sp+/30vip-Press **#, then press # until gtwy= shows up.
Note: If you are using the Cisco IP SoftPhone application and more than one NIC (network interface card) is
installed in the box, make sure the box sources the correct NIC. This issue is often present in IP
SoftPhone software Version 1.1.x.
Note: If you are using Cisco DT24+ gateways, check the DHCP scope and make sure there is a default
gateway (003 router) option in the scope. The 003 router parameter is what populates the Default
Gateway field in the devices and PCs. Scope option 3 should have the IP address of the router interface
that is doing routing for the gateway.
To get around this problem, the H.323 signaling can be bound to a specific source address, which can belong to a
physical or virtual interface (loopback). The command syntax to use under interface configuration mode is
h323-gateway voip bind srcaddr ip_address. Configure this command under the interface by using the IP
address that Cisco CallManager points to.
Caution: A bug exists in Cisco IOS Release 12.2(6) where this solution can actually cause a one-way audio
problem. For more information, refer to bug ID CSCdw69681 in Cisco Software Bug Toolkit
(registered customers only).
05/08/11 366
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
For more information, see the next section, Using the voice rtp send-recv Command to Establish Early Two-Way
Audio.
Using the voice rtp send-recv Command to Establish Early Two-Way Audio
The voice path is established in the backward direction as soon as the RTP stream is started. The forward audio
path is not cut through until the Cisco IOS gateway receives a connect message from the remote end.
In some cases it is necessary to establish a two-way audio path as soon as the RTP channel is opened, before the
connect message is received. To achieve this, use the voice rtp send-recv global configuration command.
cRTP is done on a hop-by-hop basis with decompression and recompression on every hop. Each packet header
needs to be examined for routing, therefore cRTP needs to be enabled on both sides of an IP link.
It is also important to verify that cRTP is working as expected on both ends of the link. Cisco IOS levels vary in
terms of switching paths and concurrent cRTP support.
If you are running cRTP using Cisco IOS Release 12.1, verify that bug CSCds08210 does not affect your Cisco
IOS version (VoIP and fax not working with RTP header compression on).
05/08/11 367
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
The minimum software levels required for using NAT and skinny simultaneously are Cisco IOS® Software
12.1(5)T for IOS gateways to support skinny and H.323v2 with NAT.
Note: If your Cisco CallManager is using a TCP port for skinny signaling different from the default port
(2000), you need to adjust the NAT router with the ip nat service skinny tcp port number global
configuration command.
The minimum software level required for using NAT and skinny simultaneously on a PIX firewall is Release 6.0.
Note: These levels of software do not necessarily support all of the RAS messages necessary for full
gatekeeper support. Gatekeeper support is outside the scope of this document.
When enabled, this command caches the IP address and UDP port number information for the logical channel
opened for a specific call and prevents the RTP stream from getting to the application layer, but rather forwards
the packets at a lower layer, which helps reduce CPU utilization marginally in high call volume scenarios.
When supplementary services, such as hold or transfer are used, the voice-fastpath command causes the router to
stream the audio to the cached IP address and UDP port, disregarding the new logical channel information
generated after a call on hold is resumed or a transfer is completed. To get around this problem, traffic should go
to the application layer constantly so that redefinition of the logical channel is taken into account and audio is
streamed to the new IP address/UDP port pair. That is why you should disable voice-fastpath to support
supplementary services.
The solution is to configure the VPN IP address, instead of the IP address of the network adapter, under the
Network Audio Settings.
05/08/11 368
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
and received (R) by the router. An uppercase character indicates successful transmission/reception, and a
lowercase character indicates a dropped packet.
• The system administrator can manually place a specific CIC on the target TG in test mode.
• The TCL script in OGW can specify a destination CIC or DS0 number.
• This circuit number can then be carried to the terminating gateway.
• The TGW can override any local circuit selection configured and use the specified circuit number for the
outgoing call.
05/08/11 369
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Route Server
• The administrator can configure parameters, termination trunk group, and destination gateway IP address
in the route server.
• The route server detects this test call by the "Test Call" source trunk group label, bypasses the normal
routing logic, and routes the call directly to a specified trunk group based on the configured destination
(gateway IP address plus trunk group label). All trunk group members (GW IP address plus trunk group
label) in a trunk group will be displayed in the route server routing hierarchy and the test call person can
select any trunk requisite.
• The group member can be specified as the destination so that the test call can be routed to a specific
destination trunk group label on a specific gateway.
• A test call syslog is generated in the route server. This syslog covers the route information (incoming
carrier ID/trunk group ID/trunk group number, outgoing carrier ID/trunk group ID/trunk group number),
the IP address of the destination gateway, and the called number, and can be browsed from its GUI web.
• Because the ARQ message sent from the test station OGW will not have any GTD payload, the route
server builds a GTD if the Termination trunk group is ISDN/ISUP/R2. The route server also sends the
same format of the currently used route descriptor to the test station OGW.
TCL Script
• TCL scripts in the OGW send the route descriptor to the mediation server for accounting purposes.
• TCL scripts in the OGW override the GTD CPC value received from the route server with the configured
value.
The configured value may be changed using the application, service, and paramspace command
structure shown in the Sample Tasks.
• TCL scripts in the OGW insert the termination CIC port number in the outgoing H225 Setup message.
• The TCL script in the OGW handles two-stage calls. If the call is originated from the test call trunk
group, the TCL script in the OGW parses the dialed digits to identify the delimiter and split the dialed
digits to the E164 number and CIC number.
Limitations
• Test-mode status maintained within the gateway is reset if any interface is added or removed from the
trunk group.
• If the DS0 is placed in test mode, it is not selected for nontest calls. The system administrator must reset
the DS0 from the test mode.
• The test mode configuration is not saved for reloads. Once the gateway reloads, the test mode
configuration is lost. The administrator has to place the CIC in test mode again to place a test call.
05/08/11 370
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Test Mode Limitations
• In some SS7 networks, the signaling on the terminating switch can override the local channel selection. In
such cases, there is no guarantee that the test call will be placed on that specified channel.
• The number of the DS0 or CIC in test-mode status does not affect the call capacity update to the H323
client.
• When a DS0 or channel is placed in test-mode, the trunk group circuit selection algorithm avoids using
the channel for outgoing nontest calls. But if call routing on the gateway is not based on the trunk group
or carrier-ID, then this channel may be used. Similarly, the DS0 or channel is not guaranteed to be
reserved if the gateway supports hybrid routing (some calls are based on the trunk group or carrier-ID
routing and some calls not)
• Placing a DS0 or channel in test mode would only guarantee that no new outgoing calls will be placed on
the DS0 in the trunk. However, no control is exercised on existing calls or incoming calls in that channel.
To clear the existing call through the channel (if desired), enter this command:
• All incoming calls through the channel in test mode will not be rejected. It is up to the terminating switch
to correspondingly place the channel in test mode and avoid sending calls through this channel.
Feature Limitations
• The Test Call feature allows the Tcl script in the OGW to send the CIC number for Test Call to the TGW.
If the corresponding DS0 is not placed in test mode, the trunk selection API would make a best-effort
attempt to select the corresponding CIC or DS0 number if it is free and would continue with the test call
setup.
• The CIC number is carried in H225 Setup message H323 V4 field. Thus this feature would work only in
H323v4 networks,
• The test call feature is not supported in SIP and H323 v2 networks.
gateway# test trunkgroup tg-label [set-tgCic | reset-tgCic] cic-number [cpc test cpc value]
In the syntax, the set-tgCic keyword is used to set the test mode, and the reset-tgCic is used to reset from test
mode.
To display the mapping of trunk groups to sequential CIC numbers, use the modified show trunk group
command. A new keyword cic has been added:
In the syntax, the new cic keyword displays the mapping of trunk group DS0 numbers to sequential CIC numbers.
A sample output follows:
05/08/11 371
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
trunk group: 1
Description:
trunk group label: 1
Se3/0:23
Timeslot 1 2 3 4 5 6 7 8 9 10 11 12
cic 1 2 3 4 5 6 7 8 9 10 11 12
Timeslot 13 14 15 16 17 18 19 20 21 22 23 24
cic 13 14 15 16 17 18 19 20 21 22 23 24
Se5/1:23
Timeslot 1 2 3 4 5 6 7 8 9 10 11 12
cic 25 26 27 28 29 30 31 32 33 34 35 36
Timeslot 13 14 15 16 17 18 19 20 21 22 23 24
cic 37 38 39 40 41 42 43 44 45 46 47 48
Sample Tasks
The following is a sample set of tasks, showing the existing and new or modified CLI that enables the test call
feature. This sample is provided for reference purposes only.
!
trunk group 41001
max-retry 1
hunt-scheme sequential both up
05/08/11 372
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
!
voice-port 1/0/0
trunk-group 41001
!
application
service mkyuss flash:app_kyuss.3_0_1.tcl
paramspace english language en
paramspace english index 1
paramspace english location tftp://<tftp-server-ip>/prompts/en
paramspace english prefix en
param test_call_CPC 10
param test_call_src_tg 41001
!
4. Dial-peer configuration:
1. Gateway configuration:
05/08/11 373
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
incoming called-number 2015551...
dtmf-relay h245-alphanumeric
codec g711ulaw
no vad
05/08/11 374
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
An H.323 gatekeeper is an H.323 entity on the LAN that provides address translation and controls access to the
LAN for H.323 terminals, gateways, and MCUs.
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 H.323 Gatekeeper Overview
♦ 1.1 Figure: Gatekeeper in an H.323 Network
• 2 Troubleshooting H.323 Gatekeeper Registration
♦ 2.1 Related Commands
◊ 2.1.1 show gatekeeper endpoint
◊ 2.1.2 show gateway
◊ 2.1.3 debug h225 asn1, debug ras
◊ 2.2 Reject Reasons
⋅ 2.2.1 RRJ: rejectReason duplicateAlias
⋅ 2.2.2 RRJ: rejectReason terminalExcluded
⋅ 2.2.3 RRJ: rejectReason securityDenial
⋅ 2.2.4 RRJ: rejectReason invalidAlias
♦ 3 Troubleshooting H.323 Gatekeeper Call Routing and Dial Peers
♦ 4 Troubleshooting H.323 Gatekeeper Bandwidth
◊ 4.1 Bandwidth Management Operation Overview
◊ 4.2 Configuring the Bandwidth Management Feature on the Cisco Gatekeeper
◊ 4.3 Using Gatekeeper show Commands to Display Bandwidth Information
◊ 4.4 Bandwidth-Related RAS Messages (BRQ, BCF, and BRJ)
⋅ 4.4.1 RAS Messages Used to Report Bandwidth Status
⋅ 4.4.2 How BRQ Is Triggered from the Gateway to Notify the
Gatekeeper to Reduce Call Bandwidth
♦ 5 Checking Cisco Gateway Failover to Alternate Gatekeeper
◊ 5.1 Gatekeeper Update Protocol
♦ 6 Troubleshooting Issues with Alternate Endpoints
♦ 7 Troubleshooting Gatekeeper Endpoint Call Admission Issues
◊ 7.1 Admission Confirmed (Busy Tone Back)
◊ 7.2 Admission Reject (ARJ) rejectReason calledPartyNotRegistered
◊ 7.3 ARJ "rejectReason requestDenied"
◊ 7.4 Verification Commands
⋅ 7.4.1 show gatekeeper endpoint Command
⋅ 7.4.2 show gatekeeper gw Command
⋅ 7.4.3 show gatekeeper zone status Command
⋅ 7.4.4 show gateway Command
⋅ 7.4.5 debug h225 asn1 Command
05/08/11 375
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Endpoints attempt to register with a gatekeeper on startup. When an endpoint wishes to communicate with
another endpoint, it requests admission to initiate a call using a symbolic alias for the endpoint, such as an E.164
address or an e-mail address. If the gatekeeper decides that the call can proceed, it returns a destination IP address
to the originating endpoint. This IP address might not be the actual address of the destination endpoint; it might be
an intermediate address, such as the address of a proxy or a gatekeeper that routes call signaling.
Note: Although the gatekeeper is an optional H.323 component, it must be included in the network if proxies
are used.
For more information about H.323 gatekeepers, refer to Understanding H.323 Gatekeepers, document 5244.
05/08/11 376
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
When you use a Cisco gatekeeper to route a call between Cisco gateways, the gateways do not register with the
gatekeeper.
Related Commands
This section describes some show and debug commands to assist you while troubleshooting the issue.
Use the show gatekeeper endpoints command to verify the endpoints registration status to the gatekeeper.
The following example shows normal output of this command if an endpoint is registered.
The following example shows normal output of this command if an endpoint is not registered.
show gateway
Use this gateway command to verify the registration status of the gateway to a gatekeeper.
The following example shows the common output of this command if the gateway is registered to a gatekeeper.
The following example shows the common output of this command if the gateway is not registered to a
gatekeeper.
05/08/11 377
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Router#show gateway
Gateway Router is not registered to any gatekeeper
Alias list (CLI configured)
E164-ID 2073418
E164-ID 5251212
H323-ID Router/ww Alias list (last RCF)
H323 resource thresholding is Disabled
These are gatekeeper and gateway debug commands. In this document, we are looking only for the registration
reject (RRJ) field and searching for the rejection reason. The following examples show the RRJ field output.
Reject Reasons
When a gatekeeper is not performing registration correctly, reject reasons (RRJs) can appear in debug commands.
This section describes some common reject reasons.
The gateway is not registered if there are no debug ras and debug h225 ans1 outputs from the gateway.
The show gatekeeper endpoint and show gateway commands indicate that no gateway is registered. Check the
gateway for the following:
Router(config)# gateway
05/08/11 378
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
The following output from the debug h225 asn1 command shows a registration reject reason of duplicateAlias.
This is usually the result of the gateway registering a duplicate of an E164-ID or H323-ID-another gateway has
already been registered to the gatekeeper. If it is a duplicated E164-ID, change the destination pattern configured
under a POTS dial-peer associated with an FXS port. If it is a duplicated H323-ID, change the gateway's H.323
ID under the H.323 VoIP interface.
This is the result of the gateway subnet being disabled in the gatekeeper. Check the gatekeeper configuration. The
following configuration likely appears. If so, removing the no zone subnet gk command resolves the issue. To
remove the command completely, remove the zone local gk command.
gatekeeper
zone local gk cisco.com
no zone subnet gk 172.16.13.0/27
enable zone prefix gk 5*
gw-type-prefix 510#* default-technology
no shutdown
This RRJ is the result of the security commands being enabled in the gatekeeper, and the inability of the gateway
to match the H.323-ID, E.164-ID, passwords, or security token that the gatekeeper requires. To resolve the issue,
check the securiy configuration in the gatekeeper. For further information on security, refer to Understanding
H.323 Gatekeepers, document 5244.
05/08/11 379
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
If the security h323-id command is enabled, make sure the gatekeeper has been configured as follows:
interface Ethernet0/0
ip address 172.16.13.35 255.255.255.224
half-duplex
h323-gateway voip interface
h323-gateway voip id gk ipaddr 172.16.13.14 1718
h323-gateway voip h323-id Router/ww
Note: Make sure the gateway does not have the gateway security password 010411 level endpoint command
configured.
If security E164 is enabled, make sure the gatekeeper has been configured as follows:
If security token is enabled, make sure the gatekeeper has been configured as follows:
gatekeeper
zone local gk cisco.com
no zone subnet gk 172.16.13.0/27 enable
zone prefix gk 5* security token required-for registration
gw-type-prefix 510#* default-technology
no shutdown
gateway
security password 010411 level endpoint
Note: Make sure the gatekeeper has been configured properly with the AAA and RADIUS, and that both the
gatekeeper and gateway are pointing to the same NTP server.
05/08/11 380
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
protocolIdentifier { 0 0 8 2250 0 3 }
rejectReason invalidAlias : NULL
gatekeeperIdentifier {"gk-A"} }
The RRJ is the result of a no-zone prefix defined in the gatekeeper. Check the configuration on the gatekeeper and
add the zone prefix with the proper E.164 address. You should check the following Cisco IOS defects in
CSCdu78917.
!
gatekeeper
zone local gk-A cisco.com
zone prefix gk-A 2000*
zone prefix gk-A 3000*
zone prefix gk-A 4000*
no shutdown
!
For more information, refer to Troubleshooting Gatekeeper Registration Issues, document 22378.
For example, when presented with a call, the gateway determines whether to send it to the telephony leg or to the
IP leg according to its dial plan. In the case of the IP leg, the gateway queries the Cisco gatekeeper to select the
best endpoint. The Cisco gatekeeper determines if the called endpoint is within its local zone or is located at a
remote zone controlled by a remote Cisco gatekeeper.
The following is a list of useful show and debug commands used to verify and troubleshoot gatekeeper and
gateway call routing issues.
Certain show commands are supported by the Output Interpreter (registered customers only) tool, which allows
you to view an analysis of show command output.
• show gateway-Used to verify E.164 and H.323 alias registration for the gateway
• show gatekeeper endpoints-Used to verify the E.164 and H.323 alias registered with the gatekeeper
• show gatekeeper gw-type-prefix-Used to verify E.164 prefix registrations on the gatekeeper
• show gatekeeper zone prefix | status-Used to verify zone status and configuration parameters
• debug ras-Applicable for gateways and gatekeepers
• debug debug h225 asn1-Applicable for gateways and gatekeepers
• show dial-peer voice-Used to verify configured technology prefixes under the dial-peers
05/08/11 381
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
For detailed information about troubleshooting gateway dial peer issues, refer to Understanding Cisco IOS
Gatekeeper Call Routing, document 24462.
Note: Cisco has implemented only the function of reporting any bandwidth changes when codecs change. See
the How BRQ Is Triggered from the Gateway to Notify the Gatekeeper to Reduce Call Bandwidth for
more information.
The need to support these messages is based on bandwidth management. The gatekeepers can also use a null
function that accepts all requests for bandwidth changes. In other words, the gatekeeper can either use these
messages to manage bandwidth (by allowing or rejecting requests) or just ignore them.
The Cisco gatekeeper maintains a record of all active calls so that it can manage the bandwidth resources in its
zone. In a cluster configuration, the Gatekeeper Update Protocol (GUP) announcement indication message is
exchanged at set intervals and carries information about the bandwidth utilization for the zone. This GUP message
exchange allows the alternate gatekeepers to properly manage the bandwidth for a single zone, even though the
gatekeepers are in separate physical devices.
When deciding whether there is enough bandwidth to accept a call Admission Request (ARQ), the Cisco
gatekeeper calculates the available bandwidth with the following formula:
Available bandwidth = (total allocated bandwidth) - (bandwidth used locally) - (bandwidth used by all
alternates).
If the available bandwidth is sufficient for the call, an Admission Confirmation (ACF) is returned, otherwise an
Admission Rejection (ARJ) is returned.
Voice gateways should consider codec, Layer 2 encapsulation, and compression features (such as cRTP) when
requesting bandwidth from the Cisco gatekeeper. Sometimes these features are not defined at the time of call
setup, in which case a bandwidth change request can be issued to the gatekeeper after call setup to adjust the
amount of bandwidth used by the call.
05/08/11 382
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• The maximum bandwidth for all H.323 traffic between the local zone and a specified remote zone. (If
desired, this configuration can be repeated individually for each remote zone.)
• The maximum bandwidth allowed for a single session in the local zone (typically used for video
applications, not for voice).
• The maximum bandwidth for all H.323 traffic allowed collectively to all remote zones.
These configured values are used for processing ARQs and BRQs.
For an ARQ, the Cisco gatekeeper deducts the bandwidth specified in the message from the appropriate zone
counters and/or remote counters. If this causes any counter to go negative, then the call is denied and an ARJ
response is sent with the reason ARJ_REQ_DENIED. If the request is for a zone that has a maximum session
bandwidth specified, then the request is validated against this value. If the call request exceeds this bandwidth,
then the Cisco gatekeeper returns an ACF with the bandwidth set to the maximum session bandwidth. It is up the
endpoint to continue or reject the call.
For a BRQ requesting a bandwidth increase, the Cisco gatekeeper validates the request against the zone and/or
remote. If the validation fails, then a BRJ response is sent with a reason of BRJ_INSUFFICIENT_RSC and a
specification of the maximum amount of bandwidth allowed.
05/08/11 383
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Outbound Calls to all other zones :
from terminals in local zone Router : use proxy
from gateways in local zone Router : do not use proxy
from MCUs in local zone Router : do not use proxy
gka-1 domainA.com 172.16.13.35 1719 RS
Enter the show gatekeeper zone cluster command to display the bandwidth information, in case the gatekeeper is
part of a cluster.
LOCAL GK NAME ALT GK NAME PRI (kbps) (kbps) (kbps) ANNOUNCE STATUS
------------- ----------- --- ------ ------ ------ -------- ------
Router gkb-2 0 0 0 0 22s CONNECTED
Enter the show gatekeeper calls command to display the active calls permitted by that gatekeeper and how much
bandwidth each call is using.
1. The Cisco gatekeeper verifies the request by the endpointIdentifier to locate the endpoint in the
registration database.
2. The Cisco gatekeeper locates the call record by using the callReferenceValue to find a call associated
with the endpoint with the same callReferenceValue.
3. If the gatekeeper locates the call record, it then computes the change in bandwidth, then adds or subtracts
from the global zone bandwidth, as necessary. It does the same for any proxy or gateway resources in use.
4. The Cisco gatekeeper sends a BCF or BRJ back to the endpoint, depending on success or failure.
The Information Request Response (IRR) Non-Standard Data field also carries information about the currently
used bandwidth on a gateway or proxy.
05/08/11 384
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
How BRQ Is Triggered from the Gateway to Notify the Gatekeeper to Reduce Call Bandwidth
With unidirectional bandwidth, calls were always reported to require a bandwidth of 64 kbps, which is the
unidirectional bandwidth for a Cisco G.711 codec. If the endpoints in the call chose to use a more efficient codec,
this was not reported to the Cisco gatekeeper. In the version of the Cisco H.323 gateway in Cisco IOS Release
12.2(2)XA or later (which conforms with H.323 version 3), the reported bandwidth is bidirectional. Initially, 128
kbps is reserved. If the endpoints in the call select a more efficient codec, the Cisco gatekeeper is notified of the
bandwidth change.
To use the reported bandwidth behavior used prior to Cisco IOS Release 12.2(2)XA for zone bandwidth
management, configure the Cisco H.323 gateway with the following command in global configuration mode:
For more information about gatekeeper bandwidth management, refer to Troubleshooting and Understanding
Cisco Gatekeeper Bandwidth Management, document 18731.
The alternate gatekeeper list is provided to the Cisco gatekeeper through the CLI for each zone and is transmitted
to endpoints through the RCF (including lightweight) and GRQ messages. This list might also be transmitted in
other messages, such as ARJ or URQ, to facilitate a controlled gatekeeper shutdown.
Alternate gatekeepers learn about existing calls through an Interrupt Request (IRQ) and Information Request
Response (IRR) exchange between the gateways and the gatekeepers, and they keep track of these calls.
An endpoint that detects the failure of its gatekeeper can safely recover from that failure by utilizing an alternate
gatekeeper for future requests, including requests for existing calls. Alternate gatekeepers have to be configured in
a cluster. They share the information about the endpoints and active calls using the GUP that runs on TCP.
By default, Cisco gateways send a lightweight RRQ every 45 seconds. In case the gatekeeper did not send any
URQ to the gateway (due to a broken routing issue, for example), the gateway (upon not hearing an RCF or RRJ
for its lightweight RRQ) tries twice with 5 seconds between attempts. If the third attempt fails, the gateway
immediately considers the gatekeeper dead and registers with the alternate gatekeeper using RRQ. In a scenario
where the gateway starts the initial registration process with the gatekeeper, it sends out the GRQ to locate the
gatekeeper IP address. If there is a GCF reply, the gateway sends the RRQ to the primary gatekeeper specified. If
for any reason the gatekeeper rejects the registration request, the gateway does not try to contact its alternate
gatekeeper. It starts this process (GRQ, GCF, and RRQ) over again with the primary gatekeeper.
The gateway contacts the alternate gatekeeper only when the connectivity to the primary gatekeeper is lost and
there is no reply. If the primary gatekeeper does not reply to the GRQ message when the gateway first sends it out
to discover the gatekeeper, then after three failed attempts (approximately 5 minutes per attempt), the gateway
05/08/11 385
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
contacts the alternate gatekeeper. In a situation where the primary gatekeeper goes down after the gateway has
registered with it, the gateway loses keepalive messages from the primary gatekeeper. After missing three
consecutive keepalive messages, the gateway declares the primary gatekeeper down, and it starts the registration
process again.
• Once a gatekeeper that is configured to be part of a cluster comes on line, it opens a TCP port for
listening for incoming connections for the GUP.
• Then it announces its presence by sending a GRQ message on a periodic basis. The default period is 30
seconds and is configurable through the gatekeeper CLI timer cluster-element announce command.
This GRQ message contains nonstandard data for each alternate gatekeeper. This nonstandard data is an
indicator to the alternates that the GRQ is really not a GRQ at all, but rather is just an "announcement"
message. Inside the GRQ message, the gatekeeper indicates the port number that it has open for listening
for the GUP protocol.
• Upon receiving a GRQ from the new gatekeeper, other gatekeepers in the cluster open TCP channels to
that port.
• GUP GRQ messages can be one of the following: announcementIndication, announcementReject,
registrationIndication, unregistrationIndication, and resourceIndication.
• The announcement indication also carries information about the bandwidth utilization for the zone. This
allows the alternate gatekeepers to properly manage the bandwidth for a single zone, even though the
gatekeepers are in separate physical devices.
• To verify whether the alternate gatekeepers are properly communicating or not, use the flowing show
gatekeeper zone cluster command. This command also reports the bandwidth information for the
alternate gatekeepers.
• The gatekeeper acts as if the alternate gatekeeper has failed (and assumes any previously allocated
bandwidth is now available), if the gatekeeper does not receive an announcement message within six
announcement periods, or if the TCP connection with the gatekeeper is detected as broken. With six
announcement periods every 30 seconds, the time is 3 minutes, which equates to what we are assuming to
be the average length of a call. It should then be fairly safe to assume that bandwidth has been freed. After
the 3 minutes, this gatekeeper declares its alternate as down and sends out an update to notify all of its
registered endpoints that there is no alternate gatekeeper.
• When an endpoint registers/unregisters with a gatekeeper in a cluster, that gatekeeper uses the
registrationIndication/unregistrationIndication message to update all other gatekeepers in that cluster
about this change.
• If an endpoint reported a resource change using resource availability indicator (RAI) to a gatekeeper in a
cluster, that gatekeeper reports the change to all alternate gatekeepers in that cluster by using the GUP
message resourceIndication.
• The GUP messages are needed for the gatekeeper in a cluster to have sufficient knowledge about every
endpoint in the zone (registration, bandwidth, active calls, resources) to be able to resolve all queries
locally.
• When an endpoint is switched from one gatekeeper to an alternate, the alternate needs to learn about the
calls that are active on the endpoint. When a gatekeeper sends an RCF for a new registration, it also sends
an IRQ to get a list of all calls on the endpoint. It is important to ensure that the IRQ does not reach the
endpoint before the RCF.
• Gatekeepers in a cluster permit a shutdown, even though there are active calls, as long as there is an
alternate gatekeeper defined for all zones for which there are active calls. If any zone has an active call
05/08/11 386
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
and no alternate gatekeeper defined, the gatekeeper refuses the shutdown.
• Alternate gatekeepers accept any Disconnect Requests (DRQs) for calls they were not aware of and pass
appropriate information to the Authentication, Authorization, and Accounting (AAA) and Cisco
Gatekeeper Transaction Message Protocol (GKTMP) servers. This happens when that endpoint moved to
the alternate gatekeeper while there were active calls. In addition, IRR messages may be sent that contain
call information for calls that were not previously known. For those IRRs, call records are constructed
and bandwidth is allocated accordingly.
• The gatekeeper creates a unique announcementIndication message for each alternate gatekeeper. If an
alternate gatekeeper receives a message that contains a gatekeeper identifier it does not recognize (which
might happen if the alternate gatekeeper is an alternate for one zone), but not another, that information is
simply ignored. However, the alternate gatekeeper detects errors in the configuration of the alternates by
examining those messages and it reports those errors to the user.
• The true power of the GUP is realized in the resolving of addresses for a remote zone. Instead of the
remote zone needing to send LRQs (either in sequence or blast) to all the gatekeepers, thus increasing the
messaging overhead on wide-area links, it now needs to send this query to just one of the gatekeepers in
the cluster. Coupled with the zone cluster remote command, it can round-robin between the gatekeepers
in the cluster and not attempt to send LRQs to other gatekeeper in the cluster if it receives a reject from
any one.
• In case a gateway was moved to an alternate gatekeeper, it always tries to register to that gatekeeper
unless you issue a no gateway and then a gateway command. When the endpoint's primary gatekeeper is
back online, the endpoint does not reregister to it unless the endpoint lost communication with the
alternate gatekeeper. It continues to use the alternate gatekeeper for its call routing information.
For more information, refer to Troubleshooting GUP, Alternate Endpoint and Load Balancing, document 18730.
• The gateway is down and gatekeeper is not aware of it at the time of sending the ACF or LCF.
• There are no resources on the gateway and that was not reported to the gatekeeper.
• There was an incorrect configuration on the main endpoint.
Note: The originating endpoint tries to contact the alternate gatekeepers only if the call fails before the alert
stage (alert or progress). If the calls fails due to user busy or no answer, the originating endpoint does
not try any other alternates.
The gatekeeper learns about the alternate for a certain endpoint either by manual configuration using the
gatekeeper endpoint alt-ep command or from any received RAS messages. Cisco supports a maximum of 20
alternates for each endpoint, no matter how the gatekeeper learns about them.
05/08/11 387
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• Verify that the gatekeeper has the correct alternate endpoints. To see if the gatekeeper has the right
alternate endpoints, use the show gatekeeper endpoints alternates command.
• Verify that the gatekeeper includes alternate endpoints in its LCF or ACF RAS messages. To see if the
gatekeeper sends the IP address for alternate endpoints, you can turn on debug h225 asn1 and look at the
ACF message or LCF.
• Verify that the OGW tries to contact alternates in case the main destination endpoint fails. Debugs to turn
on here are debug voip ccapi inout and debug h225 asn1. Check how the OGW reacts upon receiving
alternate endpoints in its ACF message.
For more information, refer to Troubleshooting GUP, Alternate Endpoint and Load Balancing, document 18730.
When there is a problem with gatekeeper endpoint call admission, after configuring an H.323 endpoint to register
to a Cisco gatekeeper, the endpoints are not able to make calls. When this occurs, check the show gatekeeper
endpoint command to make sure the endpoints are all registered to the gatekeeper.
If the Admission Confirmed (ACF) message has been sent by the gatekeeper and arrived at the endpoint side, but
the call still received a busy signal, check to see if the terminating IP address in the ACF is an expected valid
endpoint IP.
05/08/11 388
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
If the ACF has an IP address of the terminating endpoint, remove the gatekeeper and make a direct
endpoint-to-endpoint call to see if a call can be established.
This is a common reason for rejection. It is captured from the local or originating gatekeeper when the gatekeeper
has no information on where the called number should be terminated. There are two ways this problem can occur.
One reason is that the call terminates at a gateway, and the gateway is not registered with the E.164 address or
with a tech-prefix. To resolve this, make sure the gateway is registered with a tech-prefix to the gatekeeper.
interface Ethernet0/0
ip address 172.16.13.16 255.255.255.224
half-duplex
h323-gateway voip interface
h323-gateway voip id hwei-gk ipaddr 172.16.13.14 1718
h323-gateway voip h323-id gw2
h323-gateway voip tech-prefix 2
....
!
voice-port 2/0/0
!
voice-port 2/0/1
!
voice-port 2/1/0
station-id name BLARG
caller-id enable
!
voice-port 2/1/1
!
dial-peer cor custom
!
dial-peer voice 456 pots
destination-pattern 456
port 2/1/0
!
dial-peer voice 123 pots
destination-pattern 2415...
port 2/1/1
!
gateway
"show gatekeeper gw" from gatekeeper
GATEWAY TYPE PREFIX TABLE
=========================
Prefix: 1*
Zone hwei-gk master gateway list:
172.16.13.35:1720 gw1
Prefix: 2*
05/08/11 389
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Zone hwei-gk master gateway list:
172.16.13.16:1720 456
A second possible explanation for this error message arises if the called party is a terminal in a remote zone. It
might be that the terminal does not have a proxy enabled in the same gatekeeper zone where it is registered. By
default, a Cisco IOS gatekeeper uses a proxy for inter-zone terminal calls. Issue the show gatekeeper zone status
command to view the proxy. Either configure a proxy register to the same local zone as the terminal or issue the
no use-proxy hwei-gk default inbound-to terminal command or the no use-proxy hwei-gk default
outbound-from terminal command to disable the use of a proxy for terminal calls.
The rejection shown here comes about because the endpoint-requested bandwidth exceeds the limit configured in
the gatekeeper. To resolve this, increase the bandwidth in the gatekeeper using the bandwidth command under
the gatekeeper mode, or lower the bandwidth request from the endpoint.
The following example shows a call that failed because the bandwidth request exceeded the configured limit:
05/08/11 390
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
guid '4138E0D40EF0D14C9DB84E54F5190BF4'H
}
gatekeeperIdentifier {"hwei-gk"}
willSupplyUUIEs FALSE
}
For more information about VoIP bandwidth consumption, refer to Voice Over IP - Per Call Bandwidth
Consumption, document ID 7934.
If this rejection reason is offer but there is no bandwidth issue, see if the called party is a terminal and if there is a
proxy registered to the local zone. Issue the show gatekeeper zone status command to do that. Either configure a
proxy register to the same local zone as the terminal or issue the no use-proxy hwei-gk default inbound-to
terminal or no use-proxy hwei-gk default outbound-from terminal command to disable the use of a proxy for
terminal calls.
Verification Commands
This section describes a few show commands and debugs that can help you verify the configuration required on
the gatekeeper and the gateway. Sample show command outputs are included.
Certain show commands are supported by the Output Interpreter tool, which allows you to view an analysis of
show command output; a link to this tool can be found in the Cisco IOS Voice Troubleshooting Tools article.
The show gatekeeper endpoint command is used to verify the endpoint's registration status with the gatekeeper.
The normal outputs of this command are shown in the following example.
05/08/11 391
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
GATEKEEPER ENDPOINT REGISTRATION
================================
CallSignalAddr Port RASSignalAddr Port Zone Name Type Flags
--------------- ----- --------------- ----- --------- ---- -----
172.16.13.35 1720 172.16.13.35 50890 hwei-gk VOIP-GW
E164-ID: 2073418
E164-ID: 5251212
H323-ID: Router
Total number of active registrations = 1
!--- The endpoint is registered.
Gatekeeper# show gatekeeper endpoint
GATEKEEPER ENDPOINT REGISTRATION
================================
CallSignalAddr Port RASSignalAddr Port Zone Name Type Flags
--------------- ----- --------------- ----- --------- ---- -----
Total number of active registrations = 0
!--- The endpoint is not registered.
The show gatekeeper gw command is used to verify the endpoints registration status for the tech prefix. The
common outputs of this command are shown in the following example.
The show gatekeeper zone status command is used to display the local zone status and the remote zone
information, as shown in the following example.
05/08/11 392
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
hwei-gk1 cisco.com 172.16.13.37 1719 RS
The show gateway command is used to verify the registration status with a gatekeeper. The common outputs of
this command are shown in the following example:
The debug h225 asn1 command is the gatekeeper and Cisco gateway debug command. In this document, you are
looking only for the ARJ field and searching for the rejection reason. The following example is a sample output
showing the ARJ field.
05/08/11 393
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
When the threshold is met, the gatekeeper uses the RRJ RAS message to inform the endpoint about the alternate
gatekeepers and the reject reason. Upon receiving that message, the endpoint sends a new RRQ to the alternate
gatekeeper. Once the endpoint is registered with the alternate gatekeeper, it uses the GUP message to inform all
gatekeepers in the cluster about the new registered endpoint.
When troubleshooting, check the configuration on the gatekeeper and make sure that alternate gatekeepers and
load balancing are functional. To debug the load balancing feature, use debug gatekeeper load and debug h225
asn1 to see how the gatekeeper reacts when the threshold is met.
For more information, refer to Troubleshooting GUP, Alternate Endpoint and Load Balancing, document 18730.
05/08/11 394
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
H.323 networks have different kinds of configurations and call flows. See the Cisco Gateway to Gatekeeper
(H.235) and Gatekeeper to Gatekeeper (IZCT) Security Troubleshooting Guide, document 18729 to get
information about the following features:
• Intradomain Gateway to Gatekeeper Security -This security is based on H.235, in which H.323 calls are
authenticated, authorized, and routed by a gatekeeper. The gatekeeper is considered a known and trusted
entity. The gateway does not authenticate it when the gateway tries to register with it.
• Interdomain Gatekeeper to Gatekeeper Security -This security covers authenticating and authorizing of
H.323 calls between the administrative domains of Internet Telephone Service Providers (ITSPs) using
InterZone Clear Token (IZCT). This document covers only the portion of a call where the terminating
gatekeeper sends a token in its location confirmation (LCF) message so that it authenticates the
answerCall Admission Request (ARQ). Location request (LRQ) validation is not included in this feature.
LRQ validation is a feature scheduled for a future Cisco IOS release.
05/08/11 395
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Table: H.323 and SIP Standard Category With Corresponding Q.850 Cause Code Information
Q.850
Standard Category
Standard Category Cause Q.850 Release Cause Description
Description
Code
Typical scenarios include:
Indicates that the destination requested by
Unallocated • The number is not in
1 the calling user cannot be reached because
(unassigned) number the routing table, or it
the number is unassigned.
has no path across the
ISDN network.
Typical scenarios include:
05/08/11 396
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 397
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 398
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 399
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 400
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 401
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
A suspended call • Call ID mismatch Indicates a call resume has been attempted
exists, but this call with a call identity which differs from that
identity does not in use for any presently suspended calls.
Typical scenarios include: Indicates that the network has received a call
Call identity in use 84 suspended request containing a call identity
• Equipment error. which is already in use for a suspended call.
Indicates that the network has received a call
Typical scenarios include:
resume request containing a call identity
No call suspended 85
information element which does not indicate
• Equipment error.
any suspended call.
Typical scenarios include:
Indicates that the network has received a call
Call having the
identity information element indicating a
requested call identity • Network timeout 86
suspended call that has in the meantime
has been cleared • Call cleared by remote
been cleared wile suspended.
user.
Typical scenarios include:
User is not a member Indicates that the called user for the
of Closed User Group 87 incoming CUG call is not a member of the
• Caller is not
(CUG) specified CUG.
authorized.
Typical scenarios include:
05/08/11 402
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• No H.323 call
CC_CAUSE_RECOVERY_ON_
proceeding
TIMER_EXPIRY
• No H.323 alerting or
Call setup timeout connect message
102
failure received from the
Indicates that a procedure has been initiated
terminating gateway
by the expiration of a timer in association
• Invite expires timer
with error handling procedures.
reached maximum
number of retries
allowed
05/08/11 403
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 404
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
This article describes troubleshooting features and tips for the Cisco SIP IP phone 7960.
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 Troubleshooting Features
♦ 1.1 Table: RJ-11-to-RJ-45 Pinouts
• 2 Troubleshooting Tips
♦ 2.1 Cisco SIP IP Phone Is Unprovisioned or Is Unable to Obtain an IP
Address
♦ 2.2 Cisco SIP IP Phone Does Not Register With the SIP Proxy or SIP
Registrar Server
♦ 2.3 Outbound Calls Cannot Be Placed from a Cisco SIP IP Phone
♦ 2.4 Inbound Calls Cannot Be Received on a Cisco SIP IP Phone
♦ 2.5 Poor Voice Quality on the Cisco SIP IP Phone
♦ 2.6 DTMF Digits Do Not Function Properly
♦ 2.7 Cisco SIP IP Phones Do Not Work When Plugged into a
Line-Powered Switch
♦ 2.8 Call Transfer Does Not Work Correctly
♦ 2.9 Some SIP Messages are Retransmitted Too Often
Troubleshooting Features
The following is a list of features on the Cisco SIP IP phone that you can use for troubleshooting:
• Settings button to Network Configuration soft key-Use to view or modify the network configuration of
the phone.
• Settings button to SIP Configuration soft key-Use to view or modify a phone's SIP settings.
• Settings button to Status-Display configuration or initialization errors.
• Call messages on LED screen-Display basic SIP message flows.
• Pressing i or ? key twice during a call-Displays real-time transferring and receiving call statistics. This
option is recommended for troubleshooting voice-quality issues.
In addition to the features listed above, the EIA/TIA-232 (RS-232) port located on the back of the Cisco SIP IP
phone 7960 is a console port and can be used to gather debug information.
Note: For a PC connection, the RJ-45 connection needs a DB-9 female DTE adapter or an RJ-45 crossover
cable for an octal async connection. You must enter the password "cisco" must be entered to enable any
05/08/11 405
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
output to be seen via the EIA/TIA-232 port. The connection baud rate, parity, start bits, and stop bits are
9600, N, 8, and 1.
To use the console port, use a RJ-11-to-RJ-45 custom cable to connect the EIA/TIA-232 port to a PC.
1. Insert the RJ-11 end of the rolled cable into the EIA/TIA-232 port on the back of the phone.
2. Use an RJ-45-to-DB-9 female DTE adapter (labeled TERMINAL) to connect the console port to a PC
running terminal emulation software.
3. Insert the RJ-45 end of the rollover cable into the DTE adapter.
4. From the console terminal, start the terminal emulation program.
5. Type "cisco". A prompt is displayed.
6. At the prompt, you can issue the following commands to assist you in troubleshooting and debugging the
phone:
• debug error-Displays error messages that are occurring in the call flow process
• debug sip-message-Enables you to view a text display of a call flow
Troubleshooting Tips
This section provides tips for resolving the following Cisco SIP IP phone problems:
For more information about Cisco SIP IP phones, see the Cisco IP Phone Administrator Guides for SIP.
05/08/11 406
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• If using TFTP to download configuration files, verify that the SIPDefault.cnf file and the phone-specific
configuration file (SIPmac.cnf where mac is the MAC address of the phone) exist and are configured
correctly.
• Verify that the TFTP server is working properly.
• Verify that the Cisco SIP IP phone network configuration parameters are properly configured and the
phone is obtaining the proper IP addressing information (IP address, subnet mask, default gateway, TFTP
server, and so forth.)
• Press the Settings button, select Status, and then Status Messages to view messages for missing files or
other errors.
• If the DHCP server has an IP subnet mask that is different from the one for the Cisco SIP IP phone, verify
that "ip helper-address" address is enabled on the local router.
• Verify that the Cisco SIP IP phone software image (P0S3xxyy.bin where xx is the version number and yy
is the subversion number) was downloaded from the Cisco website in binary format.
Cisco SIP IP Phone Does Not Register With the SIP Proxy or SIP Registrar
Server
To determine why a phone does not register with a SIP proxy or SIP registrar server, perform the following tasks
as necessary:
Note: The character "x" displayed to the right of a line icon indicates that registration has failed.
• Verify that phone registration with a proxy server is enabled (via the proxy_register parameter in the
configuration files). By default, registration during initialization is disabled.
• Verify that the IP address (proxy1_address parameter) of the primary SIP proxy server to be used by the
phones is valid.
• If a Fully Qualified Domain Name (FQDN) is specified in the proxy1_address parameter, verify that the
DNS server is configured to resolve the FQDN as a DNS A-record type.
• Verify that the Cisco SIP proxy server has been configured to require authentication. If it has, ensure that
an authentication name and password have been defined in the Cisco SIP IP phone-specific configuration
file (through the use of the linex_authname and linex_password parameters).
• The Cisco SIP IP phone currently supports the HTTP Digest authentication method. Verify that the
authentication method required by the Cisco SIP proxy server (through the use of the AuthScheme
directive in the sipd.conf file) is HTTP Digest.
• Verify that a registration request hasn't expired. By default, Cisco SIP IP phones reregister every 3600
seconds, but this value can be modified through the use of the time_reqister_expires parameter.
• Verify that the Cisco SIP IP phone network configuration IP address parameters have been correctly
entered or received from a DHCP server.
05/08/11 407
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• Verify that the Cisco SIP proxy server used by the phone is working properly.
• Verify that the Cisco SIP proxy server is correctly configured for routes or registrations to the remote
destination.
• Verify that the remote SIP device is available.
• Verify that a dial plan has been defined in the dialplan.xml file and if so, that the configuration is correct.
This file should have been downloaded from CCO to the root directory of your TFTP server.
• Determine which error tones are being received and map those tones to the messages displayed on the
phone's LCD (SIP 4xx messages, and so forth.)
• Verify that the line (user portion) was defined in the Request-URI or the SIP INVITE request. The Cisco
SIP IP phone requires this information to determine the proper line to ring.
• Verify that the Request-URI is sent to port 5060 of the phone's IP address. The phone listens on UDP port
5060.
• Verify that the Cisco SIP IP phone is registered with the local proxy server.
• Check the network path for errors, packet drops, loss, loops, and so forth.
• Verify that the ToS level for the media stream being used has been correctly set (through the tos_media
parameter in the configuration file).
• Verify that the Cisco SIP IP phone is plugged into a switch rather than a hub to avoid excessive collisions
and packet loss.
• Ensure that there is enough bandwidth on the network for the selected codec (especially for calls over a
WAN).
• Press the i or ? button twice on the phone during the call to view realtime transferring and receiving call
statistics.
• Determine whether the problem occurs with the handset, headset, or speaker phone, or with all of them.
• If out-of-bound signaling through the AVT tone method has been enabled (through the dtmf_outofband
configuration file parameter), verify that the remote device supports AVT tones (as defined in RFC 2833).
If AVT tones have been enabled and the remote device does not support AVT tones, check for packet loss
in the end-to-end path.
• Find out which codec is being used. Lower bandwidth codecs yield poorer results if AVT tones are not
supported because the DTMF digits are carried in audio.
• Verify the length of the tones being created. The tone must have a minimum signal duration of 40 ms
with signaling velocity (tone and pause) of no less than 93 ms (as defined in RFC 2833).
05/08/11 408
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• Verify that the phone is running version 2.0 or higher of the Cisco SIP IP Phone software. (Line-powered
support was not available in version 1.0.)
• Verify that the network media type Network Settings parameter is set to auto-negotiation (auto).
05/08/11 409
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
This article provides tips for resolving the following Cisco SIP gateway problems:
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 Unable to Make Outbound Calls from the Cisco SIP Gateway to a SIP Endpoint
• 2 Unable to Make Inbound Calls to a PSTN Through a Cisco SIP Gateway
• 3 Calls to a PSTN via the Cisco SIP Gateway Fail with a "400 Bad Request"
Response
♦ 3.1 Table: SIP Header Fields
• 4 Voice Quality Is Compromised on Calls Through or From the Cisco SIP
Gateway
• 5 Some SIP Messages Are Retransmitted Too Often
• 6 Call Transfer Does Not Work Correctly
• 7 Troubleshooting Commands
• Verify that the voice ports are properly configured and enabled for the PSTN-side signaling protocol.
• Verify that there is a valid VoIP dial peer configured that meets the following requirements:
♦ Matches the required destination pattern
♦ Is SIP-enabled (through the session protocol sipv2 command)
♦ Has the correct dial peer session target defined (through the 'session target 'sip-server command
♦ Has the codec correctly defined
• Using the ping command, verify that the SIP gateway can communicate through IP with the SIP proxy or
remote SIP device.
• If the SIP proxy server is defined through the use of a FQDN, verify that the DNS server is correctly
configured to resolve that address using a DNS SRV record.
• Ensure that the time zone format configured on the SIP gateway is GMT.
• Check the debug ccsip all | calls | error | events | messages | states command output for protocol errors.
05/08/11 410
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
If inbound calls to a PSTN cannot be made through the Cisco SIP gateway, perform the following tasks as
necessary to determine the cause:
• Verify that the voice ports are correctly configured and enabled for the PSTN-side signaling protocol.
• Verify that a valid POTS dial peer is configured and that it matches the required destination pattern.
• Using the ping command, verify that the Cisco SIP gateway can communicate with the SIP proxy server
or remote SIP device through IP.
• If the inbound call has any hostnames defined as a FQDN, ensure that the proper DNS configuration is
enabled on the Cisco SIP gateway (to resolve the hosts).
• View the debug ccsip all | calls | error | events | messages | states command output for protocol errors.
Calls to a PSTN via the Cisco SIP Gateway Fail with a "400
Bad Request" Response
If the Cisco SIP gateway does not like part of a SIP message (header or SDP), the call attempt fails with a "400
Bad Request" response.
To determine whether the call failed because of a SIP header error, issue the debug ccsip command that displays
information on the error message, or verify that the required SIP header elements exist as defined in RFC 2543.
SIP header fields are shown in Table: SIP Header Fields.
05/08/11 411
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
SIP-date = rfc1123-date
Date
Note that unlike HTTP/1.1, SIP only supports the most recent RFC 1123 [29] formatting for
dates.
Diversion Note: Currently gateway uses Diversion header in initial outgoing messages.
The Expires entity-header field gives the date and time after which the message content expires.
This header field is currently defined only for the REGISTER and INVITE methods. For
Expires REGISTER, it is a request and response-header field. In a REGISTER request, the client
indicates how long it wants the registration to be valid. In the response, the server indicates the
earliest expiration time of all registrations. The server MAYchoose a shorter time interval than
that requested by the client, but SHOULD NOT choose a longer one.
Requests and responses MUST contain a From general-header field, indicating the initiator of
the request. The From field MUST contain a tag. The server copies the From header field from
the request to the response. The optional "display-name" is meant to be rendered by a
human-user interface. A system SHOULD use the display name "Anonymous" if the identity of
From the client is to remain hidden.
The Max-Forwards value is a decimal integer indicating the remaining number of times this
request message is allowed to be forwarded.
Max-Forwards
Each proxy or gateway recipient of a request containing a Max-Forwards header field MUST
check and update its value before forwarding the request. If the received value is zero (0), the
recipient MUST NOT forward the request. Instead, for the OPTIONS and REGISTER methods,
it MUST respond as the final recipient. For all other methods, the server returns 483 (too many
hops).
If the received Max-Forwards value is greater than zero, then the forwarded message MUST
contain an updated Max-Forwards field with a value decremented by one (1).
The Require request-header field is used by clients to tell useragent servers about options that
the client expects the server to support in order to properly process the request. If a server does
Require
not understand the option, it MUST respond by returning status code 420 (bad extension) and
list those options it does not understand in the Unsupported header.
The Server response-header field contains information about the software used by the user agent
Server
server to handle the request.
Timestamp The timestamp general-header field describes when the client sent the request to the server. The
value of the timestamp is of significance only to the client and it MAY use any time scale. The
server MUST echo the exact same value and MAY, if it has accurate information about this, add
a floating point number indicating the number of seconds that have elapsed since receiving the
05/08/11 412
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
request. The timestamp is used by the client to compute the round-trip time to the server so that
it can adjust the time out value for retransmissions.
The To general-header field specifies recipient of the request, with the same SIP URL syntax as
the From field.
To
Requests and responses MUST contain a To general-header field, indicating the desired recipient
of the request. The optional "display-name"is meant to be rendered by a human-user interface.
The UAS or redirect server service processing a request MUST always add a tag to To-header.
The User-Agent general-header field contains information about the client user agent originating
User-Agent
the request.
The Via field indicates the path taken by the request so far. This prevents request looping and
ensures replies take the same path as the requests, which assists in firewall traversal and other
Via
unusual routing situations. When the UAC creates a request, it MUST insert a Via into that
request.
Possible SDP-related errors are as follows:
• SDP_ERR_INFO_UNAVAIL
• SDP_ERR_VERSINFO_INVALID
• SDP_ERR_CONNINFO_IN
• SDP_ERR_CONNINFO_IP
• SDP_ERR_CONNINFO_NULL
• SDP_ERR_CONNINFO_INVALID
• SDP_ERR_MEDIAINFO_TYPE
• SDP_ERR_MEDIAINFO_INVALID
• SDP_ERR_MEDIAINFO_NULL
• SDP_ERR_OWNERINFO_NULL
• SDP_ERR_OWNERINFO_SESSID_NULL
• SDP_ERR_OWNERINFO_SESSID_INVALID
• SDP_ERR_OWNERINFO_VERSID_NULL
• SDP_ERR_OWNERINFO_VERSID_INVALID
• SDP_ERR_OWNERINFO_IN
• SDP_ERR_OWNERINFO_IP
• SDP_ERR_TIMEINFO_ST_NULL
• SDP_ERR_TIMEINFO_ET_NULL
• SDP_ERR_TIMEINFO_ST_INVALID
• SDP_ERR_TIMEINFO_ET_INVALID
• SDP_ERR_ATTRINFO_INVALID
• SDP_ERR_ATTRINFO_NULL
• SDP_ERR_AUDIO_MEDIA_UNAVAIL
• SDP_ERR_MEDIAINFO_PORT_INVALID
• SDP_ERR_MEDIAINFO_MALLOC_FAIL
• SDP_ERR_ATTRINFO_MALLOC_FAIL
• CHK_REQ_FAIL_MISMATCH_CSEQ
• CHK_REQ_FAIL_INVALID_CSEQ
• CHK_REQ_FAIL_FROM_TO
• CHK_REQ_FAIL_VERSION
• CHK_REQ_FAIL_METHOD_UNKNOWN
05/08/11 413
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• CHK_REQ_FAIL_REQUIRE_UNSUPPORTED
• CHK_REQ_FAIL_CONTACT_MISSING
• CHK_REQ_FAIL_MISMATCH_CALLID
• CHK_REQ_FAIL_MALFORMED_CONTACT
• CHK_REQ_FAIL_MALFORMED_RECORD_ROUTE
• Check the network path for errors, packet drops, loss, loops, and so forth.
• Verify that the TOS bits have been correctly set in the VoIP dial peer through the use of the ip
precedence command.
• To minimize excessive collisions and packet loss, connect the Cisco SIP gateway to a switch rather than a
hub.
• Verify that enough bandwidth exists on the network for the configured codec (especially for calls over a
WAN).
• View the output of the show interface command for packet drops. View the output of the show voice dsp
command for DSP-related issues.
• Determine whether errors exist on the voice ports that could be causing the problems.
• Verify that the application session is defined on the VoIP and POTS dial peers.
• Verify that the remote SIP device that is sending the call through the use of the SIP BYE/Also: method
(as defined in Internet draft sip-cc-01.txt).
• Use the debug voip ccapi inout command to verify that a dial peer that has application session defined is
matched. The application used after the BYE request is sent should be "session" instead of "SESSION."
Troubleshooting Commands
There are several debug commands that are useful for troubleshooting problems with SIP, as follows:
05/08/11 414
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• debug ccsip all
• debug ccsip calls
• debug ccsip error
• debug ccsip events
• debug ccsip info
• debug ccsip media
• debug ccsip messages
• debug ccsip preauth
• debug ccsip states
Details about these commands can be found in the Cisco IOS Debug Command Reference.
Note: The output from these commands can be filtered. For more information, see the SIP Debug Output
Filtering Support.
The following show and debug commands shown can be used to troubleshoot the Cisco SIP gateway:
05/08/11 415
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
SIP Total Traffic Statistics (Inbound/Outbound)
Invite 3/7, Ack 2/1, Bye 0/2,
Cancel 0/0, Options 0/0
Retry Statistics
Invite 2, Bye 0, Cancel 0, Response 1
05/08/11 416
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
c=IN IP4 166.34.245.230
m=audio 20208 RTP/AVP 0
*Mar 6 14:10:42: Received:
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 166.34.245.230:54113
From: "3660110" <sip:[email protected]>
To: <sip:[email protected];user=phone;phone-context=unknown>
Date: Mon, 08 Mar 1993 22:36:40 GMT
Call-ID: [email protected]
Timestamp: 731427042
Server: Cisco VoIP Gateway/ IOS 12.x/ SIP enabled
CSeq: 101 INVITE
Content-Length: 0
*Mar 6 14:10:42: HandleUdpSocketReads :Msg enqueued for SPI with IPaddr: 166.34.245.231:5060
*Mar 6 14:10:42: CCSIP-SPI-CONTROL: act_sentinvite_new_message
*Mar 6 14:10:42: CCSIP-SPI-CONTROL: sipSPICheckResponse
*Mar 6 14:10:42: CCSIP-SPI-CONTROL: sip_stats_status_code
*Mar 6 14:10:42: Roundtrip delay 4 milliseconds for method INVITE
*Mar 6 14:10:42: 0x624CFEF8 : State change from (STATE_SENT_INVITE, SUBSTATE_NONE)
to (STATE_RECD_PROCEEDING, SUBSTATE_PROCEEDING_PROCEEDING)
*Mar 6 14:10:42: Received:
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP 166.34.245.230:54113
From: "3660110" <sip:[email protected]>
To: <sip:[email protected];user=phone;phone-context=unknown>
Date: Mon, 08 Mar 1993 22:36:40 GMT
Call-ID: [email protected]
Timestamp: 731427042
Server: Cisco VoIP Gateway/ IOS 12.x/ SIP enabled
CSeq: 101 INVITE
Content-Type: application/sdp
Content-Length: 137
v=0
o=CiscoSystemsSIP-GW-UserAgent 969 7889 IN IP4 166.34.245.231
s=SIP Call
t=0 0
c=IN IP4 166.34.245.231
m=audio 20038 RTP/AVP 0
*Mar 6 14:10:42: HandleUdpSocketReads :Msg enqueued for SPI with IPaddr: 166.34.245.231:5060
*Mar 6 14:10:42: CCSIP-SPI-CONTROL: act_recdproc_new_message
*Mar 6 14:10:42: CCSIP-SPI-CONTROL: sipSPICheckResponse
*Mar 6 14:10:42: CCSIP-SPI-CONTROL: sipSPICheckResponse : Updating session description
*Mar 6 14:10:42: CCSIP-SPI-CONTROL: sip_stats_status_code
*Mar 6 14:10:42: Roundtrip delay 8 milliseconds for method INVITE
*Mar 6 14:10:42: HandleSIP1xxRinging: SDP MediaTypes negotiation successful!
Negotiated Codec : g711ulaw , bytes :160
Inband Alerting : 0
*Mar 6 14:10:42: 0x624CFEF8 : State change from (STATE_RECD_PROCEEDING,
SUBSTATE_PROCEEDING_PROCEEDING) to (STATE_RECD_PROCEEDING, SUBSTATE_PROCEEDING_ALERTING)
*Mar 6 14:10:46: Received:
SIP/2.0 200 OK
Via: SIP/2.0/UDP 166.34.245.230:54113
From: "3660110" <sip:[email protected]>
To: <sip:[email protected];user=phone;phone-context=unknown>;tag=27D3FCA8-C7F
Date: Mon, 08 Mar 1993 22:36:40 GMT
Call-ID: [email protected]
Timestamp: 731427042
Server: Cisco VoIP Gateway/ IOS 12.x/ SIP enabled
Contact: <sip:[email protected]:5060;user=phone>
CSeq: 101 INVITE
Content-Type: application/sdp
Content-Length: 137
05/08/11 417
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
v=0
o=CiscoSystemsSIP-GW-UserAgent 969 7889 IN IP4 166.34.245.231
s=SIP Call
t=0 0
c=IN IP4 166.34.245.231
m=audio 20038 RTP/AVP 0
*Mar 6 14:10:46: HandleUdpSocketReads :Msg enqueued for SPI with IPaddr: 166.34.245.231:5060
*Mar 6 14:10:46: CCSIP-SPI-CONTROL: act_recdproc_new_message
*Mar 6 14:10:46: CCSIP-SPI-CONTROL: sipSPICheckResponse
*Mar 6 14:10:46: CCSIP-SPI-CONTROL: sipSPICheckResponse : Updating session description
*Mar 6 14:10:46: CCSIP-SPI-CONTROL: sip_stats_status_code
*Mar 6 14:10:46: Roundtrip delay 3536 milliseconds for method INVITE
*Mar 6 14:10:46: CCSIP-SPI-CONTROL: act_recdproc_new_message:
SDP MediaTypes negotiation successful!
Negotiated Codec : g711ulaw , bytes :160
*Mar 6 14:10:46: CCSIP-SPI-CONTROL: sipSPIReconnectConnection
*Mar 6 14:10:46: Queued event from SIP SPI : SIPSPI_EV_RECONNECT_CONNECTION
*Mar 6 14:10:46: CCSIP-SPI-CONTROL: recv_200_OK_for_invite
*Mar 6 14:10:46: Queued event from SIP SPI : SIPSPI_EV_SEND_MESSAGE
*Mar 6 14:10:46: CCSIP-SPI-CONTROL: sip_stats_method
*Mar 6 14:10:46: 0x624CFEF8 : State change from (STATE_RECD_PROCEEDING,
SUBSTATE_PROCEEDING_ALERTING) to (STATE_ACTIVE, SUBSTATE_NONE)
*Mar 6 14:10:46: The Call Setup Information is :
Call Control Block (CCB) : 0x624CFEF8
State of The Call : STATE_ACTIVE
TCP Sockets Used : NO
Calling Number : 3660110
Called Number : 3660210
Negotiated Codec : g711ulaw
Source IP Address (Media): 166.34.245.230
Source IP Port (Media): 20208
Destn IP Address (Media): 166.34.245.231
Destn IP Port (Media): 20038
Destn SIP Addr (Control) : 166.34.245.231
Destn SIP Port (Control) : 5060
Destination Name : 166.34.245.231
*Mar 6 14:10:46: HandleUdpReconnection: Udp socket connected for fd: 1 with
166.34.245.231:5060
*Mar 6 14:10:46: Sent:
ACK sip:[email protected]:5060;user=phone SIP/2.0
Via: SIP/2.0/UDP 166.34.245.230:54113
From: "3660110" <sip:[email protected]>
To: <sip:[email protected];user=phone;phone-context=unknown>;tag=27D3FCA8-C7F
Date: Sat, 06 Mar 1993 19:10:42 GMT
Call-ID: [email protected]
Max-Forwards: 6
Content-Type: application/sdp
Content-Length: 137
CSeq: 101 ACK
v=0
o=CiscoSystemsSIP-GW-UserAgent 1212 283 IN IP4 166.34.245.230
s=SIP Call
t=0 0
c=IN IP4 166.34.245.230
m=audio 20208 RTP/AVP 0
*Mar 6 14:10:46: CCSIP-SPI-CONTROL: ccsip_caps_ind
*Mar 6 14:10:46: ccsip_caps_ind: Load DSP with codec (5) g711ulaw, Bytes=160
*Mar 6 14:10:46: ccsip_caps_ind: set DSP for dtmf-relay = CC_CAP_DTMF_RELAY_INBAND_VOICE
*Mar 6 14:10:46: CCSIP-SPI-CONTROL: ccsip_caps_ack
*Mar 6 14:10:50: Received:
BYE sip:[email protected]:5060;user=phone SIP/2.0
Via: SIP/2.0/UDP 166.34.245.231:54835
05/08/11 418
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
From: <sip:[email protected];user=phone;phone-context=unknown>;tag=27D3FCA8-C7F
To: "3660110" <sip:[email protected]>
Date: Mon, 08 Mar 1993 22:36:44 GMT
Call-ID: [email protected]
User-Agent: Cisco VoIP Gateway/ IOS 12.x/ SIP enabled
Max-Forwards: 6
Timestamp: 731612207
CSeq: 101 BYE
Content-Length: 0
*Mar 6 14:10:50: HandleUdpSocketReads :Msg enqueued for SPI with IPaddr: 166.34.245.231:54835
*Mar 6 14:10:50: CCSIP-SPI-CONTROL: act_active_new_message
*Mar 6 14:10:50: CCSIP-SPI-CONTROL: sact_active_new_message_request
*Mar 6 14:10:50: CCSIP-SPI-CONTROL: sip_stats_method
*Mar 6 14:10:50: Queued event from SIP SPI : SIPSPI_EV_SEND_MESSAGE
*Mar 6 14:10:50: CCSIP-SPI-CONTROL: sip_stats_status_code
*Mar 6 14:10:50: CCSIP-SPI-CONTROL: sipSPIInitiateCallDisconnect :
Initiate call disconnect(16) for outgoing call
*Mar 6 14:10:50: 0x624CFEF8 : State change from (STATE_ACTIVE, SUBSTATE_NONE)
to (STATE_DISCONNECTING, SUBSTATE_NONE)
*Mar 6 14:10:50: Sent:
SIP/2.0 200 OK
Via: SIP/2.0/UDP 166.34.245.231:54835
From: <sip:[email protected];user=phone;phone-context=unknown>;tag=27D3FCA8-C7F
To: "3660110" <sip:[email protected]>
Date: Sat, 06 Mar 1993 19:10:50 GMT
Call-ID: [email protected]
Server: Cisco VoIP Gateway/ IOS 12.x/ SIP enabled
Timestamp: 731612207
Content-Length: 0
CSeq: 101 BYE
*Mar 6 14:10:50: Queued event From SIP SPI to CCAPI/DNS : SIPSPI_EV_CC_CALL_DISCONNECT
*Mar 6 14:10:50: CCSIP-SPI-CONTROL: act_disconnecting_disconnect
*Mar 6 14:10:50: CCSIP-SPI-CONTROL: sipSPICallCleanup
*Mar 6 14:10:50: Queued event from SIP SPI : SIPSPI_EV_CLOSE_CONNECTION
*Mar 6 14:10:50: CLOSE CONNECTION TO CONNID:1
*Mar 6 14:10:50: sipSPIIcpifUpdate :CallState: 4 Playout: 1755 DiscTime:48305031
ConnTime 48304651
*Mar 6 14:10:50: 0x624CFEF8 : State change from (STATE_DISCONNECTING, SUBSTATE_NONE)
to (STATE_DEAD, SUBSTATE_NONE)
*Mar 6 14:10:50: The Call Setup Information is :
Call Control Block (CCB) : 0x624CFEF8
State of The Call : STATE_DEAD
TCP Sockets Used : NO
Calling Number : 3660110
Called Number : 3660210
Negotiated Codec : g711ulaw
Source IP Address (Media): 166.34.245.230
Source IP Port (Media): 20208
Destn IP Address (Media): 166.34.245.231
Destn IP Port (Media): 20038
Destn SIP Addr (Control) : 166.34.245.231
Destn SIP Port (Control) : 5060
Destination Name : 166.34.245.231
*Mar 6 14:10:50:
Disconnect Cause (CC) : 16
Disconnect Cause (SIP) : 200
*Mar 6 14:10:50: udpsock_close_connect: Socket fd: 1 closed for connid 1 with remote port: 5060
Router1#
The debug output is as follows from the other side of the call:
05/08/11 419
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
All SIP call tracing enabled
3660-2#
*Mar 8 17:36:40: Received:
INVITE sip:[email protected];user=phone;phone-context=unknown SIP/2.0
Via: SIP/2.0/UDP 166.34.245.230:54113
From: "3660110" <sip:[email protected]>
To: <sip:[email protected];user=phone;phone-context=unknown>
Date: Sat, 06 Mar 1993 19:10:42 GMT
Call-ID: [email protected]
Cisco-Guid: 2881152943-2184249548-0-483039712
User-Agent: Cisco VoIP Gateway/ IOS 12.x/ SIP enabled
CSeq: 101 INVITE
Max-Forwards: 6
Timestamp: 731427042
Contact: <sip:[email protected]:5060;user=phone>
Expires: 180
Content-Type: application/sdp
Content-Length: 137
v=0
o=CiscoSystemsSIP-GW-UserAgent 1212 283 IN IP4 166.34.245.230
s=SIP Call
t=0 0
c=IN IP4 166.34.245.230
m=audio 20208 RTP/AVP 0
*Mar 8 17:36:40: HandleUdpSocketReads :Msg enqueued for SPI with IPaddr: 166.34.245.230:54113
*Mar 8 17:36:40: CCSIP-SPI-CONTROL: sipSPISipIncomingCall
*Mar 8 17:36:40: 0x624D8CCC : State change from (STATE_NONE, SUBSTATE_NONE)
to (STATE_IDLE, SUBSTATE_NONE)
*Mar 8 17:36:40: CCSIP-SPI-CONTROL: act_idle_new_message
*Mar 8 17:36:40: CCSIP-SPI-CONTROL: sact_idle_new_message_invite
*Mar 8 17:36:40: CCSIP-SPI-CONTROL: sip_stats_method
*Mar 8 17:36:40: sact_idle_new_message_invite:Not Using Voice Class Codec
*Mar 8 17:36:40: sact_idle_new_message_invite: Preferred codec[0] type: g711ulaw Bytes :160
*Mar 8 17:36:40: sact_idle_new_message_invite: Media Negotiation successful for an
incoming call
*Mar 8 17:36:40: sact_idle_new_message_invite: Negotiated Codec
: g711ulaw, bytes :160
Preferred Codec : g711ulaw, bytes :160
*Mar 8 17:36:40: Queued event from SIP SPI : SIPSPI_EV_SEND_MESSAGE
*Mar 8 17:36:40: CCSIP-SPI-CONTROL: sip_stats_status_code
*Mar 8 17:36:40: Num of Contact Locations 1 3660110 166.34.245.230 5060
*Mar 8 17:36:40: 0x624D8CCC : State change from (STATE_IDLE, SUBSTATE_NONE)
to (STATE_RECD_INVITE, SUBSTATE_RECD_INVITE_CALL_SETUP)
*Mar 8 17:36:40: Sent:
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 166.34.245.230:54113
From: "3660110" <sip:[email protected]>
To: <sip:[email protected];user=phone;phone-context=unknown>
Date: Mon, 08 Mar 1993 22:36:40 GMT
Call-ID: [email protected]
Timestamp: 731427042
Server: Cisco VoIP Gateway/ IOS 12.x/ SIP enabled
CSeq: 101 INVITE
Content-Length: 0
*Mar 8 17:36:40: Queued event From SIP SPI to CCAPI/DNS : SIPSPI_EV_CC_CALL_PROCEEDING
*Mar 8 17:36:40: CCSIP-SPI-CONTROL: act_recdinvite_proceeding
*Mar 8 17:36:40: Queued event From SIP SPI to CCAPI/DNS : SIPSPI_EV_CC_CALL_ALERTING
*Mar 8 17:36:40: CCSIP-SPI-CONTROL: ccsip_caps_ind
*Mar 8 17:36:40: ccsip_caps_ind: codec(negotiated) = 5(Bytes 160)
*Mar 8 17:36:40: ccsip_caps_ind: Load DSP with codec (5) g711ulaw, Bytes=160
*Mar 8 17:36:40: ccsip_caps_ind: set DSP for dtmf-relay = CC_CAP_DTMF_RELAY_INBAND_VOICE
*Mar 8 17:36:40: CCSIP-SPI-CONTROL: ccsip_caps_ack
05/08/11 420
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
*Mar 8 17:36:40: CCSIP-SPI-CONTROL: act_recdinvite_alerting
*Mar 8 17:36:40: 180 Ringing with SDP - not likely
*Mar 8 17:36:40: Queued event from SIP SPI : SIPSPI_EV_SEND_MESSAGE
*Mar 8 17:36:40: CCSIP-SPI-CONTROL: sip_stats_status_code
*Mar 8 17:36:40: 0x624D8CCC : State change from (STATE_RECD_INVITE,
SUBSTATE_RECD_INVITE_CALL_SETUP) to (STATE_SENT_ALERTING, SUBSTATE_NONE)
*Mar 8 17:36:40: Sent:
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP 166.34.245.230:54113
From: "3660110" <sip:[email protected]>
To: <sip:[email protected];user=phone;phone-context=unknown>
Date: Mon, 08 Mar 1993 22:36:40 GMT
Call-ID: [email protected]
Timestamp: 731427042
Server: Cisco VoIP Gateway/ IOS 12.x/ SIP enabled
CSeq: 101 INVITE
Content-Type: application/sdp
Content-Length: 137
v=0
o=CiscoSystemsSIP-GW-UserAgent 969 7889 IN IP4 166.34.245.231
s=SIP Call
t=0 0
c=IN IP4 166.34.245.231
m=audio 20038 RTP/AVP 0
*Mar 8 17:36:44: Queued event From SIP SPI to CCAPI/DNS : SIPSPI_EV_CC_CALL_CONNECT
*Mar 8 17:36:44: CCSIP-SPI-CONTROL: act_sentalert_connect
*Mar 8 17:36:44: sipSPIAddLocalContact
*Mar 8 17:36:44: Queued event from SIP SPI : SIPSPI_EV_SEND_MESSAGE
*Mar 8 17:36:44: CCSIP-SPI-CONTROL: sip_stats_status_code
*Mar 8 17:36:44: 0x624D8CCC : State change from (STATE_SENT_ALERTING, SUBSTATE_NONE)
to (STATE_SENT_SUCCESS, SUBSTATE_NONE)
*Mar 8 17:36:44: Sent:
SIP/2.0 200 OK
Via: SIP/2.0/UDP 166.34.245.230:54113
From: "3660110" <sip:[email protected]>
To: <sip:[email protected];user=phone;phone-context=unknown>;tag=27D3FCA8-C7F
Date: Mon, 08 Mar 1993 22:36:40 GMT
Call-ID: [email protected]
Timestamp: 731427042
Server: Cisco VoIP Gateway/ IOS 12.x/ SIP enabled
Contact: <sip:[email protected]:5060;user=phone>
CSeq: 101 INVITE
Content-Type: application/sdp
Content-Length: 137
v=0
o=CiscoSystemsSIP-GW-UserAgent 969 7889 IN IP4 166.34.245.231
s=SIP Call
t=0 0
c=IN IP4 166.34.245.231
m=audio 20038 RTP/AVP 0
*Mar 8 17:36:44: Received:
ACK sip:[email protected]:5060;user=phone SIP/2.0
Via: SIP/2.0/UDP 166.34.245.230:54113
From: "3660110" <sip:[email protected]>
To: <sip:[email protected];user=phone;phone-context=unknown>;tag=27D3FCA8-C7F
Date: Sat, 06 Mar 1993 19:10:42 GMT
Call-ID: [email protected]
Max-Forwards: 6
Content-Type: application/sdp
Content-Length: 137
CSeq: 101 ACK
v=0
05/08/11 421
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
o=CiscoSystemsSIP-GW-UserAgent 1212 283 IN IP4 166.34.245.230
s=SIP Call
t=0 0
c=IN IP4 166.34.245.230
m=audio 20208 RTP/AVP 0
*Mar 8 17:36:44: HandleUdpSocketReads :Msg enqueued for SPI with IPaddr: 166.34.245.230:54113
*Mar 8 17:36:44: CCSIP-SPI-CONTROL: act_sentsucc_new_message
*Mar 8 17:36:44: CCSIP-SPI-CONTROL: sip_stats_method
*Mar 8 17:36:44: 0x624D8CCC : State change from (STATE_SENT_SUCCESS, SUBSTATE_NONE)
to (STATE_ACTIVE, SUBSTATE_NONE)
*Mar 8 17:36:44: The Call Setup Information is :
Call Control Block (CCB) : 0x624D8CCC
State of The Call : STATE_ACTIVE
TCP Sockets Used : NO
Calling Number : 3660110
Called Number : 3660210
Negotiated Codec : g711ulaw
Source IP Address (Media): 166.34.245.231
Source IP Port (Media): 20038
Destn IP Address (Media): 166.34.245.230
Destn IP Port (Media): 20208
Destn SIP Addr (Control) : 166.34.245.230
Destn SIP Port (Control) : 5060
Destination Name : 166.34.245.230
*Mar 8 17:36:47: Queued event From SIP SPI to CCAPI/DNS : SIPSPI_EV_CC_CALL_DISCONNECT
*Mar 8 17:36:47: CCSIP-SPI-CONTROL: act_active_disconnect
*Mar 8 17:36:47: Queued event from SIP SPI : SIPSPI_EV_CREATE_CONNECTION
*Mar 8 17:36:47: 0x624D8CCC : State change from (STATE_ACTIVE, SUBSTATE_NONE)
to (STATE_ACTIVE, SUBSTATE_CONNECTING)
*Mar 8 17:36:47: REQUEST CONNECTION TO IP:166.34.245.230 PORT:5060
*Mar 8 17:36:47: 0x624D8CCC : State change from (STATE_ACTIVE, SUBSTATE_CONNECTING)
to (STATE_ACTIVE, SUBSTATE_CONNECTING)
*Mar 8 17:36:47: CCSIP-SPI-CONTROL: act_active_connection_created
*Mar 8 17:36:47: CCSIP-SPI-CONTROL: sipSPICheckSocketConnection
*Mar 8 17:36:47: CCSIP-SPI-CONTROL: sipSPICheckSocketConnection: Connid(1)
created to 166.34.245.230:5060, local_port 54835
*Mar 8 17:36:47: Queued event from SIP SPI : SIPSPI_EV_SEND_MESSAGE
*Mar 8 17:36:47: CCSIP-SPI-CONTROL: sip_stats_method
*Mar 8 17:36:47: 0x624D8CCC : State change from (STATE_ACTIVE, SUBSTATE_CONNECTING)
to (STATE_DISCONNECTING, SUBSTATE_NONE)
*Mar 8 17:36:47: Sent:
BYE sip:[email protected]:5060;user=phone SIP/2.0
Via: SIP/2.0/UDP 166.34.245.231:54835
From: <sip:[email protected];user=phone;phone-context=unknown>;tag=27D3FCA8-C7F
To: "3660110" <sip:[email protected]>
Date: Mon, 08 Mar 1993 22:36:44 GMT
Call-ID: [email protected]
User-Agent: Cisco VoIP Gateway/ IOS 12.x/ SIP enabled
Max-Forwards: 6
Timestamp: 731612207
CSeq: 101 BYE
Content-Length: 0
*Mar 8 17:36:47: Received:
SIP/2.0 200 OK
Via: SIP/2.0/UDP 166.34.245.231:54835
From: <sip:[email protected];user=phone;phone-context=unknown>;tag=27D3FCA8-C7F
To: "3660110" <sip:[email protected]>
Date: Sat, 06 Mar 1993 19:10:50 GMT
Call-ID: [email protected]
Server: Cisco VoIP Gateway/ IOS 12.x/ SIP enabled
Timestamp: 731612207
Content-Length: 0
05/08/11 422
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
CSeq: 101 BYE
*Mar 8 17:36:47: HandleUdpSocketReads :Msg enqueued for SPI with IPaddr: 166.34.245.230:54113
*Mar 8 17:36:47: CCSIP-SPI-CONTROL: act_disconnecting_new_message
*Mar 8 17:36:47: CCSIP-SPI-CONTROL: sact_disconnecting_new_message_response
*Mar 8 17:36:47: CCSIP-SPI-CONTROL: sipSPICheckResponse
*Mar 8 17:36:47: CCSIP-SPI-CONTROL: sip_stats_status_code
*Mar 8 17:36:47: Roundtrip delay 4 milliseconds for method BYE
*Mar 8 17:36:47: CCSIP-SPI-CONTROL: sipSPICallCleanup
*Mar 8 17:36:47: Queued event from SIP SPI : SIPSPI_EV_CLOSE_CONNECTION
*Mar 8 17:36:47: CLOSE CONNECTION TO CONNID:1
*Mar 8 17:36:47: sipSPIIcpifUpdate :CallState: 4 Playout: 1265 DiscTime:66820800
ConnTime 66820420
*Mar 8 17:36:47: 0x624D8CCC : State change from (STATE_DISCONNECTING, SUBSTATE_NONE)
to (STATE_DEAD, SUBSTATE_NONE)
*Mar 8 17:36:47: The Call Setup Information is :
Call Control Block (CCB) : 0x624D8CCC
State of The Call : STATE_DEAD
TCP Sockets Used : NO
Calling Number : 3660110
Called Number : 3660210
Negotiated Codec : g711ulaw
Source IP Address (Media): 166.34.245.231
Source IP Port (Media): 20038
Destn IP Address (Media): 166.34.245.230
Destn IP Port (Media): 20208
Destn SIP Addr (Control) : 166.34.245.230
Destn SIP Port (Control) : 5060
Destination Name : 166.34.245.230
*Mar 8 17:36:47:
Disconnect Cause (CC) : 16
Disconnect Cause (SIP) : 200
*Mar 8 17:36:47: udpsock_close_connect: Socket fd: 1 closed for connid 1
with remote port: 5060
05/08/11 423
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
This section describes troubleshooting features and tips for the Cisco SIP proxy server. It provides tips under the
following headings:
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 Troubleshooting Tips
• 2 Cisco SIP Proxy Server Does Not Start
• 3 Cisco SIP Proxy Server Does Not Allow Devices to
Register
• 4 Cisco SIP Proxy Server Does Not Route Calls
Properly
• 5 Cisco SIP Proxy Server Reports That SIP Messages
Are Bad
• 6 Cisco SIP Proxy Server Farming Does Not Work
Correctly
• 7 Voice Quality Problems
Troubleshooting Tips
When trying to troubleshoot problems with the Cisco SIP proxy server, remember the following:
• Each module with the Cisco SIP proxy server has debugging capabilities that can be set via a debug flag
in the sipd.conf file. When these debug flags are set to On, and the server is running in multi-process
mode, the debug output is written to the ./logs/error_log file. When the flags are set to On and
single-process mode is enabled, the debug output is written to standard output.
• Changes to the sipd.conf file do not automatically take effect. To have any changes take effect, issue a
graceful restart by issuing the following command:
./sipdctl graceful
• Verify that the /usr/local/sip directory (on Linux) or the opt/local/sip/ directory (on Solaris) has the read
and write permissions set that allow you to start the Cisco SIP proxy server.
05/08/11 424
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• Verify that the LD_LIBRARY_PATH environment variable has been enabled as defined in the Cisco SIP
Proxy Server Administrator Guide, version 2.0.
• If using the Linux RPM version of the Cisco SIP proxy server, verify that the software has been correctly
installed.
• Verify that an older version of the Cisco SIP proxy server is not still running. Issue the following
command:
If another version is running, disable these processes by issuing the following command:
./sipdctl stop
• Verify that the Cisco SIP Proxy Server can resolve its hostname through DNS.
• Verify that registration services are enabled in the mod_sip_registry module in the sipd.conf file.
• If authentication is required, ensure that the SIP UA and a password are defined in the MySQL database
subscriber table and that the Cisco SIP proxy server can connect to the MySQL database.
• Verify which type of HTTP Digest authentication method that the SIP UAs are using.
• Verify that numbering plan statements are configured correctly in the mod_sip_numexpand module in the
sipd.conf file.
• Verify that the translation modules (mod_sip_registry, mod_sip_enum, and mod_sip_gktmp are correctly
configured and have the correct entries populated.
• Verify that the correct routes exist in the static routing table of the sipd.conf file.
• Verify that the DNS server is configured for DNS SRV and DNS A records of the devices to be routed.
• View the error_log file for error messages (bad SIP messages, process errors, and so forth.).
Cisco SIP Proxy Server Reports That SIP Messages Are Bad
If the Cisco SIP proxy server reports SIP messages as bad, enable the StateMachine debug flag in the sipd.conf
file and view the SIP messages in the error_log file. The error_log file should contain SIP messages that are
received in ASCII format. Check the SIP headers of those messages against the headers defined in RFC 2543 or
check the SDP information against the information defined in RFC 2327.
05/08/11 425
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• Verify that all members of the farm have the same sipd.conf file configuration.
• Verify that all members of the farm have an entry for the other farm members defined in the
Cisco_Registry_Farm_Members directive in their sipd.conf file.
• Verify that all members of the farm are running the same version of the Cisco SIP proxy server.
• Verify that all members of the farm are synchronized to the same clock source through Network Time
Protocol (NTP).
05/08/11 426
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 SIP Message
Structure
• 2 Requests
• 3 Responses
• 4 Registration
Process
• 5 Invitation
Process
• A start line
• One or more header fields
• An empty line
• A message body (optional)
Requests
SIP uses six types (methods) of requests:
05/08/11 427
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Responses
The following types of responses are used by SIP and generated by the Cisco SIP proxy server:
Registration Process
A registration occurs when a client needs to inform a proxy or redirect server of its location. During this process,
the client sends a REGISTER request to the proxy or redirect server and includes the address (or addresses) at
which it can be reached.
Invitation Process
An invitation occurs when one SIP endpoint (user A) "invites" another SIP endpoint (user B) to join in a call.
During this process, user A sends an INVITE message requesting that user B join a particular conference or
establish a two-party conversation. If user B wants to join the call, it sends an affirmative response (SIP 2xx).
Otherwise, it sends a failure response (SIP 4xx). Upon receiving the response, user A acknowledges the response
with an ACK message. If user A no longer wants to establish this conference, it sends a BYE message instead of
an ACK message.
Note: For examples of SIP call flows, refer to the Cisco SIP Proxy Server Administrator Guide.
05/08/11 428
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Table: H.323 and SIP Standard Category With Corresponding Q.850 Cause Code Information
Q.850
Standard Category
Standard Category Cause Q.850 Release Cause Description
Description
Code
Typical scenarios include:
Indicates that the destination requested by
Unallocated • The number is not in
1 the calling user cannot be reached because
(unassigned) number the routing table, or it
the number is unassigned.
has no path across the
ISDN network.
Typical scenarios include:
05/08/11 429
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 430
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 431
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 432
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 433
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 434
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
A suspended call • Call ID mismatch Indicates a call resume has been attempted
exists, but this call with a call identity which differs from that
identity does not in use for any presently suspended calls.
Typical scenarios include: Indicates that the network has received a call
Call identity in use 84 suspended request containing a call identity
• Equipment error. which is already in use for a suspended call.
Indicates that the network has received a call
Typical scenarios include:
resume request containing a call identity
No call suspended 85
information element which does not indicate
• Equipment error.
any suspended call.
Typical scenarios include:
Indicates that the network has received a call
Call having the
identity information element indicating a
requested call identity • Network timeout 86
suspended call that has in the meantime
has been cleared • Call cleared by remote
been cleared wile suspended.
user.
Typical scenarios include:
User is not a member Indicates that the called user for the
of Closed User Group 87 incoming CUG call is not a member of the
• Caller is not
(CUG) specified CUG.
authorized.
Typical scenarios include:
05/08/11 435
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• No H.323 call
CC_CAUSE_RECOVERY_ON_
proceeding
TIMER_EXPIRY
• No H.323 alerting or
Call setup timeout connect message
102
failure received from the
Indicates that a procedure has been initiated
terminating gateway
by the expiration of a timer in association
• Invite expires timer
with error handling procedures.
reached maximum
number of retries
allowed
05/08/11 436
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 437
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Two basic MGCP constructs are endpoints and connections. An endpoint is a source or sink for call data (RTP/IP)
that is flowing through the gateway. A common type of endpoint is found at the physical interface between the
POTS or PSTN service and the gateway; this type of endpoint might be an analog voice port or a digital DS0
group. There are other types of endpoints as well, and some are logical rather than physical. An endpoint is
identified by a two-part endpoint name that contains the name of the entity on which it exists (for example, an
access server or router) and the local name by which it is known (for example, a port identifier).
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 Call Agents
♦ 1.1 Figure: MGCP
Network Model
• 2 MGCP Gateway Call Flow
♦ 2.1 Figure: MGCP Call
Flow Topology
♦ 2.2 User Access
Verification
• 3 Troubleshooting Guidelines
Call Agents
Call agents manage call flow using standard MGCP commands that are sent to the endpoints under their control.
The commands are delivered in standard ASCII text, and can contain session descriptions transmitted in Session
Description Protocol (SDP), a text-based protocol. These messages are sent over IP/UDP.
Call agents keep track of endpoint and connection status through the gateway's reporting of standard events that
are detected from endpoints and connections. Call agents also direct gateways to apply certain standard signals
when a POTS/PSTN connection expects them. For example, when someone picks up a telephone handset, an
off-hook event is detected on an endpoint on the residential gateway to which the telephone is connected. The
gateway reports the event to a call agent, which orders the gateway to apply the dial-tone signal to the endpoint
reporting the off-hook event. The person picking up the handset hears dial tone.
Figure: MGCP Network Model shows a hypothetical MGCP network with both residential and trunking
gateways. The residential gateway has telephone sets connected to the gateway's FXS voice ports. MGCP or NCS
over IP/UDP is used for call control and reporting to the call agent, and Real-time Transmission Protocol (RTP) is
used to transmit the actual voice data.
Figure: MGCP Network Model also shows two trunking gateways with T1 (or E1) connections to the PSTN.
Incoming time-division multiplexing (TDM) data is sent through the gateway into the packet network through the
05/08/11 438
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
use of RTP. MGCP or TGCP over IP/UDP is used for call control and reporting to the call agent. Signaling
System 7 (SS7) data travels a different route, however, bypassing the trunking gateway entirely in favor of a
specialized signaling gateway, where the signaling data is transformed to ISUP/IP format and relayed to the call
agent. Communication between two signaling gateways in the same packet network can be done with ISUP/IP,
H.323, or Session Initiation Protocol (SIP).
05/08/11 439
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Router#
Router#show log
Syslog logging: enabled (0 messages dropped, 1 messages rate-limited, 0 flushes,
0 overruns, xml disabled)
Console logging: level debugging, 280 messages logged, xml disabled
Monitor logging: level debugging, 109 messages logged, xml disabled
Buffer logging: level debugging, 69 messages logged, xml disabled
Logging Exception size (4096 bytes)
Count and timestamp logging messages: disabled
Trap logging: level informational, 39 message lines logged
Log Buffer (10000000 bytes):
The FXS port goes off hook and notifies the CallAgent of the status through observed event. Here, the MGCP
packet is sent by the gateway.
The CallAgent directs the port to provide the dial tone and requests a notification if there is any change of events
such as a port disconnect or digits received.
The FXS port (endpoint) notifies the Call Agent about the digits that it received.
05/08/11 440
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
*Mar 1 02:16:33.607: send_mgcp_msg, MGCP Packet sent to 172.6.104.54
*Mar 1 02:16:33.607: 200 41 OK
*Mar 1 02:16:35.655: send_mgcp_msg, MGCP Packet sent to 172.6.104.54
*Mar 1 02:16:35.655: NTFY 188 AALN/S1/SU0/0@Router MGCP 0.1
X: 1d
O: D/0
*Mar 1 02:16:35.659: MGCP Packet received from 172.6.104.54-
200 188
*Mar 1 02:16:37.275: send_mgcp_msg, MGCP Packet sent to 172.6.104.54
*Mar 1 02:16:37.275: NTFY 189 AALN/S1/SU0/0@Router MGCP 0.1
X: 1d
O: D/0
*Mar 1 02:16:37.279: MGCP Packet received from 172.6.104.54-
200 189
*Mar 1 02:16:38.815: send_mgcp_msg, MGCP Packet sent to 172.6.104.54
*Mar 1 02:16:38.815: NTFY 190 AALN/S1/SU0/0@Router MGCP 0.1
X: 1d
O: D/1
<---
*Mar 1 02:16:38.819: MGCP Packet received from 172.6.104.54-
200 190
*Mar 1 02:16:38.839: MGCP Packet received from 172.6.104.54-
CRCX 42 AALN/S1/SU0/0@Router MGCP 0.1
C: A00000000200001d
X: 1e
M: inactive
R: L/hu
Q: process,loop
*Mar 1 02:16:38.851: send_mgcp_msg, MGCP Packet sent to 172.6.104.54
*Mar 1 02:16:38.851: 200 42 OK
I: 4
v=0
c=IN IP4 172.16.13.41
m=audio 19156 RTP/AVP 0 8 99 101 102 2 15 103 4 104 105 106 107 18 100
a=rtpmap:99 G.729a/8000
a=rtpmap:101 G.726-16/8000
a=rtpmap:102 G.726-24/8000
a=rtpmap:103 G.723.1-H/8000
a=rtpmap:104 G.723.1-L/8000
a=rtpmap:105 G.729b/8000
a=rtpmap:106 G.723.1a-H/8000
a=rtpmap:107 G.723.1a-L/8000
a=rtpmap:100 X-NSE/8000
a=fmtp:100 200-202
a=X-sqn:0
a=X-cap: 1 audio RTP/AVP 100
a=X-cpar: a=rtpmap:100 X-NSE/8000
a=X-cpar: a=fmtp:100 200-202
a=X-cap: 2 image udptl t38
<---
*Mar 1 02:16:38.855: MGCP Packet received from 172.6.104.54-
RQNT 43 AALN/S1/SU0/0@Router MGCP 0.1
X: 1f
R: L/hu
S: G/rt
Q: process,loop
At this time the call is sent to the IP Phone. The CA directs the IP Phone to start playing ringbacks.
05/08/11 441
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
*Mar 1 02:16:38.859: 200 43 OK
<---
*Mar 1 02:16:46.159: MGCP Packet received from 172.6.104.54-
MDCX 44 AALN/S1/SU0/0@Router MGCP 0.1
C: A00000000200001d
I: 4
X: 20
L: p:20, a:PCMU, s:off
M: recvonly
R: L/hu
Q: process,loop
*Mar 1 02:16:46.167: send_mgcp_msg, MGCP Packet sent to 172.6.104.54
*Mar 1 02:16:46.167: 200 44 OK
<---
*Mar 1 02:16:46.171: MGCP Packet received from 172.6.104.54-
RQNT 45 AALN/S1/SU0/0@Router MGCP 0.1
X: 21
R: L/hu, D/[0-9ABCD*#], L/hf
S:
Q: process,loop
*Mar 1 02:16:46.175: send_mgcp_msg, MGCP Packet sent to 172.6.104.54 ---> </nowiki>
*Mar 1 02:16:46.175: 200 45 OK
*Mar 1 02:16:46.179: MGCP Packet received from 172.6.104.54-
MDCX 46 AALN/S1/SU0/0@Router MGCP 0.1
C: A00000000200001d
I: 4
X: 22
L: p:20, a:PCMU, s:off
M: sendrecv
R: L/hu, L/hf, D/[0-9ABCD*#]
S:
Q: process,loop
v=0
o=- 4 0 IN EPN AALN/S1/SU0/0@Router
s=Cisco SDP 0
t=0 0
c=IN IP4 10.17.179.33
m=audio 28390 RTP/AVP 96
a=rtpmap:96 PCMU
*Mar 1 02:16:46.187: send_mgcp_msg, MGCP Packet sent to 172.6.104.54
*Mar 1 02:16:46.191: 200 46 OK
Now the call is answered. Note that media is cut in both directions.After about 12 seconds the called party on the
IP Phone drops the call.
05/08/11 442
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
S:
Q: process,loop
*Mar 1 02:16:58.383: send_mgcp_msg, MGCP Packet sent to 172.6.104.54
*Mar 1 02:16:58.383: 250 48 OK
P: PS=608, OS=97280, PR=604, OR=96640, PL=0, JI=64, LA=0
*Mar 1 02:17:01.403: MGCP Packet received from 172.6.104.54-
RQNT 49 AALN/S1/SU0/0@Router MGCP 0.1
X: 25
R: L/hu, D/[0-9ABCD*#]
S: L/dl
Q: process,loop
Since this call was made from an FXS phone the calling party hears a dial tone
Troubleshooting Guidelines
The following suggestions help with troubleshooting:
• Reset the MGCP statistical counters with the clear mgcp statistics command.
• If RTP traffic is not getting through, make sure IP routing is enabled. Use the show rtp statistics
command, then turn on the debug ip udp command and track down the MGCP RTP packets.
• If an RSIP message is not received by the call agent, make sure that the mgcp call-agent command or the
MGCP profile call-agent command is configured with the correct call agent name or IP address and UDP
port. Use the show mgcp command or the show mgcp profile command to display this information:
05/08/11 443
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
...
Router# show mgcp profile
MGCP Profile nycprofile
Description: NY branch office configuration
Call-agent: 10.14.2.200 Initial protocol service is MGCP, v. 1.0
...
• If an MGCP message is rejected, it might be because the remote media gateway does not support SDP
mandatory parameters (the o=, s=, and t= lines). If this is the case, configure the mgcp sdp simple
command to send SDP messages without those parameters.
• If you notice problems with voice quality, make sure that the cptone (voice-port configuration) command
is set for the correct country code. Capturing RTP packets from the sniffer might help to debug the
problem; you can decide such questions as whether the payload type or timestamps are set correctly.
• To check operation of interfaces, use the show interface command.
• To view information about activity on the T1 or E1 line, use the show controllers command. Alarms, line
conditions, and other errors are displayed. The data is updated every 10 seconds; and every 15 minutes,
the cumulative data is stored and retained for 24 hours.
• When necessary, you can enable debug traces for errors, events, media, packets, and parser. The
command debug mgcp packets can be used to monitor message flow in general. Note that there is
always a performance penalty when using debug commands. The sample output below shows the use of
the optional input-hex keyword to enable display of hexadecimal values.
05/08/11 444
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
To troubleshoot xGCP call routing, see the following sections:
Contents
• 1 Verifying Digits Received and Sent on the POTS Call
Leg
♦ 1.1 show dialplan number
♦ 1.2 debug vtsp dsp
• 2 Verifying End-to-End VoIP Signaling on the VoIP
Call Leg
• show dialplan number-This command is used to show which dial peer is reached when a particular
telephone number is dialed.
• debug vtsp session-This command displays information on how each network indication and application
request is processed, signaling indications, and DSP control messages.
• debug vtsp dsp -This command displays the digits as they are received by the voice port.
• debug vtsp all-This command enables the following debug voice telephony service provider (VTSP)
commands: debug vtsp session, debug vtsp error, and debug vtsp dsp.
05/08/11 445
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Macro Exp.: 5000
VoiceOverIpPeer2
information type = voice,
tag = 2, destination-pattern = `5000',
answer-address = `', preference=0,
group = 2, Admin state is up, Operation
state is up,
incoming called-number = `',
connections/maximum = 0/unlimited,
application associated:
type = voip, session-target =
`ipv4:192.168.10.2',
technology prefix:
ip precedence = 5, UDP checksum =
disabled, session-protocol = cisco,
req-qos = best-effort,
acc-qos = best-effort,
dtmf-relay = cisco-rtp,
fax-rate = voice,
payload size = 20 bytes
codec = g729r8,
payload size = 20 bytes,
Expect factor = 10, Icpif = 30,
signaling-type = cas,
VAD = enabled, Poor QOV Trap = disabled,
Connect Time = 25630, Charged Units = 0,
Successful Calls = 25, Failed Calls = 0,
Accepted Calls = 25, Refused Calls = 0,
Last Disconnect Cause is "10 ",
Last Disconnect Text is "normal call
clearing.",
Last Setup Time = 84427934.
Matched: 5000 Digits: 4
Target: ipv4:192.168.10.2
05/08/11 446
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
MSG_TX_DTMF_DIGIT_BEGIN: digit=0
*Mar 10 17:57:10.825: vtsp_process_dsp_message:
MSG_TX_DTMF_DIGIT_OFF: digit=0,
duration=180
*Mar 10 17:57:12.865: vtsp_process_dsp_message:
MSG_TX_DTMF_DIGIT_BEGIN: digit=0
*Mar 10 17:57:12.917: vtsp_process_dsp_message:
MSG_TX_DTMF_DIGIT_OFF: digit=0,
duration=100
Router# debug vtsp session
Voice telephony call control session debugging is on
!--- <some output have been omitted>
!-- ACTION: Caller picked up handset.
!-- The DSP is allocated, jitter buffers, VAD
!-- thresholds, and signal levels are set.
*Mar 10 18:14:22.865: dsp_set_playout: [1/0/0 (69)]
packet_len=18 channel_id=1 packet_id=76 mode=1
initial=60 min=4 max=200 fax_nom=300
*Mar 10 18:14:22.865: dsp_echo_canceller_control:
[1/0/0 (69)] packet_len=10 channel_id=1 packet_id=66
flags=0x0
*Mar 10 18:14:22.865: dsp_set_gains: [1/0/0 (69)]
packet_len=12 channel_id=1 packet_id=91
in_gain=0 out_gain=65506
*Mar 10 18:14:22.865: dsp_vad_enable: [1/0/0 (69)]
packet_len=10 channel_id=1 packet_id=78
thresh=-38act_setup_ind_ack
*Mar 10 18:14:22.869: dsp_voice_mode: [1/0/0 (69)]
packet_len=24 channel_id=1 packet_id=73 coding_type=1
voice_field_size=80
VAD_flag=0 echo_length=64 comfort_noise=1
inband_detect=1 digit_relay=2
AGC_flag=0act_setup_ind_ack(): dsp_dtmf_mod
e()act_setup_ind_ack: passthru_mode = 0,
no_auto_switchover = 0dsp_dtmf_mode
(VTSP_TONE_DTMF_MODE)
!-- The DSP is put into "voice mode" and dial-tone is
!-- generated.
*Mar 10 18:14:22.873: dsp_cp_tone_on: [1/0/0 (69)]
packet_len=30 channel_id=1 packet_id=72 tone_id=4
n_freq=2 freq_of_first=350 freq_of_second=440 amp_of_first=
4000 amp_of_second=4000 direction=1 on_time_first=65535
off_time_first=0 on_time
_second=65535 off_time_second=0
If you determine that the digits are not being sent or received properly, then you might need to use either a
digit-grabber (test tool) or T1 tester to verify that the digits are being sent at the correct frequency and timing
interval. If they are being sent "incorrectly" for the switch (CO or PBX), some values on the router or switch (CO
or PBX) might need to be adjusted so that they match and the devices can interoperate. These are usually digit
duration and interdigit duration values. If the digits appear to be sent correctly, you can also check any number
translation tables in the switch (CO or PBX) that might be adding or removing digits.
05/08/11 447
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• H.323 is made up of three layers of call-negotiation and call-establishment: H.225, H.245, and H.323.
These protocols use a combination of TCP and UDP to set up and establish a call.
• End-to-End VoIP debugging shows a number of Cisco IOS state-machines, and problems with any
state-machine can cause a call to fail.
• End-to-End VoIP debugging can be very verbose and create a lot of debug output.
05/08/11 448
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
MGCP VoIP call admission control (CAC) has several commands available to analyze call statistics and operation
of applications on the gateway. They are classified into these groups for clarity.
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 Troubleshooting MGCP
• 2 Troubleshooting MGCP SRC
CAC
• 3 Troubleshooting MGCP RSVP
CAC
• 4 Troubleshooting MGCP SA
Agent CAC
Troubleshooting MGCP
To provide information about the operation of the MGCP application, use the following commands in privileged
EXEC mode:
Command Purpose
Displays real-time information about MGCP errors, events, media,
Router# debug mgcp all packets, parser, system resource check (SRC), and VoIP call admission
control (CAC)
Router# debug mgcp errors {endpoint
Displays MGCP errors
endpoint-name}
Router# debug mgcp events {endpoint
Displays MGCP events
endpoint-name}
Router# debug mgcp media {endpoint
Displays MGCP tone and signal information
endpoint-name}
Router# debug mgcp packets Displays MGCP packet information, with input packets optionally in
{endpoint endpoint-name | input-hex} hexadecimal format
Router# debug mgcp parser Displays MGCP parser and builder information
Router# debug mgcp src Displays MGCP SRC CAC information
Turns on debugging messages for the VoIP CAC process at the MGCP
Router# debug mgcp voipcac
application layer
05/08/11 449
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Command Purpose
Displays status of configured triggers or statistics for application
Router# show call threshold
programming interface (API) calls that were made to global and interface
{status [unavailable] | stats}
resources
Router# show mgcp statistics Displays MGCP statistics, including those for MGCP SRC VoIP CAC
Router# clear call threshold stats Clears call threshold statistics
Router# clear mgcp src-stats Clears statistics gathered for MGCP SRC CAC
Router# debug call threshold Displays details of trigger actions
Router# debug mgcp src Provides debug information for MGCP SRC CAC calls
Command Purpose
Router# show call fallback cache Displays a network congestion level check result if one has been cached
Router# show call rsvp-sync stats Displays statistics for calls that attempted RSVP reservation
Router# show call rsvp-sync conf Displays the configuration settings for RSVP synchronization
Router# show ip rsvp reservation Displays the RSVP-related receiver information currently in the database
Router# debug call rsvp-sync
Displays messages about software functions called by RSVP
func-trace
Router# debug call rsvp-sync events Displays events that occur during RSVP setup
Displays detailed information about RSVP-enabled and Subnetwork
Router# debug ip rsvp detail
Bandwidth Manager (SBM) message processing
Command Purpose
Router# show call fallback cache Displays a network congestion level check result if one has been cached
Router# debug call fallback
Verifies that probes are being sent correctly
probes
Router# debug call fallback detail Displays details of the VoIP call fallback
Displays global information about the SA agent feature. There are a number of
Router# show rtr application
other options for the show rtr command; use CLI help to browse a list of
{tabular | full}
choices
05/08/11 450
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 451
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
To verify MGCP-controlled endpoints configured for SS7 and ISDN PRI, use the show mgcp endpoint
command in privileged EXEC mode.
Note: The show mgcp endpoint command does not show configured endpoints for CAS, including FGD-OS.
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
The following example shows MGCP endpoints for a NAS package:
controller T3 9/0
framing m23
cablelength 224
t1 1-8 controller
!
controller T1 9/0:1
framing esf
ds0-group 0 timeslots 1-24 type e&m-fgb mf dnis
!
controller T1 9/0:2
framing esf
ds0-group 0 timeslots 1-24 type e&m-fgb dtmf dnis
!
controller T1 9/0:3
framing esf
ds0-group 0 timeslots 1-24 type e&m-immediate-start
!
controller T1 9/0:4
framing esf
ds0-group 0 timeslots 1-24 type e&m-fgb
!
controller T1 9/0:5
framing esf
pri-group timeslots 1-24 service mgcp
!
controller T1 9/0:6
framing esf
ds0-group 0 timeslots 1-24 type none service mgcp
!
controller T1 9/0:7
framing esf
extsig mgcp
guard-timer 10 on-expiry reject
pri-group timeslots 1-24 service mgcp
!
controller T1 9/0:8
framing esf
extsig mgcp
guard-timer 10 on-expiry reject
ds0-group 0 timeslots 1-24 type none service mgcp
!
05/08/11 452
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• 9/0:5-ISDN backhauling
• 9/0:6-SS7
• 9/0:7-ISDN backhauling with NAS package
• 9/0:8-SS7 with NAS package
05/08/11 453
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 MGCP show Commands
• 2 show ccm-manager
• 3 show mgcp
♦ 3.1 Table: Explanation of Fields in the show mgcp
Command
• 4 show mgcp endpoint
• 5 show mgcp connection
♦ 5.1 Table: Explanation of Fields in the show mgcp
connection Command
• 6 show voice port mod_num/slot_num/port_num
♦ 6.1 Table: Explanation of Fields in the show voice port
Command
• 7 show mgcp statistics
♦ 7.1 Table: Explanation of Fields in the show mgcp
statistics Command
• 8 Other debug mgcp Commands
• show ccm-manager
• show mgcp
• show mgcp endpoint
• show mgcp connection
• show voice port mod_num/slot_num/port_num
• show mgcp statistics
• Other debug mgcp Commands
Details about these commands can be found in the Cisco IOS Voice Command Reference.
05/08/11 454
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
show ccm-manager
If your MGCP network includes Cisco CallManager, use this command to verify the active and redundant
configured Cisco CallManager servers. This command also indicates if the gateway is currently registered with
Cisco CallManager.
Note: The following show ccm-manager command output was captured in a separated environment.
Router# show ccm-manager
MGCP Domain Name: Router
Total number of host: 2
Priority Status Host
============================================================
Primary Registered 10.89.129.210
First backup Backup ready 10.89.129.211
Second backup Undefined
Current active Call Manager: 10.89.129.210
Current backup Call Manager: 10.89.129.211
Redundant link port: 2428
Failover Interval: 30 seconds
Keepalive Interval: 15 seconds
Last keepalive sent: 1d00h (elapsed time: 00:00:03)
Last MGCP traffic time: 1d00h (elapsed time: 00:00:03)
Last switchover time: 04:49:39 from (10.89.129.211)
Switchback mode: Graceful
show mgcp
Use this command to verify the status of the router's MGCP parameters. You should see the IP address of the
server that you are using (172.16.1.252 in this case.) All of the other parameters were left at their default behavior
in this configuration.
05/08/11 455
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Table: Explanation of Fields in the show mgcp Command
05/08/11 456
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
voice-port 1/0/0
voice-port 1/0/1
voice-port 1/1/0
voice-port 1/1/1
VG200A#
Field
Description
Output
The endpoint for each call shown in the digital endpoint naming convention of slot number (S0)
Endpoint
and digital line (DS1-0) number (1).
The MGCP call ID send by the call agent, the internal Call Control Application Programming
Interface (CCAPI) call ID for this endpoint, and the peer call legs CCAPI call ID.
Call_ID(C)
05/08/11 457
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
7-Indicates the gateway should use the circuit for network access for data.
8-Indicates the gateway should place the connection in network loopback mode.
9-Indicates the gateway should place the connection in network continuity test mode.
The following is sample output from the show voice port command for a foreign exchange office (FXO) voice
port:
05/08/11 458
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Playout-delay Maximum is set to 200 ms
Connection Mode is normal
Connection Number is not set
Initial Time Out is set to 10 s
Interdigit Time Out is set to 10 s
Ringing Time Out is set to 180 s
Companding Type is u-law
Region Tone is set for US
Analog Info Follows:
Currently processing none
Maintenance Mode Set to None (not in mtc mode)
Number of signaling protocol errors are 0
Impedance is set to 600r Ohm
Wait Release Time Out is 30 s
Station name None, Station number None
Voice card specific Info Follows:
Signal Type is loopStart
Number Of Rings is set to 1
Supervisory Disconnect active
Hook Status is On Hook
Ring Detect Status is inactive
Ring Ground Status is inactive
Tip Ground Status is inactive
Dial Type is dtmf
Digit Duration Timing is set to 100 ms
InterDigit Duration Timing is set to 100 ms
Pulse Rate Timing is set to 10 pulses/second
InterDigit Pulse Duration Timing is set to 750 ms
Percent Break of Pulse is 60 percent
GuardOut timer is 2000 ms
VG200A#
The following is sample output from the show voice port command for a foreign exchange station (FXS) voice
port:
05/08/11 459
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Maintenance Mode Set to None (not in mtc mode)
Number of signaling protocol errors are 0
Impedance is set to 600r Ohm
Wait Release Time Out is 30 s
Station name None, Station number None
Voice card specific Info Follows:
Signal Type is loopStart
Ring Frequency is 25 Hz
Hook Status is On Hook
Ring Active Status is inactive
Ring Ground Status is inactive
Tip Ground Status is inactive
Digit Duration Timing is set to 100 ms
InterDigit Duration Timing is set to 100 ms
Ring Cadence is defined by CPTone Selection
Ring Cadence are [20 40] * 100 msec
VG200A#
05/08/11 460
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Music On Hold Threshold Configured Music-On-Hold Threshold value for this interface.
Whether or not background noise should be played to fill silent gaps if
Noise Regeneration
VAD is activated.
Number of signaling protocol errors Number of signaling protocol errors.
Non-Linear Processing Whether or not Non-Linear Processing is enabled for this port.
Operations State Operation state of the port.
Operation Type Operation of the E&M signal: 2-wire or 4-wire.
Out Attenuation Amount of attenuation inserted at the transmit side of the interface.
Out Seizure Outgoing seizure state of the E&M interface.
Port Port number for this interface associated with the voice interface card.
Pulse Rate Timing Pulse dialing rate in pulses per second (pps).
Regional Tone Configured regional tone for this interface.
Ring Active Status Ring active indication.
Ring Frequency Configured ring frequency for this interface.
Ring Ground Status Ring ground indication
Type of signaling for a voice port: loop-start, ground-start, wink-start,
Signal Type
immediate, and delay-dial.
Slot Slot used in the voice interface card for this port.
Sub-unit Sub-unit used in the voice interface card for this port.
Tip Ground Status Tip ground indication.
Type of VoicePort Type of voice port: FXO, FXS, and E&M.
The Interface Down Failure Cause Text string describing why the interface is down.
Wink Duration Timing Maximum wink duration for wink start signaling.
Wink Wait Duration Timing Maximum wink wait duration for wink start signaling.
The following is sample output from a 28xx router with IOS 12.4(22)T
05/08/11 461
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
IP address 10.10.14.36, Total msg rx 28349,
successful 28318, failed 30
System resource check is DISABLED. No available statistic
05/08/11 462
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
The number of Delete Connection messages sent by the call agent. Messages
DeleteConn tx ...
received are classified as being successful or failed.
The number of Notify messages received by the call agent from the media
NotifyRequest rx ...
gateway. Messages received are classified as being successful or failed.
The number of Audit Connection messages received from the call agent by the
AuditConnection rx ...
media gateway. Messages received are classified as being successful or failed.
The number of Audit Endpoint messages received from the call agent by the
AuditEndpoint rx ...
media gateway. Messages received are classified as being successful or failed.
The number of Restart In Progress (RSIP) messages transmitted by the call
RestartInProgress tx ...
agent. Messages received are classified as being successful or failed.
The number of Notify messages transmitted by the call agent. Messages
Notify tx ...
received are classified as being successful or failed.
ACK tx ... The number of acknowledgement messages transmitted by the call agent.
The number of negative acknowledgement messages transmitted by the call
NACK tx ...
agent.
ACK rx ... The number of acknowledgement messages received by the gateway.
NACK rx ... The number of negative acknowledgement messages received by the gateway.
IP address The IP address of the call agent.
The total number of messages received by the gateway. Messages received are
Total msg rx ...
classified as being successful or failed.
05/08/11 463
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
To troubleshoot and resolve Voice over Frame Relay configuration issues, perform the following tasks:
• If no calls are going through, ensure that the frame-relay voice bandwidth command is configured.
• If VoFR is configured on a PVC and there are problems with data connectivity on that PVC, ensure that
the frame-relay fragment command has been configured.
• If data is not being transmitted but fragmentation is configured, ensure that Frame Relay traffic shaping is
turned on.
• If the problem is with the dial plan or the dial peers, use the show dial-plan number command with the
argument dial string to display which dial peers are being used when a specific number is called.
• If there are problems connecting an FRF.11 trunk call, ensure that the session protocol command in dial
peer configuration is set to frf11-trunk.
• If FRF.11 trunk calls on the Cisco 2600 or Cisco 3600 series routers are being configured, verify that the
called-number vofr command in dial peer configuration is configured and that its number matches the
destination pattern of the corresponding POTS dial peer.
• Ensure that the voice port is set to no shutdown.
• Ensure that the serial port or the T1/E1 controller is set to no shutdown.
• Toggle the voice port by first entering shutdown and then no shutdown every time the connection
trunk or no connection trunk command is entered.
Check the validity of the Voice over Frame Relay configuration by performing the following tasks:
• Enter the show frame-relay pvc command to show the status of the PVCs.
• Enter the show frame-relay vofr command with the arguments interface, dlci, cid to show statistics and
information on the open subchannels.
• Enter the show frame-relay fragment command with the arguments interface number and dlci to show
the Frame Relay fragmentation configuration.
• Enter the show traffic-shape queue command to display the traffic-shaping information if Frame Relay
traffic shaping is configured. The queue option displays the queueing statistics. For more information
about traffic shaping, refer to Frame Relay Traffic Shaping for VoIP and VoFR, document 14073.
05/08/11 464
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
This article provides information you can use to confirm that your VoFR configuration with QoS is working
properly.
Certain show commands are supported by the Output Interpreter Tool (registered customers only), which allows
you to view an analysis of show command output.
• show policy-map interface serial interface#-This command is useful for viewing the LLQ operation and
any drops in the PQ.
• show policy-map policy_map_name-Displays information about the policy-map configuration.
• show queue interface-type interface-number-Lists fair queueing configuration information and statistics
for a particular interface.
• debug priority-Displays PQ events and shows whether dropping occurs in this queue.
• show class-map class_name-Displays information about the class-map configuration.
• show call active voice-Used to check for lost packets at the DSP level.
• show frame-relay ip rtp header-compression-Displays RTP header compression statistics.
For more information about low-latency queueing for VoFR, refer to the VoIP QoS for Frame Relay to ATM
Interworking with LLQ, PPP LFI and cRTP, document 22383.
Fragmentation Commands
Use the following debug and show commands to verify and troubleshoot fragmentation configurations.
• show frame-relay fragment-Displays information about the Frame Relay fragmentation taking place in
the Cisco router.
• debug frame-relay fragment-Displays event or error messages related to Frame Relay fragmentation. It
is enabled at the PVC level on the selected interface.
05/08/11 465
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• show traffic-shape queue interface-Displays information about the elements queued at the VC data-link
connection identifier (DLCI) level. The command is used to verify the operation of IP RTP priority over
Frame-Relay. When the link is congested, voice flows are identified with a weight of zero. This indicates
that the voice flow is using the PQ.
• show traffic-shape-Displays information such as Tc, Bc, Be, and CIR configured values.
• show frame-relay pvc dlci-#-Displays information such as traffic shaping parameters, fragmentation
values, and dropped packets.
For more information about VoIP over Frame Relay with quality of service (QoS), refer to VoIP over Frame
Relay with Quality of Service (Fragmentation, Traffic Shaping, LLQ / IP RTP Priority), document 12156.
05/08/11 466
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
When you are troubleshooting the traffic-shaping and prioritization for a VoIP over Frame Relay network with
hub and spoke topology, the configuration of the hub is such that there are two permanent virtual circuits (PVCs)
for each remote spoke, and both data and voice are sent over both PVCs.
Note: The prioritization and fragmentation discussed in this document applies not only to this scenario but
also to a scenario where you may have one PVC with voice and data and another with only data. The
data PVCs need to be traffic-shaped just as the voice and data PVCs are. This is because when a single
physical pipe is shared, in this case at the hub, the serialization delay affects all data items, regardless of
the PVC they are destined for.
The following debug commands can help you troubleshoot traffic-shaping and prioritization for VoIP over Frame
Relay.
• debug priority-Displays PQ events and indicates whether dropping occurs in this queue. Frame Relay is
a special case with respect to policing the priority queue. The PQ is policed to ensure that the fair queues
are not starved of bandwidth. When you configure the PQ, you specify in kbps the maximum amount of
bandwidth available to that queue. Packets that exceed that maximum are dropped. Originally, the priority
queue of a service-policy configured in a Frame Relay map class was policed during periods of
congestion and noncongestion. Cisco IOS Release 12.2 removes this exception. PQ is still policed with
FRF.12, but other nonconforming packets are only dropped if there is congestion.
• debug frame-relay fragment-Displays event or error messages related to Frame Relay fragmentation.
The command is only enabled at the PVC level on the selected interface.
05/08/11 467
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Displaying fragments/packets on interface Serial2/0 dlci 100 only
Serial2/0(i): dlci 100, rx-seq-num 126, exp_seq-num 126, BE bits set, frag_hdr 04 C0 7E
Serial2/0(o): dlci 100, tx-seq-num 82, BE bits set, frag_hdr 04 C0 52
For more information about VoIP over Frame Relay with Multipoint PVCs and Prioritization, refer to VoIP over
Frame Relay with Multipoint PVCs and Prioritization, document 12162.
05/08/11 468
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
• Pick up the telephone handset and verify that there is a dial tone.
• Call from a local telephone to the configured dial peer and verify that the call completes.
To verify the FXO-FXS trunk calls to a remote PBX, perform the following tasks:
• Pick up the telephone and listen for a dial tone from the remote PBX.
• Dial a telephone number, so that the remote PBX routes the call.
• Check the validity of the dial peer and voice port configuration by performing the following tasks:
♦ Enter the show dial-peer voice command to verify that the data configured is correct.
♦ Enter the show dial-peer voice summary command to check the validity of the dial peer
configurations.
♦ Enter the show voice port command to show the status of the voice ports.
♦ Enter the show call active voice with the keyword brief to show the call status for all voice ports.
♦ Enter the show voice call command to check the validity of the voice port configuration.
♦ Enter the show voice dsp command to show the current status of all DSP voice channels.
♦ Enter the show voice permanent command to show the status of Cisco trunk permanent calls.
♦ Enter the show call history command to show the active call table.
• Check the validity of the VoFR configuration on the DLCI by entering the show frame-relay vofr
command to show the VoFR configuration.
Command Purpose
Router# show frame-relay pvc Displays statistics about PVCs for Frame Relay interfaces.
Router# debug frame-relay switching Displays debug messages for switched Frame Relay PVCs.
05/08/11 469
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Command Purpose
Router# show call active voice [brief] Displays the active call table.
Router# show call history voice [last number] |
Displays the call history table.
[brief]
or
Router# show call history voice record
Displays configuration information and call statistics for dial
Router# show dial-peer voice
peers.
Displays information about the Frame Relay fragmentation
Router# show frame-relay fragment
taking place in the Cisco router.
Router# show frame-relay pvc Displays statistics about PVCs for Frame Relay interfaces.
Displays the FRF.11 subchannel information on VoFR
Router# show frame-relay vofr
DLCIs.
Router# show interfaces serial Displays information about a serial interface.
Displays information about the elements queued at a
Router# show traffic-shape queue
particular time at the VC (DLCI) level.
Displays information about the permanent calls on a voice
Router# show voice permanent-call
interface.
05/08/11 470
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Tcl IVR Version 2.0 uses Tcl scripts to gather data and to process accounting information. For example, a Tcl
IVR script can play an audio prompt that asks callers to enter a specific type of information, such as a personal
identification number (PIN). After playing the audio prompt, the Tcl IVR application collects the predetermined
number of touch tones and sends the collected information to an external server for caller authentication and
service authorization.
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 IVR Call Leg
• 2 Testing and Debugging Your Script
• 3 Loading Your Script
• 4 Associating Your Script with an Inbound
Dial Peer
• 5 Displaying Information About IVR Scripts
• 6 Using URLs in IVR Scripts
♦ 6.1 URLs for Loading the IVR Script
♦ 6.2 URLs for Loading Audio Files
• 7 Tips for Using Your Tcl IVR Script
05/08/11 471
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
For information on developing Tcl scripts for voice applications, refer to the TCL IVR API Version 2.0
Programmer's Guide.
You can view debugging information applicable to the Tcl IVR scripts that are running on the router. The debug
voip ivr command allows you to specify the type of debug output you want to view. To view debug output, enter
the following command in privileged-EXEC mode:
[no] debug voip ivr {states | error | tclcommands | callsetup | digitcollect | script |
dynamic | applib | settlement | all}
For more information about the debug voip ivr command, see the Cisco IOS Debug Command Reference.
The output of any Tcl puts commands is displayed if script debugging is on.
• An unknown or misspelled command (for example, if you misspell media play as mediaplay)
• A syntax error (such as, specifying an invalid number of arguments)
• Executing a command in an invalid state (for example, executing the media pause command when no
prompt is playing)
05/08/11 472
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• Using an information tag (info-tag) in an invalid scope (for example, specifying evt_dcdigits when not
handling the ev_collectdigits_done event).
In most cases, an error such as these causes the underlying infrastructure to disconnect the call legs and clean up.
After you associate an application with your Tcl IVR script, use the following command to configure parameters:
In this command:
• application_name specifies the name of the Tcl application that the system is to use for the calls
configured on the inbound dial peer. Enter the name to be associated with the Tcl IVR script.
• script_url is the pathname where the script is stored. Enter the pathname of the storage location first and
then the script filename. Tcl IVR scripts can be stored in Flash memory or on a server that is acceptable
using a URL, such as a TFTP server.
• parameter value allows you to configure values for specific parameters, such as language or PIN length.
For more information about the call application voice command, refer to the Interactive Voice Response Version
2.0 on Cisco VoIP Gateways document.
In the following example, the application named "test" is associated with the Tcl IVR script called newapp.tcl,
which is located at tftp://keyer/debit_audio/:
Note: If the script cannot be loaded, it is placed in a retry queue and the system periodically retries to load it.
If you modify your script, you can reload it using only the script name: (config)# call application voice
load script_name
For more information about using the call application voice and call application voice load commands, refer to
the Cisco IOS Tcl IVR and VoiceXML Application Guide. For more information about these commands, refer to
the Cisco IOS Voice Command Reference.
05/08/11 473
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
(conf-dial-peer)# application application_name
In these commands:
• number uniquely identifies the dial peer. (This number has local significance only.)
• destination_number specifies the destination telephone number. Valid entries are any series of digits that
specify the E.164 telephone number.
• application_name is the abbreviated name that you assigned when you loaded the application.
For example, the following commands indicate that the application called "newapp" should be invoked for calls
that come in from an IP network and are destined for the telephone number of 125.
For more information about inbound dial peers, refer to Dial Peer Configuration on Voice Gateway Routers and
the Cisco IOS Tcl IVR and VoiceXML Application Guide.
In this command:
• name indicates the name of the desired IVR application. If you enter the name of a specific application,
the system supplies information about that application.
• summary indicates that you want to view summary information. If you specify the summary keyword, a
one-line summary is displayed about each application. If you omit this keyword, a detailed description of
the specified application is displayed.
The following is example output of the show call application voice command:
05/08/11 474
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
# This tcl script mimics the default SESSION app
#
#
# If DID is configured, just place the call to the dnis
# Otherwise, output dial-tone and collect digits from the
# caller against the dial-plan.
#
# Then place the call. If successful, connect it up, otherwise
# the caller should hear a busy or congested signal.
# The main routine just establishes the state machine and then exits.
# From then on the system drives the state machine depending on the
# events it receives and calls the appropriate tcl procedure
#---------------------------------
# Example Script
#---------------------------------
proc init { } {
global param
set param(interruptPrompt) true
set param(abortKey) *
set param(terminationKey) #
}
proc act_Setup { } {
global dest
global beep
set beep 0
leg setupack leg_incoming
if { [infotag get leg_isdid] } {
set dest [infotag get leg_dnis]
leg proceeding leg_incoming
leg setup $dest callInfo leg_incoming
fsm setstate PLACECALL
} else {
playtone leg_incoming tn_dial
set param(dialPlan) true
leg collectdigits leg_incoming param
}
}
proc act_GotDest { } {
global dest
set status [infotag get evt_status]
if { $status == "cd_004" } {
set dest [infotag get evt_dcdigits]
leg proceeding leg_incoming
leg setup $dest callInfo leg_incoming
} else {
puts "\nCall [infotag get con_all] got event $status while placing an outgoing
call"
call close
}
}
proc act_CallSetupDone { } {
global beep
set status [infotag get evt_status]
if { $status == "CS_000"} {
set creditTimeLeft [infotag get leg_settlement_time leg_outgoing]
if { ($creditTimeLeft == "unlimited") ||
($creditTimeLeft == "uninitialized") } {
puts "\n Unlimited Time"
} else {
# start the timer for ...
if { $creditTimeLeft < 10 } {
set beep 1
05/08/11 475
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
set delay $creditTimeLeft
} else {
set delay [expr $creditTimeLeft - 10]
}
timer start leg_timer $delay leg_incoming
}
} else {
puts "Call [infotag get con_all] got event $status collecting destination"
call close
}
}
proc act_Timer { } {
global beep
global incoming
global outgoing
set incoming [infotag get leg_incoming]
set outgoing [infotag get leg_outgoing]
if { $beep == 0 } {
#insert a beep ...to the caller
connection destroy con_all
set beep 1
} else {
media play leg_incoming flash:out_of_time.au
fsm setstate CALLDISCONNECTED
}
}
proc act_Destroy { } {
media play leg_incoming flash:beep.au
}
proc act_Beeped { } {
global incoming
global outgoing
connection create $incoming $outgoing
}
proc act_ConnectedAgain { } {
timer start leg_timer 10 leg_incoming
}
proc act_Ignore { } {
# Dummy
puts "Event Capture"
}
proc act_Cleanup { } {
call close
}
init
#----------------------------------
# State Machine
#----------------------------------
set TopFSM(any_state,ev_disconnected) "act_Cleanup,same_state"
set TopFSM(CALL_INIT,ev_setup_indication) "act_Setup,GETDEST"
set TopFSM(GETDEST,ev_digitcollect_done) "act_GotDest,PLACECALL"
set TopFSM(PLACECALL,ev_setup_done) "act_CallSetupDone,CALLACTIVE"
set TopFSM(CALLACTIVE,ev_leg_timer) "act_Timer,INSERTBEEP"
set TopFSM(INSERTBEEP,ev_destroy_done) "act_Destroy,same_state"
set TopFSM(INSERTBEEP,ev_media_done) "act_Beeped,same_state"
set TopFSM(INSERTBEEP,ev_create_done) "act_ConnectedAgain,CALLACTIVE"
set TopFSM(CALLACTIVE,ev_disconnected) "act_Cleanup,CALLDISCONNECTED"
set TopFSM(CALLDISCONNECTED,ev_disconnected) "act_Cleanup,same_state"
set TopFSM(CALLDISCONNECTED,ev_media_done) "act_Cleanup,same_state"
set TopFSM(CALLDISCONNECTED,ev_media_done) "act_Cleanup,same_state"
set TopFSM(CALLDISCONNECTED,ev_disconnect_done) "act_Cleanup,same_state"
set TopFSM(CALLDISCONNECTED,ev_leg_timer) "act_Cleanup,same_state"
05/08/11 476
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
fsm define TopFSM CALL_INIT
Note: There is a limit of 32 entries in Flash memory, so you may not be able to copy all your audio files into
Flash memory.
• flash:myscript.tcl-The script called myscript.tcl is being loaded from Flash memory on the router.
• slot0:myscript.tcl-The script called myscript.tcl is being loaded from a device in slot 0 on the router.
• tftp://BigServer/myscripts/betterMouseTrap.tcl-The script called myscript.tcl is being loaded from a
server called BigServer in a directory within the tftpboot directory called myscripts.
• For static prompts, you can use the IFS-supported URLs as described in the URLs for Loading the IVR
Script.
• For dynamic prompts, the URL is created by the software, using information from the parameters
specified for the media play command and the language CLI configuration command.
• How do I get information from my RADIUS server to the Tcl IVR script?
After you have performed an authentication and authorization, you can use the infotag get command to
obtain the credit amount, credit time, and cause codes maintained by the RADIUS server.
When an error is encountered in the script, the call is cleared with a cause of TEMPORARY_FAILURE
(41). If the IVR application has already accepted the incoming call, the caller hears silence. If the script
has not accepted the incoming call, the caller might hear a fast busy signal.
If the script exits with an error and IVR debugging is on (as described in the Testing and Debugging Your
Script), the location of the error in the script is displayed at the command line.
05/08/11 477
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 478
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
The Media Inactive Call Detection feature enhances Cisco IOS behavior for disconnecting a call when an inactive
condition is detected. The former behavior automatically disconnected inactive calls. The current feature provides
more control for managing these calls.
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 Media Inactive Call Detection Overview
• 2 Prerequisites for Media Inactive Call Detection
• 3 Restrictions for Media Inactive Call Detection
• 4 Information about Media Inactive Call Detection
♦ 4.1 Improved Functionality of Media Inactive
Call Detection
◊ 4.1.1 Legacy Functionality
◊ 4.1.2 Current Functionality
♦ 4.2 Modifications to Information Tags and
Internal Error Codes
◊ 4.2.1 evt_feature_report
◊ 4.2.2 evt_feature_type
◊ 4.2.3 evt_feature_param
◊ 4.2.4 media_timer_factor
◊ 4.2.5 media_inactivity_err
• 5 Configuring Media Inactive Call Detection
♦ 5.1 SUMMARY STEPS
♦ 5.2 DETAILED STEPS
• 6 Output Examples for Media Inactive Call Detection
♦ 6.1 show call active voice brief Command:
Example
♦ 6.2 show running config Command: Example
♦ 6.3 Sample Tcl IVR script
05/08/11 479
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• Use additional filters to display one or more calls detected and reported as inactive
• Manually release a call by entering the called number, the calling number, or the call ID
The Media Inactive Call Detection feature enables a system administrator to view all detected inactive calls that
have been reported to the Tcl script. An internal error code (IEC) is generated when an inactive call is requested
to be cleared via the CLI command.
To enable the Media Inactive Call Detection feature, set the information tag evt_feature_report using
media_inactivity type. For example:
Legacy Functionality
This functionality is an enhancement to the pre-existing Media Inactivity Timer feature, which enables gateways
to monitor and disconnect VoIP calls if no RTCP packets are received within a configurable time period.
05/08/11 480
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
The Media Inactivity Timer feature requires the configuration of the Cisco IOS ip rtcp report interval command
and the timer receive-rtcp command to enable detection of RTCP packets by the gateway. When these
commands are configured, the gateway uses RTCP report detection, rather than RTP packet detection, to
determine whether calls on the gateway are still active or should be disconnected.
If no RTCP packets are received in the resulting time period, the call is disconnected.
The ip rtcp report interval command configures the RTCP reporting interval in milliseconds in the range of 1 to
65535. The timer receive-rtcp command configures the multiplier in the range of 2 to 1000. These values can be
adjusted depending on network traffic conditions. Under normal conditions, a value of 5000 for the ip rtcp report
interval and a value of 5 for the timer receive-rtcp are typical.
Current Functionality
• The show call active command indicates that a call has no RTP or RTCP inactivity.
• The clear call command offers options so that an inactive call can be released using the called number or
calling number. The clear call command has also been enhanced to configure the Q.850 release cause
code to be used when the call is released.
• evt_feature_report
• evt_feature_type
• evt_feature_param
• media_timer_factor
• media_inactivity_err
For more detailed information, refer to the Cisco IOS Tcl IVR and VoiceXML Application Guide and the TCL
IVR API Version 2.0 Programming Guide.
evt_feature_report
This existing tag has a new event name (media_inactivity) added for the Tcl script to request notification of
media inactivity detection.
Description
05/08/11 481
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Syntax
Mode
Write
Scope
ev_feature
Return Type
None
Direct Mapping
None
Event Names:
fax
modem
modem_phase
hookflash
onhook
offhook
media_inactivity
Example
The following example enables hookflash and disable fax and modem feature events to be received by the
script:
infotag set evt_feature_report hookflash nofax no modem
The following example enables media_inactivity event to be received by the script:
infotag set evt_feature_report media_inactivity
evt_feature_type
This existing information tag adds two new event feature types representing media inactivity notification and
media activity notification. Note that the script only needs to request for report type media_inactivity. However,
05/08/11 482
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
after media inactivity is reported and the VoIP RTP starts receiving RTP/RTCP packets again, the event with type
media_activity is automatically notified, indicating that the call is back alive.
Description
Syntax
Mode
Read
Scope
ev_feature
Return Type
String
Direct Mapping
None
Event Names
fax
modem
modem_phase
hookflash
onhook
offhook
media_inactivity
media_activity
evt_feature_param
This is a new information tag added so that the Tcl application can pass along parameters related to the feature
back to the script. The Media Inactive Call Detection feature uses this new tag to pass the information on whether
RTCP packet has been received before the media inactive condition is met.
05/08/11 483
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Description
Syntax
Mode
Read
Scope
ev_feature
Return Type
String
Direct Mapping
None
Event Parameter
◊ no media received-Media inactivity detected (no RTP or RTCP packets have been received for a
configured amount of time). RTCP packet has been received before media inactivity condition is
met.
◊ no control info received-Media inactivity detected (no RTP or RTCP packets have been received
for a configured amount of time). No RTCP packet has been received before media inactivity
condition is met.
Example
media_timer_factor
This new information tag gives the Tcl script the ability to overwrite the configured gateway receive-rtcp timer.
This value is used to calculate the timeout value used to detect media inactivity.
05/08/11 484
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Description
To set the timer receive-rtcp timer. This new value is used within the scope of the script. It does not
change the gateway configuration.
Syntax:
Mode
Write
Scope
None
Return Type
None
Direct Mapping
None
Timer factor:
An integer between 2 and 1000. This value is the multiple of RTCP report transmission interval-a value
of 5 is recommended.
Example:
media_inactivity_err
The internal error code used by the Tcl script for this feature is media_inactivity_err (common IEC error #8).
This IEC is used to disconnect a call where media inactivity is detected and reported.
05/08/11 485
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
This section describes the use of this feature to set parameters for determining call inactive status and then
clearing specific calls. These new options are designed to work as filters.
SUMMARY STEPS
1. enable
2. Make a call using the Tcl IVR 2.0 script application. While the call is going, the commands in steps 3 and
4 can be used.
3. show call active voice [brief] [called-number number | calling-number number | compact | echo-canceller
| id | media-inactive {called-number number | calling-number number}]
4. clear call voice causecode <1-127> {id <1-FFFF> | media-inactive}
DETAILED STEPS
05/08/11 486
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• The causecode
keyword is a Q.850
disconnect cause
code. The cause code
can be specified as a
number 1 through
clear call voice causecode > {id | >media-inactive} 127.
• The id keyword can
4. Example: be used so that only
the voice call with
Router# clear call voice causecode id 112B the specified ID is
disconnected.
• The 1-FFFF range is
a call identifier as
shown in brief
format.
• The media-inactive
keyword clears only
calls with media
inactivity detected
and notified.
05/08/11 487
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
For calls without media inactivity being detected, the display looks like the following:
...
11DF : 239062hs.1 +2 pid:1 Answer 4085254616 active
dur 00:01:04 tx:2383/89775 rx:1187/23318
Tele 3:D:13: tx:45900/2110/0ms g729r8 noise:-69 acom:45 i/0:-71/-29 dBm
05/08/11 488
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
11DF : 239684hs.1 +830 pid:1800877 Originate 18008770519 active
dur 00:00:49 tx:1066/20965 rx:2378/47215
IP 1.9.57.5:17750 rtt:5ms pl:38190/0ms lost:0/1/0 delay:50/50/70ms g729r8
media inactive detected:y media cntrl recv:n/a timestamp: n/a
<------------------ the above line is new ------------------
Telephony call-legs: 1
SIP call-legs: 0
H323 call-legs: 1
Total call-legs: 2
The long display form of active call records generated by the show call active voice command is also modified to
add the media inactive detected information.
For calls where no media inactivity is detected and notified, the above three fields are displayed as
follows:
TranslatedRedirectCalledNumber=
TranslatedRedirectCalledOctet=0x7F
MediaInactiveDetected=no <---- new
MediaInactiveTimestamp= <---- new
05/08/11 489
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
MediaControlReceived= <---- new
Username=Telephony call-legs: 1
SIP call-legs: 0
H323 call-legs: 1
Total call-legs: 2
05/08/11 490
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
!
voice call carrier capacity active
!
!
!
voice cause-code
!
no voice hpi capture buffer
no voice hpi capture destination
!
!
ivr prompt memory 16384
!
fax interface-type fax-mail
mta receive maximum-recipients 600
!
!
!
controller T1 6/0
framing esf
linecode b8zs
pri-group timeslots 1-24
no yellow generation
no yellow detection
!
controller T1 6/1
shutdown
framing sf
linecode ami
no yellow generation
no yellow detection
!
controller T1 6/2
shutdown
framing sf
linecode ami
no yellow generation
no yellow detection
!
controller T1 6/3
shutdown
framing sf
linecode ami
no yellow generation
no yellow detection
!
controller T1 6/4
shutdown
framing sf
linecode ami
no yellow generation
no yellow detection
!
controller T1 6/5
shutdown
framing sf
linecode ami
no yellow generation
no yellow detection
!
controller T1 6/6
shutdown
05/08/11 491
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
framing sf
linecode ami
no yellow generation
no yellow detection
!
controller T1 6/7
shutdown
framing sf
linecode ami
no yellow generation
no yellow detection
gw-accounting aaa
!
!
!
interface FastEthernet0/0
ip address 10.1.1.212 255.255.0.0
no ip redirects
no ip mroute-cache
duplex auto
speed auto
no cdp enable
!
interface FastEthernet0/1
no ip address
no ip redirects
no ip mroute-cache
shutdown
duplex auto
speed auto
no cdp enable
!
interface Serial0/0
no ip address
no ip mroute-cache
shutdown
clockrate 2000000
no cdp enable
!
interface Serial6/0
no ip address
shutdown
!
interface Serial0/1
no ip address
no ip mroute-cache
shutdown
clockrate 2000000
no cdp enable
!
interface Serial6/0:23
no ip address
isdn switch-type primary-5ess
isdn incoming-voice modem
isdn bchan-number-order ascending
no keepalive
no cdp enable
!
interface Group-Async0
no ip address
no ip mroute-cache
group-range 1/00 1/107
05/08/11 492
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
!
ip classless
ip route 10.1.0.0 255.255.0.0 10.1.1.211
ip http server
!
ip pim bidir-enable
ip rtcp report interval 5000
!
!
no logging trap
dialer-list 1 protocol ip permit
dialer-list 1 protocol ipx permit
!
!
radius-server host 10.1.1.211 auth-port 1645 acct-port 1646
radius-server key cisco
radius-server authorization permit missing Service-Type
radius-server vsa send accounting
radius-server vsa send authentication
!
call application voice testapp_JC tftp://10.1.1.211/Scripts/JC_app1.tcl
call rsvp-sync
!
voice-port 6/0:D
!
!
mgcp profile default
!
dial-peer cor custom
!
!
!
dial-peer voice 1000 pots
application testapp_JC
incoming called-number 5551001
direct-inward-dial
port 6/0:D
!
!
dial-peer voice 3000 voip
destination-pattern 5551001
session target ipv4:10.1.1.213
dtmf-relay h245-signal
codec g711ulaw
!
!
gateway
timer receive-rtcp 5
!
sip-ua
!
!
line con 0
exec-timeout 0 0
logging synchronous
line aux 0
logging synchronous
line vty 0 4
password lab
authorization exec telnet
login authentication telnet
line 1/00 1/107
05/08/11 493
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
no flush-at-activation
modem InOut
!
exception core-file jc5400_core
exception protocol ftp
exception dump 10.1.1.211
scheduler allocate 10000 400
end
silence_detect_demo.tcl
#------------------------------------------------------------------
# Copyright (c) 2003 by cisco Systems, Inc.
# All rights reserved.
#------------------------------------------------------------------
#
# This tcl demo script monitors Media Inactive Call. The Media Inactive Call
# Detection feature detects inactive (silent)H.323 or Sip call-legs on Cisco
# IOS based gateways, and reports this situation to the TCL IVR 2.0 application
# and TCL IVR application checks for the events and logs those events.
#
# This script is designed to place a call to the dnis if DID is configured.
# Otherwise, output dial-tone and collects digits from the caller against
# the dial-plan. If an inactive condition 'ev_feature' is detected then script
# begins to log the inactivity events. However, if the VOIP RTP starts receiving
# RTP/RTCP packets again, then event with media_activity type will be automatically
# notified, indicating that the call is back alive.
#
#---------------------------------
# Example Script
#---------------------------------
proc init { } {
global param
global timerFactor
set param(interruptPrompt) true
set param(abortKey) *
set param(terminationKey) #
set timerFactor 6
}
proc act_Setup { } {
global dest
if { [infotag get leg_isdid] } {
set dest [infotag get leg_dnis]
leg proceeding leg_incoming
leg setup $dest callInfo leg_incoming
fsm setstate PLACECALL
} else {
leg setupack leg_incoming
playtone leg_incoming tn_dial
set param(dialPlan) true
leg collectdigits leg_incoming param
}
}
proc act_GotDest { } {
global dest
set status [infotag get evt_status]
if { $status == "cd_004" } {
05/08/11 494
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
set dest [infotag get evt_dcdigits]
leg proceeding leg_incoming
leg setup $dest callInfo leg_incoming
} else {
call close
}
}
proc act_CallSetupDone { } {
infotag set evt_feature_report media_inactivity
infotag set media_timer_factor $timerFactor
set status [infotag get evt_status]
if { $status == "ls_000"} {
} else {
call close
}
}
proc act_EvFeatureReceived { } {
global timerFactor
set featureType [infotag get evt_feature_type]
if { $featureType == "media_inactivity" } {
log -s "media inactivity or silence is detected"
set inactivity_type [infotag get evt_feature_param media_inactivity_type]
if { $inactivity_type == "no media received" } {
log -s "media inactivity, RTCP packet was previously received"
}
if { $inactivity_type == "no control info received" } {
log -s "media inactivity, no RTCP packet was previously received "
}
} elseif { $featureType == "media_activity" } {
log -s "media activity detected and call is back alive, VOIP RTP starts receiving
RTP/RTCP packets"
} else {
log -s "other Events have been detected"
}
}
proc act_Cleanup { } {
call close
}
init
#----------------------------------
# State Machine
#----------------------------------
set fsm(any_state,ev_disconnected) "act_Cleanup same_state"
set fsm(CALL_INIT,ev_setup_indication) "act_Setup GETDEST"
set fsm(GETDEST,ev_collectdigits_done) "act_GotDest PLACECALL"
set fsm(PLACECALL,ev_setup_done) "act_CallSetupDone CALLACTIVE"
set fsm(CALLACTIVE,ev_feature) "act_EvFeatureReceived same_state"
set fsm(CALLACTIVE,ev_disconnected) "act_Cleanup CALLDISCONNECT"
set fsm(CALLDISCONNECT,ev_disconnected) "act_Cleanup same_state"
set fsm(CALLDISCONNECT,ev_disconnect_done) "act_Cleanup same_state"
fsm define fsm CALL_INIT
# End the application
05/08/11 495
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Applications written in Voice eXtensible Markup Language (VoiceXML) provide access through a voice browser
to content and services over the telephone, just as Hypertext Markup Language (HTML) provides access through
a web browser running on a PC. The universal accessibility of the telephone and its ease of use makes VoiceXML
applications a powerful alternative to HTML for accessing the information and services of the World Wide Web.
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 Cisco IOS VoiceXML Overview
♦ 1.1 Figure: Cisco IOS VoiceXML
Application Components
• 2 Debugging Cisco VoiceXML Applications
♦ 2.1 <cisco-debug>
♦ 2.2 SUMMARY STEPS
♦ 2.3 DETAILED STEPS
• 3 Error Events
♦ 3.1 error.badfetch
♦ 3.2 error.semantic
♦ 3.3 error.unsupported.format
• 4 JavaScript or ECMA Script
• 5 Troubleshooting Speech Recognition and
Synthesis
♦ 5.1 Table: Speech Recognition or Synthesis
Fails
• 6 Troubleshooting ASR and TTS Server
Functionality
♦ 6.1 SUMMARY STEPS
♦ 6.2 DETAILED STEPS
VoiceXML brings the advantages of web-based development and content delivery to voice applications. It is
similar to HTML in its simplicity and in its presentation of information. The Cisco IOS VoiceXML feature is
based on the W3C VoiceXML 2.0 Working Draft and is designed to provide web developers great flexibility and
05/08/11 496
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Figure: Cisco IOS VoiceXML Application Components shows components that can be configured as a part of a
VoiceXML application installed on a Cisco voice gateway:
For information on developing a VoiceXML document for implementing an application on the Cisco voice
gateway, refer to the Cisco VoiceXML Programmer's Guide.
This section describes some of the troubleshooting techniques for the Cisco VoiceXML features.
For a list of the latest troubleshooting FAQs, go to the developer support website here:
http://www.cisco.com/cgi-bin/dev_support/access_level/products.cgi?product=VOICE_XML_GATEWAY
This section describes troubleshooting at the script level. To troubleshoot Cisco VoiceXML scripts, enable the
debug vxml error and debug vxml puts commands on the gateway.The debug vxml error command displays
all errors on the console, and the debug vxml puts command prints debugging statements used with the <log>
element in the VoiceXML document.
05/08/11 497
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
<cisco-debug>
<cisco-debug> is used to debug only a specific application. To disable debugging messages for all VoiceXML
applications except the specific VoiceXML application you wish to debug, use the <cisco-debug> element in the
VoiceXML document in conjunction with the debug condition application voice command.
Refer to the Cisco IOS TCL and VoiceXML Application Guide for information on debug commands.
Note: Before you use Cisco IOS debug commands to debug a specific application, add <cisco-debug> to the
VoiceXML document for the application you want to debug.
For example:
SUMMARY STEPS
DETAILED STEPS
1. Turn on global debug for the areas you want to debug. For example:
Note: If you do not proceed with step 2 and end your task with step 1, you see error messages for all the
applications, irrespective of conditional debug being turned on or off.
Note: The debug condition application voice command filters debugging output for only the debug vxml
and debug http client commands. However, it does not filter output for the debug vxml error, debug
vxml background, debug http client error, or debug http client background commands.
2. Add the <cisco-debug enabled = "true"/> and <cisco-debug enabled = "false"/> elements around the specific
part of the VoiceXML document where you want to see debugging messages. For example:
<?xml version="1.0"?>
<vxml version="1.0" application="root.vxml">
<form>
<block>
<cisco-debug enabled = "true"/>
<prompt>
<audio src="welcome.au" caching="fast"/>
</prompt>
<cisco-debug enabled = "false"/>
<goto next="getExtension.vxml?"/>
</block>
</form>
</vxml>
3. Add conditional debugging to the specific application you want to debug. For example:
Three applications named myapp1, myapp2, and myapp3, all of which can be loaded by using the call
application voice command are shown below:
05/08/11 498
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
call application voice myapp1 http://server1/vxml/test1.vxml
call application voice myapp2 http://server2/vxml/test2.vxml
call application voice myapp3 http://server3/vxml/test3.vxml
To debug only one of the applications, for example myapp1, use the debug condition application voice
command to disable debug messages for the other applications, myapp2 and myapp3.
Note: Debugging for myapp1 is performed for only those debug areas that have been enabled in step 1 above.
Debugging for the specific session must be enabled through the <cisco-debug> tag as shown in step 2
above.
Error Events
Enabling the debug vxml error command displays a list of possible error events on the console. For a list of error
events, see the Tcl IVR Events and Status Codes section.
Some of the possible errors generated with the debug vxml error command enabled are:
error.badfetch
error.semantic
05/08/11 499
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
error.unsupported.format
debug java ?
apm2- JavaScript APM2 Utility Debugging
error- JavaScript Error Debugging
interpreter- JavaScript Interpreter Debugging
The Speech Recognition and Synthesis feature provides interfaces to ASR and TTS media servers by using Media
Resource Control Protocol (MRCP), an application-level protocol developed by Cisco and its ASR and TTS
media server partners, Nuance Communications and SpeechWorks International. Client devices that are
processing audio or video streams use MRCP to control media resources on external media servers, such as
speech synthesizers for TTS and speech recognizers for ASR. The Cisco gateway, running a voice application,
and the media servers providing speech recognition and speech synthesis, maintain a client/server relationship
through an RTSP connection; the gateway is the RTSP client and the RTSP server is the streaming media server
providing speech recognition and speech synthesis.
While doing speech recognition, the gateway creates a separate G.711 u-law RTP stream to the media server,
enabling the gateway to simultaneously perform speech synthesis or play audio files using a different codec.
If speech recognition or synthesis is not working, Table: Speech Recognition or Synthesis Fails lists some
possible causes and the actions that you can take.
05/08/11 500
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Programmer's Guide.
Gateway cannot access external ASR or TTS server Ping the external server to make sure that the gateway has
or server is not running. connectivity.
RTSP or MRCP errors are occurring between the See the Troubleshooting ASR and TTS Server
gateway and the media server. Functionality.
SUMMARY STEPS
DETAILED STEPS
1. Use the debug vxml error and debug vxml event commands to verify that the external media server is
reachable and its location is configured on the gateway or in the VoiceXML document. In the following example,
the application failed because the media server is not configured on the gateway or in the VoiceXML document.:
In the following example, the application failed because the media server is either unreachable or is not running.
05/08/11 501
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
2. Use the debug mrcp error command to verify the connection between the gateway and the server. The
following example shows the error when the RTSP connection to the server fails:
The following error occurs when the response from the server is incorrect:
The following error occurs when the recognize request comes out of sequence:
3. Use the debug rtsp error, debug rtsp session, and debug rtsp socket commands to verify the RTSP
connection with the media server, for example:
The following message displays if the RTSP client receives an incorrect response from the server:
The following message displays if the codec configured on the IP side is not G.711:
05/08/11 502
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
This section describes events received and status codes returned by Tcl IVR scripts. This chapter includes the
following topics:
• Events
• Status Codes
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 Events
• 2 Status Codes
♦ 2.1 Authentication Status
♦ 2.2 Authorization Status
♦ 2.3 Digit Collection Status
♦ 2.4 Consult Response
♦ 2.5 Consult Status
♦ 2.6 Disconnect Cause
♦ 2.7 Facility
♦ 2.8 Feature Type
♦ 2.9 Leg Setup Status
♦ 2.10 Media Status
♦ 2.11 Transfer Status
♦ 2.12 VoiceXML Dialog
Completion Status
Events
The following events can be received by the Tcl IVR script. Any events received that are not included below are
ignored.
Event Description
ev_address_resolved List of endpoint addresses.
ev_alert An intermediate event generated by the leg setup or leg setup_continue commands to set
up a call. If specified in the callinfo parameter, 'notifyEvents, the script receives an
ev_alert message once the destination endpoint is successfully alerted. The script running
in the transferee gateway could then disconnect the leg towards the transferring endpoint.
If this event is an intercepted event, the application needs to use the leg setup_continue
05/08/11 503
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
If this event is an intercepted event, the application needs to use the leg setup_continue
command to allow the system to continue with the setup.
ev_consult_request Indicates a call-transfer consultation-id request from an endpoint.
Indicates a response to the leg consult request command. For return codes, see Consult
ev_consult_response
Status under Status Codes.
Indicated the completion of a leg consult response command. For return codes, see
ev_consultation_done
Consult Response under Status Codes.
Confirms the completion of the connection create command. You can use the
ev_create_done
evt_connection info-tag to determine the ID of the completed connection.
Confirms the completion of the connection destroy command. You can use the
ev_destroy_done
evt_connection info-tag to determine the ID of the connection that was destroyed.
Indicates that a digit key is pressed and released. You can use the evt_digit info-tag to
determine which digit was pressed. You can use the evt_digit_duration info-tag to
ev_digit_end
determine how long (in seconds) the digit was pressed and to detect long pounds or long
digits.
ev_disconnect_done Indicates that the call leg has been cleared.
Indicates that one of the call legs needs to disconnect. On receiving this event, the script
ev_disconnected must issue a leg disconnect on that call leg. You can use the evt_legs info-tag to
determine which call leg disconnected.
ev_disc_prog_ind Indicates that a DISC/PI message is received at a call leg.
ev_facility Indicates a response to a leg facility command.
Indicates that an application that called this script is requesting that the script return the
call leg. The script receiving this event can clean up and return the leg with a handoff
ev_grab
return command. Whether this is done is at the discretion of the script receiving the
ev_grab event.
Indicates a hook flash (such as a quick onhook-offhook in the middle of a call), assuming
ev_hookflash
that the underlying platform or interface supports hook flash detection.
05/08/11 504
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Indicates that the script received one or more call legs from another application. When the
ev_handoff script receives this event, you can use the evt_legs and the evt_connections info-tags to
obtain a list of the call legs and connection IDs that accompanied the ev_handoff event.
Indicates that the leg timer expired. You can use the evt_legs info-tag to determine which
ev_leg_timer
leg timer expired.
Indicates that the prompt playout either completed or failed. You can use the evt_status
ev_media_done
info-tag to determine the completion status.
An intermediate event generated by the leg setup or leg setup_continue commands to set
up a call.
If this event is an intercepted event, the application needs to use the leg setup_continue
command to allow the system to continue with the setup.
An intermediate event generated by the leg setup or leg setup_continue commands to set
up a call.
If this event is an intercepted event, the application needs to use the leg setup_continue
command to allow the system to continue with the setup.
Indicates that a call leg that was sent to another application (using handoff callappl) has
been returned. This event can be accompanied by one or more call legs that were created
by the called application. When the script receives this event, you can use the evt_legs and
ev_returned the evt_connections info-tags to obtain a list of the call legs and connection IDs that
accompanied the ev_returned event. You can use the evt_iscommand_done info-tag to
verify that all of the call legs sent have been accounted for, meaning that the handoff
callappl command is complete.
Indicates that the leg setup command has finished. You can then use the evt_status
ev_setup_done info-tag to determine the status of the command completion (whether the call was
successfully set up or failed for some reason).
Indicates that the system received a call. This event and the ev_handoff event are the
ev_setup_indication
events that initiate an execution instance of a script.
ev_transfer_request Indicates a call transfer from an endpoint to the application.
An intermediate event generated by the leg setup command. If specified in the callinfo
ev_transfer_status parameter, notifyEvents, the script receives an ev_trasfer_status message. The ev_status
information tag would then contain the status value of the call transfer.
Received when the VXML dialog completes. This could be because of a VXML dialog
executing an <exit/> tag or interpretation completing the current document without a
ev_vxmldialog_done transition to another document. The dialog could also complete due to an interpretation
failure or a document error. This completion status is also available through the evt_status
info-tag.
05/08/11 505
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Received by the Tcl IVR application when the VXML dialog initiated on a leg executes a
sendevent object tag. The VXML subevent name is available through the evt_vxmlevent
info-tag. All events thrown from the dialog markup are of the form vxml.dialog.*. All
ev_vxmldialog_event
events generated by the system-perhaps as an indirect reaction to the VXML document
executing a certain tag or throwing a certain event like the dialog completion event- are of
the form vxml.session.*.
Status Codes
The evt_status info-tag returns a status code for the event received. This sections lists the possible status codes
and their meaning.
Status codes are grouped according to function. The first two characters of the status code indicate the grouping.
• au-Authentication status
• ao-Authorization status
• cd-Digit collection status
• cr-Consult response
• cs-Consult status
• di- Disconnect cause
• fa-Facility
• ft-Feature type
• ls-Leg setup status
• ms-Media status
• ts-Transfer status
• vd-Voice dialog completion status
Authentication Status
Authentication status is reported in au_>xxx format:
Authorization Status
Authorization status is reported in ao_>xxx format:
05/08/11 506
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Value for
Description
xxx
The digit collection timed out, because no digits were pressed and not enough digits were collected
001
for a match.
002 The digit collection was aborted, because the user pressed an abort key.
The digit collection failed, because the buffer overflowed and not enough digits were collected for
003
a match.
004 The digit collection succeeded with a match to the dial plan.
005 The digit collection succeeded with a match to one of the patterns.
006 The digit collection failed because the number collected was invalid.
007 The digit collection was terminated because an ev_disconnected event was received on the call leg.
008 The digit collection was terminated because an ev_grab event was received on the call leg.
009 The digit collection successfully turned on digit reporting to the script.
010 The digit collection was terminated because of an unsupported or unknown feature or event.
Consult Response
Feature type is reported in cr_xxx format:
Consult Status
Feature type is reported in cs_xxx format:
05/08/11 507
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Disconnect Cause
Disconnect causes use the format di_xxx where xxx is the Q931 cause code. Possible values are:
05/08/11 508
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 509
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Facility
Leg setup requesting address resolution status is reported in fa_xxx format:
Feature Type
Feature type is reported in ft_xxx format:
05/08/11 510
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Media Status
Media status is reported in ms_xyy format:
05/08/11 511
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Transfer Status
Transfer status is reported in ts_xxx format:
05/08/11 512
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 513
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
This article describes AAA troubleshooting. For more information about AAA troubleshooting, see the
"Diagnosing and Troubleshooting AAA Operations" page of the Cisco AAA Implementation Case Study
document.
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 Using Debug Commands for AAA Voice
Troubleshooting
♦ 1.1 debug radius
♦ 1.2 debug radius accounting
• 2 Using show Commands for AAA Voice
Troubleshooting
♦ 2.1 show call accounting voice summary
♦ 2.2 show call aaa attributes
debug radius
The output below is from troubleshooting AAA redirect using called number for an incoming POTS dial peer.
In this example, an incoming call is set up using dial-peer voice 1000 pots. Applying voice-class aaa 1 to
dial-peer voice 1000 redirects AAA requests to the server specified for method list sanj_aaa1:10.6.20.70
auth-port 1698 acct-port 1699.
05/08/11 514
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
!
aaa authentication login sanj_aaa7 group sg7
aaa authorization exec sanj_aaa7 group sg7
aaa accounting connection sanj_aaa7 start-stop group sg7
!
voice class aaa 1
authentication method sanj_aaa1
authorization method sanj_aaa1
accounting method sanj_aaa1
accounting template cdr1
!
voice class aaa 2
authentication method sanj_aaa6
authorization method sanj_aaa6
accounting method sanj_aaa6
accounting template cdr2
!
voice class aaa 3
authentication method sanj_aaa7
authorization method sanj_aaa7
accounting method sanj_aaa7
!
dial-peer voice 1000 pots
application plain_debit
incoming called-number 12345
voice-class aaa 1
port 0:D
!
dial-peer voice 1001 pots
application plain_debit
incoming called-number 12346
voice-class aaa 2
port 1:D
debug radius
Radius protocol debugging is on
Radius packet hex dump debugging is off
Radius packet protocol debugging is on
debug isdn q931
05/08/11 515
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
00:17:55: RADIUS: Vendor, Cisco [26] 19
00:17:55: RADIUS: cisco-nas-port [2] 13 "ISDN 0:D:23"
00:17:55: RADIUS: Calling-Station-Id [31] 12 "4081234567"
00:17:55: RADIUS: Called-Station-Id [30] 7 "12345"
00:17:55: RADIUS: Service-Type [6] 6 Login [1]
00:17:55: RADIUS: NAS-IP-Address [4] 6 10.5.20.100
00:17:55: RADIUS: Delay-Time [41] 6 0
00:17:55: ISDN Se0:23: TX -> CALL_PROC pd = 8 callref = 0x809D
00:17:55: Channel ID i = 0xA98397
00:17:55: ISDN Se0:23: TX -> CONNECT pd = 8 callref = 0x809D
00:17:55: RADIUS: Received from id 4 10.6.20.70:1699, Accounting-response, len 20
00:17:55: RADIUS: authenticator DC CD BA E8 7E 02 EA D1 - 12 67 DC 57 3C 73 56 75
00:17:55: ISDN Se0:23: RX <- CONNECT_ACK pd = 8 callref = 0x009D
00:17:55: ISDN Se0:23: CALL_PROGRESS: CALL_CONNECTED call id 0x63, bchan 22, dsl 0
00:17:55: %ISDN-6-CONNECT: Interface Serial0:22 is now connected to 4081234567
00:18:01: %ISDN-6-CONNECT: Interface Serial0:22 is now connected to 4081234567
00:18:06: RADIUS(0000000C): Encoding nas-port...Only port-type avlbl
00:18:06: RADIUS/ENCODE(0000000C): acct_session_id: 12
00:18:06: RADIUS(0000000C): sending
00:18:06: RADIUS: Send to unknown id 3 10.6.20.70:1698, Access-Request, len 199
00:18:06: RADIUS: authenticator 4B 2C 8C D7 12 54 45 3D - 51 44 30 05 C3 9B 44 B1
00:18:06: RADIUS: User-Name [1] 8 "777777"
00:18:06: RADIUS: User-Password [2] 18 *
00:18:06: RADIUS: Vendor, Cisco [26] 56
00:18:06: RADIUS: Conf-Id [24] 50 "h323-conf-id=61A46F2C 00000003 62E66E40
62E3A5C8"
00:18:06: RADIUS: Vendor, Cisco [26] 36
00:18:06: RADIUS: Cisco AVpair [1] 30 "h323-ivr-out=transactionID:3"
00:18:06: RADIUS: Calling-Station-Id [31] 12 "4081234567"
00:18:06: RADIUS: NAS-Port-Type [61] 6 Async [0]
00:18:06: RADIUS: Vendor, Cisco [26] 19
00:18:06: RADIUS: cisco-nas-port [2] 13 "ISDN 0:D:23"
00:18:06: RADIUS: Calling-Station-Id [31] 12 "4081234567"
00:18:06: RADIUS: Service-Type [6] 6 Login [1]
00:18:06: RADIUS: NAS-IP-Address [4] 6 10.5.20.100
00:18:06: RADIUS: Received from id 3 10.6.20.70:1698, Access-Accept, len 200
00:18:06: RADIUS: authenticator 9C AA 9E 4C 64 02 13 3A - 72 8C 3F D9 72 D0 3B 06
00:18:06: RADIUS: Vendor, Cisco [26] 27
00:18:06: RADIUS: Cisco AVpair [1] 21 "h323-ivr-in=sanjose"
00:18:06: RADIUS: Vendor, Cisco [26] 34
00:18:06: RADIUS: Cisco AVpair [1] 28 "h323-credit-amount=7777.77"
00:18:06: RADIUS: Vendor, Cisco [26] 26
00:18:06: RADIUS: Cisco AVpair [1] 20 "h323-return-code=0"
00:18:06: RADIUS: Vendor, Cisco [26] 30
00:18:06: RADIUS: h323-credit-time [102] 24 "h323-credit-time=54329"
00:18:06: RADIUS: Vendor, Cisco [26] 33
00:18:06: RADIUS: h323-billing-model [109] 27 "h323-billing-model=prepay"
00:18:06: RADIUS: Vendor, Cisco [26] 24
00:18:06: RADIUS: h323-currency [110] 18 "h323-currency=US"
00:18:06: RADIUS: Idle-Timeout [28] 6 30
00:18:06: RADIUS: Received from id C
00:18:27: ISDN Se0:23: RX <- DISCONNECT pd = 8 callref = 0x009D
00:18:27: Cause i = 0x8290 - Normal call clearing
00:18:27: %ISDN-6-DISCONNECT: Interface Serial0:22 disconnected from 4081234567 ,
call lasted 32 seconds
00:18:27: ISDN Se0:23: TX -> RELEASE pd = 8 callref = 0x809D
00:18:27: ISDN Se0:23: RX <- RELEASE_COMP pd = 8 callref = 0x009D
00:18:27: RADIUS/ENCODE(0000000C): Unsupported AAA attribute timezone
00:18:27: RADIUS(0000000C): Encoding nas-port...Only port-type avlbl
00:18:27: RADIUS(0000000C): sending
00:18:27: RADIUS: Send to unknown id 5 10.6.20.70:1699, Accounting-Request, len 327
00:18:27: RADIUS: authenticator 2D 65 1C 38 6D 5B B3 DD - C8 57 D6 02 B4 4F E4 4E
05/08/11 516
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
00:18:27: RADIUS: Acct-Session-Id [44] 10 "0000000C"
00:18:27: RADIUS: Vendor, Cisco [26] 56
00:18:27: RADIUS: Conf-Id [24] 50 "h323-conf-id=B8FE8B7F BF1711D3 800CE483
89ADC43B"
00:18:27: RADIUS: Vendor, Cisco [26] 31
00:18:27: RADIUS: h323-call-origin [26] 25 "h323-call-origin=answer"
00:18:27: RADIUS: Vendor, Cisco [26] 65
00:18:27: RADIUS: Cisco AVpair [1] 59 "h323-incoming-conf-id=B8FE8B7F BF1711D3
800CE483 89ADC43B"
00:18:27: RADIUS: Acct-Input-Octets [42] 6 0
00:18:27: RADIUS: Acct-Output-Octets [43] 6 148000
00:18:27: RADIUS: Acct-Input-Packets [47] 6 0
00:18:27: RADIUS: Acct-Output-Packets [48] 6 925
00:18:27: RADIUS: Acct-Session-Time [46] 6 32
00:18:27: RADIUS: Vendor, Cisco [26] 35
00:18:27: RADIUS: Cisco AVpair [1] 29 "h323-ivr-out=Tariff:Unknown"
00:18:27: RADIUS: User-Name [1] 12 "4081234567"
00:18:27: RADIUS: Acct-Status-Type [40] 6 Stop [2]
00:18:27: RADIUS: NAS-Port-Type [61] 6 Async [0]
00:18:27: RADIUS: Vendor, Cisco [26] 19
00:18:27: RADIUS: cisco-nas-port [2] 13 "ISDN 0:D:23"
00:18:27: RADIUS: Calling-Station-Id [31] 12 "4081234567"
00:18:27: RADIUS: Called-Station-Id [30] 7 "12345"
00:18:27: RADIUS: Service-Type [6] 6 Login [1]
00:18:27: RADIUS: NAS-IP-Address [4] 6 10.5.20.100
00:18:27: RADIUS: Delay-Time [41] 6 0
00:18:27: RADIUS: Received from id 5 10.6.20.70:1699, Accounting-response, len 20
00:18:27: RADIUS: authenticator E5 B1 ED 3B AD A8 5B 5C - 49 83 63 BA DF 02 B2 00
An incoming call is set up using dial-peer voice 1001 pots. dial-peer voice 1001 has voice-class aaa 2 applied
which should redirect AAA requests to the server specified for method list sanj_aaa6: 10.6.20.70 auth-port 1708
acct-port 1709.
05/08/11 517
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
00:30:05: RADIUS: Delay-Time [41] 6 0
00:30:05: ISDN Se1:23: TX -> CALL_PROC pd = 8 callref = 0x8004
00:30:05: Channel ID i = 0xA98397
00:30:05: ISDN Se1:23: TX -> CONNECT pd = 8 callref = 0x8004
00:30:05: ISDN Se1:23: RX <- CONNECT_ACK pd = 8 callref = 0x0004
00:30:05: ISDN Se1:23: CALL_PROGRESS: CALL_CONNECTED call id 0x64, bchan 22, dsl 1
00:30:05: %ISDN-6-CONNECT: Interface Serial1:22 is now connected to 4081234567
00:30:06: RADIUS: Received from id 6 10.6.20.70:1709, Accounting-response, len 20
00:30:06: RADIUS: authenticator E1 AD 70 9F DC 09 29 32 - 74 47 96 9F 3F 77 27 82
00:30:11: %ISDN-6-CONNECT: Interface Serial1:22 is now connected to 4081234567
00:30:19: RADIUS(0000000E): Encoding nas-port...Only port-type avlbl
00:30:19: RADIUS/ENCODE(0000000E): acct_session_id: 14
00:30:19: RADIUS(0000000E): sending
00:30:19: RADIUS: Send to unknown id 4 10.6.20.70:1708, Access-Request, len 199
00:30:19: RADIUS: authenticator CE 16 21 8D A5 59 56 9F - B7 E9 CA 5C EC C5 89 A0
00:30:19: RADIUS: User-Name [1] 8 "777777"
00:30:19: RADIUS: User-Password [2] 18 *
00:30:19: RADIUS: Vendor, Cisco [26] 56
00:30:19: RADIUS: Conf-Id [24] 50 "h323-conf-id=61A46F2C 00000003 62E66E40
634A0A64"
00:30:19: RADIUS: Vendor, Cisco [26] 36
00:30:19: RADIUS: Cisco AVpair [1] 30 "h323-ivr-out=transactionID:4"
00:30:19: RADIUS: Calling-Station-Id [31] 12 "4081234567"
00:30:19: RADIUS: NAS-Port-Type [61] 6 Async [0]
00:30:19: RADIUS: Vendor, Cisco [26] 19
00:30:19: RADIUS: cisco-nas-port [2] 13 "ISDN 1:D:23"
00:30:19: RADIUS: Calling-Station-Id [31] 12 "4081234567"
00:30:19: RADIUS: Service-Type [6] 6 Login [1]
00:30:19: RADIUS: NAS-IP-Address [4] 6 10.5.20.100
00:30:20: RADIUS: Received from id 4 10.6.20.70:1708, Access-Accept, len 173
00:30:20: RADIUS: authenticator FF 0D 40 72 0D 80 12 26 - 44 13 D5 0E C4 BB 71 BE
00:30:20: RADIUS: Vendor, Cisco [26] 34
00:30:20: RADIUS: Cisco AVpair [1] 28 "h323-credit-amount=7777.77"
00:30:20: RADIUS: Vendor, Cisco [26] 26
00:30:20: RADIUS: Cisco AVpair [1] 20 "h323-return-code=0"
00:30:20: RADIUS: Vendor, Cisco [26] 30
00:30:20: RADIUS: h323-credit-time [102] 24 "h323-credit-time=54329"
00:30:20: RADIUS: Vendor, Cisco [26] 33
00:30:20: RADIUS: h323-billing-model [109] 27 "h323-billing-model=prepay"
00:30:20: RADIUS: Vendor, Cisco [26] 24
00:30:20: RADIUS: h323-currency [110] 18 "h323-currency=US"
00:30:20: RADIUS: Idle-Timeout [28] 6 30
00:30:20: RADIUS: Received from id E
00:30:43: ISDN Se1:23: RX <- DISCONNECT pd = 8 callref = 0x0004
00:30:43: Cause i = 0x8290 - Normal call clearing
00:30:43: %ISDN-6-DISCONNECT: Interface Serial1:22 disconnected from 4081234567 ,
call lasted 37 seconds
00:30:43: ISDN Se1:23: TX -> RELEASE pd = 8 callref = 0x8004
00:30:43: ISDN Se1:23: RX <- RELEASE_COMP pd = 8 callref = 0x0004
00:30:43: RADIUS/ENCODE(0000000E): Unsupported AAA attribute timezone
00:30:43: RADIUS(0000000E): Encoding nas-port...Only port-type avlbl
00:30:43: RADIUS(0000000E): sending
00:30:43: RADIUS: Send to unknown id 7 10.6.20.70:1709, Accounting-Request, len 327
00:30:43: RADIUS: authenticator 99 5A B4 45 67 C0 F4 91 - 9B 4B C3 1D 7E DE 7D D1
00:30:43: RADIUS: Acct-Session-Id [44] 10 "0000000E"
00:30:43: RADIUS: Vendor, Cisco [26] 56
00:30:43: RADIUS: Conf-Id [24] 50 "h323-conf-id=6C29BC16 BF1911D3 8010E483
89ADC43B"
00:30:43: RADIUS: Vendor, Cisco [26] 31
00:30:43: RADIUS: h323-call-origin [26] 25 "h323-call-origin=answer"
00:30:43: RADIUS: Vendor, Cisco [26] 65
00:30:43: RADIUS: Cisco AVpair [1] 59 "h323-incoming-conf-id=6C29BC16 BF1911D3
05/08/11 518
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
8010E483 89ADC43B"
00:30:43: RADIUS: Acct-Input-Octets [42] 6 0
00:30:43: RADIUS: Acct-Output-Octets [43] 6 161920
00:30:43: RADIUS: Acct-Input-Packets [47] 6 0
00:30:43: RADIUS: Acct-Output-Packets [48] 6 1012
00:30:43: RADIUS: Acct-Session-Time [46] 6 37
00:30:43: RADIUS: Vendor, Cisco [26] 35
00:30:43: RADIUS: Cisco AVpair [1] 29 "h323-ivr-out=Tariff:Unknown"
00:30:43: RADIUS: User-Name [1] 12 "4081234567"
00:30:43: RADIUS: Acct-Status-Type [40] 6 Stop [2]
00:30:43: RADIUS: NAS-Port-Type [61] 6 Async [0]
00:30:43: RADIUS: Vendor, Cisco [26] 19
00:30:43: RADIUS: cisco-nas-port [2] 13 "ISDN 1:D:23"
00:30:43: RADIUS: Calling-Station-Id [31] 12 "4081234567"
00:30:43: RADIUS: Called-Station-Id [30] 7 "12346"
00:30:43: RADIUS: Service-Type [6] 6 Login [1]
00:30:43: RADIUS: NAS-IP-Address [4] 6 10.5.20.100
00:30:43: RADIUS: Delay-Time [41] 6 0
00:30:43: RADIUS: Received from id 7 10.6.20.70:1709, Accounting-response, len 20
00:30:43: RADIUS: authenticator 78 80 AB D1 82 75 ED ED - E4 1F 12 25 D8 83 F9 6
voice class aaa 3 is applied to dial-peer voice 1000 pots and a call is made. voice class aaa 3 uses server
10.6.20.70 with auth port 1720 and acct port 1721. The radius daemon has not started. AAA accounting and AAA
authorization requests are sent to the appropriate server but no acknowledgement is recieved. Retries are
attempted.
05/08/11 519
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
00:37:11: RADIUS: Called-Station-Id [30] 7 "12345"
00:37:11: RADIUS: Service-Type [6] 6 Login [1]
00:37:11: RADIUS: NAS-IP-Address [4] 6 10.5.20.100
00:37:11: RADIUS: Delay-Time [41] 6 0
00:37:11: ISDN Se0:23: TX -> CALL_PROC pd = 8 callref = 0x809E
00:37:11: Channel ID i = 0xA98397
00:37:11: ISDN Se0:23: TX -> CONNECT pd = 8 callref = 0x809E
00:37:11: ISDN Se0:23: RX <- CONNECT_ACK pd = 8 callref = 0x009E
00:37:11: ISDN Se0:23: CALL_PROGRESS: CALL_CONNECTED call id 0x65, bchan 22, dsl 0
00:37:11: %ISDN-6-CONNECT: Interface Serial0:22 is now connected to 4081234567
00:37:16: RADIUS: Retransmit id 8
00:37:16: RADIUS: acct-delay-time for 4021D9EC (at 4021DB84) now 5
00:37:17: %ISDN-6-CONNECT: Interface Serial0:22 is now connected to 4081234567
00:37:21: RADIUS: Retransmit id 1
00:37:21: RADIUS: acct-delay-time for 4021D9EC (at 4021DB84) now 10
00:37:26: RADIUS: Retransmit id 2
00:37:26: RADIUS: acct-delay-time for 4021D9EC (at 4021DB84) now 15
00:37:31: RADIUS: Tried all servers.
00:37:31: RADIUS: No valid server found. Trying any viable server
00:37:31: RADIUS: Tried all servers.
00:37:31: RADIUS: No response for id 3
00:37:31: RADIUS/DECODE: parse response no app start; FAIL
00:37:31: RADIUS/DECODE: parse response; FAIL
00:37:35: RADIUS(00000010): Encoding nas-port...Only port-type avlbl
00:37:35: RADIUS/ENCODE(00000010): acct_session_id: 16
00:37:35: RADIUS(00000010): sending
00:37:35: RADIUS: Send to unknown id 5 10.6.20.70:1720, Access-Request, len 199
00:37:35: RADIUS: authenticator 4B 6E 67 9F D4 1E 73 37 - 45 D3 CD 7C 70 FD C7 12
00:37:35: RADIUS: User-Name [1] 8 "777777"
00:37:35: RADIUS: User-Password [2] 18 *
00:37:35: RADIUS: Vendor, Cisco [26] 56
00:37:35: RADIUS: Conf-Id [24] 50 "h323-conf-id=61A46F2C 00000003 62E66E40
634A0A64"
00:37:35: RADIUS: Vendor, Cisco [26] 36
00:37:35: RADIUS: Cisco AVpair [1] 30 "h323-ivr-out=transactionID:5"
00:37:35: RADIUS: Calling-Station-Id [31] 12 "4081234567"
00:37:35: RADIUS: NAS-Port-Type [61] 6 Async [0]
00:37:35: RADIUS: Vendor, Cisco [26] 19
00:37:35: RADIUS: cisco-nas-port [2] 13 "ISDN 0:D:23"
00:37:35: RADIUS: Calling-Station-Id [31] 12 "4081234567"
00:37:35: RADIUS: Service-Type [6] 6 Login [1]
00:37:35: RADIUS: NAS-IP-Address [4] 6 10.5.20.100
00:37:40: RADIUS: Retransmit id 5
00:37:45: RADIUS: Retransmit id 5
00:37:50: RADIUS: Retransmit id 5
00:37:55: RADIUS: Tried all servers.
00:37:55: RADIUS: No valid server found. Trying any viable server
00:37:55: RADIUS: Tried all servers.
00:37:55: RADIUS: No response for id 5
00:37:55: RADIUS/DECODE: parse response no app start; FAIL
00:37:55: RADIUS/DECODE: parse response; FAIL
00:38:00: %ISDN-6-DISCONNECT: Interface Serial0:22 disconnected from 4081234567 ,
call lasted 48 seconds
00:38:00: ISDN Se0:23: TX -> DISCONNECT pd = 8 callref = 0x809E
00:38:00: Cause i = 0x8090 - Normal call clearing
00:38:00: RADIUS/ENCODE(00000010): Unsupported AAA attribute timezone
00:38:00: RADIUS(00000010): Encoding nas-port...Only port-type avlbl
00:38:00: RADIUS(00000010): sending
00:38:00: RADIUS: Send to unknown id 9 10.6.20.70:1721, Accounting-Request, len 660
00:38:00: RADIUS: authenticator C5 79 B7 D3 92 75 37 D0 - E7 5C 5B 84 99 6E 97 17
00:38:00: RADIUS: Acct-Session-Id [44] 10 "00000010"
00:38:00: RADIUS: Vendor, Cisco [26] 56
05/08/11 520
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
00:38:00: RADIUS: h323-setup-time [25] 50 "h323-setup-time=*00:37:09.095 UTC Sat
Jan 1 2000"
00:38:00: RADIUS: Vendor, Cisco [26] 34
00:38:00: RADIUS: h323-gw-id [33] 28 "h323-gw-id=router."
00:38:00: RADIUS: Vendor, Cisco [26] 56
00:38:00: RADIUS: Conf-Id [24] 50 "h323-conf-id=69EAABEB BF1A11D3 8014E483
89ADC43B"
00:38:00: RADIUS: Vendor, Cisco [26] 31
00:38:00: RADIUS: h323-call-origin [26] 25 "h323-call-origin=answer"
00:38:00: RADIUS: Vendor, Cisco [26] 32
00:38:00: RADIUS: h323-call-type [27] 26 "h323-call-type=Telephony"
00:38:00: RADIUS: Vendor, Cisco [26] 65
00:38:00: RADIUS: Cisco AVpair [1] 59 "h323-incoming-conf-id=69EAABEB BF1A11D3
8014E483 89ADC43B"
00:38:00: RADIUS: Vendor, Cisco [26] 30
00:38:00: RADIUS: Cisco AVpair [1] 24 "subscriber=RegularLine"
00:38:00: RADIUS: Acct-Input-Octets [42] 6 0
00:38:00: RADIUS: Acct-Output-Octets [43] 6 112160
00:38:00: RADIUS: Acct-Input-Packets [47] 6 0
00:38:00: RADIUS: Acct-Output-Packets [48] 6 701
00:38:00: RADIUS: Acct-Session-Time [46] 6 49
00:38:00: RADIUS: Vendor, Cisco [26] 58
00:38:00: RADIUS: h323-connect-time [28] 52 "h323-connect-time=*00:37:09.109 UTC Sat
Jan 1 2000"
00:38:00: RADIUS: Vendor, Cisco [26] 61
00:38:00: RADIUS: h323-disconnect-tim[29] 55 "h323-disconnect-time=*00:37:57.739 UTC
Sat Jan 1 2000"
00:38:00: RADIUS: Vendor, Cisco [26] 34
00:38:00: RADIUS: h323-disconnect-cau[30] 28 "h323-disconnect-cause=10 "
00:38:00: RADIUS: Vendor, Cisco [26] 35
00:38:00: RADIUS: Cisco AVpair [1] 29 "h323-ivr-out=Tariff:Unknown"
00:38:00: RADIUS: Vendor, Cisco [26] 28
00:38:00: RADIUS: h323-voice-quality [31] 22 "h323-voice-quality=0"
00:38:00: RADIUS: User-Name [1] 12 "4081234567"
00:38:00: RADIUS: Acct-Status-Type [40] 6 Stop [2]
00:38:00: RADIUS: NAS-Port-Type [61] 6 Async [0]
00:38:00: RADIUS: Vendor, Cisco [26] 19
00:38:00: RADIUS: cisco-nas-port [2] 13 "ISDN 0:D:23"
00:38:00: RADIUS: Calling-Station-Id [31] 12 "4081234567"
00:38:00: RADIUS: Called-Station-Id [30] 7 "12345"
00:38:00: RADIUS: Service-Type [6] 6 Login [1]
00:38:00: RADIUS: NAS-IP-Address [4] 6 10.5.20.100
00:38:00: RADIUS: Delay-Time [41] 6 0
00:38:00: ISDN Se0:23: RX <- RELEASE pd = 8 callref = 0x009E
00:38:00: ISDN Se0:23: TX -> RELEASE_COMP pd = 8 callref = 0x809E
00:38:05: RADIUS: Retransmit id 9
00:38:05: RADIUS: acct-delay-time for 4021D9EC (at 4021DC7A) now 5
00:38:10: RADIUS: Retransmit id 4
00:38:10: RADIUS: acct-delay-time for 4021D9EC (at 4021DC7A) now 10
00:38:15: RADIUS: Retransmit id 5
00:38:15: RADIUS: acct-delay-time for 4021D9EC (at 4021DC7A) now 15
00:38:20: RADIUS: Tried all servers.
00:38:20: RADIUS: No valid server found. Trying any viable server
00:38:20: RADIUS: Tried all servers.
00:38:20: RADIUS: No response for id 6
00:38:20: RADIUS/DECODE: parse response no app start; FAIL
00:38:20: RADIUS/DECODE: parse response; FAIL
05/08/11 521
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
The output below is from a call that uses cdr1.cdr which allows only h323-call-origin.
05/08/11 522
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
02:41:38: %ISDN-6-CONNECT: Interface Serial0:22 is now connected to 4081234567
02:41:52: RADIUS(00000023): Encoding nas-port...Only port-type avlbl
02:41:59: %ISDN-6-DISCONNECT: Interface Serial0:22 disconnected from 4081234567
, call lasted 26 seconds
02:41:59: RADIUS/ENCODE(00000023): Unsupported AAA attribute timezone
02:41:59: RADIUS(00000023): Encoding nas-port...Only port-type avlbl
02:41:59: RADIUS(00000023): sending
02:41:59: RADIUS: Send to unknown id 27 10.6.20.70:1699, Accounting-Request, len
327
02:41:59: RADIUS: authenticator 13 B7 10 EE 1C 55 7A D2 - 0F 4A A5 2F 1F 85 0E
3A
02:41:59: RADIUS: Acct-Session-Id [44] 10 "00000023"
02:41:59: RADIUS: Vendor, Cisco [26] 56
02:41:59: RADIUS: Conf-Id [24] 50 "h323-conf-id=C925CD59 BF2B11D3
8038E483 89ADC43B"
02:41:59: RADIUS: Vendor, Cisco [26] 31
02:41:59: RADIUS: h323-call-origin [26] 25 "h323-call-origin=answer"
02:41:59: RADIUS: Vendor, Cisco [26] 65
02:41:59: RADIUS: Cisco AVpair [1] 59 "h323-incoming-conf-id=C925CD59
BF2B11D3 8038E483 89ADC43B"
02:41:59: RADIUS: Acct-Input-Octets [42] 6 0
02:41:59: RADIUS: Acct-Output-Octets [43] 6 121600
02:41:59: RADIUS: Acct-Input-Packets [47] 6 0
02:41:59: RADIUS: Acct-Output-Packets [48] 6 760
02:41:59: RADIUS: Acct-Session-Time [46] 6 27
02:41:59: RADIUS: Vendor, Cisco [26] 35
02:41:59: RADIUS: Cisco AVpair [1] 29 "h323-ivr-out=Tariff:Unknown"
02:41:59: RADIUS: User-Name [1] 12 "4081234567"
02:41:59: RADIUS: Acct-Status-Type [40] 6 Stop [2]
02:41:59: RADIUS: NAS-Port-Type [61] 6 Async [0]
02:41:59: RADIUS: Vendor, Cisco [26] 19
02:41:59: RADIUS: cisco-nas-port [2] 13 "ISDN 0:D:23"
02:41:59: RADIUS: Calling-Station-Id [31] 12 "4081234567"
02:41:59: RADIUS: Called-Station-Id [30] 7 "12345"
02:41:59: RADIUS: Service-Type [6] 6 Login [1]
02:41:59: RADIUS: NAS-IP-Address [4] 6 10.5.20.100
02:41:59: RADIUS: Delay-Time [41] 6 0
02:41:59: RADIUS: Received from id 27 10.6.20.70:1699, Accounting-response, len
20
02:41:59: RADIUS: authenticator 7F B2 88 3A 4A 96 05 C6 - D5 81 19 D8 25 3B 4D CB
show debug
Radius protocol debugging is on
Radius packet protocol (accounting) debugging is on
The output below is from a call that uses cdr2 which allows h323-gw-id, but does not allow h323-call-origin.
05/08/11 523
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
803CE483 89ADC43B"
02:51:35: RADIUS: Vendor, Cisco [26] 65
02:51:35: RADIUS: Cisco AVpair [1] 59 "h323-incoming-conf-id=306F55DD
BF2D11D3 803CE483 89ADC43B"
02:51:35: RADIUS: User-Name [1] 12 "4081234567"
02:51:35: RADIUS: Acct-Status-Type [40] 6 Start [1]
02:51:35: RADIUS: NAS-Port-Type [61] 6 Async [0]
02:51:35: RADIUS: Vendor, Cisco [26] 19
02:51:35: RADIUS: cisco-nas-port [2] 13 "ISDN 1:D:23"
02:51:35: RADIUS: Calling-Station-Id [31] 12 "4081234567"
02:51:35: RADIUS: Called-Station-Id [30] 7 "12346"
02:51:35: RADIUS: Service-Type [6] 6 Login [1]
02:51:35: RADIUS: NAS-IP-Address [4] 6 10.5.20.100
02:51:35: RADIUS: Delay-Time [41] 6 0
02:51:35: %ISDN-6-CONNECT: Interface Serial1:22 is now connected to 4081234567
02:51:35: RADIUS: Received from id 28 10.6.20.70:1709, Accounting-response, len
20
02:51:35: RADIUS: authenticator D3 D8 59 42 2B 48 96 8D - 5E 2E D8 61 9A 9D 0D
5F
02:51:41: %ISDN-6-CONNECT: Interface Serial1:22 is now connected to 4081234567
02:51:43: %ISDN-6-DISCONNECT: Interface Serial1:22 disconnected from 4081234567
, call lasted 8 seconds
02:51:43: RADIUS/ENCODE(00000025): Unsupported AAA attribute timezone
02:51:43: RADIUS(00000025): Encoding nas-port...Only port-type avlbl
02:51:43: RADIUS(00000025): sending
02:51:43: RADIUS: Send to unknown id 29 10.6.20.70:1709, Accounting-Request, len
330
02:51:43: RADIUS: authenticator 55 35 AB CC 20 64 69 4B - 3F EE 79 04 11 E8 AE
4F
02:51:43: RADIUS: Acct-Session-Id [44] 10 "00000025"
02:51:43: RADIUS: Vendor, Cisco [26] 34
02:51:43: RADIUS: h323-gw-id [33] 28 "h323-gw-id=router."
02:51:43: RADIUS: Vendor, Cisco [26] 56
02:51:43: RADIUS: Conf-Id [24] 50 "h323-conf-id=306F55DD BF2D11D3
803CE483 89ADC43B"
02:51:43: RADIUS: Vendor, Cisco [26] 65
02:51:43: RADIUS: Cisco AVpair [1] 59 "h323-incoming-conf-id=306F55DD
BF2D11D3 803CE483 89ADC43B"
02:51:43: RADIUS: Acct-Input-Octets [42] 6 0
02:51:43: RADIUS: Acct-Output-Octets [43] 6 50240
02:51:43: RADIUS: Acct-Input-Packets [47] 6 0
02:51:43: RADIUS: Acct-Output-Packets [48] 6 314
02:51:43: RADIUS: Acct-Session-Time [46] 6 8
02:51:43: RADIUS: Vendor, Cisco [26] 35
02:51:43: RADIUS: Cisco AVpair [1] 29 "h323-ivr-out=Tariff:Unknown"
02:51:43: RADIUS: User-Name [1] 12 "4081234567"
02:51:43: RADIUS: Acct-Status-Type [40] 6 Stop [2]
02:51:43: RADIUS: NAS-Port-Type [61] 6 Async [0]
02:51:43: RADIUS: Vendor, Cisco [26] 19
02:51:43: RADIUS: cisco-nas-port [2] 13 "ISDN 1:D:23"
02:51:43: RADIUS: Calling-Station-Id [31] 12 "4081234567"
02:51:43: RADIUS: Called-Station-Id [30] 7 "12346"
02:51:43: RADIUS: Service-Type [6] 6 Login [1]
02:51:43: RADIUS: NAS-IP-Address [4] 6 10.5.20.100
02:51:43: RADIUS: Delay-Time [41] 6 0
02:51:43: RADIUS: Received from id 29 10.6.20.70:1709, Accounting-response, len
20
02:51:43: RADIUS: authenticator 45 31 ED 45 F4 06 ED 54 - 5E 6F 83 64 4D 2D 34
90
05/08/11 524
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
The show call accounting-template voice template name command shows the VSAs that are contained in the
accounting template.
The output below results from defining a template that does not exist or that cannot be reached.
router(config)#$://10.255.255.255/johndoe/sanjose/cdr/cdr4000.cdr
Reading cdr template cdr10 fail, put it on retry queue.
01:15:46: hifs ifs could not open file
Template cdr1.cdr is modified on the tftp server to enable an invalid VSA ( for example h323-call-origin) to be
put into the template.
05/08/11 525
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
call accounting-template voice reload cdr1
The template has been rejected, and previous template still applied.
Use the show call accounting-template voice summary command to check if a template is loaded and running.
The output below shows two templates successfully loaded and running, and a template that failed to load.
The output below shows reloading template cdr1 after modifying it.
05/08/11 526
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
The last load was successful.
attr: h323-call-origin (56)
Totally 1 attrs defined.
Additional VSAs are added to modify cdr1 on the tftp server as shown:
call accounting
05/08/11 527
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 528
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
The Accounting Server Connectivity Failure and Recovery Detection feature provides the scriptable option to
reject new calls entering the VoIP network and tear down all existing calls upon detecting connectivity failure to
the method list that is associated with the RADIUS-based accounting server(s).
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 Prerequisites for Accounting Server Connectivity Failure and Recovery Detection
• 2 Restrictions for Accounting Server Connectivity Failure and Recovery Detection
• 3 Global Accounting Script
• 4 How to Configure Accounting Server Connectivity Failure and Recovery Detection
♦ 4.1 Configuring the GAS
◊ 4.1.1 How the GAS Application Verifies Configuration Parameters
◊ 4.1.2 SUMMARY STEPS
◊ 4.1.3 DETAILED STEPS
♦ 4.2 Loading the GAS
◊ 4.2.1 Prerequisites
◊ 4.2.2 SUMMARY STEPS
◊ 4.2.3 DETAILED STEPS
♦ 4.3 Starting the GAS
◊ 4.3.1 Starting the GAS in Privileged EXEC Mode
◊ 4.3.2 SUMMARY STEPS
◊ 4.3.3 DETAILED STEPS
◊ 4.3.4 Starting the GAS in Global Configuration Mode
◊ 4.3.5 SUMMARY STEPS
◊ 4.3.6 DETAILED STEPS
♦ 4.4 Verifying the GAS
◊ 4.4.1 SUMMARY STEPS
◊ 4.4.2 DETAILED STEPS
♦ 4.5 Troubleshooting Accounting Server Connectivity Failure and Recovery
Detection
◊ 4.5.1 SUMMARY STEPS
◊ 4.5.2 DETAILED STEPS
• 5 Configuration Examples for Accounting Server Connectivity Failure and Recovery
Detection
♦ 5.1 Configuring the GAS: Example
◊ 5.1.1 Figure: Example Topology
♦ 5.2 Loading the GAS: Example
♦ 5.3 Starting the GAS: Example
♦ 5.4 Verifying the GAS: Example
05/08/11 529
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• Establish a working IP network. For more information about configuring IP, refer to the Cisco IOS IP
Address Services Configuration Guide.
• Configure VoIP. For more information about configuring VoIP, refer to the Voice Configuration Library.
• Configure a TFTP sever to perform storage and retrieval of the audio files, which are required by the
Debit Card gateway or other features requiring Tool Command Language Interactive Voice Response
(Tcl IVR) scripts and audio files.
• Program and configure the interface between the RADIUS server and the Cisco voice gateway to operate
with VSAs.
• Create the accounting method list default that includes all RADIUS servers using the aaa accounting
connection default start-stop group radius command in global configuration mode. This method list is
required by the probe accounting records the Accounting Server Connectivity Failure and Recovery
Detection feature uses to determine the state of connectivity to the method list.
If both voice and dial calls need to be done on the same gateway, different accounting servers must be configured
for each type of call.
• Tcl legless GAS-Controls and drives the detection, recovery, and probe algorithms.
• Application Tcl scripts-Performs the call treatments to incoming calls and existing calls when notified
that the method list is unreachable.
The GAS is a Tcl script with configurable parameters that users can customize for their own network
requirements. Users can configure one GAS for each method list, or one GAS script for multiple method lists.
Because the RADIUS accounting protocol is User Datagram Protocol (UDP)-based, it is connectionless, and there
is no guaranteed connectivity with the RADIUS server. The Accounting Server Connectivity Failure and
05/08/11 530
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Recovery Detection feature uses the acknowledgment of accounting requests from the method list to detect
connectivity.
The GAS determines the state transition of the method list and updates the AAA system with the latest method list
status. If the method list is unreachable, the AAA system locates all the active calls associated with the
unreachable method list and informs the application script instances of the server unreachable event. The
application script applies the appropriate treatments for this new event to the existing calls. For incoming calls,
the application script checks the method list status and applies the appropriate treatment. For example, the
application can clear the existing calls and reject new incoming calls for this method list. When the method list
becomes reachable, the application script instances are notified, and they can take the appropriate action.
The GAS application reads in the configured method list and uses it to identify the configuration parameters
associated with that method list. Configuration parameters associated with a method list are either mandatory or
optional.
If a mandatory configuration parameter does not exist, the GAS application displays the following message:
TCL GAS: >> Mandatory Parameter <parameter name from configuration avpair> does not exist
If a mandatory configuration parameter has an invalid type or value, the GAS application displays the following
message:
TCL GAS: >> Mandatory Parameter <exact parameter from configuration avpair> invalid value
At least one method list must be configured with the GAS application.
If the GAS application fails to read any of the mandatory configuration parameters, it fails and display this
message:
05/08/11 531
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
TCL GAS:>>>> GasManager.Start Exit Failure <<<<
SUMMARY STEPS
DETAILED STEPS
Command
Purpose
or Action
Download the GAS file at Technical Support Software Download for Cisco Tool
Download the Command Language Software at
1.
GAS file. http://www.cisco.com/cgi-bin/tablebuild.pl/tclware. The GAS file contains the
GAS and a ReadMe file.
Refer to the ReadMe file for script-specific information about configuration
parameters, including which are mandatory and which are optional.
• You must configure at least the mandatory parameters before loading the
GAS.
• You must configure the GAS for at least one method list.
• For information on the changes to the Tcl application programming
Configure the
interface (API) included in the Accounting Server Connectivity Failure
GAS application
2. and Recovery Detection feature, refer to the TCL IVR Version 2.0
and mandatory
Programmer's Guide.
parameters.
Note: The GAS should be configured only by changing the value of its
configuration parameters. The Technical Assistance Center (TAC)
cannot support this feature, or the system on which it is loaded, if any
changes are made to the script itself. Any changes to the GAS are
supported by the Cisco Developer Support Program only, which requires
a signed Developer Support Agreement.
Prerequisites
You must configure any script-specific parameters before loading the GAS.
05/08/11 532
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
SUMMARY STEPS
1. enable
2. call application voice load application-name
DETAILED STEPS
SUMMARY STEPS
1. enable
2. call application session start instance-name application-name
DETAILED STEPS
05/08/11 533
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Router> enable
call application session start instance-name application-name
SUMMARY STEPS
1. enable
2. configure terminal
3. call application session start instance-name application-name
DETAILED STEPS
SUMMARY STEPS
1. enable
2. show running-config
3. show voice accounting method
05/08/11 534
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
DETAILED STEPS
The following procedure minimizes the load on the router created by the debug voice aaa asnl commands,
because the console port is no longer generating character-by-character processor interrupts. If you cannot
connect to a console directly, you can run this procedure via a terminal server. If you must break the Telnet
connection, however, you may not be able to reconnect because the router may be unable to respond due to the
processor load of generating the debug voice aaa asnl output.
Perform the following task to minimize the impact of using the 'debug voice aaa asnl' command.
SUMMARY STEPS
1. Attach a console directly to a router running Cisco IOS Release 12.3(8)T or a later release.
2. enable
3. configure terminal
4. no logging console
5. Use Telnet to access a router port and repeat Steps 2 and 3.
6. terminal monitor
05/08/11 535
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
7. end
8. debug voice aaa asnl
9. configure terminal
10. no terminal monitor
11. end
DETAILED STEPS
Router(config)# end
Displays debugging messages for
debug voice aaa asnl gateway AAA ASNL.
8. Example: • Enter the no debug voice
aaa asnl command when you
Router# debug voice aaa asnl
are finished.
05/08/11 536
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
'configure 'terminal
Router(config)# end
In this example, the GAS is configured for two method lists: ml1 and ml2.
05/08/11 537
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
call application voice GAS tftp://192.255.254.253/app_GAS.2.0.0.0.tcl
call application voice GAS method-list ml1;ml2
call application voice GAS gas-active-timer-ml1 30
call application voice GAS detect-failure-responses-ml1 2
call application voice GAS recovery-responses-ml1 2
call application voice GAS probe-retry-timer-ml1 5
call application voice GAS report-accounting-failed-ml1 false
call application voice GAS probe-user-name-ml1 johndoe
call application voice GAS acct-inactivity-period-ml1 120
call application voice GAS send-accounting-on-ml1 true
call application voice GAS use-gas-debugs-ml1 true
call application voice GAS gas-active-timer-ml2 30
call application voice GAS detect-failure-responses-ml2 2
call application voice GAS recovery-responses-ml2 5
call application voice GAS probe-retry-timer-ml2 10
call application voice GAS report-accounting-failed-ml2 true
call application voice GAS acct-inactivity-period-ml2 90
call application voice GAS send-accounting-on-ml2 false
call application voice GAS use-gas-debugs-ml2 false
The ml1 method list is configured with the following parameter values:
05/08/11 538
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
enable
call application voice load GAS
enable
call application session start session_1 GAS
In the following example, method lists ml1 and ml2 are defined, and the GAS named GAS is configured:
05/08/11 539
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
isdn switch-type primary-5ess
!
mta receive maximum-recipients 0
no memory check-interval
!
!
!
controller T1 0
framing esf
clock source line primary
linecode b8zs
pri-group timeslots 1-24
!
controller T1 1
framing esf
clock source line secondary 1
linecode b8zs
pri-group timeslots 1-24
!
controller T1 2
framing esf
linecode b8zs
pri-group timeslots 1-24
!
controller T1 3
framing esf
linecode b8zs
pri-group timeslots 1-24
gw-accounting aaa
method ml1
!
interface Loopback1
no ip address
no ip route-cache
no ip mroute-cache
!
interface Ethernet0
ip address 10.8.156.2 255.255.0.0
!
!
interface Serial0:23
no ip address
dialer-group 1
isdn switch-type primary-5ess
isdn incoming-voice modem
fair-queue 64 256 0
no cdp enable
!
interface Serial1:23
no ip address
isdn switch-type primary-5ess
no cdp enable
!
interface Serial2:23
no ip address
isdn switch-type primary-5ess
no cdp enable
!
interface Serial3:23
no ip address
isdn switch-type primary-5ess
no cdp enable
05/08/11 540
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
!
interface FastEthernet0
ip address 172.19.141.84 255.255.0.0
ip directed-broadcast
no ip route-cache
no ip mroute-cache
duplex auto
speed auto
!
ip default-gateway 10.8.0.1
ip classless
ip route 10.7.0.0 255.255.0.0 10.8.0.1
ip route 10.8.0.1 255.255.255.255 Ethernet0
ip route 10.9.0.0 255.255.0.0 10.8.0.1
ip route 192.255.254.253 255.255.255.255 10.8.0.1
ip route 192.255.254.254 255.255.255.255 10.8.0.1
no ip http server
!
access-list 101 permit ip any any
dialer-list 1 protocol ip permit
dialer-list 1 protocol ipx permit
!
radius-server host 10.8.159.105 auth-port 1645 acct-port 1646
radius-server host 10.9.57.101 auth-port 1715 acct-port 1716
radius-server key cisco
radius-server authorization permit missing Service-Type
radius-server vsa send accounting
radius-server vsa send authentication
call rsvp-sync
!
call application voice GAS tftp://192.255.254.253/app_GAS.2.0.0.0.tcl
call application voice GAS method-list ml1;ml2
call application voice GAS gas-active-timer-ml1 5
call application voice GAS detect-failure-responses-ml1 2
call application voice GAS recovery-responses-ml1 2
call application voice GAS probe-retry-timer-ml1 5
call application voice GAS report-accounting-failed-ml1 false
call application voice GAS probe-user-name-ml1 johndoe
call application voice GAS acct-inactivity-period-ml1 120
call application voice GAS send-accounting-on-ml1 true
call application voice GAS use-gas-debugs-ml1 true
!
call application voice GAS gas-active-timer-ml2 5
call application voice GAS detect-failure-responses-ml2 2
call application voice GAS recovery-responses-ml2 5
call application voice GAS probe-retry-timer-ml2 10
call application voice GAS report-accounting-failed-ml2 true
call application voice GAS acct-inactivity-period-ml2 90
call application voice GAS send-accounting-on-ml2 false
call application voice GAS use-gas-debugs-ml2 false
!
call application voice calling_app tftp://192.255.254.253/app_session_rw.tcl
!
call application session start G1 GAS
!
voice-port 0:D
!
voice-port 1:D
!
voice-port 2:D
!
voice-port 3:D
05/08/11 541
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
!
!
mgcp profile default
!
dial-peer cor custom
!
!
dial-peer voice 1 pots
application calling_app
incoming called-number 25170
port 0:D
!
dial-peer voice 1800877 voip
destination-pattern 1800877....
session target ipv4:10.8.156.3
!
alias exec osperr debug voip sett err
alias exec h225 debug cch323 h225
alias exec h245 debyg cch323 h245
alias exec ivr debyg voip ivr
alias exec ccapi debub voip ccapi in
!
line con 0
exec-timeout 0 0
logging synchronous
line aux 0
line vty 0
password lab
line vty 1 4
!
end
The following example displays the status history for the ml1 method list:
05/08/11 542
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
To troubleshoot the Enhanced Billing Support for SIP Gateways feature, perform the following steps:
05/08/11 543
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
The following section is provided to assist in determining if your OSP network is set up correctly. The problems
listed have been reported as the most common errors made when configuring settlement in a network. Each
section describes a problem and a solution.
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 Settlement Database Not Set Up Properly
♦ 1.1 Problem
♦ 1.2 Solution
• 2 Tcl IVR Script Not Called
♦ 2.1 Problem
♦ 2.2 Solution
• 3 No Destination Pattern Set
♦ 3.1 Problem
♦ 3.2 Solution
• 4 No Session Target Settlement Set on Originating
Gateway
♦ 4.1 Problem
♦ 4.2 Solution
• 5 No VoIP Inbound Dial Peer on Terminating Gateway
♦ 5.1 Problem
♦ 5.2 Solution
• 6 No Application Attribute on Terminating Gateway
♦ 6.1 Problem
♦ 6.2 Solution
• 7 Terminating Gateway Not Synchronized with Settlement
Server
♦ 7.1 Problem
♦ 7.2 Solution
• 8 Settlement Provider Not Running
♦ 8.1 Problem
♦ 8.2 Solution
• 9 Router and Server Not Using SSL to Communicate
♦ 9.1 Problem
♦ 9.2 Solution
♦ 9.3 Problem
♦ 9.4 Solution
• 10 Multiple Dial Peers Have Random Order
♦ 10.1 Problem
05/08/11 544
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
♦ 10.2 Solution
• 11 H.323 Setup Connection Timeout
♦ 11.1 Problem
♦ 11.2 Solution
• 12 Problem Isolation
Problem
Calls are routed through a settlement server, but the originating gateway gets no response or a negative response.
Solution
Check with the settlement provider to make sure that the router is properly registered with that provider. Router
registration with settlement provider is normally done outside of OSP.
Problem
Tcl IVR script is not used on the originating gateway or terminating gateway.
Solution
Configure a Tcl IVR script for the dial peer using the application application name command.
Note: Tcl/IVR scripts are required for settlement, and classic IVR 1.0 does not support settlement.
• Use the show call application voice summary command to list all the available scripts on the router.
• Default is classic SESSION application, which cannot do settlement.
• The fax_hop_on.tcl script does not work with settlement.
05/08/11 545
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Problem
The originating gateway inbound POTS dial peer has no destination pattern set.
Solution
Because some PBX devices do not pass along the calling number in the setup message, the router uses the
destination-pattern number or answer-address as an alternative, and a calling number is a required field for
settlement.
Problem
The originating gateway outbound VoIP dial peer has no session target settlement.
The router could make successful calls, but not through a settlement server. The session target specification
dictates how the router resolves the terminating gateway address for a particular called number.
Solution
Problem
The terminating gateway has no VoIP inbound dial peer. Because the settlement token in the incoming setup
message from the originating gateway cannot be validate, the terminating gateway rejects the call.
Solution
Create an inbound dial peer with the session target settlement command.
05/08/11 546
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Problem
The terminating gateway has an inbound dial peer configured, but with no application command. The default
session application (SESSION) processes the call, but it does not support settlement.
Solution
The default session application (SESSION) does not support the settlement feature. Therefore, you must
configure the application command in the inbound dial peer.
Problem
The terminating gateway clock is not synchronized with the settlement server. The terminating gateway rejects
the call because it is too soon or too late to use the settlement token in the incoming setup message.
Solution
Use the ntp or clock set command to synchronize the clocks between the terminating gateway and the settlement
server.
Problem
The settlement provider on the originating gateway or terminating gateway is not running. No settlement
transaction processing is allowed unless the provider is running.
Solution
Enable settlement using the no shutdown command in settlement configuration mode. Use the show settlement
command to verify the provider status.
05/08/11 547
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Problem
The router cannot use SSL to communicate with the server because the server URL should be "https," not "http."
Solution
Problem
The router cannot use SSL to communicate with the server because the certificates of the server or router were not
properly obtained.
Solution
Check the certificate enrollment process for both the server and the router.
Problem
The originating gateway has multiple dial peers for the same called number, and settlement is never used. The
order for rotary dial peers is random unless a dial peer preference is specified. The dial peer with lower preference
is chosen first.
Solution
Problem
The originating gateway cannot successfully set up a call with the first terminating gateway that is returned from
the OSP server. The problem occurs when a gateway attempts to set up the call with the terminating gateways in
the order they are received. If for some reason the H.323 call setup is not successful, there is a 15-second timeout
by default before the next terminating gateway on the list is contacted.
05/08/11 548
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Solution
The H.323 call setup timeout can be tuned using the h225 timeout command.
For example:
Problem Isolation
To isolate problems with settlement, perform the following tasks:
• Check the originating gateway and terminating gateway configuration for dial peers, settlement providers,
and certificates.
• Check the network between the originating gateway, terminating gateway, and the server. Ping each
device to make sure that the machines are running.
• Verify that IP calls can be made successfully. If so, the problem is specific to settlement.
• Turn on debug voip ivr settlement on the originating gateway to see if the Tcl IVR script initiates a
settlement request to the server.
• Use the debug voip settlement network command on the originating gateway to capture the HTTP
requests sent to the server and the response from the server. If the originating gateway gets no response
from the server, contact the settlement provider.
• Turn on debug voip settlement misc to see the list of TOWs returned from the server. If this list is
incorrect, contact the settlement provider.
• If the terminating gateway rejects the settlement token because it is too soon or too late to use it,
synchronize the terminating gateway clock with the server.
05/08/11 549
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
The following fax call flows are described:
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 Fax Pass-Through and Fax Pass-Through with
Upspeed
♦ 1.1 Figure: Fax Pass-Through and Fax
Upspeed Call Flow
• 2 Cisco Fax Relay
♦ 2.1 Cisco Fax Relay Fax Setup Phase
◊ 2.1.1 Figure: Cisco Fax Relay Fax
Setup Call Flow
♦ 2.2 Cisco Fax Relay Data Transfer Phase
◊ 2.2.1 Figure: Cisco Fax Relay Data
Transfer Call Flow
• 3 T.38 Fax Relay
♦ 3.1 H.323 T.38 Fax Relay
◊ 3.1.1 Figure: H.323 T.38 Fax Relay
Call Flow
♦ 3.2 SIP T.38 Fax Relay
◊ 3.2.1 Figure: SIP T.38 Fax Relay
Call Flow
♦ 3.3 MGCP T.38 Fax Relay
• 4 T.37 Store-and-Forward Fax
♦ 4.1 Figure: T.37 Store-and-Forward Fax
Topology
In fax pass-through mode, gateways do not distinguish between a fax call and a voice call. Fax communication
between the two fax machines is carried in its entirety in-band over a voice call. Fax upspeed is similar to
pass-through in the sense that the fax call is carried in-band over the voice call. The difference is that when you
use upspeed, the gateways to some extent react to the fax call. Although relay mechanisms are not employed, with
upspeed the gateways do recognize a CED fax tone and automatically change the voice codec to G.711 if
05/08/11 550
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
necessary (thus the designation upspeed). Turn off echo cancellation (EC) and voice activity detection (VAD) for
the duration of the call.
When a DSP is put into voice mode at the beginning of a VoIP call, the DSP is informed by the call control stack
whether the control protocol can support pass-through or not. If pass-through is supported, the following events
occur during a fax call:
1. For the duration of the call, the DSP listens for the 2100-Hz CED tone to detect a fax or modem on the
line.
2. If the CED tone is heard, an internal event is generated to alert the call control stack that a fax or modem
changeover is required.
3. The call control stack on the originating gateway instructs the DSP to send an NSE to the terminating
gateway, informing the terminating gateway of the request to carry out a codec change.
4. If the terminating gateway supports NSEs, it responds to the originating gateway instruction and loads the
new codec. The fax machines are able to communicate on an end-to-end basis with no further intervention
by the voice gateways.
Fax pass-through call flow is shown in Figure: Fax Pass-Through and Fax Upspeed Call Flow.
Cisco fax relay is the default operation and, in the absence of any explicit CLI on the dial peer, is used when a fax
transmission is detected. If voice calls are being completed successfully between two routers, fax calls should also
work. Events that occur during a Cisco fax relay call fall into the following call phases:
05/08/11 551
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• Initially a VoIP call is established as if it were a normal speech call. Call control procedures are followed
and the DSP is put into voice mode, after which human speech is expected to be received and processed.
Note: If a fax answer or calling tone (CED or CNG) is heard at any time during the call, the DSP does not
interfere with the speech processing. It allows the tone to continue across the VoIP call leg.
• A normal fax machine, after generating a CED or hearing a CNG, sends a DIS message with the
capabilities of the fax machine.
The DSP in the Cisco IOS gateway attached to the fax machine that generated the DIS message (normally
the terminating gateway) detects the HDLC flag sequence at the start of the DIS message and initiates fax
relay switchover.
The DSP also triggers an internal event to notify the call control stack that fax switchover is required. The
call control stack then instructs the DSP to change the RTP payload type to 96 and to send this payload
type to the originating gateway.
• When the DSP on the originating gateway receives an RTP packet with payload type set to 96, it triggers
an event informing its own call control stack that a fax changeover has been requested by the remote
gateway.
The originating gateway then sends an RTP packet to the terminating gateway with payload type 97 to
indicate that the originating gateway has started the fax changeover. When the terminating gateway
receives the payload type 97 packet, the packet serves as an acknowledgement. The terminating gateway
starts the fax codec download and is ready for fax relay.
• Once the originating gateway has completed the codec download, it sends RTP packets with payload type
96 to the terminating gateway. The terminating gateway responds with an RTP packet with payload type
97, and fax relay can begin between the two gateways. As part of the fax codec download, other
parameters such as VAD, jitter buffers, and echo cancellation are changed to suit the different
characteristics of a fax call.
Cisco fax relay fax setup is shown in Figure: Cisco Fax Relay Fax Setup Call Flow.
05/08/11 552
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
The messages that are demodulated and remodulated are predominantly the phase B, phase D, and phase E
messages of a T.30 transaction. Most of the messages are passed across without any interference, but certain
messages are modified according to the constraints of the VoIP network.
During phase B, fax machines interrogate each other's capabilities. They expect to communicate with each other
across a 64-kbps PSTN circuit, and they attempt to make best use of the available bandwidth and circuit quality of
a 64-kbps voice path. However, in a VoIP network, the fax machines do not have a 64-kbps PSTN circuit
available. The bandwidth per call is probably less than 64 kbps, and the circuit is not considered a clear circuit.
Because transmission paths in VoIP networks are more limited than in the PSTN, Cisco IOS CLI is used to adjust
fax settings on the VoIP dial peer. The adjusted fax settings restrict the facilities that are available to fax machines
across the VoIP call leg and are also used to modify values in DIS and NSF messages that are received from fax
machines.
The call flow of the Cisco fax relay data transfer phase is shown in Figure: Cisco Fax Relay Data Transfer Call
Flow.
05/08/11 553
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
T.38 uses data redundancy to compensate for packet loss. During T.38 call establishment, voice gateways indicate
the level of packet redundancy that they incorporate in their transmission of facsimile User Datagram Packet
Transport Layer packets (UDPTLs). The level of redundancy (the number of times that the packet is repeated) can
be configured on Cisco IOS gateways.
There is work under way to implement T.38 fax switchover independently of the call control mechanisms. This is
referred to as "bearer level signaling" and makes use of Named Signaling Events (NSEs).
Once the VoIP call setup is completed, the DSP continues to listen for a fax tone. When it hears one, the DSP
signals the receipt of fax tone to the call control layer, which then initiates fax changeover as specified in the T.38
Annex B procedures. The H.245 message flow shown in Figure: H.323 T.38 Fax Relay Call Flow contains the
following events:
1. The detecting terminating gateway sends a ModeRequest message to the originating gateway, and the
originating gateway responds with a ModeRequestAck.
2. The originating gateway sends a closeLogicalChannel message to close its VoIP UDP port, and the
terminating gateway responds with a closeLogicalChannelAck while it closes the VoIP port.
05/08/11 554
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
3. The originating gateway sends an openLogicalChannel message that indicates to which port to send the
T.38 UDP information on the originating gateway, and the terminating gateway responds with an
openLogicalChannelAck.
4. The terminating gateway sends a closeLogicalChannel message to close its VoIP UDP port, and the
originating gateway responds with a closeLogicalChannelAck.
5. Finally the terminating gateway sends an openLogicalChannel message that indicates to which port to
send the T.38 UDP stream, and the originating gateway responds with an openLogicalChannelAck.
6. T.38-encoded UDP packets flow back and forth. At the end of the fax transmission, either gateway can
initiate another ModeRequest message to return to VoIP mode.
The SIP T.38 fax relay call flow shown in Figure: SIP T.38 Fax Relay Call Flow contains the following events:
1. The terminating gateway detects a fax V.21 flag sequence and sends an INVITE with T.38 details in the
SDP field to the originating gateway or to the SIP proxy server, depending on the network topology.
2. The originating gateway receives the INVITE message and sends back a 200 OK message.
3. The terminating gateway acknowledges the 200 OK message and sends an ACK message direct to the
originating gateway.
4. The originating gateway starts sending T.38 UDP packets instead of VoIP UDP packets across the same
05/08/11 555
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
ports.
5. At the end of the fax transmission, another INVITE message can be sent to return to VoIP mode.
A fax relay MGCP event allows the gateway to notify the call agent of the status (start, stop, or failure) of T.38
processing for the connection. This event is sent in both call-agent-controlled and gateway-controlled mode.
05/08/11 556
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Cisco recommends that you dedicate a mail server to fax mail and avoid the conflicting configuration
requirements of traditional e-mail and fax-mail servers. Optimize each mail server for its individual functions-for
example, fax messages should usually retry transmissions every 5 minutes whereas normal e-mail should retry
every 30 minutes, and fax messages should give up after 3 to 4 hours whereas normal e-mail should not give up
for 4 to 5 days.
A topology for T.37 store-and-forward fax is shown in Figure: T.37 Store-and-Forward Fax Topology.
For more information about T.37 store and forward fax, refer to Configuring T.37 Store-and-Forward Fax.
05/08/11 557
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 Troubleshooting T.38 Fax Relay
• 2 Identifying and Isolating the Problem
• 3 Checking Basic Connectivity
♦ 3.1 Normal Voice Connectivity Problems
♦ 3.2 Configuration Problems Related to Dial Peers
◊ 3.2.1 Wrong Dial Peer Being Matched
◊ 3.2.2 Incorrectly Configured Dial Peers on
One or Both Sides
♦ 3.3 Other Basic Connectivity Problems Not
Relating to Dial Peers
♦ 3.4 Fax Connectivity Problems Across the PSTN
• 4 Checking for Slips and Other Errors on Digital Interfaces
♦ 4.1 show controller T1(E1) 1/0 Command
• 5 Checking Fax Interface Type
• 6 Ensuring That the Fax Codec is Loaded During the Fax
Call
• 7 Disabling Fax Relay and Change Codec for Pass-Through
• 8 Checking for Packet Loss on the Voice Network
• 9 Disabling Fax Relay ECM (Cisco Proprietary VoIP Only)
• 10 Enabling T.38 Packet Redundancy (T.38 VoIP Only)
• 11 Setting the Fax NSF Command to All Zeroes
• 12 Achieving the Final Stages of Resolution
• 13 Debugging Fax Relay
♦ 13.1 T.30 Messages
◊ 13.1.1 Figure: T.30 Transactions
♦ 13.2 Fax Relay Debug Commands
◊ 13.2.1 debug fax relay t30 all
◊ 13.2.2 debug vtsp all
◊ 13.2.3 debug vtsp vofr subframe 3
◊ 13.2.4 Additional Debug Commands
♦ 13.3 Fax Analyzers
◊ 13.3.1 Figure: Test Equipment Placement
05/08/11 558
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• Make sure that you can make a voice call.
• Make sure that the desired fax protocol was set using the fax protocol command on both the originating
and terminating gateways.
• Make sure that the fax protocol is configured as T.38 at the global configuration level or at the dial-peer
configuration level for both the originating and terminating gateways.
• Use the show call active {voice | fax} command to display information for the active call table.
• Use the show dial-peer voice command to display configuration information for dial peers.
• For H.323 gateways, use the debug cch323 all command to enable all H.323 debugging capabilities, or
use one of the following commands to debug problems while making the call:
♦ debug cch323 error
♦ debug cch323 h225
♦ debug cch323 h245
♦ debug cch323 RAS
♦ debug cch323 session
♦ debug voip ccapi inout
♦ debug vtsp session
• For SIP gateways, use the debug ccsip all command to enable all SIP debugging capabilities, or use one
of the following SIP debug commands:
♦ debug ccsip calls
♦ debug ccsip error
♦ debug ccsip events
♦ debug ccsip info
♦ debug ccsip media
♦ debug ccsip messages
♦ debug ccsip states
Troubleshooting one issue at a time minimizes confusion and allows for methodical troubleshooting. It is also
possible that the solution for this problem resolves other fax relay problems in the network. Most fax relay
problems result from poor voice configuration or network design. These lead to basic connectivity problems and
physical line or packet loss and jitter problems.
After you have identified and isolated the problem, you need to verify the basic voice configuration and monitor
the health of the network.
05/08/11 559
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
After ensuring that voice calls can be successfully completed in both directions through the voice network, issue
the show call active voice brief command and note the dial peers that are being matched with each voice call.
Note: When you have VoIP trunks, you should be able to see all the call legs with the show call
active voice brief command. In some versions of Cisco IOS Software Release 12.2, there is a
bug in the show call active command. As a result, a fax call that comes through a VoIP trunk
no longer appears. When you issue a show call active fax brief command, the call is listed.
For more information about this bug, see Cisco bug IDs CSCdx50212 and CSCdv02561
(registered customers only).
Note: Ensure that the configured dial peer is the peer that is being matched.
In the command output shown below, you can see that the outbound VoIP call leg is using peer ID 100.
Total call-legs: 2
1218 : 51710253hs.1 +415 pid:400 Answer 400 active
dur 00:01:08 tx:3411/68220 rx:3410/68200
Tele 3/0/0:43: TX:68200/6820/0ms g729r8 noise:0 acom:2
i/0:-51/-44 dBm
1218 : 51710396hs.1 +272 pid:100 Originate 100 active
dur 00:01:09 TX:3466/69320 rx:3467/69340
IP 2.1.1.2:17092 rtt:56ms pl:64730/0ms lost:0/1/0
delay:69/69/70ms
g729r8
Total call-legs: 2
A common cause of fax relay problems is that the correctly configured dial peer is not the one being matched. It is
also common that there is no particular incoming VoIP dial peer configured on the terminating gateway, and
Cisco IOS Software selects the first appropriate (including default) VoIP dial peer as the incoming dial peer.
Hence the parameters for this incoming dial peer might not match those of the outbound dial peer on the
originating gateway.
05/08/11 560
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
It is not always necessary to have identical configurations on the outgoing and incoming VoIP dial peers. When
you have a fax relay problem, though, make sure you have a dedicated incoming VoIP dial peer on the
terminating router and that its configuration matches the configuration of the outgoing VoIP dial peer on the
originating router. The following configuration for ISDN-connected routers is an example of specific, matching
VoIP dial peers for the destination pattern "5..." outbound on the originating gateway and inbound on the
terminating gateway.
You can also check dial-peer matching by issuing the debug voip ccapi inout command. The debug output from
this command (as shown below) includes an ssaSetupPeer message that lists all the dial-peers matching the called
number. A ccCallSetupRequest message follows with the outbound peer option indicating the outgoing VoIP dial
peer selected. When multiple VoIP dial peers are configured for the same destination, it is possible that the initial
call setup could fail and another dial peer could be tried. In this case, another ccCallSetupRequest appears in the
debug.
Total call-legs: 2
1218 : 51710253hs.1 +415 pid:400 Answer 400 active
dur 00:01:08 tx:3411/68220 rx:3410/68200
Tele 3/0/0:43: TX:68200/6820/0ms g729r8 noise:0 acom:2
i/0:-51/-44 dBm
1218 : 51710396hs.1 +272 pid:100 Originate 100 active
dur 00:01:09 TX:3466/69320 rx:3467/69340
IP 2.1.1.2:17092 rtt:56ms pl:64730/0ms lost:0/1/0
delay:69/69/70ms
g729r8
Total call-legs: 2
05/08/11 561
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
.Jun 4 21:06:43.461: ccCallSetupRequest
(Inbound call = 0x13, outbound peer =100,
dest=, params=0x62F1CC70 mode=0, *callID=0x62F1CFD8,
prog_ind = 0)
On the terminating voice gateway, the first line of the debug voip ccapi inout call trace (as shown below) is a'
'cc_api_call_setup_ind' 'message with a peer_tag option that refers to the incoming VoIP dial peer on the
terminating gateway.
After you confirm that the correct dial peer is being matched (in this case dial-peer 100 for the originating
gateway and dial peer 400 for the terminating router), confirm in the configuration that the dial peer is configured
correctly for fax. Here are some common errors to check for on both sides of the call:
• Fax relay is disabled (that is, the fax rate disable command has been issued on the dial peer) while a low
bandwidth codec has been in use.
• The dial peer on one voice gateway is configured for Cisco fax relay but the other voice gateway is a
Cisco AS5350/AS5400. Cisco AS5350/AS5400 universal gateways support only T.38 so the negotiation
fails.
• The default dial peer is being used inbound on the terminating gateway, and default parameters do not
match those for the outbound dial peer on the originating gateway.
• Incorrect compand type.
The companding type for the US is µ-law, for Europe and Asia it is a-law. You can issue the show voice call
command to see which value is currently configured. If you are on a BRI or E1 port, the companding type on the
router does not match the one on the connected device, and calls sometimes fail and sometimes connect, but the
voice becomes heavily distorted so that the person becomes unrecognizable and a high low-pitch noise level
appears.
In Cisco IOS Release 12.2(3) the compand-type command is missing on the BRI ports, leaving the companding
type to the default value. For more information about this bug, see Cisco bug IDs CSCdv00152 and CSCdv01861
(registered customers only).
• Cisco IOS software incompatibilities on gateway pairs. It is not always required that Cisco IOS software
releases match, but you should check releases when problems occur.
05/08/11 562
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• Compressed Real-Time Transport Protocol (cRTP) has several known problems. Fixes are available for
these problems and it makes sense to disable cRTP when problems occur. You can then decide whether a
Cisco IOS software upgrade is an appropriate course of action.
• On Cisco AS5300 voice gateways, ensure that the VCWare and Cisco IOS software are compatible.
The T1 or E1 controllers at both originating and terminating gateways should be error free, as shown above. If
errors occur, repeat the show controller command several times during the call to see if the number of errors
increases. The most common problem of slips is a synchronization problem resulting in clocking errors.
In packet voice networks, confirming that the router is clocking from the line is usually sufficient. If it is not,
ensure the clock source line command is entered at the controller level. However, in VoATM or TDM networks
where a clocking hierarchy is established and the routers may need to pass clock through the network, additional
considerations are needed.
On Cisco modular acccess routers with AIM voice cards installed, the controller shows "controlled slips" unless
you add the network-clock-participate and network-clock-select commands.
05/08/11 563
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
On the Cisco 7200VXR platform, the frame-clock-select command is required for the voice cards. This
command is particularly important for the Cisco 7200VXR voice gateways because, by default, the internal TDM
bus is not driven by the local oscillator. Since the E1 trunks are normally synchronized to the telephony network,
the result is hidden clocking errors and intermittent fax transmission problems. More detail is available in Cisco
bug ID CSCdv10359 (registered customers only).
Make sure you reload the router; otherwise the command does not take effect. Fax calls fail on the universal
gateways listed above with Cisco fax relay (or T.38), so this is an important command to check.
The fax interface-type vfc command was not necessary in Cisco IOS software releases prior to Release 12.2. The
problem is commonly seen when one of the voice gateways listed above is upgraded to Cisco IOS Release 12.2 or
later.
Ensuring That the Fax Codec is Loaded During the Fax Call
Each fax machine displays the remote fax machine ID on its LCD screen at the completion of the fax negotiation
phase. It is unlikely that the fax machines could complete negotiation if the fax codec has not been successfully
downloaded. On the other hand if no remote fax machine ID is displayed, further debugging in this area is
appropriate.
There are two ways to make sure that the voice gateways detect the fax transmission and successfully load the fax
codec:
• Issue the debug vtsp all command and the debug voip ccapi inout call trace.
• Issue the show voice trace command. Show commands are less resource intensive on the router than
debug commands and are preferable in production networks. Shown below is sample output from a show
voice trace command on an ISDN interface:
05/08/11 564
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
1/0:15 8
1/0:15 9
1/0:15 10 State Transitions: timestamp (state, event) -> ...
63513.792 (S_SETUP_REQUEST, E_TSP_PROCEEDING) ->
63515.264 (S_SETUP_REQ_PROC, E_TSP_ALERT) ->
63515.264 (S_SETUP_REQ_PROC, E_CC_BRIDGE) ->
63515.332 (S_SETUP_REQ_PROC, E_CC_CAPS_IND) ->
63515.332 (S_SETUP_REQ_PROC, E_CC_CAPS_ACK) ->
63515.348 (S_SETUP_REQ_PROC, E_CC_CAPS_IND) ->
63515.348 (S_SETUP_REQ_PROC, E_CC_CAPS_ACK) ->
63515.356 (S_SETUP_REQ_PROC, E_CC_CAPS_IND) ->
63515.356 (S_SETUP_REQ_PROC, E_CC_CAPS_ACK) ->
63518.656 (S_SETUP_REQ_PROC, E_CC_REQ_PACK_STAT) ->
63518.660 (S_SETUP_REQ_PROC, E_DSP_GET_VP_DELAY) ->
63518.660 (S_SETUP_REQ_PROC, E_DSP_GET_VP_ERROR) ->
63518.660 (S_SETUP_REQ_PROC, E_DSP_GET_RX) ->
63518.660 (S_SETUP_REQ_PROC, E_DSP_GET_TX) ->
63521.028 (S_SETUP_REQ_PROC, E_CC_REQ_PACK_STAT) ->
63521.028 (S_SETUP_REQ_PROC, E_DSP_GET_VP_DELAY) ->
63521.028 (S_SETUP_REQ_PROC, E_DSP_GET_VP_ERROR) ->
63521.028 (S_SETUP_REQ_PROC, E_DSP_GET_RX) ->
63521.028 (S_SETUP_REQ_PROC, E_DSP_GET_TX) ->
63524.128 (S_SETUP_REQ_PROC, E_TSP_CONNECT) ->
!--- Fax tone detected:
63529.352 (S_CONNECT, E_DSP_TONE_DETECT) ->
63529.356 (S_LFAX_WAIT_ACK, E_PH_CODEC_ACK) ->
!--- Fax codec being downloaded to DSPs:
Make sure these commands are entered on both gateways. These commands disable fax relay, disable echo
cancellation, and force the call to use a high-bandwidth codec without VAD. The router then samples the tones as
it would for a normal voice call, and with the high-bandwidth codec (G.711), the most precise sample possible is
captured. The tone to be replayed on the other side is as accurate as possible. The caveat to this step is that since
G.711 is a 64- kbps bandwidth codec, each call consumes up to 80 kbps (for VoIP) when additional transport
protocol overhead is added.
If this test is positive, two things have been accomplished. First, if per-call bandwidth consumption is not a major
issue for the network, there is now a potential fax pass-through workaround for the fax relay problem. Second,
and more significantly, if bandwidth consumption is an issue, the problem has been isolated to the fax relay
software and you should open a TAC case.
05/08/11 565
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
If this test fails, whatever is causing the fax calls to fail with fax relay is also probably causing the failures with
this test. The problem might be that the network might have a large amount of jitter or packet loss.
If the network appears to be lossy, it is not reasonable to expect fax relay to work reliably. It is possible to disable
ECM, but further investigation is probably needed to ensure QoS is provisioned end-to-end so that the voice and
fax relay traffic has priority and is never lost during the congestion.
Issuing the fax-relay ecm disable command improves fax relay performance in lossy networks, but this
command is also recommended for basic troubleshooting. Even if there is not a noticeable jitter problem in the
network, this command can sometimes help determine fax relay problems. This command is available under
VoFR and VoATM dial peers but currently works only for VoIP.
Note: This command also activates the packet loss concealment feature.
Router(config-dial-peer)# dial-peer voice 3
Router(config-dial-peer)# fax-relay ECM disable
05/08/11 566
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Ls-redundancy X Hs-redundancy Y
If Cisco proprietary fax relay is in use, an alternative or additional option to disabling ECM is to change fax relay
protocol to T.38 so that the T.38 packet redundancy feature can be tested. This feature might alleviate failure due
to packet loss. However, T.38 packet redundancy significantly increases bandwidth usage, and it is preferable to
eliminate the packet loss altogether, rather than alleviating the failures it causes.
• Learn the brands and models of the fax machines that are failing, and investigate those brands and models
for known issues. Sometimes there are CARE cases or bugs that address problems for a certain brand of
fax machine. For example, a search in the Bug Toolkit (registered customers only) for a Pitney Bowes fax
shows a bug with Pitney Bowes fax machines and Cisco fax relay (CSCdu78373 (registered customers
only)). This bug is not in the Cisco IOS software but is an incompatibility with the Pitney Bowes
proprietary fax signaling protocol. A problem arises when the fax devices on each side of a connection are
Pitney Bowes 9920s or 9930s. The workaround is to disable the proprietary protocol on the fax machines
or to disable fax relay and use a higher bandwidth codec.
• Use search tools to look for known fax problems in the Cisco IOS software release where the problem is
occurring. In the previous step, searches were made for a specific fax brand in the hope of identifying a
known issue between a certain fax brand and the Cisco fax relay code. The next step is to perform a
generic search, because there could be a fax relay bug in the Cisco IOS software release installed. For
example, if fax relay using VoFR is not working in Cisco IOS Software Release 12.1(2)T, you can search
for bugs using the Bug Toolkit on Cisco.com. In this example, you would use the following values:
♦ Major version: 12.1
♦ Revision: 2
♦ Feature/component: VoFR
♦ Keyword: fax
One of the bugs is Cisco bug ID CSCdr65984 (registered customers only), entitled "fax doesn't work for
vofr." This bug causes all fax relays to fail for VoFR, and an upgrade is needed to a Cisco IOS software
release in which this bug is no longer present.
05/08/11 567
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• Eliminate hardware faults. In some cases it is easier to isolate the problem by excluding potential problem
sources one by one. You can do this by replacing different hardware parts and using alternative IP
connections between the gateways. When extra hardware is available, the following steps can help.
♦ Use different ports on the routers-If your configuration involves two gateways connected to the
PBXs or PSTN with E1 or T1 and if you have the FXS ports available, try to connect the fax
machines directly to the FXS ports on the voice gateways. This procedure helps you further
isolate the problem by excluding the possibility of the E1 cards failing, problems on the
telephony side, and E1 synchronization or cable problems.
♦ Try different hardware-If you have another voice gateway with FXS ports available, try to
connect it directly with the Ethernet crossover cable to each of the voice gateways and send a fax
using the fax machine connected to the FXS port. This procedure helps determine if there are
problems in the VoX network involving queuing, fragmentation, or prioritization.
♦ Use debug commands on the router to determine what is happening-See the following section for
details about debug commands that are useful for troubleshooting fax relay problems.
• T.30 Messages
• Fax Relay Debug Commands
• Fax Analyzers
T.30 Messages
The debugs can be difficult to understand if you are not familiar with the messaging that occurs during a typical
fax transmission. Figure: T.30 Transactions is a graphical representation of the basic T.30 transactions that occur
for a single page fax transmission.
05/08/11 568
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Describing the details of these transactions is beyond the scope of this document, but listed below are definitions
of the basic transactions that are seen during fax relay. The list is alphabetical for quick reference and includes
messages that you are likely to see when you are debugging Cisco fax relay. For more in-depth information on
this messaging or for information on messages that are not listed below, see the T.30 specification.
• CED (called terminal identification)-A 2100 Hz signal that is transmitted by the terminating fax device
upon answering a fax call. This signal temporarily disables echo cancellers that are present on the
connection to prepare the line for data transmission.
• CFR (confirmation to receive)-A response confirming that the previous messaging and training has been
completed and that fax page transmission can begin.
• CNG (calling tone)-An 1100-Hz tone that is on for 0.5 seconds and then off for 3 seconds. This signal
identifies the fax terminal as a nonspeech device. The signal also indicates that the initiating fax terminal
is awaiting the DIS signal from the terminating fax terminal.
• CRP (command repeat)-A response that indicates that the previous command was received in error and
needs to be repeated. (Optional)
• CSI (called subscriber identification) -Can be used to provide the specific identity of the called fax
terminal through its international telephone number. (Optional)
• DCN (disconnect)-Ends the fax call and requires no response.
• DIS (digital identification signal) - Identifies the capabilities of the called fax terminal.
• DTC (digital transmit command) -The response to the capabilities identified by the DIS signal. Here is
where the calling fax terminal matches its capabilities with those provided in the called fax terminal's DIS
message.
• EOM (end of message) - Indicates the end of a complete page of fax information.
• EOP (end of procedure)- Indicates the end of a complete page of fax information and signals that no
further pages are to be sent. The other device can proceed to the disconnect phase of the fax call.
05/08/11 569
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• FTT (failure to train) - Used to reject a training signal and request a retrain (retrains usually occur at
lower modulation speeds).
• MCF (message confirmation) -Indicates that a message has been satisfactorily received.
• MPS (multipage signal)-Indicates the end of a complete page of fax information and signals that the
receiver is ready for additional pages.
• NSF (nonstandard facilities)- Can be used to identify specific capabilities or requirements that are not
covered by the T-series specifications. (Optional)
• RTN (retrain negative)- Indicates that a previous message has not been satisfactorily received. Retraining
is needed to proceed (usually at a lower modulation speed).
• RTP' (retrain positive)- Indicates that a complete message has been received and that additional messages
may follow after retraining.
• TCF (training check)- Sent through the higher-speed T.4 modulation system (versus the 300-kbps V.21
modulation used for the previous T.30 signaling) to verify training and indicate the acceptability of
sending fax pages at this transmission rate.
• TSI (transmitting subscriber identification)- Identifies the transmitting (calling) fax terminal. (Optional)
The debug for Cisco fax relay is enabled with the debug fax relay t30 all command.
Shown below is a copy of a debug from a failed fax relay session. This is a debug from the originating fax
gateway running Cisco IOS Release 12.2(7a).
Router#
Dec 5 07:49:13.073: 1/2:62 1281347052 fr-entered (10ms)
Dec 5 07:49:17.985: 1/2:62 1281351950 fr-msg-det CRP
Dec 5 07:49:20.105: 1/2:62 1281354070 Fr-MSG-TX NSF
Dec 5 07:49:20.655: 1/2:62 1281354620 Fr-MSG-TX good crc,
19 bytes
Dec 5 07:49:20.720: 1/2:62 1281354680 Fr-MSG-TX DIS
DEC 5 07:49:22.350: 1/2:62 1281356310 fr-msg-det TSI
DEC 5 07:49:23.045: 1/2:62 1281357000 fr-msg-det DCS
DEC 5 07:49:27.346: 1/2:62 1281361290 Fr-MSG-TX FTT
DEC 5 07:49:28.836: 1/2:62 1281362780 fr-msg-det TSI
DEC 5 07:49:29.531: 1/2:62 1281363470 fr-msg-det DCS
DEC 5 07:49:29.740: 1/2:62 1281363680 fr-msg-det bad crc,
0 bytes
DEC 5 07:49:30.362: 1/2:62 1281364300 fr-msg-det bad crc,
0 bytes
DEC 5 07:49:30.804: 1/2:62 1281364740 fr-msg-det bad crc,
05/08/11 570
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
0 bytes
DEC 5 07:49:30.852: 1/2:62 1281364790 fr-msg-det bad crc,
0 bytes
DEC 5 07:49:33.868: 1/2:62 1281367800 Fr-MSG-TX FTT
DEC 5 07:49:35.414: 1/2:62 1281369340 fr-msg-det TSI
DEC 5 07:49:36.113: 1/2:62 1281370040 fr-msg-det DCS
DEC 5 07:49:36.515: 1/2:62 1281370440 fr-msg-det bad crc,
0 bytes
DEC 5 07:49:36.908: 1/2:62 1281370830 fr-msg-det bad crc,
0 bytes
DEC 5 07:49:37.559: 1/2:62 1281371480 fr-msg-det bad crc,
0 bytes
DEC 5 07:49:37.784: 1/2:62 1281371700 fr-msg-det bad crc,
0 bytes
DEC 5 07:49:37.900: 1/2:62 1281371820 fr-msg-det bad crc,
0 bytes
DEC 5 07:49:40.133: 1/2:62 1281374050 Fr-MSG-TX FTT
DEC 5 07:49:41.888: 1/2:62 1281375800 fr-msg-det TSI
DEC 5 07:49:42.583: 1/2:62 1281376490 fr-msg-det DCS
DEC 5 07:49:43.173: 1/2:62 1281377080 fr-msg-det bad crc,
0 bytes
DEC 5 07:49:44.937: 1/2:62 1281378840 fr-msg-det bad crc,
0 bytes
DEC 5 07:49:45.386: 1/2:62 1281379290 fr-msg-det bad crc,
0 bytes
DEC 5 07:49:46.941: 1/2:62 1281380840 Fr-MSG-TX FTT
DEC 5 07:49:48.503: 1/2:62 1281382400 fr-msg-det DCN
DEC 5 07:49:50.631: 1/2:62 1281384520 fr-end-dcn
This debug shows the T.30 events that are taking place in the DSP during fax relay. Remember that the debugs
are taking place from the perspective of the DSP interacting with the fax device. Any Fr-MSG-TX or transmit
message is being transmitted from the DSP to the connected fax device. Any message that the DSP says that it
detects (an fr-msg-det message, is a message that it received from the connected fax device. Figure: DSP Message
Flow illustrates the directional flow of the DSP messages when the debug fax relay t30 all command is issued.
From the failed fax transaction shown in the debug above, you can see several badcyclic redundancy check (CRC)
messages followed by a failure to train (FTT) message from the far side. From the debugs it looks like the
problem involves the training signal. The bad crc errors and the FTT message returned from the other side
indicate that the signal is corrupted or incompatible with the Cisco fax relay protocol. This debug is taken from a
fax relay problem that occurs with a Lexmark Optra fax machine. The Lexmark is V.34-capable and attempts to
connect at V.34 rates. V.34 is not supported in Cisco fax relay and the training errors shown here occur. See Cisco
bug ID CSCdv89496 (registered customers only) for more details.
05/08/11 571
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
There are also other debug commands that might be useful for troubleshooting fax relay problems. These debugs
might not be as easy to read or provide as much information as the T.30 debugs described above, but they can still
be useful.
Voice Telephony Service Provider (VTSP) is an architecture for the interface between the Cisco IOS call control
and a DSP endpoint connected to standard telephony equipment such as a PBX, fax, or central office via analog or
digital interfaces.
For VoIP T.38 or fax relay, debug vtsp all can provide useful state information from the router. This debug
command can be used to determine if the fax codec has been downloaded into the DSP.
Another fax relay debug command that is helpful for fax using VoFR and VoATM is debug vtsp vofr subframe
3 . This command outputs FRF.11 frames that have an Annex D fax relay payload type. There is a significant
amount of output from this command even with just one fax relay call, and the hexadecimal must be decoded (the
FRF.11 specification is helpful for hexadecimal decoding).
To debug T.38 capabilities exchange issues, use the debug cch323 h245 command.
To debug DSP message exchanges between applications and the DSP, use the following debug commands:
Fax Analyzers
Sometimes it is necessary to go beyond the debugging capabilities of the Cisco voice gateways to resolve fax
relay problems. You can use tools such as protocol analyzers and fax analyzers to see what is occurring during fax
relay operation. Fax analyzers such as the Genoa ChannelProbe/FaxProbe by QualityLogic or the HP Telegra can
be positioned between the fax device and the Cisco gateway to capture what is occurring. Protocol analyzers such
as Sniffer and Domino can be helpful when you need to view the fax relay packets that are being exchanged
between the routers.
The ability to resolve a complex problem sometimes requires using a combination of equipment-an analyzer to
capture the fax traffic at each fax machine and a protocol analyzer to capture the fax relay packets. A single fax
call is placed to reproduce the problem, and then the information is captured from the attached devices for
analysis. Figure: Test Equipment Placement shows where this test equipment is placed in the network.
05/08/11 572
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Figure: Test Equipment Placement
Most of the fax analyzers have adequate help screens and documentation. The T.30 specification is also very
helpful. For the protocol analyzers, decoding can be a little more difficult because sometimes the encodings are
proprietary or the analyzer software does not have the specific decode needed. For fax relay using VoFR and
VoATM, Cisco gateways use standards-based Annex D from the FRF11 specification. If the protocol analyzer
cannot decode the frame, the frame can be manually decoded through use of this specification. With fax relay and
VoIP, a Cisco proprietary format is used for the fax relay packets.
With fax analyzer and protocol analyzer information, you should be able to resolve fax relay problems. Few fax
relay problems reach this point, and when they do, escalation and DE resources should already be involved for
further assistance.
For more information about troubleshooting fax relay, refer to the Fax Relay Troubleshooting Guide, document
20227.
05/08/11 573
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Use the following tips to resolve problems that keep fax detection from working correctly:
• On the router that you are using for the fax detection application, make sure that you have installed at
least the minimum version of Cisco IOS software that is listed in the Cisco IOS Fax, Modem, and Text
Support over IP Configuration Guide.
• Before configuring fax detection, make sure that your voice application is functional by putting a series of
calls through.
• Before configuring fax detection, make sure that your fax application is functional by sending a series of
faxes.
• After configuring fax detection, issue the debug voip ivr script command to display debug information
from the fax detection script. Put through a series of voice calls and fax calls to ensure correct operation.
The debug output that is displayed when you put calls through is indispensable for diagnosing failing
calls and finding the source of a problem. It is the only way to verify that parameters are set to the values
that you want and that they are actually taking effect. Mistakes such as typing errors in command-line
interface (CLI) parameters (for example, typing "moode" for "mode") are not recognized as errors by
Cisco IOS. They are accepted without complaint when typed, yet they do not produce the desired effect
during operation. It is only by watching the debug output during operation that you find these mistakes.
• Make sure that you have configured different DTMF digits for fax and for voice. If you configure both to
be the same number, you are not notified immediately, as you would be with other Cisco IOS command
errors. You find this error only if the debug voip ivr script command is enabled before a failing call
comes in.
05/08/11 574
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
To monitor your voice network, use the following sections:
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 Periodic Monitoring Tasks
• 2 Tools for Monitoring the VoIP
Network
♦ 2.1 CiscoWorks Voice
Manager
♦ 2.2 Quality of Service
Device Manager
♦ 2.3 Cisco Service
Assurance Agent
♦ 2.4 CiscoWorks Voice
Health Monitor
♦ 2.5 Cisco Gateway
Management Agent
♦ 2.6 CiscoWorks QoS
Policy Manager
The show commands are powerful monitoring and troubleshooting tools. You can use the show commands to
perform a variety of functions:
The following are some of the most commonly used show commands:
05/08/11 575
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• show version-Displays the configuration of the system hardware, the software version, the names and
sources of configuration files, and the boot images.
• show running-config-Displays the router configuration currently running.
• show startup-config-Displays the router configuration stored in nonvolatile RAM (NVRAM).
• show interfaces-Displays statistics for all interfaces configured on the router or access server. The
resulting output varies, depending on the network for which an interface has been configured.
• show controllers-Displays statistics for interface card controllers.
• show flash-Displays the layout and contents of Flash memory.
• show buffers-Displays statistics for the buffer pools on the router.
• show memory summary-Displays memory pool statistics and summary information about the activities
of the system memory allocator, and gives a block-by-block listing of memory use.
• show process cpu-Displays information about the active processes on the router.
• show stacks-Displays information about the stack utilization of processes and interrupt routines, as well
as the reason for the last system reboot.
• show cdp neighbors-Provides reachability information for directly connected Cisco devices. This is an
extremely useful tool for determining the operational status of the physical and data link layers. Cisco
Discovery Protocol (CDP) is a proprietary data link layer protocol.
• show debugging-Displays information about the type of debugging that is enabled for your router.
You can always use the ? at the command line for a list of subcommands.
Like the debug commands, some of theshow commands listed previously are accessible only at the router's
privileged EXEC mode (enable mode), which is explained in the Debug Command Output on Cisco IOS Voice
Gateways articles.
Hundreds of other show commands are available. For details on using and interpreting the output of specific show
commands, refer to the Cisco IOS command references.
• Manage the configuration of FXO, FXS, E&M, and ISDN voice interfaces on voice-enabled routers
• Create and manage local (POTS) dial plans on voice-enabled routers
• Create and manage VoIP, VoFR, and VoATM network dial plans on voice-enabled routers
05/08/11 576
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Once the QDM application is uploaded, the context-sensitive online help embedded within the application is
designed to provide technical help associated with a particular QoS-related task. For information on the various
QoS functions that can be configured in QDM, consult the online help within the QDM application. The Online
Help Table of Contents can always be accessed by clicking the Help button in the upper-right corner of the QDM
screen and then clicking Table of Contents. A glossary is also available as part of the online help.
For more information, see the Quality of Service Device Manager documentation.
CSAA can be especially useful for enterprise and service provider networks, because it provides expanded
measurement and management capabilities. In particular, the CSAA is a reliable mechanism for accurately
monitoring the metrics in service level agreements (SLAs).
Because CSAA is accessible through Simple Network Management Protocol (SNMP), it can also be used in
performance monitoring applications for Network Management Systems (NMSs) such as CiscoWorks2000
(CiscoWorks Blue) and the Internetwork Performance Monitor (IPM). CSAA notifications also can be enabled
via Systems Network Architecture (SNA) network management vector transport (NMVT) for applications such as
NetView.
SNMP notifications based on the data gathered by the CSAA allow the router to receive alerts when performance
drops below a specified level and again when problems are corrected. The CSAA utilizes the Cisco Round Trip
Time Monitor (RTTMON) MIB for interaction between external NMS applications and the CSAA running on the
Cisco devices. For a complete description of the object variables referenced by the CSAA feature, refer to the text
of the CISCO-RTTMON-MIB.my file, available from the Cisco MIB website.
05/08/11 577
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
For more information, refer to Using Cisco Service Assurance Agent and Internetwork Performance Monitor to
Manage Quality of Service in Voice over IP Networks.
• A series of availability and health checks on the VoIP equipment in the network.
• A fault detection and escalation system to notify the users of any faults or exceptions detected.
VHM integrates with network management systems (NMSs) such as HP OpenView Network Node Manager.
For more information about VHM, refer to the CiscoWorks Voice Health Monitor documentation.
By simplifying QoS policy definition and deployment, QPM makes it easier for you to create and manage
end-to-end differentiated services in your network, thus making more efficient and economical use of your
existing network resources. For example, you can use policies that ensure that your mission-critical applications
05/08/11 578
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
always get the bandwidth they require.
QPM is suitable for large-scale enterprise deployments and IP telephony deployments, consisting of hundreds or
thousands of devices. QPM facilitates management of large networks by providing advanced user authorization
capabilities through integration with Cisco Access Control Server (ACS).
You can partition the network into administrative and deployment domains. QPM allows you to organize policies
in separate deployment groups, and it supports best practices for phased deployments. Using separate deployment
groups, you can also use QPM to test what-if scenarios, and run time-based deployment.
For more information about CiscoWorks QPM, refer to the CiscoWorks QoS Policy Manager documentation.
For more information about VoIP QoS troubleshooting, refer to Monitoring Voice over IP Quality of Service,
document 17962.
05/08/11 579
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
The Voice Performance Statistics on Cisco Gateways feature enables the collection of voice call signaling
statistics and VoIP AAA accounting statistics based on user-configured time ranges. The statistics can be
displayed on your console or formatted and archived to an FTP or syslog server. This feature can assist you in
diagnosing performance problems on the network and identifying impaired voice equipment.
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 Prerequisites for Voice Performance Statistics on Cisco
Gateways
• 2 Restrictions for Voice Performance Statistics on Cisco
Gateways
• 3 Information About Voice Performance Statistics on Cisco
Gateways
♦ 3.1 Basic Terminology and Feature Design
♦ 3.2 What Are the Types of Accounting Statistics?
♦ 3.3 What Are the Types of Signaling Statistics and
Aggregation Levels?
♦ 3.4 What Are IECs?
• 4 Management of the Statistical Collection
♦ 4.1 What Are the Allowable Time Ranges?
♦ 4.2 What Are Thresholds?
◊ 4.2.1 Packet Jitter
◊ 4.2.2 Packet Latency
◊ 4.2.3 Lost Packets
◊ 4.2.4 Minimum Call Duration
♦ 4.3 What Are the Allowable Storage Capacities?
♦ 4.4 How Is Memory Used?
• 5 Management of the Archive Process
♦ 5.1 Figure: Syslog and FTP Servers and the CNS-PE
• 6 Display of Records and Time Ranges
♦ 6.1 What Records Are Displayed Since System Reset or
Reboot?
◊ 6.1.1 Displaying Accounting Statistics
◊ 6.1.2 Displaying Aggregation-Level Statistics
♦ 6.2 What Time Ranges Are Displayed?
• 7 Voice Interface Changes During Call-Statistics Collection
Periods
♦ 7.1 Addition or Removal of a Voice Port
♦ 7.2 Configuration Change of Any Trunk Group
05/08/11 580
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
The call-statistics data is dependent on the start and end time of the interval; that is, the collection is time
driven, not event driven. The following two situations will result in erroneous call-statistics data:
To avoid any call-statistics data from being collected within an incomplete interval, this feature reports
only call-statistics data that is collected during a complete interval. This includes call-statistics data that is
pushed to an FTP server or stored on a gateway.
This feature cannot assure accuracy or consistency of the reports generated when large clock updates
occur during a batch reporting period.
05/08/11 581
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
The benefits of this feature are listed in the Benefits of Voice Performance Statistics on Cisco Gateways.
A method list is a sequential list used by the RADIUS client on the gateway that defines the authentication
methods used to authenticate a user. For the purposes of the Voice Performance Statistics on Cisco Gateways
feature, you are required to specify only the name of the method list on the gateway.
Once enabled and configured, the feature counts RADIUS messages on both inbound and outbound call legs.
Each time a RADIUS accounting message is received by the gateway, it is counted as successful if it is accepted
and processed by the RADIUS agent on the gateway; each time a RADIUS accounting message is transmitted by
the gateway, it is counted as passed if an ACK comes back from the RADIUS server.
You can also specify that accounting messages be collected from a broadcast method list, in which case you can
set all the server groups that are in a method list to monitor the server group acknowledgements.
05/08/11 582
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
The aggregation levels are hierarchical. The highest level is a summary of total statistics for all aggregation levels
on the gateway, whereas the lowest level provides statistics for each voice port. Statistics can also be collected for
the following aggregation levels:
• Gateway level
• VoIP level
• PSTN level
• Trunk group level
• Voice-port level
An example of collected statistics at the different aggregation levels for a PSTN statistic labeled "X" is as follows:
The following are supported call-statistics fields that can be collected on Cisco gateways:
05/08/11 583
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
♦ Number of incoming and outgoing calls disconnected with each cause code-The cause codes are
defined in the Call Control Application Programming Interface (CCAPI) and in the International
Telecommunication Union Telecommunication Standardization Sector (ITU-T) standard Q.850.
The collection of Cisco IOS generated IECs is described in Cisco VoIP Internal Error Codes. To decode internal
error codes, see the Voice Gateway Error Decoder for Cisco IOS at the following URL:
http://www.cisco.com/univercd/cc/td/doc/product/voice/vtgemd.htm
• From the last reset time to the present. You can examine the statistics using the show voice statistics
command and reset the statistics using the clear voice statistics csr command.
• By specific start and end time. That is, a set amount of minutes after the configuration time for
preparation of the resource allocation of the gateway.
• By periodic intervals, with an optional total duration. Allowable intervals are 5 minutes, 15 minutes, 30
minutes, 1 hour, and 1 day. The optional total duration is unlimited but must be a multiple of the specified
interval. For example, the interval could be 15 minutes, and the total duration could be 3 hours.
• Packet jitter
• Packet latency
05/08/11 584
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• Lost packets
These thresholds are all pre-configured with default settings. The jitter, latency, and lost packets thresholds only
apply to IP statistics. In addition, you can configure the minimum call duration (MCD) value for determining
which calls are measured during the statistics collection.
Packet Jitter
Jitter is a variation in the delay of received packets. At the sending side, packets are sent in a continuous stream,
spaced evenly apart. Because of network congestion, improper queueing, or configuration errors, this steady
stream can be interrupted by delays between packets.
You can specify the threshold at which a record will not be collected. For example, if you have set a threshold of
250 milliseconds and a delay exceeds that threshold, the message is not collected.
Packet Latency
Packet latency is the amount of time that it takes a packet to go from its source to its destination. You can specify
the threshold at which a record will not be collected. For example, the gateway can be configured to drop
messages that take more than 250 milliseconds to reach the destination.
Lost Packets
Lost packets are a result of jitter that is so great that it causes packets to be out of the range of the jitter buffer.
These packets are discarded. You can specify the threshold for lost packets in milliseconds.
Using the minimum call duration (MCD) value, you can configure the gateway to collect statistics for calls that
last a minimum amount of time. For example, if you configure the MCD value to 2 milliseconds, the gateway
counts the number of incoming or outgoing calls with a connect time less than 2 milliseconds.
05/08/11 585
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Note: Because of unreliable UDP transport, the integrity and completeness of the call statistics in the syslog
files are not guaranteed.
Figure: Syslog and FTP Servers and the CNS-PE shows the components as used by this feature.
You can format the output to display with specified record separators. The separator can be a space, tab, new line,
or ASCII character.
05/08/11 586
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Displaying Accounting Statistics
You can use the show voice statistics csr since-reset accounting command to display the method list by
RADIUS server, PSTN incoming and outgoing records that have passed and failed, and the IP incoming and
outgoing records that have passed and failed.
You can use the show voice statistics csr since-reset aggregation-level command to display all the collected
statistics for every aggregation level or just the statistics for a specific level (gateway, IP, PSTN, trunk group, or
voice port).
Note: It is recommended that any existing call-statistics collection be stopped and set to zero before any
configuration modification is made to any of the voice interfaces.
This section has the following subsections:
• The addition of a PRI or DS1 group, Foreign Exchange Station (FXS), Foreign Exchange Office (FXO),
or ear and mouth (E&M) device.
• The removal of a PRI or DS1 group, FXS, FXO, or E&M device.
05/08/11 587
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
If a new voice interface is added during any collection period, new entries that correspond to the new voice
interface are added in the statistics collected for that collection period.
If an existing voice interface is removed during any collection period, the statistics that correspond to that voice
interface are still kept in the set. The statistics are frozen (that is, nothing more is added) after the time that the
voice interface is removed. Gateways still send the statistics for the removed interface to the CNS-PE or syslog
server.
In either of the above scenarios, the statistics for PSTN ports include all the collected data at the DS1 or channel
associated signaling (CAS) level, except the statistics for interfaces added or removed during the collection
period.
• The addition or removal of a DS1 or CAS group into or from a trunk group.
♦ If you are adding a DS1 or CAS group to a trunk group during any collection period, the
collection process moves the associated statistics from the upper aggregation level (PSTN) to the
trunk-group level. The call statistics before the configuration change time are also totalled to the
statistics of the trunk-group level at the end of the collection period. In this case, the statistics of
the trunk-group level can exceed the limit. However, the PSTN-level statistic is still accurate.
♦ If you are removing a DS1 or CAS group from a trunk group during any collection period, the
collection process removes the trunk-group level of the PSTN aggregation. In contrast to the
scenario of adding a DS1 or CAS group, the statistic of the trunk-group level is under the limit.
• The addition or removal of a trunk group.
♦ If you are adding a new trunk group (one that contains a trunk or trunks) to a gateway during any
collection period, the existing statistics of all member trunks aggregate to the trunk-group level
statistic. That is, the statistic of the trunk-group level is over its limit. The PSTN-level call
statistics are still accurate.
♦ If you are removing an existing trunk group from a gateway during any collection period, the
existing statistics of all member trunks are totaled at the configuration change time. The statistics
of the trunk-group level and of the PSTN level are accurate.
Note: The inaccurate call statistics that can result from the four scenarios that are listed above are acceptable
because the transient information during the configuration change is often unusable.
05/08/11 588
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• Configuring the Duration and Time Periods of Call Statistics on the Gateway (required)
• Configuring the Gateway to Collect Signaling Statistics (required)
• Configuring the Gateway to Collect VoIP AAA Accounting Statistics (required)
• Configuring the FTP Server to Enable Archiving of Statistics from the Gateway (optional)
Note: If you need to obtain statistical information since reboot, the configuration should be stored in NVRAM
before you restart the gateway.
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 Summary of Configuration Tasks
♦ 1.1 Required Task for Collection of All Call Statistics
♦ 1.2 Required Task for Signaling Statistics
♦ 1.3 Optional Task for Signaling Statistics
♦ 1.4 Required Tasks for Accounting Statistics (Configured in This Order)
♦ 1.5 Optional Tasks for Both Signaling and Accounting Statistics (Configured
in Any Order)
• 2 Configuring the Duration and Time Periods of Call Statistics on the Gateway
• 3 Configuring the Gateway to Collect Call Statistics on a Periodic Basis
♦ 3.1 SUMMARY STEPS
♦ 3.2 DETAILED STEPS
• 4 Configuring the Gateway to Collect Call Statistics Since the Last Reset
♦ 4.1 SUMMARY STEPS
♦ 4.2 DETAILED STEPS
• 5 Configuring the Gateway to Collect Call Statistics for a Specific Time Interval
♦ 5.1 SUMMARY STEPS
♦ 5.2 DETAILED STEPS
• 6 Configuring the Gateway to Collect Signaling Statistics
♦ 6.1 Enabling the Gateway to Collect Signaling Statistics
◊ 6.1.1 SUMMARY STEPS
◊ 6.1.2 DETAILED STEPS
♦ 6.2 Configuring the Minimum Call Duration and Signaling Thresholds
◊ 6.2.1 SUMMARY STEPS
◊ 6.2.2 DETAILED STEPS
♦ 6.3 Disabling the Collection of Signaling Statistics
◊ 6.3.1 SUMMARY STEPS
◊ 6.3.2 DETAILED STEPS
♦ 6.4 Displaying the Signaling Statistics for Each Aggregation Level
05/08/11 589
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 590
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Required Task for Collection of All Call Statistics
Configure the duration or time period for when call statistics are collected on the gateway. See the Configuring
the Duration and Time Periods of Call Statistics on the Gateway.
Configure the gateway to support the collection of signaling statistics. See the Enabling the Gateway to Collect
Signaling Statistics.
Configure the call statistics record signaling parameters, changing the default values as needed. See the
Configuring the Minimum Call Duration and Signaling Thresholds
1. Configure the gateway to support the collection of accounting statistics. See the Enabling the Collection
of VoIP AAA Accounting Statistics on the Gateway.
2. Configure accounting on the gateway. Refer to the gw-accounting aaa command configuration in the
Voice Configuration Library.
3. Specify that the accounting update is new information. Refer to the aaa accounting update new-info
command configuration in the Cisco IOS Security Configuration Guide, and the Cisco IOS Security
Command Reference.
4. Define the AAA RADIUS server group. Refer to the aaa group server radius command configuration in
the Cisco IOS Security Configuration Guide, and the Cisco IOS Security Command Reference.
5. Define a designated broadcast accounting server group (accounting acknowledge broadcast command).
See the Configuring a Designated Server Group for a Broadcast Method List.
6. Define the RADIUS server host, port, key, and vendor specific attributes (VSAs). Refer to the Cisco IOS
Security Configuration Guide, and the Cisco IOS Security Command Reference.
Optional Tasks for Both Signaling and Accounting Statistics (Configured in Any Order)
Configure the FTP server or syslog server download. See the Configuring the Gateway to Archive Statistics to an
FTP Server and the Configuring the Gateway to Archive Statistics to a Syslog Server.
Note: Before configuring the gateway to archive statistics to an FTP server, you must first configure the FTP
server to support the archiving process. See the Configuring the FTP Server to Enable Archiving of
Statistics from the Gateway.
05/08/11 591
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Note: These interval methods are mutually exclusive, meaning that the gateway can be configured for only
one collection interval at a time. The collection interval configured applies to all call statistics collected.
For example, if you configure the collection interval for a periodic interval, and you configure the
gateway to collect both signaling and VoIP AAA accounting statistics, then both types of statistics will
be collected on the periodic basis.
To configure the duration and time period of when call statistics will be collected on the gateway, see one of the
following sections:
SUMMARY STEPS
1. enable
2. configure terminal
3. voice statistics time-range periodic interval hh:mm {days-of-week{Monday | Tuesday | Wednesday
|Thursday | Friday | Saturday | Sunday | daily | weekdays | weekend}} [end hh:mm{days-of-week
{Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday}}]
4. exit
DETAILED STEPS
1. Example: • Enter
your
Router> enable password
if
prompted.
configure terminal
Enters global
2. Example: configuration
mode.
Router# configure terminal
3. voice statistics time-range periodic interval hh:mm {days-of-week{Monday | Tuesday | Configures the
Wednesday |Thursday | Friday | Saturday | Sunday | daily | weekdays | weekend}} [end gateway to
hh:mm{days-of-week {Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | collect call
Sunday}}] statistics on a
periodic basis.
05/08/11 592
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Example:
Configuring the Gateway to Collect Call Statistics Since the Last Reset
This task configures the gateway to collect call statistics since the last time the clear voice statistics command
was entered, or since the last time the gateway was rebooted.
SUMMARY STEPS
1. enable
2. configure terminal
3. voice statistics time-range since-reset
4. exit
DETAILED STEPS
Router(config)# exit
05/08/11 593
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
SUMMARY STEPS
1. enable
2. configure terminal
3. voice statistics time-range specific start hh:mm day month year end hh:mm day month year
4. exit
DETAILED STEPS
Router(config)# exit
05/08/11 594
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• Clearing Signaling Statistics
SUMMARY STEPS
1. enable
2. configure terminal
3. voice statistics type csr signaling
4. voice statistics max-storage-duration {day | hour value| minute value}
5. voice statistics display-format separator {space | tab | new-line | char char}
6. exit
DETAILED STEPS
05/08/11 595
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Router(config)# exit
SUMMARY STEPS
1. enable
2. configure terminal
3. voice statistics field-params mcd value
4. voice statistics field-params lost-packet value
5. voice statistics field-params packet-latency value
6. voice statistics field-params packet-jitter value
7. exit
DETAILED STEPS
05/08/11 596
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
voice statistics field-params mcd value Configures the minimum call duration (MCD) for
collecting voice call statistics in milliseconds. Valid
3. Example: values are from 0 to 30 milliseconds. The default is
2 milliseconds. This value applies to both IP and
Router(config)# voice statistics field-params
mcd 10
PSTN statistics.
voice statistics field-params lost-packet value Configures the lost voice packet threshold for
collecting voice call statistics in milliseconds. Valid
4. Example: values are from 0 to 65535 milliseconds. The
default is 1000 milliseconds. This value applies to
Router(config)# voice statistics field-params
lost-packet 5000
IP statistics only.
'voice statistics field-params packet-latency value Configures the voice packet-latency threshold
parameter for voice call statistics in milliseconds.
5. Example: Valid values are from 0 to 500 milliseconds. The
default is 250 milliseconds. This value applies to IP
Router(config)# voice statistics field-params
packet-latency 200
statistics only.
voice statistics field-params packet-jitter value Configures the voice packet-jitter threshold
parameter for voice call statistics in milliseconds.
6. Example: Valid values are from 0 to 1000 milliseconds. The
default is 250 milliseconds. This value applies to IP
Router(config)# voice statistics field-params
packet-jitter 500
statistics only.
exit
Router(config)# exit
SUMMARY STEPS
1. enable
2. configure terminal
3. no voice statistics type csr signaling
4. exit
DETAILED STEPS
05/08/11 597
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
configure terminal
Router(config)# exit
All commands in this section are entered in privileged EXEC mode. The statistics displayed are based on the time
range configured using the voice statistics time-range command. For example, if you set the time range to
specify that the gateway collects statistics only since the last reset, then these displays show only the statistics
since the gateway was last reset or rebooted.
With these commands, you can specify that the display shows either verbose or concise information. The verbose
display shows all fields contained in the call statistics records, while the concise display shows only output that
contains total calls, answered calls, and answered call duration. The verbose display mode is enabled by default.
In addition, you can specify that the gateway push the statistics display from the console to an FTP or syslog
server. To configure the gateway to support pushing statistics to an FTP or syslog server, see the Managing the
Collection of Voice Statistics.
05/08/11 598
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
SUMMARY STEPS
1. enable
2. show voice statistics interval-tag
3. show voice statistics csr interval tag-number aggregation all[mode {concise | verbose}] [push {all |
ftp | syslog}]
4. show voice statistics csr since-reset aggregation-level all [mode {concise | verbose}] [push {all | ftp |
syslog}]
DETAILED STEPS
05/08/11 599
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
aggregation-level all This command is
valid only if the
voice statistics
time-range
command is
configured to the
since-reset value.
SUMMARY STEPS
1. enable
2. show voice statistics interval-tag
3. show voice statistics csr interval tag-number aggregation gateway [mode {concise | verbose}] [push
{all | ftp | syslog}]
4. show voice statistics csr since-reset aggregation-level gateway [mode {concise | verbose}] [push {all |
ftp | syslog}]
DETAILED STEPS
05/08/11 600
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
SUMMARY STEPS
1. enable
2. show voice statistics interval-tag
3. show voice statistics csr interval tag-number aggregation ip [mode {concise | verbose}] [push {all |
ftp | syslog}]
4. show voice statistics csr since-reset aggregation-level ip [mode {concise | verbose}] [push {all | tp |
syslog}]
DETAILED STEPS
05/08/11 601
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
collection for a
specific time
period.
Displays the VoIP-level
statistics since the last
reset or reboot of the
gateway.
show voice statistics csr since-reset aggregation-level ip [mode {concise |
verbose}] [push {all | ftp | syslog}] Note: This command
is valid only if
4.
Example: the voice
statistics
Router# show voice statistics csr since-reset aggregation-level ip time-range
command is
configured to
the since-reset
value.
SUMMARY STEPS
1. enable
2. show voice statistics interval-tag
3. show voice statistics csr interval tag-number aggregation pstn [mode {concise | verbose}] [push {all |
ftp | syslog}]
4. show voice statistics csr since-reset aggregation-level pstn [mode {concise | verbose}] [push {all | ftp
| syslog}]
DETAILED STEPS
• This
command is
necessary to
obtain the tag
05/08/11 602
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
number
required in the
next step.
Displays the telephone
interface level
statistics for a given
interval.
Note: This
command is
valid only if
show voice statistics csr interval tag-number aggregation pstn [mode {concise | the voice
verbose}] [push {all | ftp | syslog}] statistics
time-range
3.
Example: command is
configured
Router# show voice statistics csr interval 102 aggregation pstn to support
either
periodic
statistics
collection or
statistics
collection
for a specific
time period.
Displays the
PSTN-level statistics
since the last reset or
reboot of the gateway.
show voice statistics csr since-reset aggregation-level all pstn [mode {'concise | Note: This
verbose}] [push {all | ftp | syslog}] command is
valid only if
4.
Example: the voice
statistics
Router# show voice statistics csr since-reset aggregation-level pstn time-range
command is
configured
to the
since-reset
value.
05/08/11 603
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
SUMMARY STEPS
1. enable
2. show voice statistics interval-tag
3. show voice statistics csr interval tag-number aggregation trunk-group {all | trunk-group-label} [mode
{concise | verbose}] [push {all | ftp | syslog}]
4. show voice statistics csr since-reset aggregation-level trunk-group {all | trunk-group-label} [mode
{concise | verbose}] [push {all | ftp | syslog}]
DETAILED STEPS
show voice statistics csr interval tag-number aggregation group {all | Note: This command is
trunk-group-label} [mode {concise | verbose}] [push {all | ftp | syslog}] valid only if the
voice statistics
3. Example: time-range
command is
Router# show voice statistics csr interval 102
aggregation trunk-group 20
configured to
support either
periodic statistics
collection or
statistics
collection for a
specific time
period.
4. show voice statistics csr since-reset aggregation-level trunk-group {all | Displays the trunk-group
trunk-group-label} [mode {concise | verbose}] [push {all | ftp | syslog}] level statistics since the last
reset or reboot of the
Example: gateway. You can display
statistics for a specific trunk
Router# show voice statistics csr since-reset group or for all trunk
05/08/11 604
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
aggregation-level trunk-group all groups.
SUMMARY STEPS
1. enable
2. show voice statistics interval-tag
3. show voice statistics csr interval tag-number aggregation voice-port {voice-port-label | all} [mode
{concise | verbose}] [push {all | ftp | syslog}]
4. show voice statistics csr since-reset aggregation-level voice-port {all | voice-port-label} [mode
{concise | verbose}] [push {all | ftp | syslog}]
DETAILED STEPS
05/08/11 605
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
SUMMARY STEPS
1. enable
2. clear voice statistics csr signaling
DETAILED STEPS
This section shows you how to configure the collection of accounting statistics on the gateway. This section
documents the following tasks:
05/08/11 606
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• Disabling the Collection of VoIP AAA Accounting Statistics
• Displaying the VoIP AAA Accounting Statistics
• Clearing the VoIP AAA Accounting Statistics
Prerequisites
The definition of the AAA method list for accounting, the server groups, and the RADIUS servers should be
configured. For more information, refer to Configuring AAA for Cisco Voice Gateways.
Restrictions
You can define "pass" criteria for calls on the basis of method lists but not on the basis of server groups. For
broadcast method lists, if the gateway attempts to access multiple server groups simultaneously, additional
configuration is needed. See the Configuring a Designated Server Group for a Broadcast Method List.
SUMMARY STEPS
1. enable
2. configure terminal
3. voice statistics type csr accounting
4. voice statistics accounting method method-list-name pass start-interim-stop | start-stop | stop-only}
5. voice statistics max-storage-duration {day value | hour value | minute value}
6. voice statistics display-format separator {space | tab | new-line | char char}
7. exit
DETAILED STEPS
05/08/11 607
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• day-Number of days.
The value argument has a
voice statistics max-storage-duration {day value| hour value | minute valid range from 0 to
value} 365.
• hour-Number of hours.
5. Example: The value argument has a
valid range from 0 to
Router(config)# voice statistics max-storage-duration 720.
minute 60 • minute-Number of
minutes. The value
argument has a valid
range from 0 to 1440.
05/08/11 608
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
separator new-line
exit
Router(config)# exit
Prerequisites
The collection of accounting statistics should be enabled on the gateway. The pass criteria for the method list
must already be defined.
SUMMARY STEPS
1. enable
2. configure terminal
3. aaa group server radius name
4. accounting acknowledge broadcast
5. end
6. show voice statistics | begin aaa group server
DETAILED STEPS
05/08/11 609
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Troubleshooting Tips
Acknowledgements of only designated server groups are considered when deciding whether the accounting for a
given call leg is successful. If more than one server group is configured as designated, the gateway considers the
response from all server groups in deciding whether the call leg accounting is successful.
SUMMARY STEPS
1. enable
2. configure terminal
3. no voice statistics type csr accounting
4. exit
DETAILED STEPS
05/08/11 610
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Router(config)# no voice statistics type csr accounting Note: If the gateway is configured
to collect both VoIP AAA
accounting statistics and
signaling statistics, the
signaling statistics will
continue to be collected after
the accounting statistics
collection is disabled.
exit
Router(config)# exit
All commands in this section are entered in privileged EXEC mode. The statistics displayed are based on the time
range configured using the voice statistics time-range command. For example, if you set the time range to
specify that the gateway to collect statistics only since the last reset, then these displays will show only the
statistics since the gateway was last reset or rebooted.
With these commands, you can specify that the gateway push the statistics display from the console to an FTP or
syslog server. To configure the gateway to support pushing statistics to an FTP or syslog server, see the Managing
the Collection of Voice Statistics.
SUMMARY STEPS
1. enable
2. show voice accounting method [method-list-name]
3. show voice statistics csr interval tag-number accounting {all | method-list method-list-name} [push
{all | ftp | syslog}]
4. show voice statistics csr since-reset accounting {all | method-list method-list-name} [push {all | ftp |
syslog}]
DETAILED STEPS
05/08/11 611
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
prompted.
Displays
show voice accounting method {method-list-name} connectivity
status
2. Example: information
for accounting
Router# show voice accounting method mll
method lists.
Displays the
VoIP AAA
accounting
statistics for
show voice statistics csr interval tag-number accounting {all | method-list the specified
method-list-name} [push {all | ftp | syslog}] interval. You
3. can display all
Example: accounting
statistics or
Router# show voice statistics csr interval 10 accounting all
accounting
statistics for a
specific
method list.
Displays all
VoIP AAA
accounting
statistics since
show voice statistics csr since-reset accounting {all | method-list method-list-name} [push the last reset or
{all | ftp | syslog}] reboot of the
gateway. You
4.
Example: can display all
accounting
Router# show voice statistics csr since-reset accounting method-list h323 statistics or
accounting
statistics for a
specific
method list.
Displays
show voice accounting response pending information
regarding
5. Example: pending VoIP
AAA
Router# show voice accounting response pending accounting
responses.
05/08/11 612
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
SUMMARY STEPS
1. enable
2. clear voice statistics csr accounting
3. clear voice accounting method method-list-name
DETAILED STEPS
Solution: Make sure that the configured end time is later than the start time for the time range configured.
Solution: Make sure that the configured start time is in the future.
If accounting statistics are not being collected properly, the best place to start troubleshooting is by verifying your
configurations as follows:
05/08/11 613
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
aaa new-model
aaa accounting connection h323 start-stop group radius
! Specifies the method list.
aaa session-id common
gw-accounting aaa
! Enables accounting on the gateway.
radius-server host 1.6.10.203 auth-port 1645 acct-port 1646
! Specifies RADIUS server IP address.
If your configurations are correct, turn on debugging with the following debug commands and check the output.
You must turn on all three commands:
As long as accounting and signaling statistics are being collected, the output from these three debug commands
will display on the console.
The following sample output shows that the accounting statistics are not being properly collected by the RADIUS
server:
The line above indicates that the RADIUS server is not found.
05/08/11 614
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
*Nov 22 14:55:12.366: voip_process_acct_reply(1339):
*Nov 22 14:55:12.366: voip_process_acct_reply(1339): event_message->type=0x210, msg_t=2, rsp=2
*Nov 22 14:55:12.366: voip_process_acct_reply: acct notification call back for method=h323
*Nov 22 14:55:12.366: acct_notif_cleanup:
*Nov 22 14:55:12.366: acct_ntf_deregistration:
*Nov 22 14:55:12.366: acct_ntf_deregistration: deregister with AAA EM, rsp_t=0x4,ev_t=0x210
*Nov 22 14:55:12.366: acct_notif_cleanup: unlock adb
*Nov 22 14:55:12.366: voip_aaa_unlock_adb: uid(1339) count=0
*Nov 22 14:55:12.366: voip_aaa_cleanup_adb: dealloc uid (1339)
*Nov 22 14:55:12.366: voip_aaa_acct_get_dynamic_attrs: No cdb found from cdb tree
The following sample output shows that the RADIUS server was authenticated:
05/08/11 615
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Accounting-response, len 20
!
!
**Nov 22 14:56:49.022: RADIUS: authenticated 08 C6 FC 0F 31 1D FA EA - 68 A7 5D 48 6F 47 96 FA
*Nov 22 14:56:49.022: voip_process_acct_reply(1341):
*Nov 22 14:56:49.022: voip_process_acct_reply(1341): event_message->type=0x210, msg_t=2, rsp=1
*Nov 22 14:56:49.022: voip_process_acct_reply: acct notification call back for method=h323
*Nov 22 14:56:49.022: acct_notif_cleanup:
*Nov 22 14:56:49.022: acct_ntf_deregistration:
*Nov 22 14:56:49.022: acct_ntf_deregistration: deregister with AAA EM, rsp_t=0x4, ev_t=0x210
*Nov 22 14:56:49.022: acct_notif_cleanup: unlock adb
*Nov 22 14:56:49.022: voip_aaa_unlock_adb: uid(1341) count=0
*Nov 22 14:56:49.022: voip_aaa_cleanup_adb: dealloc uid (1341)
*Nov 22 14:56:49.022: voip_aaa_acct_get_dynamic_attrs: No cdb found from cdb tree
05/08/11 616
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
This article describes how to manage the collection of voice statistics on the gateway and documents the
following tasks:
• Configuring the FTP Server to Enable Archiving of Statistics from the Gateway
• Configuring the Gateway to Archive Statistics to an FTP Server
• Configuring the Gateway to Archive Statistics to a Syslog Server
• Displaying Memory Usage
• Displaying All Statistics and Pushing Them to an FTP or Syslog Server
• Clearing the Collected Call Statistics
• Monitoring the Statistical Reporting
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 Configuring the FTP Server to Enable Archiving of Statistics from the
Gateway
♦ 1.1 Prerequisites
◊ 1.1.1 FTP Server
◊ 1.1.2 FTP Service Port
◊ 1.1.3 User Account and File Directory
• 2 Configuring the Gateway to Archive Statistics to an FTP Server
♦ 2.1 SUMMARY STEPS
♦ 2.2 DETAILED STEPS
♦ 2.3 Example
• 3 Configuring the Gateway to Archive Statistics to a Syslog Server
♦ 3.1 Prerequisites
♦ 3.2 SUMMARY STEPS
♦ 3.3 DETAILED STEPS
• 4 Displaying Memory Usage
♦ 4.1 SUMMARY STEPS
♦ 4.2 DETAILED STEPS
• 5 Displaying All Statistics and Pushing Them to an FTP or Syslog Server
♦ 5.1 SUMMARY STEPS
♦ 5.2 DETAILED STEPS
• 6 Clearing the Collected Call Statistics
♦ 6.1 Restrictions
05/08/11 617
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Prerequisites
FTP Server
An FTP server must be configured before you can archive the collected statistics.
Normally, the FTP port is a well-known number, such as 21. However, another port number (not well-known) can
receive data for specific purposes (for example, security), as long as the FTP client on voice gateways is
configured to use the same port number.
In order for the FTP client on the voice gateway to write files on the FTP server, FTP user accounts must be
available (or well-known) to the FTP client. The FTP user accounts can be normal UNIX user accounts.
The FTP file upload directory in the FTP servers can also be specified for directory management purposes.
System administrators can also restrict the privilege level of the user accounts in the upload directory for security
and directory management purposes.
05/08/11 618
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Note: For this task, the external devices are assumed to be UNIX-like platforms (for example, Linux).
1. Install the software.
Ensure that both the anonftp package and the wu-ftpd package are installed on the system. The versions installed
should, at a minimum, match those below:
anonftp-3.0-9
wu-ftpd-2.6.1-6
Check to see whether the installation can be done with the following command:
Configure the IP aliases for the virtual domains so that there is an IP address routed through one of the available
network interfaces.
The programs "netcfg" or "linuxconf" can also be used to set up the IP aliases (replacing 10.10.10.10 with your
actual IP address for the FTP site).
If the IP address is to resolve to a domain name, you must set up a DNS server.
3. Configure xinetd.conf.
Note: It is very important that the "-1 -a" is specified in server_args and that the disable line is set to "no."
This tells inetd.conf to reference the commands in the /etc/ftpaccess file.
4. Edit /etc/ftpaccess.
Edit the /etc/ftpaccess file. Make the basic changes using Linuxconf as the root. Additional changes must be made
in this file manually. The virtual entry in the file should be placed at the bottom of the file and resembles the
following:
05/08/11 619
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
virtual 10.10.10.10 banner /home/ftp/domain1/banner.msg
virtual 10.10.10.10 logfile /var/log/virtual/domain1/xferlog
Where /home/domain1 is the root path for the virtual FTP server, /home/ftp/domain1/banner.msg is the path to the
banner message to be displayed upon login, and /var/log/virtual/domain1/xferlog is the path to the transfer log.
Specify that all users can have access with the following line:
If only specific users are to be allowed access, list their usernames, as shown here:
If anonymous FTP logins are to be disabled, set the IP address to private as shown here:
When FTP users log on to the system, they should be allowed into the directory specified in the root path only.
There are several steps as follows:
1. Determine whether or not there is one user or a group of users that will be logging into the virtual FTP
site.
2. Specify the home directory in the /etc/passwd file for the user specified in the /etc/ftpaccess/ file,
followed by a /./. The entry will look like this:
user1:X:2453:group1::/var/ftp/home/domain1/./:/bin/bash
Include the following line in your FTP access file, if user1 is the only user accessing this virtual FTP site,
following the virtual configuration lines:
guestuser user1
When logging into 10.10.10.10, user1 is automatically dropped into /home/domain1 but will see this as
the / directory. User1 will not be able to move outside of that directory.
3. Specify a group of users in addition to user1 in /etc/group. You should then add the following line to
/etc/ftpaccess following the virtual FTP entry:
guestgroup group1
4. Specify the administrator of the FTP site (user2 in the example and exempt from the group rule) as
follows:
guestgroup group1
realuser user2
05/08/11 620
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Open the /var/ftp (created on the system when the anonftp rpm was installed), and copy /var/ftp/bin, /var/ftp/etc/,
and /var/ftp/lib into the root directory of the virtual FTP site (in this case, /var/ftp/home/domain1).
Close the configuration file after making all of the changes, and restart the inet services (where FTP services are
specified) by typing the following:
then:
Note: This procedure can also be used to archive Cisco VoIP internal error codes (IECs) to an FTP server.
SUMMARY STEPS
1. enable
2. configure terminal
3. voice statistics push ftp url ftp-url [max-file-size value]
4. exit
DETAILED STEPS
05/08/11 621
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Router(config)# voice statistics push ftp ftp://user:password@host:port/path1/path2/
url ftp://me:secret@abccompanyhost:23/products
max-file-size 3000
• The max-file-size keyword is optional
and specifies the maximum FTP file
size, in bytes. The value argument has
a valid range from 1024 to
4294967295. The default is 400000000
(4 GB).
exit
Router(config)# exit
Example
The following sample output is the message that you see on your console when the statistics are being archived to
the FTP server:
Writing /ftp_files/vstats.3660-1.2002-04-25T020500Z !
Writing /ftp_files/vstats.3660-1.2002-04-25T020500Z.done !
!
01:43:22: %VSTATS-6-VCSR: SEQ=0:
stats_type,version,format,gw_id,start_time,end_time,rec_count
VCSR_SIG,1,asc,3660-1,2002-04-25T02:00:00Z,2002-04-25T02:05:00Z,9
record_type,trunk_group_id,voice_port_id,in_call,in_ans,in_fail,out_call,
out_ans,out_fail,in_szre_d,out_szre_d,in_conn_d,out_conn_d,orig_disconn,
in_ans_abnorm,out_ans_abnorm,in_mcdout_mcd,in_pdd,out_pdd,in_setup_delay,
out_setup_delay,lost_pkt,latency,jitter,in_cc_no,
out_cc_no,in_cc_id,in_cc_cntr,out_cc_id,out_cc_cntr
gw,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,16,0,16,0
ip,,,0,0,0,0,0,0,0,0,0,0,
01:43:22: %VSTATS-6-VCSR: SEQ=1:
0,0,0,0,0,0,0,0,0,0,0,0,1,1,16,0,16,0
pstn,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,1,1,16,0,16,0
vp,,4/0/0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,1,1,16,0,16,0
vp,,4/0/1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,1,1,16,0,16,0
vp,,4/1/0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,1,1,16,0,16,0
vp,,4/1/1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,1,1,16,0,16,0
vp,,2/0:23,0,0,0,0,0,|0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,1,1,16,0,16,0
vp,,2/1:23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,1,1,16,0,16,0
stats_type,version,format,gw_id,start_time,e
01:43:22: %VSTATS-6-VCSR: SEQ=2:
nd_time,rec_count
VCSR_ACC,1,asc,3660-1,2002-04-25T02:00:00Z,2002-04-25T02:05:00Z,2
acct_type,acct_type_name,acct_pass_criteria,pstn_in_pass,pstn_in_fail,pstn_out_pass,
pstn_out_fail,ip_in_pass,ip_in_fail,ip_out_pass,ip_out_fail
ml,h323,1,0,0,0,0,0,0,0,0
ml,h323-1,1,0,0,0,0,0,0,0,0
05/08/11 622
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
This task shows you how to configure the gateway to archive the call statistics records to a syslog server.
Note: This procedure can also be used to archive Cisco VoIP internal error codes (IECs) to a sylog server.
Prerequisites
The external syslog server must be configured to receive voice call statistics from the gateway. For information
about enabling a syslog server to receive voice call statistics information from a gateway, refer to Task 2 in
Enabling Management Protocols: NTP, SNMP, and Syslog' on Cisco.com.
For information about configuring a Solaris syslog server, refer to Task 4 ("Using Syslog, NTP, and Modem Call
Records to Isolate and Troubleshoot Faults") in the Basic Dial NMS Implementation Guide on Cisco.com.
SUMMARY STEPS
1. enable
2. configure terminal
3. voice statistics push syslog [max-msg-size value]
4. exit
DETAILED STEPS
05/08/11 623
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Example:
Router(config)# exit
SUMMARY STEPS
1. enable
2. show voice statistics memory-usage {all | csr | iec}
DETAILED STEPS
Note: This procedure can also be used if you are collecting statistics for VoIP internal error codes (IECs).
SUMMARY STEPS
1. enable
2. show voice statistics csr since-reset all [mode {concise | verbose}]
3. show voice statistics csr since-reset all push {all | ftp | syslog}
DETAILED STEPS
05/08/11 624
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Once the clear voice statistics csr command has been issued, all statistics collected using the voice statistics
time-range since-reset command are removed and the counters are reset.
Restrictions
Only since-reset counters can be reset. Specific or periodic counts cannot be reset using the clear voice statistics
csr command. This command cannot be used in nonprivileged mode.
SUMMARY STEPS
1. enable
2. clear voice statistics csr
3. show voice statistics csr since-reset all
DETAILED STEPS
05/08/11 625
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Troubleshooting Tips
The gateway does not recognize the clear voice statistics csr command in nonprivileged mode and displays the
following message:
If you see this message, enter this command from privileged EXEC mode.
Once the debugging is turned on, you can review the data, evaluate the performance of the network, and identify
impaired voice equipment.
The following output examples show a collection of records occurring between intervals and a voice call going
through the gateway.
05/08/11 626
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
In the following example, the gateway was unable to "push" the data to the FTP server.
vstats_timer_handle_interval_event():Between Intervals!
04:52:37: vstats_acct_interval_end: interval_tag = 4
04:52:37: vstats_acct_interval_end: pushing out, tag=3
04:52:37: vstats_acct_clean_history_stats:
04:52:37: vstats_acct_clean_history_stats: stats (tag=3) not to be deleted
04:52:37: vstats_acct_clean_history_stats: stats (tag=2) not to be deleted
04:52:37: vstats_acct_create_empty_stats:
04:52:37: vstats_acct_create_new_rec_list:
04:52:37: vstats_acct_create_new_rec_list: add acct rec: methodlist=h323, acct-criteria=2
04:52:37: vstats_acct_create_new_rec:
04:52:37: vstats_acct_add_rec_entry:
04:52:37: vstats_acct_add_stats_entry:
04:52:37: vstat_push_driver_file_open():Cannot open ftp://sgcp:sgcp@abc-
pc:21//ftp_files/vstats.5400-GW.2003-02-13T162000Z. errno=65540=Unknown error 65540
vstat_push_drv_activate_ftp_file_tx():open file (ftp://sgcp:sgcp@jeremy-
pc:21//ftp_files/vstats.5400-GW.2003-02-13T162000Z)=(ftp://sgcp:sgcp@abc-
pc:21//ftp_files/vstats.5400-GW.2003-02-13T162000Z)failed!
vstats_push_api_push_formatted_text():Start CMD error!
05/08/11 627
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
04:55:07: RADIUS: Calling-Station-Id [31] 4 "22"
04:55:07: RADIUS: Called-Station-Id [30] 4 "11"
04:55:07: RADIUS: Service-Type [6] 6 Login [1]
04:55:07: RADIUS: NAS-IP-Address [4] 6 10.6.43.101
04:55:07: RADIUS: Acct-Delay-Time [41] 6 0
04:55:07: RADIUS(0000001A): Config NAS IP: 0.0.0.0
04:55:07: RADIUS(0000001A): sending
04:55:07: RADIUS/ENCODE: Best Local IP-Address 10.6.43.101 for Radius-Server 10.6.10.203
04:55:07: RADIUS(0000001A): Send Accounting-Request to 10.6.10.203:1646 id 21645/50,len427
04:55:07: RADIUS: authenticator E4 98 06 8C 48 63 4F AA - 56 4F 40 12 33 F0 F5 99
04:55:07: RADIUS: Acct-Session-Id [44] 10 "00000021"
04:55:07: RADIUS: Vendor, Cisco [26] 57
04:55:07: RADIUS: h323-setup-time [25] 51 "h323-setup-time=*16:22:31.006 UTC Thu Feb 13 2003"
04:55:07: RADIUS: Vendor, Cisco [26] 27
04:55:07: RADIUS: h323-gw-id [33] 21 "h323-gw-id=5400-GW."
04:55:07: RADIUS: Vendor, Cisco [26] 56
04:55:07: RADIUS: Conf-Id [24] 50 "h323-conf-id=2F4ED2E3 3EA611D7 800E0002 B935C142"
04:55:07: RADIUS: Vendor, Cisco [26] 34
04:55:07: RADIUS: h323-call-origin [26] 28 "h323-call-origin=originate"
04:55:07: RADIUS: Vendor, Cisco [26] 27
04:55:07: RADIUS: h323-call-type [27] 21 "h323-call-type=VoIP"
04:55:07: RADIUS: Vendor, Cisco [26] 65
04:55:07: RADIUS: Cisco AVpair [1] 59 "h323-incoming-conf-id=2F4ED2E3 3EA611D7 800E0002 B
04:55:07: RADIUS: Vendor, Cisco [26] 30
04:55:07: RADIUS: Cisco AVpair [1] 24 "subscriber=RegularLine"
04:55:07: RADIUS: Vendor, Cisco [26] 30
04:55:07: RADIUS: Cisco AVpair [1] 24 "session-protocol=cisco"
04:55:07: RADIUS: Vendor, Cisco [26] 35
04:55:07: RADIUS: Cisco AVpair [1] 29 "gw-rxd-cdn=ton:0,npi:0,#:11"
04:55:07: RADIUS: User-Name [1] 4 "22"
04:55:07: RADIUS: Acct-Status-Type [40] 6 Start [1]
04:55:07: RADIUS: Calling-Station-Id [31] 4 "22"
04:55:07: RADIUS: Called-Station-Id [30] 4 "11"
04:55:07: RADIUS: Service-Type [6] 6 Login [1]
04:55:07: RADIUS: NAS-IP-Address [4] 6 10.6.43.101
04:55:07: RADIUS: Acct-Delay-Time [41] 6 0
04:55:07: EM: No consumer registered for event type NEWINFO
04:55:07: EM: Notify the producer not to produce
04:55:07: EM: No consumer registered for event type NEWINFO
04:55:07: EM: Notify the producer not to produce
04:55:08: RADIUS: no sg in radius-timers: ctx 0x65BAB1BC sg 0x0000
04:55:08: RADIUS: Retransmit to (10.6.10.203:1645,1646) for id 21645/50
04:55:08: RADIUS: acct-delay-time for 403963FC (at 403965A1) now 1
04:55:09: RADIUS: no sg in radius-timers: ctx 0x65ADB8EC sg 0x0000
04:55:09: RADIUS: Retransmit to (10.6.10.203:1645,1646) for id 21645/49
04:55:09: RADIUS: acct-delay-time for 40389BFC (at 40389DE6) now 1
04:55:10: RADIUS: no sg in radius-timers: ctx 0x65BAB1BC sg 0x0000
04:55:10: RADIUS: Fail-over to (10.8.159.105:1645,1645) for id 21645/51
04:55:10: RADIUS: acct-delay-time for 403963FC (at 403965A1) now 2
04:55:10: RADIUS/ENCODE: Best Local IP-Address 10.6.43.101 for Radius-Server 10.8.159.105
04:55:10: RADIUS: Received from id 21645/53 10.8.159.105:1645, Accounting-response, len 20
04:55:10: RADIUS: authenticator 57 EF DD 90 0F 88 76 EA - A5 3D A7 44 0D 90 66 16
04:55:10: vstats_acct_rsp_handler: methodlist=h323, rsp_type=0x1
04:55:10: acct_rsp_status=1 callid= 26, incoming=0, leg=2
04:55:10: vstats_acct_rsp_handler: last acct msg not sent yet. methodlist: h323
04:55:10: RADIUS: no sg in radius-timers: ctx 0x65ADB8EC sg 0x0000
04:55:10: RADIUS: Fail-over to (10.8.159.105:1645,1645) for id 21645/52
04:55:10: RADIUS: acct-delay-time for 40389BFC (at 40389DE6) now 2
04:55:10: RADIUS/ENCODE: Best Local IP-Address 10.6.43.101 for Radius-Server 10.8.159.105
04:55:10: RADIUS: Received from id 21645/54 10.8.159.105:1645, Accounting-response, len 20
04:55:10: RADIUS: authenticator 97 88 6C BA DA 22 E7 5E - 73 EC 21 C6 36 1B 93 18
04:55:10: vstats_acct_rsp_handler: methodlist=h323, rsp_type=0x1
05/08/11 628
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
04:55:10: acct_rsp_status=callid= 25, incoming=1, leg=1
04:55:10: vstats_acct_rsp_handler: last acct msg not sent yet. methodlist: h323
04:55:13: RADIUS(0000001A): Config NAS IP: 0.0.0.0
04:55:13: RADIUS(0000001A): sending
04:55:13: RADIUS/ENCODE: Best Local IP-Address 10.6.43.101 for Radius-Server 10.6.10.203
04:55:13: RADIUS(0000001A): Send Accounting-Request to 10.6.10.203:1646 id 21645/55,len885
04:55:13: RADIUS: authenticator F8 4F F1 30 7E 8B 5B 46 - EF AE 17 2D 5C BA 36 E5
04:55:13: RADIUS: Acct-Session-Id [44] 10 "00000021"
04:55:13: RADIUS: Vendor, Cisco [26] 57
04:55:13: RADIUS: h323-setup-time [25] 51 "h323-setup-time=*16:22:31.006 UTC Thu Feb 13 2003"
04:55:13: RADIUS: Vendor, Cisco [26] 27
04:55:13: RADIUS: h323-gw-id [33] 21 "h323-gw-id=5400-GW."
04:55:13: RADIUS: Vendor, Cisco [26] 56
04:55:13: RADIUS: Conf-Id [24] 50 "h323-conf-id=2F4ED2E3 3EA611D7 800E0002 B935C142"
04:55:13: RADIUS: Vendor, Cisco [26] 34
04:55:13: RADIUS: h323-call-origin [26] 28 "h323-call-origin=originate"
04:55:13: RADIUS: Vendor, Cisco [26] 27
04:55:13: RADIUS: h323-call-type [27] 21 "h323-call-type=VoIP"
04:55:13: RADIUS: Vendor, Cisco [26] 65
04:55:13: RADIUS: Cisco AVpair [1] 59 "h323-incoming-conf-id=2F4ED2E3 3EA611D7 800E0002 B
04:55:13: RADIUS: Vendor, Cisco [26] 30
04:55:13: RADIUS: Cisco AVpair [1] 24 "subscriber=RegularLine"
04:55:13: RADIUS: Vendor, Cisco [26] 30
04:55:13: RADIUS: Cisco AVpair [1] 24 "session-protocol=cisco"
04:55:13: RADIUS: Vendor, Cisco [26] 35
04:55:13: RADIUS: Cisco AVpair [1] 29 "gw-rxd-cdn=ton:0,npi:0,#:11"
04:55:13: RADIUS: Vendor, Cisco [26] 59
04:55:13: RADIUS: h323-connect-time [28] 53 "h323-connect-time=*16:22:31.046 UTC Thu Feb 13 200
04:55:13: RADIUS: Acct-Input-Octets [42] 6 2241
04:55:13: RADIUS: Acct-Output-Octets [43] 6 81
04:55:13: RADIUS: Acct-Input-Packets [47] 6 113
04:55:13: RADIUS: Acct-Output-Packets [48] 6 5
04:55:13: RADIUS: Acct-Session-Time [46] 6 5
04:55:13: RADIUS: Vendor, Cisco [26] 62
04:55:13: RADIUS: h323-disconnect-tim[29] 56 "h323-disconnect-time=*16:22:36.070 UTC Thu Feb 13
04:55:13: RADIUS: Vendor, Cisco [26] 32
04:55:13: RADIUS: h323-disconnect-cau[30] 26 "h323-disconnect-cause=10"
04:55:13: RADIUS: Vendor, Cisco [26] 38
04:55:13: RADIUS: h323-remote-address[23] 32 "h323-remote-address=10.0.0.110"
04:55:13: RADIUS: Vendor, Cisco [26] 24
04:55:13: RADIUS: Cisco AVpair [1] 18 "release-source=1"
04:55:13: RADIUS: Vendor, Cisco [26] 29
04:55:13: RADIUS: h323-voice-quality [31] 23 "h323-voice-quality=-1"
04:55:13: RADIUS: Vendor, Cisco [26] 57
04:55:13: RADIUS: Cisco AVpair [1] 51 "alert-timepoint=*16:22:31.030 UTC Thu Feb 13 2003"
04:55:13: RADIUS: Vendor, Cisco [26] 39
04:55:13: RADIUS: Cisco AVpair [1] 33 "remote-media-address=10.0.0.110"
04:55:13: RADIUS: Vendor, Cisco [26] 44
04:55:13: RADIUS: Cisco AVpair [1] 38 "gw-final-xlated-cdn=ton:0,npi:0,#:11"
04:55:13: RADIUS: Vendor, Cisco [26] 44
04:55:13: RADIUS: Cisco AVpair [1] 38 "gw-final-xlated-cgn=ton:0,npi:1,#:22"
04:55:13: RADIUS: User-Name [1] 4 "22"
04:55:13: RADIUS: Acct-Status-Type [40] 6 Stop [2]
04:55:13: RADIUS: Calling-Station-Id [31] 4 "22"
04:55:13: RADIUS: Called-Station-Id [30] 4 "11"
04:55:13: RADIUS: Service-Type [6] 6 Login [1]
04:55:13: RADIUS: NAS-IP-Address [4] 6 10.6.43.101
04:55:13: RADIUS: Acct-Delay-Time [41] 6 0
04:55:13: RADIUS(00000019): Using existing nas_port 0
04:55:13: RADIUS(00000019):Config NAS IP: 0.0.0.0
04:55:13: RADIUS(00000019):sending
04:55:13: RADIUS/ENCODE: Best Local IP-Address 1.6.43.101 for Radius-Server 10.6.10.203
05/08/11 629
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
04:55:13: RADIUS(00000019): Send Accounting-Request to 10.6.10.203:1646 id 21645/56,len766
04:55:13: RADIUS: authenticator 61 60 EB 92 29 5C DE B4 - CE 40 1C AB E3 A1 C8 F7
04:55:13: RADIUS: Acct-Session-Id [44] 10 "00000020"
04:55:13: RADIUS: Vendor, Cisco [26] 57
04:55:13: RADIUS: h323-setup-time [25] 51 "h323-setup-time=*16:22:30.994 UTC Thu Feb 13 2003"
04:55:13: RADIUS: Vendor, Cisco [26] 27
04:55:13: RADIUS: h323-gw-id [33] 21 "h323-gw-id=5400-GW."
04:55:13: RADIUS: Vendor, Cisco [26] 56
04:55:13: RADIUS: Conf-Id [24] 50 "h323-conf-id=2F4ED2E3 3EA611D7 800E0002 B935C142"
04:55:13: RADIUS: Vendor, Cisco [26] 31
04:55:13: RADIUS: h323-call-origin [26] 25 "h323-call-origin=answer"
04:55:13: RADIUS: Vendor, Cisco [26] 32
04:55:13: RADIUS: h323-call-type [27] 26 "h323-call-type=Telephony"
04:55:13: RADIUS: Vendor, Cisco [26] 65
04:55:13: RADIUS: Cisco AVpair [1] 59 "h323-incoming-conf-id=2F4ED2E3 3EA611D7 800E0002 B
04:55:13: RADIUS: Vendor, Cisco [26] 30
04:55:13: RADIUS: Cisco AVpair [1] 24 "subscriber=RegularLine"
04:55:13: RADIUS: Vendor, Cisco [26] 35
04:55:13: RADIUS: Cisco AVpair [1] 29 "gw-rxd-cdn=ton:0,npi:0,#:11"
04:55:13: RADIUS: Vendor, Cisco [26] 32
04:55:13: RADIUS: Cisco AVpair [1] 26 "calling-party-category=9"
04:55:13: RADIUS: Vendor, Cisco [26] 33
04:55:13: RADIUS: Cisco AVpair [1] 27 "transmission-medium-req=0"
04:55:13: RADIUS: Vendor, Cisco [26] 59
04:55:13: RADIUS: h323-connect-time [28] 53 "h323-connect-time=*16:22:31.046 UTC Thu Feb 13 200
04:55:13: RADIUS: Acct-Input-Octets [42] 6 81
04:55:13: RADIUS: Acct-Output-Octets [43] 6 2241
04:55:13: RADIUS: Acct-Input-Packets [47] 6 5
04:55:13: RADIUS: Acct-Output-Packets [48] 6 113
04:55:13: RADIUS: Acct-Session-Time [46] 6 5
04:55:13: RADIUS: Vendor, Cisco [26] 62
04:55:13: RADIUS: h323-disconnect-tim[29] 56 "h323-disconnect-time=*16:22:36.064 UTC Thu Feb 13
04:55:13: RADIUS: Vendor, Cisco [26] 32
04:55:13: RADIUS: h323-disconnect-cau[30] 26 "h323-disconnect-cause=10"
04:55:13: RADIUS: Vendor, Cisco [26] 35
04:55:13: RADIUS: Cisco AVpair [1] 29 "h323-ivr-out=Tariff:Unknown"
04:55:13: RADIUS: Vendor, Cisco [26] 24
04:55:13: RADIUS: Cisco AVpair [1] 18 "release-source=1"
04:55:13: RADIUS: Vendor, Cisco [26] 28
04:55:13: RADIUS: h323-voice-quality [31] 22 "h323-voice-quality=0"
04:55:13: RADIUS: User-Name [1] 4 "22"
04:55:13: RADIUS: Acct-Status-Type [40] 6 Stop [2]
04:55:13: RADIUS: NAS-Port-Type [61] 6 Async [0]
04:55:13: RADIUS: Vendor, Cisco [26] 20
04:55:13: RADIUS: cisco-nas-port [2] 14 "ISDN 6/0:D:1"
04:55:13: RADIUS: NAS-Port [5] 6 0
04:55:13: RADIUS: Calling-Station-Id [31] 4 "22"
04:55:13: RADIUS: Called-Station-Id [30] 4 "11"
04:55:13: RADIUS: Service-Type [6] 6 Login [1]
04:55:13: RADIUS: NAS-IP-Addres [4] 6 10.6.43.101
04:55:13: RADIUS: Acct-Delay-Time [41] 6 0
04:55:14: RADIUS: no sg in radius-timers: ctx 0x65BAB070 sg 0x0000
04:55:14: RADIUS: Retransmit to (10.6.10.203:1645,1646) for id 21645/55
04:55:14: RADIUS: acct-delay-time for 40553934 (at 40553CA3) now 1
04:55:14: RADIUS: no sg in radius-timers: ctx 0x65BA8284 sg 0x0000
04:55:14: RADIUS: Retransmit to (10.6.10.203:1645,1646) for id 21645/56
04:55:14: RADIUS: acct-delay-time for 405546C4 (at 405549BC) now 1
04:55:15: RADIUS: no sg in radius-timers: ctx 0x65BAB070 sg 0x0000
04:55:15: RADIUS: Fail-over to (10.8.159.105:1645,1645) for id 21645/57
04:55:15: RADIUS: acct-delay-time for 40553934 (at 40553CA3) now 2
04:55:15: RADIUS/ENCODE: Best Local IP-Address 10.6.43.101 for Radius-Server 10.8.159.105
04:55:15: RADIUS: no sg in radius-timers: ctx 0x65BA8284 sg 0x0000
05/08/11 630
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
04:55:15: RADIUS: Fail-over to (10.8.159.105:1645,1645) for id 21645/58
04:55:15: RADIUS: acct-delay-time for 405546C4 (at 405549BC) now 2
04:55:15: RADIUS/ENCODE: Best Local IP-Address 10.6.43.101 for Radius-Server 10.8.159.105
04:55:15: RADIUS: Received from id 21645/59 10.8.159.105:1645, Accounting-response, len 20
04:55:15: RADIUS: authenticator B1 C4 5E FC DB FA 74 A4 - 05 E2 34 52 1A 11 26 06
04:55:15: vstats_acct_rsp_handler: methodlist=h323, rsp_type=0x4
04:55:15: acct_rsp_status=1 callid= 26, incoming=0, leg=2
04:55:15: vstats_acct_rsp_handler: increment since-reset counter
04:55:15: vstats_acct_rsp_handler: increment interval counter
04:55:15: RADIUS: Received from id 21645/60 10.8.159.105:1645, Accounting-response, len 20
04:55:15: RADIUS: authenticator 0E 70 74 2F E5 D8 EE 98 - B9 C0 DA 66 74 ED 84 77
04:55:15: vstats_acct_rsp_handler: methodlist=h323, rsp_type=0x4
04:55:15: acct_rsp_status=1 callid= 25, incoming=1, leg=1
04:55:15: vstats_acct_rsp_handler: increment since-reset counter
04:55:15: vstats_acct_rsp_handler: increment interval counter
The call disconnection cause values are taken from International Telecommunication Union Telecommunication
Standardization Sector (ITU-T) standard Q.931 and are as follows:
• Private Network-Network Interface (PNNI) references ITU-T standard Q.2931 for the information
element (IE) causes.
• PNNI R15 6.3.6.3 contains the "crankback" causes.
• ITU-T standard Q.2931 references ITU-T standard Q.2610.
• ITU-T standard Q.2610 lists a few cause codes and references ITU-T standard Q.850.
• ITU-T standard Q.850 lists the bulk of the cause codes.
For specific information on the call disconnection cause values, see the >Cause Codes and Debug Values.
Prerequisites
CSR configurations must be enabled before you can examine the voice calls that are made through the gateway.
Restrictions
Statistics of non-DID calls are not consistent with those of the underlying ISDN module.
SUMMARY STEPS
1. enable
2. show voice statistics csr since-reset aggregation-level all
05/08/11 631
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
DETAILED STEPS
Example
The following sample output shows cause-code statistics since the last reset for all aggregation levels.
Table: Significant Fields of the show voice statistics csr since-reset aggregation-level all Command shows two
types of cause codes listed in the output above.
Table: Significant Fields of the show voice statistics csr since-reset aggregation-level all Command
Field Description
Count of incoming calls that are disconnected with a specific cause code number. In this
in_disc_cc_16=16
example, the value 16 indicates normal call clearing
out_disc_cc_16=3 Count of outgoing calls that are disconnected with a specific cause code number.
05/08/11 632
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• Lost packet value: the number of calls losing more than the configured number of packets. The default
lost packet threshold is 1000 milliseconds.
• Packet latency value: the number of calls with voice packets encountering more than the configured
amount of latency. The default packet latency threshold is 250 milliseconds.
• Packet jitter value: the number of calls with voice packets encountering more than the configured amount
of jitter. The default packet jitter threshold is 250 milliseconds.
Before you can determine that any voice call with IP voice packets is deviating from the desired level of quality,
you must configure the threshold values of lost packets, latency, and jitter. See the following sections:
Restrictions
Call statistics for MGCP calls are not guaranteed to be correct and accurate. In addition, statistics of non-DID
ISDN calls are not consistent with those of the underlying ISDN module.
SUMMARY STEPS
1. enable
2. show voice statistics csr since-reset aggregation-level all
DETAILED STEPS
Example
The following sample output displays lost packet, latency, and jitter QoS information:
05/08/11 633
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
out_conn_d=323, orig_disconn=0,in_ans_abnorm=0,out_ans_abnorm=0,in_mcd=0,
out_mcd=0,in_pdd=2340, out_pdd=12340,in_setup_delay=2340,out_setup_delay=3340,
lost_pkt=10,latency=3,jitter=5,in_disc_cc_16=16,in_disc_cc_18=2,in_disc_cc_19=3,
in_disc_cc_34=5,out_disc_cc_16=16, out_disc_cc_18=2,out_disc_cc_19=3,out_disc_cc_34=5
!
record_type=ip,trunk_group_id=,voice_port_id=,in_call=26,in_ans=16,in_fail=10,out_call=0,
out_ans=0,out_fail=0,in_szre_d=387,out_szre_d=0,in_conn_d=330,out_conn_d=0,
orig_disconn=0,in_ans_abnorm=0,out_ans_abnorm=0,in_mcd=0,out_mcd=0,in_pdd=2340,
out_pdd=0, in_setup_delay=2340,out_setup_delay=0,lost_pkt=10,jitter=5,
in_disc_cc_16=16, in_disc_cc_18=2,in_disc_cc_19=3,in_disc_cc_34=5,out_disc_cc_16=0
!
05/08/11 634
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
This article includes the following examples:
Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values
Contents
• 1 User-Specific Configurations for Call Statistic Collection: Example
• 2 Manually Clearing Statistics: Example
• 3 Collection of Aggregation-Level Statistics: Example
• 4 Memory Usage: Example
• 5 Collection of Statistics Since System Reset: Examples
♦ 5.1 Example of the show voice statistics csr since-reset accounting all Command
♦ 5.2 Example of the show voice statistics csr since-reset aggregation-level all
Command
♦ 5.3 Example of the show voice statistics csr since-reset aggregation-level gateway
Command
♦ 5.4 Example of the show voice statistics csr since-reset aggregation-level ip
Command
♦ 5.5 Example of the show voice statistics csr since-reset aggregation-level pstn
Command
♦ 5.6 Example of the show voice statistics csr since-reset aggregation-level trunk-group
all Command
♦ 5.7 Example of the show voice statistics csr since-reset aggregation-level voice-port
all Command
• 6 Designated Server Group: Example
• 7 Location of the FTP Server: Example
• 8 Maximum File Size for the Syslog Server: Example
• 9 Maximum Duration for Storage: Example
05/08/11 635
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Note: The type of statistics is not shown in a running configuration because the voice statistics type csr
command activates only the collection of statistics. If you do not specify a type, both signaling and
accounting statistics are collected.
The following example verifies the clearing by showing that all of the parameters have been set to zero:
05/08/11 636
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Client Type: Voice ACCT Stats
Start Time: 2002-04-25T01:48:04Z End Time: 2002-04-25T01:49:30Z
methodlist=h323-1,acc_pass_criteria=0,pstn_in_pass=0,pstn_in_fail=0,pstn_out_pass=0,
pstn_out_fail=0,ip_in_pass=0,ip_in_fail=0,ip_out_pass=0,ip_out_fail=0
The following example shows the intervals at which statistics were collected:
05/08/11 637
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
• Example of the show voice statistics csr since-reset accounting all Command
• Example of the show voice statistics csr since-reset aggregation-level all Command
• Example of the show voice statistics csr since-reset aggregation-level gateway Command
• Example of the show voice statistics csr since-reset aggregation-level ip Command
• Example of the show voice statistics csr since-reset aggregation-level pstn Command
• Example of the show voice statistics csr since-reset aggregation-level trunk-group all Command
• Example of the show voice statistics csr since-reset aggregation-level voice-port all Command
Example of the show voice statistics csr since-reset accounting all Command
05/08/11 638
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
Example of the show voice statistics csr since-reset aggregation-level all Command
Example of the show voice statistics csr since-reset aggregation-level gateway Command
Example of the show voice statistics csr since-reset aggregation-level pstn Command
05/08/11 639
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
record_type=pstn,trunk_group_id=1,voice_port_id=1,in_call=10,in_ans=10,in_fail=0,
out_call=50,out_ans=10,out_fail=40,in_szre_d=0,out_szre_d=0,in_conn_d=0,out_conn_d=0,
orig_disconn=0,in_ans_abnorm=0,out_ans_abnorm=0,in_mcd=0,out_mcd=0,in_pdd=0,out_pdd=0,
in_setup_delay=0,out_setup_delay=0,lost_pkt=0,latency=0,jitter=0,in_disc_cc_16=0,
out_disc_cc_16=0
Example of the show voice statistics csr since-reset aggregation-level trunk-group all Command
Example of the show voice statistics csr since-reset aggregation-level voice-port all Command
05/08/11 640
Cisco IOS Voice Troubleshooting and Monitoring -- Call Flow Overview
05/08/11 641