X
X
Cisco Press
Cisco Press
201 West 103rd Street
Indianapolis, IN 46290 USA
ii
Trademark Acknowledgments
All terms mentioned in this book that are known to be trademarks or service marks have been appropriately capitalized.
Cisco Press or Cisco Systems, Inc., cannot attest to the accuracy of this information. Use of a term in this book should
not be regarded as affecting the validity of any trademark or service mark.
Figure 7-11 in Chapter 7 comes from ITU-T Recommendation G.131, Figure 1, p.8, and has been reproduced with the
prior authorization of the Union as copyright holder; the sole responsibility for selecting extracts for reproduction lies
with Cisco Press alone and can in no way be attributed to the ITU.
The complete volume of ITU-T Recommendation G.131, from which the gure reproduced is extracted, can be obtained
from:
International Telecommunication Union
Sales and Marketing Division
Place des Nations - CH-1211 GENEVA 20 (Switzerland)
Telephone: + 41 22 730 61 41 (English) / +41 22 730 61 42 (French) / +41 22 730 61 43 (Spanish)
Telex: 421 000 uit ch / Fax: +41 22 730 51 94
E-mail: [email protected] / http://www.itu.int/publications
iii
Feedback Information
At Cisco Press, our goal is to create in-depth technical books of the highest quality and value. Each book is crafted with
care and precision, undergoing rigorous development that involves the unique expertise of members of the professional
technical community.
Reader feedback is a natural continuation of this process. If you have any comments regarding how we could
improve the quality of this book, or otherwise alter it to better suit your needs, you can contact us through e-mail at
[email protected]. Please be sure to include the book title and ISBN in your message.
We greatly appreciate your assistance.
iv
Publisher
Editor-In-Chief
Cisco Representative
Cisco Press Program Manager
Cisco Marketing Communications Manager
Cisco Marketing Program Manager
Acquisitions Editor
Production Manager
Development Editor
Copy Editor
Technical Editors
Team Coordinator
Book Designer
Cover Designer
Compositor
Indexer
Corporate Headquarters
Cisco Systems, Inc.
170 West Tasman Drive
San Jose, CA 95134-1706
USA
http://www.cisco.com
Tel: 408 526-4000
800 553-NETS (6387)
Fax: 408 526-4100
John Wait
John Kane
Anthony Wolfenden
Sonia Torres Chavez
Tom Geitner
Edie Quiroz
Amy Moss
Patrick Kanouse
Christopher Cleveland
Gayle Johnson
Shawn Armstrong, Dave Goodwin, Christina Hattingh,
Phil Jensen, Ketil Johansen, Chris Pearce, Ana Rivas,
Markus Schneider, Gert Vanderstraeten, Liang Wu
Tammi Ross
Gina Rexrode
Louisa Klucznik
Mark Shirar
Tim Wright
European Headquarters
Cisco Systems Europe
11 Rue Camille Desmoulins
92782 Issy-les-Moulineaux
Cedex 9
France
http://wwweurope.cisco.com
Tel: 33 1 58 04 60 00
Fax: 33 1 58 04 61 00
Americas Headquarters
Cisco Systems, Inc.
170 West Tasman Drive
San Jose, CA 95134-1706
USA
http://www.cisco.com
Tel: 408 526-7660
Fax: 408 527-0883
Cisco Systems has more than 200 ofces in the following countries. Addresses, phone numbers, and fax numbers are listed on
the Cisco Web site at www.cisco.com/go/ofces
Argentina Australia Austria Belgium Brazil Bulgaria Canada Chile China Colombia Costa
Rica Croatia Czech Republic Denmark Dubai, UAE Finland France Germany Greece Hong
Kong Hungary India Indonesia Ireland Israel Italy Japan Korea Luxembourg Malaysia
Mexico The Netherlands New Zealand Norway Peru Philippines Poland Portugal Puerto Rico
Romania Russia Saudi Arabia Scotland Singapore Slovakia Slovenia South Africa Spain Sweden
Switzerland Taiwan Thailand Turkey Ukraine United Kingdom United States Venezuela Vietnam
Zimbabwe
Copyright 2000, Cisco Systems, Inc. All rights reserved. Access Registrar, AccessPath, Are You Ready, ATM Director, Browse with Me, CCDA, CCDE, CCDP, CCIE, CCNA,
CCNP, CCSI, CD-PAC, CiscoLink, the Cisco NetWorks logo, the Cisco Powered Network logo, Cisco Systems Networking Academy, Fast Step, FireRunner, Follow Me Browsing,
FormShare, GigaStack, IGX, Intelligence in the Optical Core, Internet Quotient, IP/VC, iQ Breakthrough, iQ Expertise, iQ FastTrack, iQuick Study, iQ Readiness Scorecard, The
iQ Logo, Kernel Proxy, MGX, Natural Network Viewer, Network Registrar, the Networkers logo, Packet, PIX, Point and Click Internetworking, Policy Builder, RateMUX,
ReyMaster, ReyView, ScriptShare, Secure Script, Shop with Me, SlideCast, SMARTnet, SVX, TrafficDirector, TransPath, VlanDirector, Voice LAN, Wavelength Router,
Workgroup Director, and Workgroup Stack are trademarks of Cisco Systems, Inc.; Changing the Way We Work, Live, Play, and Learn, Empowering the Internet Generation, are
service marks of Cisco Systems, Inc.; and Aironet, ASIST, BPX, Catalyst, Cisco, the Cisco Certified Internetwork Expert Logo, Cisco IOS, the Cisco IOS logo, Cisco Press, Cisco
Systems, Cisco Systems Capital, the Cisco Systems logo, Collision Free, Enterprise/Solver, EtherChannel, EtherSwitch, FastHub, FastLink, FastPAD, IOS, IP/TV, IPX, LightStream,
LightSwitch, MICA, NetRanger, Post-Routing, Pre-Routing, Registrar, StrataView Plus, Stratm, SwitchProbe, TeleRouter, are registered trademarks of Cisco Systems, Inc. or its
affiliates in the U.S. and certain other countries.
All other brands, names, or trademarks mentioned in this document or Web site are the property of their respective owners. The use of the word partner does not imply a partnership
relationship between Cisco and any other company. (0010R)
vi
vii
Dedications
Paul Giralt
I dedicate this book to my parents, Vicia and Pedro, for being the best parents anyone could ask for and always providing the opportunity and encouragement to continue learning.
Addis Hallmark
I want to dedicate this book to my lovely wife, Stephanie. Her companionship is the most precious thing in the world to
me. Her patience, understanding, and encouragement helped me write this book. I love and appreciate her dearly.
Anne Smith
For Herb for seeing me through the long nights and weekends without complaint. And, of course, for all those backrubs.
viii
Acknowledgments
Paul Giralt
I want to rst thank Anne Smith for all her hard work and guidance throughout this entire project. There is no way this
book would exist without her constant dedication and attention to detail.
Thanks to Chris Cleveland for his excellent work as development editor on this book and for being so exible when it
comes to the unpredictable schedules of a TAC engineer.
Thank you to the worldwide Enterprise Voice and AVVID TAC teams, especially the RTP Enterprise Voice team for
being such a world-class group of engineers to work with.
Thanks to the RTP Voice Network Team (VNT) for all the excellent VoX documentation. Special thanks to Gonzalo Salgueiro and Mike Whitley for the VoX boot camp material and to Steve Penna for knowing everything.
Thanks to Dave Hanes for his excellent fax troubleshooting presentations and Andy Pepperell for his explanation of fax
and modem passthrough.
Thanks to all the technical reviewersAna Rivas, Chris Pearce, Dave Goodwin, Ketil Johansen, Markus Schneider, Phil
Jensen, Gert Vanderstraeten, Liang Wu, Shawn Armstrong, and especially Christina Hattinghfor always being on top
of everything in the world of Cisco IOS gateways.
Thanks to all the developers in Richardson and San Jose that I have worked with over the years. Your insight into the
inner workings of CallManager has helped me understand how to better troubleshoot the product. Special thanks to Bill
Benninghoff for always answering any question I throw his way and for always being so thorough in his explanations.
Also thanks to Chris Pearce for his excellent grasp on the intricacies of call routing.
Thank you to all the contributors to the VNT Voice University website as well as the AVVID TAC tips website on
Cisco.com. Also thanks to all the other unnamed authors for the documentation scattered throughout various web pages.
Thanks to all the customers I have worked with over the past several years on AVVID issues for being my teachers.
Every customer I work with helps me understand a little more about IP Telephony.
Addis Hallmark
First, Id like to thank Paul Hahn and Richard Platt for bringing me on at Cisco. Paul in particular spent a lot of time
with me, bringing me up to speed on these technologies, and for that, I am indebted to him.
Id also like to thank all the brilliant development engineers who patiently helped me understand CallManager so well
over the past few years.
Id like to thank Susan Sauter. She is a brilliant engineer, and so much of what I know about IP Phones came from her
patient instruction.
Chris Pearce has also helped me so much over the last few years in understanding dial plans.
The chapter on applications is based on the hard work of Dave Bicknell. Without his efforts, that chapter would not be
even close to what it should be.
Manish Gupta and his team were a tremendous source of help on the LDAP Directory chapter. Stefano Giorcellis excellent directory documentation also was so very helpful!
The TAC is on the front lines of troubleshooting, and much of the help I received was from the experiences that only
solid TAC engineers could provide.
Also, the technical reviewers of this book were so helpful. Thank you so much to everyone for their hard work!
I really believe this is a great book, and one of the biggest reasons for that is Paul Giralts invaluable contribution and
hard work on this project. I couldnt have done this without him!
ix
My manager, Shaik Kaleem, was very supportive of this project that I undertook on my own time, and I greatly appreciate that support.
Finally, Id like to thank Anne Smith. This project would never have happened without her tireless work and skillful
help. I am so grateful for Annes effort. She worked so very hard over this past year, and Paul Giralt and I would have
been lost without her.
Anne Smith
My many thanks go to Paul Giralt and Addis Hallmark for making this book a reality with their knowledge, experience,
hard work, and sacrice. In particular, I thank Paul for a highly enjoyable working experience. Pauls dedication to the
quality, accuracy, and comprehensiveness of this book was unsurpassed; he spent countless hours reviewing every page
of technical information and his experience with the many components in the Cisco AVVID IP Telephony solution made
his extensive contribution invaluable. At every turn, Pauls dedication, commitment to quality, tireless drive for accuracy,
and constant positive attitude made working with him a rewarding experience.
As always, my thanks and great admiration go to Richard Platt and Scott Veibell. Without their continued support there
would be no Cisco IP Telephony-related Cisco Press books.
I would like to thank Chris Pearce for his help on the Call Routing chapter, Travis Amsler for his assistance on the Cisco
CRA and extension mobility sections, and Brian Sedgley and Ken Pruski for their help with CCM and SDL tracing.
Appreciation and recognition also go to the engineers who created and developed Dick Tracy: Rick Baugh, Jim Brasher,
Long Huang, and David Patton.
Contents at a Glance
Foreword
xxv
Introduction
xxvi
Chapter 1
Chapter 2
Chapter 3
Chapter 4
Chapter 5
IP Phones 139
Chapter 6
Chapter 7
Chapter 8
Chapter 9
Chapter 10
Chapter 11
Chapter 12
Chapter 13
Chapter 14
Chapter 15
Chapter 16
Applications 735
Chapter 17
Chapter 18
Appendix A
Appendix B
Appendix C
Appendix D
Glossary 927
Index 947
xi
Contents
Foreword
xxv
Introduction
Chapter 1
xxvi
Chapter 2
xii
Chapter 3
xiii
Event Viewer 91
Q.931 Translator and Enhanced Q.931 Translator 95
Enhanced Q.931 Translator 98
Acquiring Enhanced Q.931 Translator 100
Dick Tracy 101
Using the Dick Tracy Tool 102
Using the CLI Tracy/Embedded Tracy Tool 105
Acquiring Dick Tracy 105
Sniffer Traces 106
Voice Codec Bandwidth Calculator 106
Bug Toolkit (Formerly Bug Navigator) 106
Remote Access Tools 107
Terminal Services 107
Virtual Network Computing (VNC) 108
Websites and Further Reading 108
Best Practices 109
VNC Best Practices 109
Summary 110
Chapter 4
xiv
Chapter 5
IP Phones 139
Understanding IP Phone Behavior 139
Understanding the Skinny Protocol 139
Call Processing Behavior 140
Examining Skinny Protocol Messages in a CCM Trace 148
Understanding Failover and Failback 154
Failover Behavior 155
Failback Behavior 156
Understanding the Difference Between Restart and Reset 156
Troubleshooting IP Phone Problems 157
Dropped Calls 157
CM Down, Features Disabled 158
Reasons for Failover 158
Directory and Service Problems 160
79xx Series IP Phone 3-port Switch Operation 161
Best Practices 165
Check Your Firmware 165
Press the Help (i or ?) Button Twice During Active Calls 165
Use a Custom Phone Service That Tracks Voice Quality Statistics 166
Check the IP Phone Configuration Via Web Browser 167
Summary 167
Chapter 6
xv
xvi
xvii
xviii
Chapter 9
xix
xx
xxi
xxii
xxiii
xxiv
Appendix A Cisco IP Telephony Protocol and Codec Information and References 849
Protocols 849
Codecs 855
Appendix B NANP Call Routing Information 857
Appendix C Decimal to Hexadecimal and Binary Conversion Table 881
Appendix D Performance Objects and Counters 891
Cisco Performance Objects and Counters 891
Cisco Analog Access Object 892
Cisco CallManager Object 893
Cisco CallManager Attendant Console ObjectRelease 3.3(2) 898
Cisco CallManager System Performance Object 900
Cisco CTI Manager Object 903
Cisco Gatekeeper Object 904
Cisco H.323 Object 904
Cisco HW Conference Bridge DeviceRelease 3.3(2) 904
Cisco Lines Object 905
Cisco Locations Object 906
Cisco Media Streaming App Object 906
Cisco Media Termination Point ObjectThrough Release 3.3(2) 909
Cisco Messaging Interface Object 910
Cisco MGCP FXO Device Object 911
Cisco MGCP FXS Device Object 912
Cisco MGCP Gateways Object 912
Cisco MGCP PRI Device Object 913
Cisco MGCP T1 CAS Device Object 914
Cisco MOH Device Object 915
Cisco MTP Device Object 916
Cisco Music on Hold Server ObjectThrough Release 3.3(2) 916
Cisco Phones Object 918
Cisco SW Conference Bridge ObjectThrough Release 3.3(2) 918
Cisco SW Conference Bridge Device ObjectRelease 3.3(2) 919
Cisco TFTP Object 920
Cisco Transcode Device Object 923
Cisco Unicast Hardware Conference Object 924
Cisco Unicast Software Conference Bridge Device ObjectThrough Release 3.3(1) 924
Cisco WebAttendant ObjectThrough Release 3.3(1) 924
Windows 2000 Objects 924
Glossary
927
Index
947
xxv
Foreword
In November of 1998, Cisco Systems acquired a small startup called Selsius Systems. For over a year this small company had been shipping the worlds rst IP phones and Windows NT-based call management software consisting of
close to a million lines of C++ code with a small development staff of about 40 engineers. Since the acquisition, the
code base has evolved into many millions of lines of C++, XML, and Java code, and the development staff now has over
500 engineers. The level of sophistication and capability has increased dramatically and is a key component of the Cisco
Architecture for Voice, Video, and Integrated Data (AVVID). Current deployments range from extremely distributed
enterprises with hundreds of remote ofces to small 50-person ofces. Geographically, systems are deployed across the
world, including exotic locations such as Antarctica and the International Space Station!
AVVIDs IP Telephony components (including the IP phones, gateways, and Cisco CallManager) comprise a telephony
system that is both richer than and different from traditional TDM-based phone systems. For example, manageability
and serviceability are achieved through either a browseable interface or an XML SOAP-based protocol for integration
with existing IT systems. Geography disappears as a problem because telephony functions, manageability, and serviceability all traverse the IP network. Proprietary databases disappear in favor of standard SQL databases and LDAP directories. Nevertheless, this unication and standardization of telephony on IP networks also presents unique challenges.
Voice quality can be impacted by poor IP network design. Capacity planning requires consideration of IP address numbering. Music on Hold as a multicast stream requires proper switch and router conguration. These are only a few
examples of the unique considerations that must be given to IP Telephony deployments.
This book incorporates the authors real-life experiences in planning and troubleshooting IP Telephony within the
AVVID solution. The wisdom contained herein has been gained over the course of thousands of real customer experiences. Paul Giralt and Addis Hallmark are two of the very best troubleshooters in the industry, and Anne Smith has written
about and worked with the system since the earliest releases. Paul has been with Ciscos customer support organization
for several years. His depth and breadth of knowledge across all Cisco products are legendary, including his most recent
focus on IP Telephony. I have seen him in action at some very large and sensitive customer installations, where he
resolved extremely difcult problems and provided excellent guidance during upgrades and installations. We were fortunate to get him back, inasmuch as our customers were loathe to let him leave! Addis has been involved in the development and testing of many AVVID products. He has been personally engaged with many key customers during
deployment and operation and has received numerous rave reviews from customers. Addis also has been instrumental in
the security design aspects of Cisco CallManager. Anne is an author and the technical editor for this and several other
AVVID books. She has been engaged with the technology since its inception at Selsius Systems.
I highly recommend this book to any individual or organization involved in installing, operating, or troubleshooting one
of the most exciting advances in the long history of telephony. Written by three of its pioneers, this book serves as a
guide for the rest of the pioneers who arent afraid to help their organization communicate in its own way, the better
way, the IP way.
Richard B. Platt
Vice President for Enterprise Voice, Video Business Unit
Cisco Systems, Inc.
xxvi
Introduction
This book teaches you the troubleshooting skills you need to isolate and resolve IP telephony problems. IP
telephony is a relatively new technology with many different components. The Cisco IP Telephony (CIPT)
solution revolves around Cisco CallManager, the core call processing engine. CIPT includes many different
endpoints, such as IP phones, various gateways, and various applications such as Cisco IP IVR,
Cisco CallManager Attendant Console, Cisco IP SoftPhone, Cisco Conference Connection, extension
mobility, and more. Additionally, the network infrastructure plays an important role in prioritizing voice
packets to ensure quality of service (QoS).
With all these components involved in transmitting voice across packet networks, it is essential that you be
able to identify and resolve issues in the entire solution. This requires knowledge of the functionality of
these components and how they interact with each other, as well as what tools are available to help you nd
the root cause when problems arise. This book educates you about the techniques, tools, and methodologies
involved in troubleshooting an IP telephony system.
xxvii
Chapter 6, Voice GatewaysVoice gateways are the interface that bridges the Voice
over IP (VoIP) world with the Public Switched Telephone Network (PSTN). Voice
gateways can be Cisco IOS Software gateways or modules within voice-enabled LAN
switches. They can be analog or digital, and they can use a wide variety of signaling
protocols. This chapter teaches you how to identify and resolve gateway problems by
breaking these components into logical groups and following a methodical troubleshooting approach.
Chapter 7, Voice QualityVoice quality is a broad term that covers the following
conditions: delayed audio, choppy or garbled audio, static and noise, one-way or no-way
audio, and echo. This chapter focuses on the information you need to investigate and
resolve voice quality problems in an IP Telephony network.
Chapter 8, Fax Machines and ModemsFax machines and modems present unique
challenges when carried over an IP Telephony network, primarily due to their unforgiving
nature concerning any modication to the audio stream. This chapter discusses the effect
of packet loss and jitter, fax passthrough, fax relay, and how to troubleshoot modems and
faxes.
xxviii
Chapter 12, Music on HoldThe Music on Hold feature allows callers to hear
streaming audio while on hold. This chapter describes this feature and provides steps to
take if you encounter problems.
Chapter 16, ApplicationsCisco AVVID allows for the creation of many different
applications to interoperate within the converged network. This chapter discusses some of
the primary applications in a Cisco AVVID IP Telephony solution, such as IP AA and IP
IVR, extension mobility, Cisco IP SoftPhone, Personal Assistant, and Cisco CallManager
Attendant Console.
Chapter 17, SQL Database ReplicationThe SQL relational database stores the
majority of CallManager conguration information. This chapter discusses the PublisherSubscriber model for database replication, name resolution, Enterprise Manager,
Replication Monitor, broken subscriptions, and CDR database replication.
xxix
Best Practices
In a perfect world, there would be no need for this book, because systems would always run perfectly. Unfortunately, in the real world, problems do arise, and they usually dont go away on their own. However, an
administrator/installer can proactively take steps to ensure reliability and high availability and minimize the
number of problems that arise.
Best practices include not only design considerations but also monitoring and management. A properly monitored system can detect failures before they become service-affecting. Each chapter contains a section outlining best practices as they apply to the chapter topic.
In a properly designed network, you can achieve 99.999 percent reliabilitya rating that is expected of a telephone system.
Outages due to outside causes, such as power loss from utility or network circuit failures
caused by the provider
The Cisco AVVID IP Telephony solution can achieve 99.999 percent reliability per the
BellCore FR-512 specication.
xxx
Functional Description
Examples
Physical (Layer 1)
EIA/TIA-232, V.35
802.3/802.2, HDLC
IP, IPX
Transport (Layer 4)
TCP, UDP
Session (Layer 5)
Operating systems
and application
access scheduling
xxxi
Table I-1
Functional Description
Examples
Presentation (Layer 6)
JPEG, ASCII
Telnet, HTTP
Further Reading
The authors recommend the following sources for more information.
Cisco Documentation
This book provides comprehensive troubleshooting information and methodology. However, details about
common procedures might not be provided. You should be familiar with and regularly use the documentation that is provided with the Cisco IP Telephony system to supplement the information in this book.
You can nd Cisco IP Telephony documentation by searching for a specic product on Cisco.com or by
starting at the following link:
www.cisco.com/univercd/cc/td/doc/product/voice/index.htm
You can examine the following books at a technical bookseller near you or online by entering the title in the
search box at www.ciscopress.com.
Cisco IP Telephony
You can nd installation, conguration, and maintenance information for Cisco IP Telephony networks in
the book Cisco IP Telephony (ISBN 1-58705-050-1).
xxxii
xxxiii
CallManager
SRST Router
IP Phone
Used For:
Application Server
DHCP
DNS
MOH Server
MTP
SW Conference Bridge
Voice Mail Server
Stations
Router
Switch
PIX Firewall
Layer 3 Switch
Modem
Access Server
Gateway or
3rd-party
H.323
Server
PBX/PSTN Switch
PBX (Small)
Cisco
Directory
Server
ATM Switch
Local Director
V
Used For:
Analog Gateway
Gatekeeper
Gateway
H.323 Gateway
Voice-enabled Router
DAT Tape
V
PC
Laptop
Server
PC w/Software
POTS Phone
Relational
Database
Fax Machine
Media/Building Icons
Ethernet Connection
Serial Connection
Network Cloud
Telecommuter
Building
Branch
Office
Used For:
HW Conference Bridge
Transcoder
Voice-enabled Switch
CHAPTER
Understanding the
Troubleshooting Tools
To effectively troubleshoot problems in a Cisco IP Telephony (CIPT) network, you must be
familiar with the many tools at your disposal. In addition, you need to know how best to use
those tools to achieve maximum results. This chapter describes the various tools and their
different uses.
Depending on the problem you encounter and your particular skill set, you might nd
certain tools more helpful than others. Nevertheless, knowing what tools are available and
how they can help you solve the problem is essential to a successful resolution. Also, some
tools might be more useful to you based on your past experience. If you are strong in IP, a
sniffer trace might be your preferred tool when applicable. However, if you are stronger in
call processing-related traces, the Cisco CallManager (CCM, also sometimes called SDI)
traces might prove helpful once you understand how they work.
Later chapters demonstrate the use of these tools in different scenarios you might encounter.
This chapter covers the following topics:
Reading CCM (or SDI) tracesDescribes one of the most important trace les you
use to troubleshoot CallManager-related problems. CCM trace les provide information about call processing events and all messages exchanged between Skinny,
MGCP, and H.323 endpoints.
CCEmailDetails the third-party alerting tool that can be used in conjunction with
PerfMon to congure alerts for the performance counters.
38
Call detail records (CDR) and the CDR Analysis and Reporting (CAR) Tool
Describes the CAR tool that helps you analyze the raw data that comprises the CDR
database and create reports based on your search criteria.
CDR Time ConverterDescribes how to use this small utility that allows you to
convert the UNIX Epoch-based date and time format stored in a CDR to standard date
and time format.
Event ViewerBriey explains the function of another built-in Windows 2000 tool
that plays a key role in troubleshooting CallManager.
Q.931 Translator and Enhanced Q.931 TranslatorDescribes two tools that read
a CCM trace le and analyze all Q.931 and H.225 messages. The various information
elements are decoded for ease of reading. The Enhanced Q.931 Translator also adds
additional search and ltering options and decodes more information elements than
the original Q.931 Translator.
Cisco Bug Toolkit (formerly Bug Navigator)Describes the web-based tool that
allows you to nd known bugs based on software version, feature set, and keywords.
The resulting matrix shows when each bug was integrated or xed if applicable.
Time Synchronization
Time synchronization is simply making sure that all the participating CallManager servers
and network devices have the same exact time. Time synchronization is critical. A large
CallManager cluster can have eight or more separate servers, not including any voice mail
servers or application servers. This distributed architecture creates a highly available and
Time Synchronization
39
scalable system. It also makes the troubleshooting process more involved because you have
to collect traces from all participating servers to see the full picture of what happened.
As endpoints such as IP phones and voice gateways call each other, signaling occurs between CallManager and the endpoint device. Signaling also occurs between the respective
CallManagers of each endpoint device. If a problem occurs, you need to consolidate trace
les from all involved servers. CallManager Serviceability, discussed later in this chapter,
can collect this information into one le. However, if the timestamps of each le are mismatched, it can be impossible to tell what the real series of call processing events is.
All the CallManager servers can be time-synched using the Network Time Protocol (NTP).
When you synchronize the time on all involved servers, all the trace les are timestamped
the same. When trace les are collected for analysis, you can follow the true series of call
processing events with accuracy.
In addition to CallManager servers, you should ensure all network devices such as switches,
routers, and voice gateways are synchronized to the same time source as the CallManager
servers. This ensures consistent timestamps regardless of which device you are looking at.
40
command prompt.
To synchronize with a remote Time Server, use the following command
where x.x.x.x is the IP address of the Time Server:
ntpdate x.x.x.x
If you are in a time zone that observes daylight savings time, use the command clock
summer-time name_of_time_zone recurring to enable automatic daylight savings time.
For example, the following congures Eastern Daylight Savings Time:
Time Synchronization
41
You can determine time zones by performing a search at Google.com; search for a string
such as time zone GMT. Any one of the many hits should point you to a table showing
the various time zones around the world, including daylight savings time.
Once your time zone is congured properly, you can enable NTP. If you do not have a
device on the network running NTP, you can make an IOS device into an NTP master clock.
You can do this by conguring the command ntp master on the IOS device. If you are not
making the device an NTP master, you should congure the IP address of the NTP server
using the command ntp server NTP_server_IP_address. For example, the following tells
the IOS device to synchronize its clock with the NTP server at IP address 172.18.109.1:
ntp server 172.18.109.1
Once you have enabled NTP, all IOS devices should synchronize their clocks with the
central NTP server. You should also synchronize the clocks on non-IOS network devices
such as switches running CatOS software.
You can also congure daylight savings time using the command set summertime enable
name_of_time_zone. For example, the following enables Eastern Daylight Savings Time:
set summertime enable EDT
You can determine time zones by performing a search at Google.com; search for a string
such as time zone GMT. Any one of the many hits should point you to a table showing
the various time zones around the world, including daylight savings time.
Once you have the time zone congured properly, you can set the NTP server IP address
and enable the NTP client on the switch. First set the NTP server IP address using the command set ntp server NTP_server_IP_address. Then enable the NTP client using the
command set ntp client enable. The following shows the conguration to use the NTP
server with IP address 172.18.109.1:
set ntp server 172.18.109.1
set ntp client enable
Once you have enabled proper time synchronization in your network, you can move on
to reading the variety of trace les available to you for troubleshooting problems in an
IP Telephony network.
42
Figure 3-1
43
First thing to note is the Trace On checkbox. This must be selected for any of the trace
settings to be available.
The Apply to All Nodes checkbox allows you to apply the specied trace settings to all
CallManager servers in the cluster. This is useful when you are troubleshooting a problem
that is occurring on more than one CallManager server. You generally want to keep the same
level of tracing enabled on all the servers in the cluster unless you are absolutely certain the
problem is isolated to a single server in the cluster. Because of the distributed nature of
CallManager, you may think a process only involves a single server when in reality part of
the processing for a particular call is occuring on another server in the cluster.
The Trace Filter Settings area allows you to specify the exact parameters of your trace.
First, you set the level of tracing you want to perform in the Debug Trace Level eld.
44
CallManager Serviceability provides six different levels, but for nearly every kind of
problem that youll want traces for, the recommended levels are either Detailed or
Arbitrary:
ArbitraryProvides low-level debug traces. This level is best suited for debugging
difcult problems. This level includes nearly everything that is included in Detailed
with the exception of KeepAlives. If you are not troubleshooting problems related to
missed KeepAlives, this level is good for day-to-day troubleshooting.
Other trace levels are provided, but generally, they dont offer as much information as the
Detailed and Arbitrary levels. The other levels are
State TransitionProvides traces for call processing events or normal events traced
for the subsystem (signaling layers).
Second, make sure the Enable CallManager Trace Fields checkbox is selected, which
gives you the opportunity to select which specic traces you want to run and to choose your
traces. Table 3-1 describes the trace elds to choose from. Most are reasonably selfexplanatory. For example, if youre having problems with an H.323 device, you would
enable the H245 Message Trace and Enable H225 & Gatekeeper Trace options.
Likewise, for music on hold (MOH) issues, the Enable Music on Hold option would
display trace relating to all MOH activity.
Table 3-1
Description
Table 3-1
45
Description
Enable CM Real-Time
Information Server Trace
46
Table 3-1
Description
Next, you can trace based on a specic device name by selecting the Device Name Based
Trace Monitoring checkbox. When that checkbox is selected, you can click the Select
Devices button to choose from a list of devices to trace. Tracing based on specic devices
is very useful when you know which devices are involved in the problem, such as specic
phones or gateways, and want to see trace output only for those devices.
The non-device option is a catch-all; if youre having issues that are not device-related, you
can select the Include Non-device Traces checkbox to see traces not related to devices.
Figure 3-2 shows the bottom half of the Trace Conguration page.
Figure 3-2
47
For traces to be logged to a le, the Enable File Trace Log checkbox must be selected. The
trace output is then sent to the path specied in the File Name eld, which is C:\Program
Files\Cisco\Trace\CCM\ccm.txt by default.
Were going to skip discussion of the Enable XML Formatted Output for Trace
Analysis checkbox for a moment to nish the elds related to le settings.
The Trace Conguration page in CallManager Serviceability validates the lename and
ensures that it has a .txt extension. Do not use a lename that exists on another computer.
Use a lename that exists on the computer running the trace. It is a good practice to
have each server use a lename format that has the server name in it. This could be
servera-ccm.txt, for example. That way, if trace les are collected from several servers,
each le is easily distinguished from those collected on a different server. One downside
to this, though, is that you cant use the Apply to all nodes option. If you did, you would
have to go back and change the names of the les on all nodes.
The Maximum No. of Files eld defaults to 250. Normally, a maximum of 250 is never
enough les because the les write in round-robin fashionwhen the maximum limit is
met, the next le starts at the beginning and overwrites the rst le. Frequently, this means
that the trace information you need to troubleshoot a problem that began occurring yesterday or the day before has already been overwritten by new les. For each server on which
youre running trace, determine how much free disk space you have, deduct a safety net of
500 MB, and then use the rest of your disk space for trace space. Assuming you dont go
above 10,000 lineswhich we dont recommendyou can calculate the size of your trace
les by guring the average CCM trace at 10,000 lines consumes about 2.5 MB; the
average SDL trace at 10,000 lines consumes about 3.5 MB. We dont recommend going
above 10,000 lines because you want to keep your trace les at a manageable size. At these
average sizes, you can easily zip the le and e-mail it if needed.
The default of 1440 for the Maximum No. of Minutes per File is adequate; youll probably never reach it.
The Enable XML Formatted Output for Trace Analysis checkbox takes the trace
output and formats it in XML, which is required if you want use the Trace Analysis feature
in CallManager Serviceability. With Trace Analysis, you can view the trace les in a web
page, and the XML tagging lets you lter the trace results. The downside, however, is that
the number of lines per le is limited to 2000 instead of 10,000. In most cases, youll
probably want to stick with standard text-based tracing because the 2000 line limit severely
restricts the amount of information in the trace le. Also, reading XML-formatted traces
manually can be far more time-consuming than non-XML-formatted traces because you
need to weed out all the extra XML tags that get added to each trace line. If you do not
enable XML-formatted output, the log le compiles in text format.
The Enable Debug Output String checkbox sends debugging information to a Microsoft
development tool useful only to Cisco development engineers. You should never need to or
be asked to enable this checkbox.
48
Click Update to save your settings. The new trace settings take effect immediately when
you click Update.
Once youve specied the trace settings, you can go to the Trace Collection page (Trace >
Collection) to collect traces from one or more servers after an event has occurred. Set the
service you want to retrieve the trace les for (such as Cisco CallManager), along with the
date and time period you want to trace and click the Submit Form button. Depending on
the time period you specied, tracing can impact performance, so be sure to trace short
intervals that wont impact CallManager or during non-production hours.
It is usually quicker and easier to manually collect the traces yourself using either Terminal
Services or VNC (discussed later in this chapter) to access the CallManager server and copy
the les to another machine for analysis.
Once the trace has been gathered, you are given the option to view it in a new window or
use Save As to save the output to a le. If you choose to view the text-based output in a new
window, it looks similar to Figure 3-3.
Figure 3-3
If you choose the Save As option, the text-based output displays in the CallManager
Serviceability window in the same format as Figure 3-3, and you can click File > Save As
to save the le.
49
We generally recommend that you do not use the trace collection utility for anything other
than very small traces on a system that is not busy. Manually copy the traces off the
server(s) in question and analyze them ofine.
If you selected the Collect XML Trace File(s) checkbox and choose to view the output in
a new window, the Trace Analysis dialog appears. In this dialog box, you can lter the trace
results based on the options described in Table 3-2.
Table 3-2
Description
CallManager Host
Device Name
Choose ALL or specify the devices name. If you specify a device name,
only trace information pertaining to that device name appears in the
search results.
IP Address
Trace Type
Choose ALL, Alarm, or Trace. Trace shows all events as specied in the
trace settings. Alarm shows only specic messages that meet the criteria
of being an information Alarm message.
Cluster
Select this checkbox if you want to include the cluster name in the trace
output.
Select this checkbox if you want to include the date and time of each
event listed in the trace output.
CM Node
Select this checkbox if you want to include the CallManager node (IP
address or host name) in the trace output.
Trace Type
Select this checkbox if you want to include the trace type in the trace
output.
IP Address
Select this checkbox if you want to include the devices source IP address
in the trace output.
Correlation Tag
Select this checkbox if you want to include the number that correlates
traces with each other in the trace output.
Application Name
Select this checkbox if you want to include the directory numbers (DNs)
and other service-specic information in the trace output.
Information
Device Name
Select this checkbox if you want to include the device name in the trace
output.
Figure 3-4 shows a trace le formatted as XML output and ltered to display only one
CallManager host, one IP address, and the elds Cluster, Date and Time, CM Node, Source
IP, and Information.
50
Figure 3-4
You can click the Back to Selection link to return to the Trace Analysis dialog and lter
based on different criteria.
As you can see, reading through a large amount of trace les using the trace collection
utility can be very cumbersome and time-consuming in relation to reading the trace les
manually. You should learn how to read the CCM traces directly from the text les to help
you troubleshoot problems more quickly and accurately. For that reason, all the examples
of CCM traces that we show in this book are in plain text les. The following section
describes how to read a text-based CCM trace.
But for many examples, the header and tail do not add value. So the same trace is shown in
this book as
StationInit: 1a3e8b54 OffHook.
51
The header portion of the trace line just species the date and time when the trace event was
generated and which trace le you are looking at. For a CCM trace le, every line starts
with the date and time followed by the letters CCM. Prior to CallManager 3.3 the trace
les begin with the date and time followed by the words Cisco CallManager.
You should understand a few things about CCM traces:
Many places in the trace les use hexadecimal equivalents for the IP addressesThe
IP address 172.28.232.164 is shown in trace les as a4e81cac, which is a hexadecimal
representation of 172.28.232.164. You can determine the IP address by working
backwards: take the last two digits, ac, which is hex for 172; then 1c, which is hex for
28; then e8, which is hex for 232; and nally, a4, which is hex for 164. The IP address
is 172.28.232.164. Appendix C, Decimal to Hexadecimal and Binary Conversion
Table, provides a quick cheat sheet to determine how to quickly convert between
decimal, hexadecimal, and binary values.
Trace les sometimes use ASCII for directory numbersConsider the value 33 30 30
31, which is how the directory number 3001 is sometimes displayed in the trace le.
Trace les may include messages for a variety of protocolsDetails on each of these
protocols is described in the appropriate chapters. For example, the Skinny protocol
is discussed in Chapter 4, Skinny Client Registration, and Chapter 5, IP Phones.
Other protocols such as H.323 and MGCP are discussed in Chapter 6, Voice Gateways. Appendix A, Cisco IP Telephony Protocol and Codec Information and
References, lists the protocols in an IP Telephony environment and the standards
body or specication governing the protocol.
When you rst open a CCM trace le, you might feel intimidated by the large amount of
information presented in the trace le. We recommend that you use the default trace settings
for CCM traces except you set the trace level to either Arbitrary or Detailed. Click the
SetDefault button on the Trace Conguration page for CCM traces in CallManager
Serviceability (Trace > Conguration) and then change the Debug Trace Level setting to
Detailed.
StationInit means that an inbound Transmission Control Protocol (TCP) message from a
Skinny station reached CallManager. A Skinny station is any endpoint that uses the Skinny
protocol to communicate with CallManager. This includes the Cisco 79xx family of
52
IP phones. In other words, any message that starts with StationInit is a message from an
IP phone.
1a3e8b54 is probably the most important piece of this trace example. It is called a TCP
handle and it represents a unique value that identies a specic IP phone registered to this
CallManager server. With the TCP handle, you can follow every message to and from that
IP phone and see the full series of messages exchanged between CallManager and the
phone. When searching through a CCM trace le in Notepad, copy the TCP handle to the
clipboard (Ctrl+C), then open the Find box in Notepad (Ctrl+F), and paste the TCP handle
(Ctrl+V). Once you get into the habit of highlighting the TCP handle and then pressing
Ctrl+C, Ctrl+F, and Ctrl+V to enter the TCP handle into the Find window, you will be able
to search for Skinny messages related to a device very quickly.
If you want to nd the TCP handle for a particular IP phone, obtain the MAC address of the
phone from either CallManager Administration or from the phone itself and search for the
MAC address in the CCM trace until you nd a KeepAlive to that phone. For example,
StationInit - InboundStim - KeepAliveMessage
Send KeepAlive to Device Controller. DeviceName=SEP003094C2D11F,
TCPHandle=1a3e8b54, IPAddr=10.80.1.147, Port=51763,
Device Controller=[2,89,2992]
Notice the KeepAlive message contains both the TCP handle and the device name for the
IP phone. Once you nd the KeepAlive message, copy the TCPHandle eld and use that to
search through the CCM trace.
The OffHook message means that CallManager received a Skinny message indicating the
phone went off-hook.
The next message is
StationD:
3000
Notice that instead of StationInit you see StationD. This signies that CallManager is
sending a Skinny message to the phone. StationInit messages are sent from the IP phone to
CallManager, while StationD messages are sent from CallManager to the IP phone. Skinny
message transmission such as this between the IP phone and CallManager occurs for every
action undertaken by the IP phone, including initialization, registration, on-hook, off-hook,
dialing of digits, key presses on the phone, and so much more.
Again you see the same TCP handle, 1a3e8b54, listed for this message.
The number 3000 represents the directory number of the phone. If you know the phone
number of the calling IP phone, you can often nd the beginning of a call by simply
searching for the calling phones directory number. In CallManager 3.3 and later the
DisplayText message actually shows
StationOutputDisplayText dont need to send, because mIsALegacyDevice = 0
The reason for this message is that the 79xx series Cisco IP Phones never paid attention to
the DisplayText message in the rst place, so in CallManager 3.3 and beyond, the message
53
is no longer sent. This means that if you search for the directory number of the IP phone,
you might not nd exactly the beginning of the sequence of events. It is best to search for
the device name you are looking for and nd a KeepAlive to get the TCP handle as
discussed earlier.
Other messages sent to the IP phone include the following:
StationD:
1a3e8b54 StartTone tone=33(InsideDialTone), direction=0
StationD:
1a3e8b54 SetLamp stimulus=9(Line) stimulusInstance=1
lampMode=2(LampOn).
StationD:
1a3e8b54 CallState callState=1 lineInstance=1 callReference=16777217
StationD:
1a3e8b54 DisplayPromptStatus timeOutValue=0
promptStatus=Enter number lineInstance=1 callReference=16777217.
StationD:
1a3e8b54 SelectSoftKeys instance=1 reference=16777217
softKeySetIndex=4 validKeyMask=-1.
StationD:
1a3e8b54 ActivateCallPlane lineInstance=1.
Again you see that all the trace lines begin with StationD indicating that these are messages
from CallManager to the IP phone and you see each line has the same TCP handle.
Do not concern yourself at this point about exactly what each of the pieces in the trace
mean. These are all Skinny messages sent to the IP phone. At this point, you should just
familiarize yourself with the basic call ow to understand how to read the trace les, not
necessarily what each piece of the trace le means. Chapters 4 and 5 provide additional
detail relating to the Skinny messaging you see in the preceding output. In particular, see
Table 5-1, Skinny Message Denitions, and the section, Examining Skinny Protocol
Messages in a CCM Trace in Chapter 5 for detailed explanations.
You will notice, however, that many of the trace messages are relatively self-explanatory.
For example, the StartTone message with tone=33(InsideDialTone) tells the IP phone to
start playing dial tone.
Note the callReference ID. A callReference ID is created for each participant in a call and
you can use this ID to track a particular call through a CCM trace. A new callReference ID
is created for each participant in a call and when some features are invoked, such as transfer
and conference. Each leg of a call gets its own callReference ID assigned, so in a call
between two IP phones, each phone gets assigned a separate callReferenceID.
So far you have only seen Skinny protocol messages; however, this callReference ID can
help you correlate the Skinny messages with other messages to devices involved in the same
call.
Next, the user on the IP phone begins dialing digits. This time, notice the difference
between StationD and StationInit messages, indicating communication back and forth
between CallManager and the IP phone.
StationInit: 1a3e8b54 KeypadButton kpButton=3
StationD:
1a3e8b54 StopTone
StationD:
1a3e8b54 SelectSoftKeys instance=1 reference=16777217
softKeySetIndex=6 validKeyMask=-1
StationInit: 1a3e8b54 KeypadButton kpButton=0
StationInit: 1a3e8b54 KeypadButton kpButton=0
StationInit: 1a3e8b54 KeypadButton kpButton=1
Digit analysis: match(fqcn=3000, cn=3000, pss=IPMA:PA:Line1, dd=3001)
54
Notice that a 3 is dialed and a tone is then stopped. The Skinny protocol does not provide
a mechanism to specify which tone to stop, so it sends a generic StopTone message. This
stops any tones the IP phone happened to be playing at the time. In this case, remember you
saw CallManager instruct the IP phone to play inside dial tone in the previous trace section.
The kpButton= message is always followed by the dialed digit. As soon as the rst digit is
dialed, the phone is told to stop playing dial tone. That makes sense because when you pick
up the phone, you hear dial tone, but as soon as you dial a digit, the tone stops. Notice that
after the phone is told to stop the tone, the soft keys are updated on the display. By looking
at all the kpButton= messages, you can see that 3001 is the number dialed.
Note that the digit * is shown in a trace as the letter e and a # is shown as f. So for example,
the message kpButton=e means the user entered the * key.
CallManager is constantly analyzing the digits the user dials, and once it nds an exact
match, digit analysis returns the results for the match. Now it is time to ring Phone B, which
is congured with DN 3001. Chapter 9, Call Routing provides additional detail about
how digit analysis works in CallManager. There is, however, one important concept you
should understand about digit analysis: Whenever digit analysis makes a match for a call,
it displays the digit analysis results in the CCM trace. For example,
Digit analysis: analysis results
| PretransformCallingPartyNumber=3000
| CallingPartyNumber=3000
| DialingPartition=Line1
| DialingPattern=3001
| DialingRoutePatternRegularExpression=(3001)
| DialingWhere=
| PatternType=Enterprise
| PotentialMatches=NoPotentialMatchesExist
| DialingSdlProcessId=(2,34,3500)
| PretransformDigitString=3001
| PretransformTagsList=SUBSCRIBER
| PretransformPositionalMatchList=3001
| CollectedDigits=3001
| UnconsumedDigits=
| TagsList=SUBSCRIBER
| PositionalMatchList=3001
| VoiceMailbox=
| VoiceMailCallingSearchSpace=IPMA:PA:Line1
| VoiceMailPilotNumber=5678
| DisplayName=James
| RouteBlockFlag=RouteThisPattern
| InterceptPartition=
| InterceptPattern=
| InterceptWhere=
| InterceptSdlProcessId=(0,0,0)
| InterceptSsType=0
| InterceptSsKey=0
| WithTags=
| WithValues=
| CgpnPresentation=NotSelected
| CallManagerDeviceType=UserDevice
Do not be concerned about what each of the elds means at this point. Chapter 9 explains
some of the concepts such as partitions and calling search spaces. The important concept to
grasp here is that any time digit analysis makes a match, you see a digit analysis result
55
similar to this one in the CCM trace. These digit analysis results are easy to spot in a CCM
trace because of the white space to the right of the digit analysis results. If you look at a
CCM trace, you will see that the majority of trace lines are over 100 characters in length;
however, the digit analysis results are usually no more than 20 to 30 characters long,
making the digit analysis results easy to nd while scrolling quickly through a CCM trace
le.
Because CallManager has collected all the required digits, it is ready to notify the destination IP phone there is an incoming call. The next example shows CallManager sending
Skinny messages to Phone B.
StationD:
StationD:
StationD:
Notice rst that a StationD message is generated. This means that a message is sent from
CallManager to the IP phone. Also notice that the TCP handle is different than in the preceding trace output. Each IP phone has a unique TCP handle assigned to it at registration.
You can use the unique TCP handle to differentiate between the Skinny messages sent to
and from Phone A (TCP handle 1a3e8b54) and those sent to and from Phone B (TCP handle
1a3e8af0). A new TCP handle is assigned any time an IP phone such as Phone A unregisters
and reregisters to CallManager, resets, or fails over or back from one CallManager to
another.
Notice also that the callReference value (16777218) is different from the previous output.
As we mentioned earlier, this is because each leg of a call is assigned a different call reference. In this case, this is the call reference for Phone B. This call reference persists for
the duration of the call on Phone B.
Phone B rings and the call information shows that James called Mary. You see several
messages that seem to suggest the call is being redirected; its not. These are just standard
messages sent by CallManager.
Once again, do not be concerned about exactly what each message means at this point.
Future chapters go into detail about each message; however, you can see from reading the
trace that Phone B is being told to ring (SetRinger ringMode=2(InsideRing)) and display
From 3000 on the prompt line of the IP phone (promptStatus=From 3000).
56
Now that a call is in progress, Phone A gets some updated information, including display
information such as called and calling party names.
StationD:
1a3e8b54 SelectSoftKeys instance=1 reference=16777217
softKeySetIndex=8 validKeyMask=-1.
StationD:
1a3e8b54 CallState callState=12 lineInstance=1 callReference=16777217
StationD:
1a3e8b54 CallInfo callingPartyName=James callingParty=3000
cgpnVoiceMailbox= calledPartyName=Mary calledParty=3001
cdpnVoiceMailbox= originalCalledPartyName= originalCalledParty=
originalCdpnVoiceMailbox= originalCdpnRedirectReason=0
lastRedirectingPartyName= lastRedirectingParty=
lastRedirectingVoiceMailbox= lastRedirectingReason=0
StationD:
1a3e8b54 StartTone tone=36(AlertingTone).
StationD:
1a3e8b54 CallState callState=3 lineInstance=1 callReference=16777217
StationD:
1a3e8b54 SelectSoftKeys instance=1 reference=16777217
softKeySetIndex=8 validKeyMask=-1.
StationD:
1a3e8b54 DisplayPromptStatus timeOutValue=0 promptStatus=Ring Out
lineInstance=1 callReference=16777217.
Basically, these messages perform two actions. First, the display on Phone A changes now
that the call is in progress. Second, the phone is told to play an alerting tone. The alerting
tone is the standard ringback tone you hear when placing a call. You also see the rst
callReference value, 16777217, indicating the original call placed by Phone A. Remember each call reference is only valid for one leg of the call.
StationInit: 1a3e8af0
StationD:
1a3e8af0
StationD:
1a3e8af0
StationD:
1a3e8af0
lampMode=2(LampOn)
StationD:
1a3e8af0
StationD:
1a3e8af0
OffHook
ClearNotify
SetRinger ringMode=1(RingOff)
SetLamp stimulus=9(Line) stimulusInstance=1
CallState callState=1 lineInstance=1 callReference=16777218
ActivateCallPlane lineInstance=1
The StationInit OffHook message indicates that Phone B goes off-hook and answers the
call. CallManager sends a SetRinger ringMode=1(RingOff) message, which tells Phone
B to stop ringing, and the preparation is now complete for the actual media connection.
Next, well examine how the audio stream is set up. As with all VoIP protocols, Skinny uses
Real-Time Transport Protocol (RTP) streams over User Datagram Protocol (UDP) packets
to send and receive Voice over IP (VoIP) samples. Each RTP stream is called a logical channel. A logical channel is a unidirectional RTP stream, so to have a two-way conversation,
you must have two logical channels openedone from the calling device to the called
device and one from the called device to the calling device.
In a call involving a Skinny device, CallManager asks the IP phone to open a connection to
receive RTP streams. CallManager asks the IP phone for specic parameters for this connection, including the codec and packet size. You can see the following
OpenLogicalChannel messages from CallManager to each IP phone requesting that they
open a connection to receive RTP packets using G.711.
StationD:
1a3e8b54 OpenReceiveChannel conferenceID=0
passThruPartyID=17 millisecondPacketSize=20
compressionType=4(Media_Payload_G711Ulaw64k)
qualifierIn=?.
myIP: 3eee1cac (172.28.238.62)
StationD:
1a3e8af0 OpenReceiveChannel conferenceID=0
passThruPartyID=33 millisecondPacketSize=20
compressionType=4(Media_Payload_G711Ulaw64k)
qualifierIn=?.
myIP: 2fee1cac (172.28.238.47)
57
Upon receiving an OpenReceiveChannel message, the IP phone selects the UDP port
number it wants to use to receive RTP packets and reports this information back to
CallManager in an OpenReceiveChannelAck message. Phone A responds rst:
StationInit: 1a3e8b54 OpenReceiveChannelAck
Status=0, IpAddr=0x3eee1cac, Port=20096, PartyID=17
Once CallManager receives this information from Phone A, it can tell Phone B where to
send its RTP stream. Until this point, CallManager could not tell Phone B which UDP port
number to use because Phone A had not reported it to CallManager. Once CallManager
receives the port number in the OpenReceiveChannelAck message from Phone A, it sends
a StartMediaTransmission message to Phone B giving it the IP address and port number
of Phone A along with information about which voice codec to use.
StationD:
1a3e8af0 StartMediaTransmission
conferenceID=0 passThruPartyID=33
remoteIpAddress=3eee1cac(172.28.238.62)
remotePortNumber=20096 milliSecondPacketSize=20
compressType=4(Media_Payload_G711Ulaw64k)
qualifierOut=?. myIP: 2fee1cac (172.28.238.62)
So at this point, Phone A (TCP handle 1a3e8b54) is sending RTP packets to 172.28.238.47,
which happens to be Phone B, and Phone B (TCP handle 1a3e8af0) is sending RTP packets
to 172.28.238.62, which happens to be Phone A.
Notice that for the duration of this call, Phone A has never sent nor received any Skinny
signaling to or from Phone B. This is because all the signaling goes through CallManager.
The only time IP phones send packets to each other is for the actual voice stream. This is
what allows CallManager to set up calls between devices that use different signaling protocols. For example, if Phone A called a phone number on the PSTN instead of another IP
phone, the signaling between CallManager and Phone A remains the same. Phone A has no
idea that it is sending RTP packets to a voice gateway and vice versa.
When reading CCM traces, you can usually separate each leg of the call and concentrate on
one part at a time. For example, if you have a call that goes out through a voice gateway,
once you have veried that the IP phone dialed the correct digits and CallManager is
routing the call to a voice gateway, you can focus on the gateway debugs to determine how
the call gets set up.
58
Also it is important to separate the signaling aspects of a call set up from the RTP media
streams. All VoIP devices are blindly told to send RTP packets to an IP address and port
number without knowing what type of device they are sending these packets to. As long
as the terminating device provided the correct IP address and port number and CallManager
relayed this information correctly, everything works properly. However, pay attention to the
signaling aspects to ensure that the port number received from the terminating device is the
same as the port number reported to the originating device.
The rst line gives you information about the direction of the call (either Out Message or
In Message) followed by the type of message (PriSetupMsg) and the protocol used for
the message (PriNi2Protocol). The direction is from the perspective of CallManager, so
this means a device registered to CallManager is placing a call out through a gateway.
As with the IP phone, a unique identier is used to keep track of the call. Use the hexadecimal IP address IpAddr=a4e81cac in conjunction with call reference number 02 00 09
to track the call throughout the trace. When viewing an ISDN trace, look at the
IsdnMsgData2 line to nd the call reference ID. In some cases you will see IsdnMsgData
59
or IsdnMsgData1 instead of IsDNMsgData2. They are equivalent. Ignore the rst two
numbers (usually 08). The next two numbers are the call reference length (02), and the next
four are the call reference value (00 09).
You might be wondering how a4e81cac is converted to an IP address in dotted decimal
notation. This is a hexadecimal representation of the IP address. You can gure out the
IP address by working backwards. In this example, rst, take the last two digits, ac, which
is hex for 172. Next, consider the 1c, which is hex for 28. Third, take e8, which is hex for
232. Finally, take a4, which is hex for 164. The IP address is 172.28.232.164.
NOTE
Appendix C provides a quick cheat sheet to determine how to quickly convert between
decimal, hexadecimal, and binary values.
So far you know you are looking at an outbound setup message on a PRI congured for the
NI2 ISDN protocol, all of which you determined from the rst line of the trace. You also
know the call reference from decoding the rst few bytes of the IsdnMessageData2. The
lines in the middle that begin with Ie are ISDN Q.931 information elements. Information
elements are covered in detail in Chapter 6; however, they are all formatted the same way
in the CCM trace. For example, the following is the called party information element (IE):
Ie - Q931CalledPartyIe IEData= 70 05 80 33 30 30 31
Each information element line begins with the letters Ie followed by the name of the information element, in this case Q931CalledPartyIe. After the name follows the data
contained in that information element. The format of the data that follows is dependent on
the particular information element. The Q.931 and H.225 specications describe the format
of each information element. Having a copy of the ITU-T Q.931 specication can prove to
be invaluable when troubleshooting ISDN problems because you can get down to the exact
details of each bit in the IE data.
Fortunately for most day-to-day activities you do not need to reference the Q.931 specication because the information you need is easily identiable. For example, in the called
party number information element shown above, notice the IE data contains the sequence
33 30 30 31, which is 3001 in ASCII. This represents the directory number that is being
called. Now you can follow the calls events.
Just as you searched through the CCM trace for the TCP handle of the IP phone to nd the
next message associated with a particular phone, you can do the same for a Q.931 or H.323
call. The call reference for a call remains the same for the duration of a call. The rst bit,
however, of the call reference is ipped depending on the direction of the call. Chapter 6
goes into detail about how this works, so dont worry about it right now. All you need to
know is to search for the call reference minus the rst digit. In this case the call reference
is 00 09, so search for 0 09.
60
If you search through the CCM trace, you come to the next message. Notice that the
message that follows is an In Message. This means it is an inbound message sent to
CallManager by the ISDN network:
In Message -- PriCallProceedingMsg -- Protocol= PriNi2Protocol
Ie - Q931ChannelIdIe -- IEData= 18 03 A9 83 97
MMan_Id= 0. (iep= 0 dsl= 0 sapi= 0 ces= 0 IpAddr=a4e81cac IpPort=2427
IsdnMsgData1= 08 02 80 09 02 18 03 A9 83 97
Notice that the call reference is now 02 80 09. The most-signicant bit (MSB) is set on the
call reference value. This bit determines if this message is the originating or terminating
side; however, you do not need to know what this bit means because CallManager clearly
tells you which direction the message is going when it says In Message or Out Messsage.
When searching, you need to look for 02 00 09 or 02 80 09 to track all events relating to
this call event, although searching for just 0 09 is usually good enough.
These are just some of the tricks that help you follow call ows through the CCM trace.
Subsequent chapters provide additional trace examples as we investigate other troubleshooting scenarios. Half the battle in reading a CCM trace is knowing which pieces of the
trace le to ignore so that you can focus on the important messages in the trace. As you read
through the following chapters, you will get a better understanding of the different
messages you might nd in a CCM trace.
SDL Overview
SDL traces provide a C programming language interface to alarms and trace information in
CallManager. Alarms are used to inform a TAC engineer or CallManager developer of
unexpected events, such as being unable to access a le, database, Winsock, or other
operating system resources.
SDL traces can span multiple servers, allowing a process on one server to communicate
with a process on another server transparently. This mechanism is supported by the use of
61
SDL links. An SDL link spans from one server supporting SDL to another server supporting SDL.
SDL maintains a circular queue of les to log information. Over time, a le will be
overwritten. The number of les (determined by the CallManager service parameter
SdlTraceTotalNumFiles) and the number of lines per le (determined by the CallManager
service parameter SdlTraceMaxLines) governs how long it takes to overwrite old log les.
SDL generates two types of les:
Every log entry contains a prex. The prex always has the same format. The common
prex of a trace line is as follows:
uuuuuuuuu | yy/mm/dd-hh:mm:ss:vvv | nnn | xxxx |
where
uuuuuuuuu represents a unique line sequence timestamp
yy represents the year
mm represents the month
dd represents the day
hh represents the hour
mm represents the minutes
ss represents the seconds
62
The log entry type is SdlSig-O. This means this CallManager server sent an SDL signal to
another node (O means outgoing). Conversely, if you see SdlSig-I, this tells you the
CallManager node you are looking at received an SDL signal from another node or another
process. The CallManager and CTI Manager process communicate with each other using
SDL links as well, so you see communication to and from CTI Manager in the SDL trace
as SdlSig-O and SdlSig-I.
So how do you know which node the signal was coming from or destined to? After the
SdlSig-O or SdlSig-I message you should see several columns of text separated by the
vertical bar (|) character. For example,
SdlSig-O
| DbDeviceClose
| initialized
| Db(1,100,20,1)
| Db(2,100,20,1)
An actual SDL trace has many more columns and spaces between columns than what is
shown here. We have condensed the trace to t on the printed page. The two columns to
examine are the third and fourth columns after SdlSig-O. These describe the process
sending the signal and the process to which the signal is being sent. The third column shows
the destination (Db(1,100,20,1)) and the fourth shows the source (Db(2,100,20,1)).
Now you need to understand what you are looking at when you see Db(2,100,20,1). Db is
the process name. You do not need to understand what the various process names signify.
The important part is the four comma-separated numbers that follow the process name. The
four numbers represent (in this order)
63
Node number
Application number (100 = CallManager, 200 = CTI Manager)
Process type
Process instance
The only ones you should be concerned with are the node number and the application
number. In this case, you can see the signal is from CallManager on node 2 to CallManager
on node 1.
You might be wondering why you need to know all this. Because CallManager is a distributed architecture, you might nd that when looking at a CCM trace the events occurring
dont seem to make sense. For example, you might see an IP phone making a call but never
see the call go out a gateway to its destination, or you might see an IP phone told to play
reorder for no apparent reason. When you see an unexplained event in the CCM trace, look
at the same timestamp in the SDL trace to see if there was a signal from another node at
that time. If so, look in the CCM trace on the other node at the same time to see if there is
any additional detail about the call on the other node. This is the reason why having the
clocks synchronized on all servers is so vitally important. Without time synchronization,
you would have a very difcult task trying to match the events shown in the CCM trace on
one server with the events on another server.
Although you will never read through an SDL trace the way you read through a CCM trace,
you might occasionally have to look at the SDL trace to see what triggered a particular
event in the CCM trace. In some cases, you will take the timestamp for an event in the CCM
trace and match up that same timestamp in the SDL trace.
Enabling SDL Trace and Setting the Appropriate SDL Trace Level
Now that you know what the SDL trace is for, you need to know how to turn on SDL tracing
and set the appropriate bit mask for the data you need. A bit mask is a string of bits that each
represent a particular trace setting. For example, 10010011 is a bit mask. Each 1 in the bit
mask indicates that a particular trace should be enabled, while each 0 indicates that a
particular trace should be disabled. Bit masks are usually represented as strings of hex
digits. For example, 10010011 is 0x93.
Detailed SDL tracing consumes a lot of disk space and affects the processor on the
CallManager server, which can result in performance degradation under very high call
volumes. However, as of CallManager 3.3, SDL trace writing is performed asynchronously
which means CallManager is allowed rst access to the disk and CPU for call processing.
If insufcient disk or CPU bandwidth exists to write the trace le, lines are skipped in the
trace, but call processing is not affected.
64
SDL traces are enabled in the Service > Service Parameter area in CallManager
Administration. Table 3-3 shows the parameters you can adjust.
Table 3-3
Description
SdlListeningPort
This is the TCP port with which SDL links can be established between nodes in a cluster. The port is 8002 by
default. There is rarely any reason to change this value.
SdlMaxRouterLatencySecs
SdlMaxUnHandledExceptions
SdlTraceDataFlags
This is a bit mask used to enable the tracing of SDL nonapplication-specic components or to modify the behavior of
SDL tracing.
The recommended value for normal system debugging
is 0x110.
The recommended value when tracking problems
with SDL links is 0x13D.
See Table 3-4 for details.
SdlTraceFlushImmed
SdlXmlTraceFlag
SdlTraceDataSize
For signal types, this constrains the number of bytes that can
be dumped from the data portion of a signal. This
information appears in the freeform information column at
the end of each line in the SDL trace le. The default is 100
bytes.
SdlTraceFilePath
This is the directory path that SDL uses to generate the log
les. If this path is not dened or is dened incorrectly, SDL
uses the default root path: C:\ProgramFiles\Cisco\Trace\SDL\.
SdlTraceFlag
Table 3-3
65
Description
SdlTraceMaxLines
SdlTraceTotalNumFiles
SdlTraceTypeFlags
This eld indicates the bit mask value for collecting the trace
type ag of choice.
The recommended value for normal call debugging is
SdlTraceTypeFlags=0x00000B04.
The recommended value for low-level debugging or the
debugging of voice gateways is 0xA000EB15.
See Table 3-5 for more details.
The bit mask denitions shown in Table 3-4 correlate to the Trace Characteristics on the
SDL Trace Conguration page in CallManager Serviceability (Trace > Conguration >
select a server > Cisco CallManager > click the link to SDL Conguration).
Table 3-4
Non-application-specic Bits
Name
Trace Characteristic
in CallManager
Serviceability
Bit Mask
Description
traceSdlLinkState
0x00000001
traceSdlLowLevel
0x00000002
traceSdlLinkPoll
0x00000004
66
Table 3-4
Name
Trace Characteristic
in CallManager
Serviceability
Bit Mask
Description
traceSdlLinkMsg
0x00000008
traceRawData
0x00000010
traceSdlTagMap
0x00000020
traceCreate
0x00000100
traceNoPretyPrint
0x00000200
traceSdlEvent
0x80000000
The bit mask denitions shown in Table 3-5 correlate to the Trace Filter Settings on the
SDL Trace Conguration page in CallManager Serviceability (Trace > Conguration >
select a server > Cisco CallManager > click the link to SDL Conguration).
Table 3-5
Name
Trace Filter
Setting in
CallManager
Serviceability
Bit Mask
Description
traceLayer1
0x00000001
traceDetailLayer1
Enable Detailed
Layer 1 Trace
0x00000002
Not used
0x00000008
traceLayer2
0x00000010
traceLayer2Interface
Enable Layer 2
Interface Trace
0x00000020
traceLayer2TCP
0x00000040
Table 3-5
Name
Trace Filter
Setting in
CallManager
Serviceability
Bit Mask
Description
traceDetailLayer2
Enable Detailed
Dump Layer 2
Trace
0x00000080
traceLayer3
0x00000100
traceCc
0x00000200
traceMiscPolls
Enable
Miscellaneous
Polls Trace
0x00000400
traceMisc
Enable
Miscellaneous
Trace (Database
Signals)
0x00000800
traceMsgtrans
Enable Message
Translation Signals
Trace
0x00001000
traceUuie
Enable UUIE
Output Trace
0x00002000
traceGateway
Enable Gateway
Signals Trace
0x00004000
traceCti
0x00008000
traceNetworkSvc
Enable Network
Service Data Trace
0x10000000
traceNetworkEvent
Enable Network
Service Event
Trace
0x20000000
traceIccpAdmin
Enable ICCP
Admin Trace
0x40000000
traceDefault
Enable Default
Trace
0x80000000
67
68
PerfMon Advantages
You can congure PerfMon to log specic counters to a comma-separated values (CSV)
le. This CSV le can then be imported into a spreadsheet application for further analysis.
A third-party tool called CCEmail (discussed in the next section) allows you to congure
alerts in PerfMon.
Another advantage PerfMon has over RTMT is that the RTMT web browser must always
be running for the counters to be monitored and alerts to be sent. However, that will likely
be xed in releases of RTMT subsequent to release 3.3(3).
RTMT Advantages
You can run the RTMT from a web browser on any PC that has IP connectivity to
CallManager. PerfMon can be run only from a Windows NT/2000/XP PC that has PerfMon
installed.
You can congure specic counters and save the congurations in RTMT. Then, each time
you run RTMT, the pre-dened congurations are available.
69
PerfMon
PerfMon has three formats to display data: chart, histogram, and report. Three buttons on
the toolbar shown in Figure 3-5 are used to switch between the different formats. For viewing real-time statistics, you usually want to use the report format. Click the View Report
button on the toolbar to gray out the area below.
Next, add the counters you want to monitor. Click the Add button on the toolbar, as shown
in Figure 3-5. You see a dialog box similar to Figure 3-6.
70
Figure 3-6
From this screen, you can add counters from either the machine on which you are running
PerfMon or any other machine that has IP connectivity to the machine on which you are
running PerfMon. For you to be able to view counters on remote machines, the account you
are logged in with must have administrator privileges on the machine you want to monitor.
Next, select the object that contains the counter(s) you want to monitor. For example, if you
want to monitor the number of active calls on a CallManager, select the Cisco CallManager
object.
Below the object selection you can choose which counter to monitor. If you select the
Cisco CallManager object, you see a counter labeled CallsActive. Select this counter and
click Add. The dialog box remains open so that you can continue selecting and adding
counters. To monitor all the counters for a particular object, click the All counters button.
You can click the Explain button to get a short description of the counter, as shown in
Figure 3-6. When you are done adding counters, click Close. Figure 3-7 shows all the
counters in the Cisco CallManager object. You can see that the counters are updated every
second or so.
Appendix D, Performance Objects and Counters, describes the meanings of each of these
counters, as well as the rest of the CallManager-related objects.
Objects and counters are only available for installed components. For example, if you do
not have Cisco CallManager Attendant Console installed on the server you are trying to
monitor, you will not see the Cisco CallManager Attendant Console object.
Figure 3-7
71
Some counters give you the option of selecting a specic instance of the counter to monitor.
For example, the Cisco Lines object has only one counter, named Active. However, for this
one counter, you can select one or more instances to monitor. In this case, each instance
corresponds to a particular line on CallManager. You can select a range by holding down
the Shift key and clicking the rst and last instances in the range. Or you can select several
individual instances by holding down the Ctrl key while clicking to select specic
instances.
See Appendix D for detailed descriptions of all the Cisco CallManager-related performance
objects and counters available in either PerfMon or the RTMT.
72
Use the following steps to congure a counter log to monitor memory and CPU utilization
on a per-process basis:
Step 1 On a CallManager server, open PerfMon by selecting Start > Programs >
Counter Logs.
Step 3 Select Action > New Log Settings.
Step 4 In the New Log Settings dialog box, type a name for the log, such as CPU
Step 6 The Select Counters dialog box appears (previously shown in Figure 3-6).
The Processor object and % Processor Time counter are selected by default.
Click Add to add this counter to the log.
Step 7 In the Performance object eld, select the Memory object.
Step 8 In the list of counters, select the Available MBytes counter.
Step 9 Click Add and then Close to return to the counter log conguration
dialog box.
Step 10 In the Sample data every area, adjust the interval depending on how
CPU_and_Memory_Logging.
Step 14 The End le names with checkbox and popup menu let you append a
number to the end of the lename based on either the date and time the
le is created or just an arbitrary number that increments each time a new
log le is created. Select the End le names with checkbox, and choose
a date format from the popup menu.
Step 15 Change the Log le type from Binary File to Text File CSV. With the
data in a CSV format. you can take the resulting data and import it into a
variety of applications. Figure 3-9 shows the Log Files tab as described
in the preceding steps.
Figure 3-9
73
74
Step 16 Click the Schedule tab. If this is the rst log on this system, youll be
If you followed the preceding instructions, you should now see a log with a green icon to
the left of it on the Counter Logs screen, as shown in Figure 3-10.
Figure 3-10 CPU and Memory Logging Counter Log in PerfMon
If the icon is red, right-click it and select Start. An error message should appear, telling you
PerfMon is unable to start the log. The error will likely refer you to the Windows event log
to get more details on the error. Correct the error, right-click the icon again, and select
Start.
CAUTION
When logging a small number of objects, as in the preceding example, setting the logging
interval to something small such as 1 or 2 seconds is not a problem. However, if you are
logging a large number of counters, be careful not to set the interval too low because this
can lead to performance degradation.
CAUTION
75
Unlike CCM trace les, PerfMon log les do not have a way to do circular wrapping (also
known as round-robin). This means that if left unattended, PerfMon log les can use up all
the available hard drive space on the server, leading to a multitude of other potential problems. If you are using PerfMon logging, ensure you periodically delete old les to free up
hard drive space.
Using Alerts
PerfMon allows you to congure alerts based on selected counters. For example, you can
monitor the OutOfResources counter in the Cisco HW Conference Bridge Device object
and be alerted when the value in that counter crosses a threshold you specify. Figure 3-11
shows some common alerts you may want to congure.
Figure 3-11 Alerts in PerfMon
Other common things you might want to set an alert for are low disk space, low available
memory, the D-channel going out of service on an MGCP gateway, and the number of registered phones falling below a certain value. You can place an alert on any counter in
PerfMon, so the reasons and counters you may want to monitor vary based on your system.
The default action for an alert is to log an entry in Event Viewer. You can also congure the
alert to send a network message to a computer you specify, run a counter log, or have a
specied program run when the alert is triggered.
The Help in PerfMon (Help > Help Topics) provides detailed conguration steps for
setting alerts.
76
The RTMT in CallManager Serviceability also allows you to congure alerts based on
counters. However, in RTMT, you can have the alert sent as a network message to a
computer you specify (just like in PerfMon) or to a pager or via e-mail to a specied
recipient. You can also achieve this functionality using the CCEmail tool in combination
with PerfMon.
CCEmail
You can use the Windows 2000-based tool CCEmail in conjunction with PerfMon to
congure alerts for the performance counters. Alerts can be sent via pager or e-mail so long
as the CallManager node for which the alert is congured has connectivity to an SMTP
server. Also, the pager specied to receive alerts must be capable of receiving alphanumeric
pages through an e-mail.
As part of the free tools provided with this book, you can download a copy of CCEmail
from the Cisco Press web site. See the Acquiring CCEmail section for details.
Perform the following steps to install and congure CCEmail:
Step 1 Create a folder called ccemail on the C: drive of each CallManager server
section, you are asked to repeat them again to create two alert settings,
minor and major. The second time you perform this step, type major
instead.
Step 6 Click OK.
Step 7 (Optional) Add a comment, such as Alert settings for minor alarms or
CCEmail
Step 11 With the Select counters from list button selected, select counters you
want to include in the alert and click Add. Add as many counters as you
want to monitor with this alert. You can press and hold the Control key
while clicking on counters from the list.
Some recommended counters to include for the minor alert are
RegisteredAnalogAccess
RegisteredDigitalAccess
RegisteredPhones
Some recommended counters to include for the major alert are
CallManagerHeartBeat
RegisteredAnalogAccess
RegisteredDigitalAccess
RegisteredPhones
Step 12 In the Performance object list, choose Process. Select the Private
Threshold Recommendations
Counter
Minor Alert
Major Alert
RegisteredAnalogAccess
RegisteredDigitalAccess
RegisteredPhones
900 MB
950 MB
450 MB
500 MB
% Processor Time
85 percent
95 percent
77
78
Step 16 Repeat the previous step until the thresholds have been set for all
counters.
Step 17 Set the interval for how often the counters should be monitored. The
If you only want to use e-mail alerts (no paging), choose email.bat. If you
only want to use paging alerts (no e-mail), choose page.bat. You can also
use one method for minor alarms and the other method for major alarms.
For example, major alerts always page someone and minor alerts always
e-mail someone. In that case, choose page.bat for the major alerts and
email.bat for the minor alerts.
Figure 3-13 shows the Action tab for the minor alert.
Step 22 Click the Schedule tab.
CCEmail
is 1 day. Also, select the Start a new scan checkbox. Figure 3-14 shows
the Schedule tab for the minor alert.
Step 25 Click OK.
Step 26 The alert settings for minor alarms are now complete. Repeat Steps 4
79
80
Perform the following steps to congure the .bat les for CCEmail:
Step 1 In the C:\ccemail directory, double-click Setup.exe.
Step 2 The CCEmail Setup Program displays. Click Next.
Step 3 In the Sender Information window, type the name of the SMTP server to
e-mailed. For multiple addresses, separate entries with this string -to:.
For example: [email protected] -to:[email protected]
Step 7 Click Next.
Step 8 Conrm the settings you just entered and click Next again.
Step 9 In the Pager Addresses window, type the pager addresses, if any, to be
CCEmail
81
select Every Day, and set the start date as todays date.
Step 8 Click Next.
Step 9 Enter the username and password of any user that has read/write
C:\ccemail\minor.bat le.
Step 15 Click OK and close PerfMon.
82
Acquiring CCEmail
Check the Cisco Press website for a free downloadable le containing this tool
(www.ciscopress.com > type 1587050757 in the Search eld > click the link to
Troubleshooting Cisco IP Telephony). Check the site regularly as there may also be
updates to the tool or the book chapters.
CAUTION
This is not an ofcially supported tool. If you download, install, or use this tool, you do so
at your own risk. Cisco Systems, Inc., is not responsible for correcting problems that may
arise as a result of using this unsupported tool.
CallManager Serviceability
CallManager Serviceability is a collection of tools that help you troubleshoot various
aspects of your CIPT system. CallManager Serviceability provides end user documentation
online (make a selection from the Help menu) and on Cisco.com at the following location:
www.cisco.com/univercd/cc/td/doc/product/voice/c_callmg/index.htm > select
your CallManager release > Serviceability
CallManager Serviceability provides the following basic services:
Alarms
Tracing and the web-based Q.931 Translator
Service Activation
Control Center
Real-Time Monitoring Tool
Alarms
Options under the Alarm menu let you congure the destination for the alarms (Alarm >
Conguration) and search for alarm message denitions (Alarm > Denitions). Alarms
are messages that notify you of basic errors. The messages can be inserted into CCM (SDI)
and SDL traces and the Windows Event Viewer.
CallManager Serviceability provides pre-dened alarms, set at pre-dened levels. Use the
Alarm Conguration page to set up which level of alarm you want to receive and where you
want those alarms sent. Table 3-7 describes the alarm event levels.
CallManager Serviceability
Table 3-7
83
Description
Emergency
Alert
Critical
Error
Warning
Notice
Informational
Debug
Tracing
Options under the Trace menu let you congure trace levels and parameters for
CallManager, Database Layer, CTI Manager, and other core services. CallManager
Serviceability then allows you to collect this information from one node or all nodes in the
cluster when necessary. You can select trace information at the device level to target one or
more specic devices in the trace output. The log les generated by the trace can be .txt
format or XML-enabled for detailed analysis. We have already discussed text-based and
XML-based tracing in the previous sections Reading CCM Traces and Reading SDL
Traces. In this section, we focus on XML-formatted tracing.
84
greater than 2 MB in size. You are then given the option to save the result without ltering
using File > Save As in your web browser.
The previous section, Reading CCM Traces detailed the steps used to congure XMLenabled tracing. Once trace les are collected, XML-based tracing allows you to lter the
trace output using Trace Analysis.
Service Activation
Service Activation in CallManager Serviceability (Tools > Service Activation) lets you
activate and deactivate CallManager services. You can activate or deactivate CallManagerrelated services from Automatic mode by selecting or deselecting checkboxes next to specic services and then clicking the Update button. Then you can use the Control Center or
the Windows Services Microsoft Management Console (right-click My Computer and
select Manage > double-click Services and Applications > click Services) to start and stop
services.
CAUTION
If you need to deactivate a service, you should do so from the Service Activation page. If
you deactivate services from the Service Control Manager, you get an error message saying
that some of the services are not congured properly. This is because deactivating services
from the Service Control Manager does not remove the entries from the CallManager
database; therefore, the services are out of sync with the congured services in the
CallManager database.
CallManager Serviceability
85
Control Center
The Control Center in CallManager Serviceability (Tools > Control Center) lets you start
and stop CallManager services and view their activation status. You can stop and start
services in the Windows Services Microsoft Management Console as well if you have local
access to the server. If not, you can use the Control Center web page in CallManager
Serviceability to do the same thing.
86
Performance Tab
The Performance tab in RTMT allows you to view CallManager cluster info as shown in
Figure 3-15. To view this information, right-click on the cluster name and select
Properties. The CallManager Cluster Info window displays basic statistic about the cluster,
broken down by server.
Figure 3-15 RTMT, Cluster Info
This is also the tab where performance monitoring occurs, much the same functionality as
with PerfMon. However, in RTMT, you can congure tabs for specic counter congurations. Each time you use RTMT, the pre-dened congurations are displayed. Figure 3-16
shows several counters used to monitor general activities on a system.
To add a new category, right-click on one of the existing tabs and select New Category.
Building the category is as easy as selecting a counter and then dragging and dropping it
onto the tabs frame. Multiple counters can be piled in a single frame, and six frames per
tab are provided.
Devices Tab
The Devices tab in RTMT allows you to view device information that you congure for
various device typesphones, gateways, H.323 devices, CTI applications, voice mail, and
Cisco IP Voice Media Streaming Application devices such as MOH servers, MTP resources, and conference bridges. The Devices tab is shown in Figure 3-17.
CallManager Serviceability
87
88
To add a new category, click on one of the existing tabs and select New Category. You build
the category by rst double-clicking on one of the device types and then making selections
in a series of wizard-like screens that display, as shown in Figure 3-18 and 3-19.
Figure 3-18 Device Search Criteria Screens, Part 1
The screens shown in Figure 3-18 and 3-19 allow you to search for real-time information
about devices in the cluster regardless of their registration status. You can search for devices
based on device name, IP address, DN, IP subnet, and so on.
Call Detail Records (CDR) and the CDR Analysis and Reporting (CAR) Tool
89
90
the call is on hold, and one for the media stream after the call is on hold. CMRs are especially useful for diagnosing voice quality problems because they allow you to see patterns.
For example, you might notice that all the phones across a specic WAN link are experiencing high jitter or packet loss. This can indicate a possible quality of service (QoS)
misconguration or line errors on the WAN link.
The CDR Analysis and Reporting (CAR) tool (CallManager Serviceability > Tools >
CDR Analysis and Reporting) can help you analyze the raw data that comprises the CDR
database and create reports based on your search criteria. For example, if you are receiving
complaints of poor voice quality, one of the rst things you should do is nd out which
phones or gateways are experiencing the poor voice quality. Although you can wait to
collect data from additional user complaints, you can proactively use the data in the CDRs
and CMRs to identify any trends in high jitter or packet loss to hone in on where the
problem is.
For example, if a user tells you they had a problem calling someone, you can use CAR to
search for the call in the CDRs. This gives you the time the call occurred, which helps you
when you examine the CCM traces related to the problem.
You can search CDRs by user or specic extensions for the period that you specify. This
helps you trace calls placed from specic extensions for diagnostic or informational
purposes. All associated records, such as transfer and conference calls, appear together as
a logical group.
CAR can also be used to send you alerts if the number of calls with poor QoS is exceeded
or if the CDR database size exceeds a percentage of the maximum number of records.
For more information on the various features available in CAR, review the CAR section in
the CallManager Serviceability documentation at
www.cisco.com/univercd/cc/td/doc/product/voice/c_callmg/index.htm > select
your CallManager release > Serviceability > Serviceability System Guide > CDR
Analysis and Reporting
If you look at the raw timestamp information stored in the CallManager CDRs, you notice
they are stored in a format that is not easily recognizable in standard date and time format.
To quickly convert the date and time from the format in the CDRs to standard format, use
the CDR Time Converter utility.
Event Viewer
91
The CDR Time Converter utility allows you to enter the time as stored in a CDR
for example, 1030565084and convert it to standard date and time formatsuch as
8/28/2002 3:04:44 PM. Figure 3-21 shows the output of the CDR Time Converter tool.
Figure 3-21 CDR Time Converter Tool
Notice the tool converts the number in Epoch time to Greenwich Mean Time (GMT) and
the local time zone of the PC on which the tool is installed for both standard and daylight
savings time.
CAUTION
This is not an ofcially supported tool. If you download, install, or use this tool, you do so
at your own risk. Cisco Systems, Inc., is not responsible for correcting problems that may
arise as a result of using this unsupported tool.
Event Viewer
Microsoft Event Viewer is a Windows 2000 Server application that displays system,
security, and application events (including CallManager) for the Windows 2000 Server.
These events are alarm messages generated by CallManager. CallManager Serviceability is
used to congure alarm messages to be sent to the Event Viewer (Alarm > Conguration).
92
Open Event Viewer on the server running CallManager by clicking Start > Settings >
Control Panel > Administrative Tools > Event Viewer. CallManager errors are logged in
the Application log. You can double-click an event in the log to learn more about it.
Alarm denitions can be found in CallManager Serviceability (Alarm > Denitions).
Figure 3-22 shows an example of an alarm message in Event Viewer.
Figure 3-22 Event Viewer
Notice the App ID and the Error message. This tells you that the IP phone specied in the
Device Name details has unregistered from CallManager.
All alarms fall into seven catalogs, as shown in Table 3-8.
Table 3-8
Description
CallManager
TFTPAlarmCatalog
Event Viewer
Table 3-8
Description
CMIAlarmCatalog
CtiManagerAlarmCatalog
DBAlarmCatalog
GenericAlarmCatalog
IpVmsAlarmCatalog
JavaApplications
Based on the information given in the Event log entry in Figure 3-22 you can go to
CallManager Serviceability to search for a better denition of the problem in question.
To search for alarm denitions, perform this procedure:
Step 1 In CallManager Administration, choose Application >
drop-down box, or click the Enter Alarm Name eld to enter the alarm
name. Figure 3-23 shows this interface.
93
94
Step 4 Click the Find button. The denitions list appears for the alarm catalog
Based on the Event Viewer entry shown in Figure 3-22, choose the
CallManager catalog and the DeviceUnregistered error. You see Figure
3-24, showing the severity, an explanation, and the recommended action.
All alarm messages found in the Event Viewer can be researched in this
fashion.
95
96
H.323 gateway. The Translator is helpful for troubleshooting problems with these hardware
components because some of these gateways convert their native signaling to Q.931
messages. H.225 messages used in the H.323 protocol are based on the Q.931 specication;
hence, the Q.931 Translator can decode H.225 messages.
The amount of information contained in a CCM trace can be intimidating. Q.931 Translator
helps you quickly examine a trace in a graphical format without having to wade through
irrelevant debugs. For example, the following sample is from a CCM trace of an outgoing
call setup:
Out Message -- Pri250SetupMsg -- Protocol= Pri250Protocol
Ie - Ni2BearerCapabilityIe IEData= 04 03 80 90 A2
Ie - Q931ChannelIdIe IEData= 18 03 A9 83 94
Ie - Q931DisplayIe IEData= 28 0C B2 50 61 75 6C 20 47 69 72 61 6C 74
Ie - Q931CallingPartyIe IEData= 6C 0C 21 80 39 31 39 35 35 35 35 36 34 34
Ie - Q931CalledPartyIe IEData= 70 0D A1 39 31 32 31 30 35 35 35 32 35 30 30
MMan_Id= 0. (iep= 0 dsl= 0 sapi= 0 ces= 0 IpAddr=346812ac IpPort=2427)
IsdnMsgData2= 08 02 05 C8 05 04 03 80 90 A2 18 03 A9 83 94 28 0C B2 50 61 75
6C 20 47 69 72 61 6C 74 6C 0C 21 80 39 31 39 35 35 35 35 36 34 34 70 0D A1
39 31 32 31 30 35 35 35 32 35 30 30
Without a copy of the ITU Q.931 specication, which explains each bit in the trace
information elements, this sample looks like a bunch of numbers and letters. However, the
Q.931 Translator decodes the output into a readable format, as shown in Figure 3-25.
Figure 3-25 Q.931 Translator Application
One thing you should know right away is not to trust the Direction column. Information in
the Direction column can occasionally be inaccurate because of how the tool decodes hex
messages. To be sure of the direction, look at the rst line in the debug, which states Out
97
Message. This indicates that this is an outbound (TX) setup message. Similarly, an inbound
(RX) message would show In Message in the CCM trace.
Calls in the trace can be distinguished by the call reference value. The most signicant bit
(MSB) of the call reference toggles between 0 and 1, depending on whether the message
was inbound to CallManager or outbound from CallManager to the gateway. Table 3-9
shows the difference between the rst bit being 1 versus being 0. This table also shows the
binary representation of the hexadecimal digits to clearly show how the last three binary
digits in the left and right columns are identical. The only difference between the left and
right columns is that the MSB for all the digits in the left column is 0, and the MSB for all
the digits in the right column is 1.
Table 3-9
MSB = 1
0 (0000)
8 (1000)
1 (0001)
9 (1001)
2 (0010)
A (1010)
3 (0011)
B (1011)
4 (0100)
C (1100)
5 (0101)
D (1101)
6 (0110)
E (1110)
7 (0111)
F (1111)
The output in Figure 3-25 shows that the call reference is 0x05C8 in the transmit (TX)
direction and 0x85C8 in the receive (RX) direction. Any row that has a 0x05C8 or 0x85C8
in the Call Reference column is a message for the same call. As Table 3-9 shows, 0 and 8
are equivalent, with the exception of the MSB, which is different. Call reference values are
eventually reused, but it is impossible for the same call reference to appear in a single CCM
trace le for one gateway because several hundred or thousand calls must occur before the
value is reused.
Q.931 Translator shows the calling and called party numbers converted to easily readable
text, along with the bearer channel identier, bearer capability, and display information
element. The channel identier and bearer capability are not fully decoded. You need a copy
of the Q.931 specication to understand what the various bits in those elds signify. Dont
worry if you dont have this specication. Chapter 6 explains how to decode some of these.
Some of these are decoded for you in the Enhanced Q.931 Translator explained in the next
section.
Q.931 Translator is most useful for decoding cause codes that are sent as an information
element (IE) in various Q.931 messages. These cause codes are always sent as part of a
DISCONNECT message and may be included as part of other messages as well. Decoding
the cause code IE gives you some insight into why the call was disconnected.
98
The rst thing you should notice is that this is a DISCONNECT message being sent by
CallManager to the PSTN. You can see that the hex representation of the data in the
Q931CauseIe is 08 02 80 81. These cause codes are dened in the ITU Q.850 specication;
however, Q.931 Translator decodes these for you. Opening the trace le containing the
DISCONNECT message in Q.931 Translator reveals the following:
DISCONNECT pd = 8 callref = 0xAA
Cause i = 0x8081 - Unallocated/unassigned number
You can see that 0x8081 is decoded to Unallocated/unassigned number, meaning that
CallManager does not have a phone or route pattern that matches the digits that were sent
to CallManager by the ISDN network.
NOTE
See Chapter 6 for additional information about what various cause codes mean and how to
continue troubleshooting problems like these.
Find in messagesAllows you to search for any text that appears in the decoded
message data. This means you can search for a calling or called party phone number,
disconnect cause code, or any other value and quickly nd the message you are
looking for.
99
Raw ISDN message dataAfter the decoded information, the raw hex bytes for the
ISDN message are presented.
Figure 3-26 shows the same trace shown in Figure 3-25, this time as it looks in the
Enhanced Q.931 Translator.
Figure 3-26 Enhanced Q.931 Translator Application
Notice the amount of additional data presented in the bottom pane of the tool. The bearer
capability (ITU-T standard, Speech, Circuit mode, 64k, -law), channel ID (PRI interface,
Exclusive channel 20), calling party numbering plan and type (Plan: ISDN, Type: National,
Presentation Allowed, User-provided, not screened), and called party numbering plan and
type (Plan: ISDN, Type: National) are all decoded for you automatically.
100
Future versions of CallManager may include the Enhanced Q.931 Translator, but until then,
you must download the tool from the Cisco Press website (see Acquiring Enhanced Q.931
Translator later in this chapter).
One thing to remember is that the Q.931 Translator and Enhanced Q.931 Translator tools
are not a replacement for the CCM trace. They are just another tool you can use to make
decoding the CCM trace easier and nding the location of your problem quicker. Often you
will have to refer back to the CCM trace after nding the call in Q.931 Translator to get
additional detail regarding the events that surround a message. For example, if you nd a
message in Q.931 Translator indicating CallManager disconnected a call with a cause code
of 0xAF, Resources Unavailable, Q.931 Translator tells you the cause code and the
timestamp in the CCM trace. You must then go to the CCM trace at that timestamp and
determine what resource was unavailable that caused CallManager to disconnect the call.
As mentioned before, Q.931 Translator decodes more than just Q.931 messages. The H.225
protocol used to communicate between H.323 gateways and other CallManager clusters
uses messages similar to ISDN Q.931. Q.931 Translator translates H.225 messages that
appear in CCM traces.
Some gateways use Q.931 to communicate with CallManager even though the gateways
interface to the PSTN is not actually using Q.931. For example, the WS-X6624 24-port
FXS gateway uses analog FXS signaling to communicate with analog phones, fax machines, and modems; however, this analog signaling is converted to Q.931 messages
between the gateway and CallManager. These Q.931 messages appear in the CCM trace
and are translated by the Q.931 Translator. The same is true of the WS-X6608-T1 gateway
when communicating with the PSTN using channel associated signaling (CAS). The
gateway converts CAS to Q.931 messages.
So if the gateways are converting these various protocols to Q.931, you might wonder how
you can troubleshoot the signaling before it is converted to Q.931. This is one of the various
uses of the Dick Tracy tool discussed in the section Dick Tracy.
CAUTION
This is not an ofcially supported tool. If you download, install, or use this tool, you do so
at your own risk. Cisco Systems, Inc., is not responsible for correcting problems that may
arise as a result of using this unsupported tool.
Dick Tracy
101
Dick Tracy
The Dick Tracy tool is a complex and powerful tool used to troubleshoot problems on
various gateways based on the Skinny or MGCP protocols. Specically, the Dick Tracy tool
is used on the following voice gateways:
DT-24+
DE-30+
WS-X6608-T1
WS-X6608-E1
WS-X6624
There is little to no documentation on the Dick Tracy tool because it was created as an
internal development tool. However, it has been released under the condition that the tool
itself is unsupported. This means that no formal documentation or release mechanism exists
for the tool. This also means that the tools behavior might change from one release to
another without warning, but as long as you understand the basics of how the tool works,
you should be able to pick up any changes without too much difculty. The Acquiring
Dick Tracy section explains how you can download a copy of the Dick Tracy tool.
There are two versions of Dick Tracy:
The CLI Tracy tool can be used to connect only to gateways that are in the same Catalyst
6000 chassis to which you are connected. Using the Windows-based Dick Tracy tool is
recommended here because it is more exible and easier to use than CLI Tracy.
Why do you need the Dick Tracy tool? In case youve never seen a Cisco DT-24+ gateway,
it is a PCI card that plugs into a PCI slot in any PC chassis. The gateway only uses the PCI
slot to draw power. The PCI bus is not used for any kind of data transfer to or from the
DT-24+. The DT-24+ also provides an Ethernet port and a T1 port. There is no console port
or other method of out-of-band communication to the gateway; therefore, you need a tool
to access the gateway so that you can determine what is going on inside the gateway. The
WS-X6608 and WS-X6624 are similar to the DT-24+ because they use the Catalyst 6000
chassis they reside in for power and IP connectivity. Other than that, the Catalyst 6000
Supervisor (the management interface on the Catalyst 6000) has no out-of-band
management interface to the gateways.
102
CAUTION
Before we discuss the tool itself, you should know that the Dick Tracy tool is not the most
user-friendly piece of software. It also can damage your gateway if its not used properly.
A good working rule is that if you dont know what something does, you probably shouldnt
mess with itparticularly most of the set commands that are available. This book covers a
few useful set commands, but other than those, you should not need to use Dick Tracy to
set commands on the gateways.
After you connect to a gateway, you see a text box labeled Live trace on ip address, where
ip address is your gateways IP address. You can open additional connections to other
gateways using the same procedure. You will likely see several lines of tracing when you
connect. This is because the gateway buffers the last few lines of tracing and shows them
to you when you connect.
Dick Tracy
103
After you connect to a gateway, it is a good idea to enable logging of the live trace. Click
Options > Start Logging. A dialog box appears, asking where you want to save the logged
traces. Choose a convenient location on your hard drive that has enough space available.
The traces are just a text log of everything you see on your screen while connected to the
gateway. They usually do not get very big unless you are running a debug for an extended
period of time. Logging does not affect the performance of Dick Tracy or the gateway.
Enabling logging keeps a record of all the traces you capture until you close the trace
window or stop logging using the menu.
At this point, youve started a trace, and the tool is up and running. On the menu bar you
see a one-line text box and a Send button. Think of this eld as the command box to communicate with the gateway. To communicate with the gateway, you must understand the
concept of task IDs. Each gateway has various tasks that are responsible for various
components of the software. For example, one of the tasks is responsible for sending and
receiving messages to and from the digital signal processors (DSPs) on the gateway.
To view the list of available tasks on a gateway, enter the command 0 show tl (this command uses the number 0, not the letter O, and the letter L, not the number 1) in the command
box and click Send or press Enter. You should see something similar to the following
sample:
03:15:15.450
0 :
1 :
2 :
3 :
4 :
5 :
6 :
7 :
8 :
9 :
10 :
11 :
12 :
13 :
The 0 (zero) is the number of the task ID you want to issue a command to. In this case, you
are issuing a command to the GEN task (ID 0). Each task has various commands that can
be issued to it. Some tasks do not respond to commands at all. The show tl portion is the
command being issued to task ID 0.
Dick Tracy offers context-sensitive help for the tasks that accept commands. For example,
to see which commands are available for task 0, enter 0 ? in the command box and press
Enter. You see something similar to the following sample:
03:22:21.320
03:22:21.320
03:22:21.320
03:22:21.320
03:22:21.320
03:22:21.320
03:22:21.320
104
You can see that show is one of the available commands for task ID 0. You can get
additional context-sensitive help by entering 0 show ?. You see the following:
03:24:31.500
03:24:31.500
03:24:31.500
03:24:31.500
03:24:31.500
03:24:31.500
GEN
Show
Show
Show
Show
Show
You can see that the command show tl performs the command Show Task List according
to the context-sensitive help. It is difcult to provide a list of the available task IDs and
Tracy commands because they vary from gateway to gateway and can change from one
version of CallManager to the next. Chapter 6 covers some specic task IDs when
discussing troubleshooting gateways.
You should always precede each command with a task ID. If you do not precede a command
with a task ID, the gateway applies the command to the last task ID you sent a command to.
In addition to the various show commands, a few other commands are useful. One in particular is set mask. You use the set mask command to turn on various debugs. To view what
debugs you can turn on for a particular task, issue the show mask command for the task in
question. For example, issuing the command 6 show mask details the various trace bits for
the DSP task:
(DSP) Mask<0x0>
Where Bit0 =
Bit1 =
Bit2 =
Bit3 =
Bit4 =
Bit5 =
Bit6 =
Bit7 =
Debug Msgs
Call Progression Msgs
Boot Msgs
Stat Msgs
Cmd Msgs
RTP Msgs
SID Frames
Status Msgs
As you can see from this output, the mask is currently set to 0x0, and eight different trace
bits can be enabled. The mask is set as a hexadecimal digit. In this case because you have
eight bits, 256 possible combinations of tracing can be turned on, depending on which bits
are enabled. For example, to enable Debug Msgs (Bit0) and Call Progression Msgs (Bit1),
the mask must be set to 00000011 in binary. This translates to 0x03 in hex. Therefore, the
command is 6 set mask 0x03.
CAUTION
Be sure to set the masks back to 0x0 after enabling any trace masks. The traces continue to
run until the gateway is reset, even if you close your Dick Tracy session. Failure to turn off
the debug masks could create a performance impact on the gateway.
For the time being, dont worry about what each of these trace masks or task IDs does.
Chapter 6 covers the masks and IDs in detail.
Dick Tracy
105
Notice that the syntax differs from the traditional Catalyst Operating System (CatOS)
notation, in which ports are specied using module/port.
After you start CLI Tracy for a port, all the debug information for that port appears on your
console or Telnet session. You can send Tracy commands to the port using the command
tracy_send_cmd module port taskid command. When you need to send commands to a
port, you should really use the Windows-based tool because sending commands via CLI
Tracy can lead to switch instability. When you are done using the CLI Tracy tool, enter the
command tracy_close module port to end the session. You can have only one CLI Tracy
session open at any given time on the whole chassis. So if someone has a Tracy session open
on the console port, you cannot start one from a Telnet session. Be sure to close the CLI
Tracy session when you are done.
CLI Tracy does have one advantage over the Windows-based Dick Tracy tool: It can monitor a port before it obtains an IP address. For that reason, you can use CLI Tracy to
troubleshoot problems where the port cannot obtain an IP address. The regular Dick Tracy
tool cannot accomplish this because you need IP connectivity to the port in question before
you can gather information from the port.
CAUTION
This is not an ofcially supported tool. If you download, install, or use this tool, you do so
at your own risk. Cisco Systems, Inc., is not responsible for correcting problems that may
arise as a result of using this unsupported tool.
106
Sniffer Traces
One of the most powerful tools for troubleshooting a large number of CallManager
problems is a packet capture/analyzer tool such as Network Associates Sniffer Pro
(www.nai.com), Finisar Surveyor (www.nisar.com/product/product.php?product_id=104),
or Ethereal (www.ethereal.com). Because of Sniffer Pros widespread appeal, a trace le
generated by any packet-capture tool is commonly called a sniffer trace. This term is used
here to refer to any packet-capture software, not just Sniffer Pro.
A sniffer trace lets you see exactly what is happening on the network at any given time.
Examining a sniffer trace requires a good understanding of the various layers of the OSI
model, which were briey described in the Introduction to this book.
To get the most benet from a packet-capture tool, you should use a tool that can decode
the various protocols you might encounter in an IP telephony network. This includes, but is
not limited to, H.323 (H.225 and H.245), MGCP, RTP, SQL, and LDAP. Also extremely
important is the capability to decode Skinny packets. Most newer versions of commercially
available network capture application can decode Skinny. Finisar Surveyor can decode
Skinny as part of the standard package while Network Associates Sniffer Pro requires you
purchase the Sniffer Voice add-on to get Skinny decodes. Also, the free protocol analyzer
Ethereal supports decoding Skinny as of version 0.8.20.
This book does not teach you how to use the network analysis software, but instead focuses
on the kind of information you can obtain using network analysis software. Sniffer traces
are most important when youre troubleshooting problems that cant be examined using
standard trace les or debugs because the problem is either network-related or the appropriate diagnostic tool is not built into the product. For example, device registration problems are much easier to troubleshoot with a sniffer trace, as are most voice quality
problems.
107
Bug Toolkit is only available to registered users on Cisco.com. Access the bug toolkit by
searching for bug toolkit on Cisco.com or at the following link:
www.cisco.com/cgi-bin/Support/Bugtool/launch_bugtool.pl
Terminal Services
Windows Terminal Services is a feature that comes standard on all servers running
Windows 2000 Server software. Terminal Services allows you to remotely access the
Windows interface on a CallManager server.
Terminal Services is extremely useful for remotely troubleshooting problems on
CallManager when you do not have immediate access to the console. To use Terminal
Services, you must install the Terminal Services Client on any PC running most Microsoft
Windows operating systems.
The installer for the Terminal Services Client is included on all CallManager servers in the
C:\WINNT\system32\clients\tsclient folder. There are several folders for the 32-bit and
16-bit versions. Use the 32-bit client on any PC running Windows 95 or later.
Once installed, launch the Terminal Services Client and enter the IP address of
CallManager and the screen resolution you want to connect with. You receive a login
prompt for the server. Enter the administrator username and password to authenticate. Once
authenticated, you have access to the CallManager desktop almost as if you were on the
console.
If you need to open a hole through your rewall to access CallManager via Terminal
Services, open TCP port 3389. This is the only port needed to access a Windows 2000
Server via Terminal Services.
CAUTION
Cisco does not support installing any CallManager applications, CallManager software
patches, or operating system patches via Terminal Services. Terminal Services is designed
for remote access to the CallManager server for troubleshooting purposes; however, some
portions of the CallManager installer are not compatible with Terminal Services. You can
use VNC to access the console of the server for performing upgrades and patches.
108
CAUTION
Using VNC can expose you to a security risk. Please review the Security Best Practices
section in the Cisco-produced document for installing VNC, which is available on the OS
2000 version 2.2 and later CD or at the download link previously shown.
Networking Professionals ConnectionThis site is the gathering place for networking professionals to share questions, suggestions, and information about
networking solutions, products, and technologies. Access the forum by searching for
networking professionals on Cisco.com or at
www.cisco.com/go/netpro
Best Practices
109
Updates to this bookCheck the Cisco Press website regularly for updated
information pertaining to the chapters in this book (www.ciscopress.com >
type 1587050757 in the Search eld > click the link to Troubleshooting Cisco
IP Telephony).
Check out the section Further Reading in the Introduction to this book for additional
books about IP Telephony and VoIP.
Best Practices
Become familiar with the various troubleshooting tools at your disposal. Be sure to
try each of them before you encounter a problem to understand how they work so you
do not have to waste time learning the tool when under pressure to resolve a network
outage.
Keep a copy of all the tools in a centralized location and check frequently for updates
that may add additional functionality.
The only way to become efcient at reading CCM traces is by practicing. The more
you look through CCM traces to troubleshoot problems, the better you will
understand the intricacies of the CCM trace.
If youre using VNC and no longer plan to use Terminal Services for remote
management, disable Terminal Services.
Set the VNC service to Manual startup and start it only during remote management.
This adds another layer of protection by requiring that users access the environment
via Windows username/password authentication to start the VNC service.
Use a complex alphanumeric password for VNC. VNC does not have a username/
password structure; it only uses a single password, so make sure the password you
choose is difcult to crack. VNC limits the password to eight characters. A good
password includes numbers, upper- and lowercase letters, and special characters and
does not use any known word. For example, 123eye67 is not as good a password
choice as 4hW9Lv#g.
110
Summary
This chapter covered the various troubleshooting tools and resources you have at your
disposal to troubleshoot a CIPT network. Which tool you use depends largely on the
problem at hand. However, some problems can be resolved using more than one tool. As
you become more familiar with each of the tools in your tool belt, you will begin to favor
some tools over others for specic tasks. No matter how much you read about these tools,
you will not learn about them until you use them to troubleshoot a real problem on your
own. As you advance through the rest of this book, you will see frequent references to the
tools presented in this chapter because they play an integral part in CIPT troubleshooting.
INDEX
Symbols
! wildcard, 460
. wildcard, 461
@ wildcard, 461
DDIs, 487494
route filters, 506507
multiple clauses, 512
NANP tags, 508510
Numerics
3-port switch operation, Cisco 79xx series IP
phones, 161164
7-digit local calls, delayed routing, 466469
10-10-Dialing DDI, 487
10-10-Dialing Trailing-# DDI, 487
11/10D->7D DDI, 487
11/10D->7D Trailing-# DDI, 487
11D->10D DDI, 488
11D->10D Trailing-# DDI, 488
802.1Q protocol, 850
911 routing, Cisco ER, 478
6608 T1/E1 module
configuring, 325337
D-channel establishment, 337, 340343
advanced troubleshooting, 344359
T1 CAS, 359367
6624 Port FXS Analog Interface Module
configuring, 367379
7960/7940 IP Phones
extension mobility, 756758
conguring, 758763
login/logout process, 763765
resolving common problems,
765768, 772
79xx IP Phones
3-port switch operation, 161164
network settings, 123126
A
AA (Auto Attendant), 737
traces, collecting, 748752
AAR (automatic alternate routing), 478
acknowledgments, 238
ACOM (combined loss), 417
acoustic echo, isolating, 412
acquiring
Dick Tracy tool, 105
Q.931 Translator, 100
active connections, 155
AD (Active Directory)
Customer Directory Configuration plugin,
troubleshooting, 839844
LDAP integration, 837839
Ad Hoc conferences, 565
error messages, 597598
locations-based CAC bandwidth reservations,
633635
adjusting
fax relay data rate, 451452
interdigit timeout, 467
Administrative Reporting Tool (ART), 795
alarms
configuring on CallManager Serviceability, 82
StationAlarmMessage field definitions,
158160
alerts
configuring on CCEmail, 81
enabling on PerfMon, 75
algorithmic delay, 386
Already In Conference error messages,
troubleshooting, 597
analog gateways, VG248 SMDI integration,
686692
Analog Ground Start, 850
Analog Loop Start, 850
analyzing collected data
case study, 1819
CCM traces, 42, 5057
through MGCP T1 PRI gateways, 5860
CMI traces, 674679
deductive reasoning, 1112
ISDN traces, 258262
B
backhauling, 553
on MGCP PRI gateways, 256258
backup CallManager, 154
BackupCallManagerName parameter (CMI), 667
bandwidth requirements, locations-based CAC,
624626
BaudRate parameter (CMI), 667
best practices, troubleshooting Cisco IP Phones,
165166
binary values, converting to decimal and
hexadecimal values, 881889
bit masks, 63
configuring for SDL traces, 6367
blind transfers, 529531
blocked calls, 473
blocking area codes, 548549
buffering delay. See queueing delay
C
CAC (call admission control), 24, 623
gatekeeper CAC, 638
call setup, 647651
CallManager registration, 645647
RAS messages, 639
verifying conguration, 640645
locations-based, 623624
bandwidth requirements, 624626
call preservation, 636637
CCM traces, enabling, 626
conference bandwidth reservations,
633635
conguring, 630
detecting bandwidth leaks, 635636
location identiers, 628
MOH bandwidth reservations, 631633
regions, 627629
trace information, analyzing, 628631
call admission control. See CAC
call control, CCAPI debug commands, 196205
call forwarding, 479
CFA, 480485
restricting, 546547
CFB, 480
CFF, 485486
CFNA, 479480
to voice mail, reading CMI traces, 678
call history information messages (SMDI), 665
call hold feature (CallManager), 522529
call legs, 175. See also dial peers
call park feature (CallManager), 531
troubleshooting, 532533
call pickup feature (CallManager), troubleshooting,
533538
call preservation
locations-based CAC, 636637
SRST, 562
troubleshooting, 561
949
call routing
called party transformations, effect on, 513514
Cisco Personal Attendant, 785786
closest-match routing, 461464
unexpected outside dial tone,
troubleshooting, 465466
dial peers
call legs, 175
destination-pattern parameter, 176179
incoming called number command,
181184
matching, 175
optional parameters, 179181
NANP, 857879
pattern matching
blocked calls, 473
multiple partitions within calling search
space, 474475
problem resolution methodology, 515516
reading CCM traces, 516521
route patterns
urgent priority, 502
wildcards, 460461
toll fraud, preventing, 544549
translation patterns, 501506
call setup, gatekeeper CAC, 647651
call statistics menu (Cisco IP Phones), 165
call transfer feature (CallManager), 529531
called party transformations
effect on call routing, 513514
masks, 495496
cumulative effect of changes, 497499
order of application, 496497
overriding, 499
CallerID service parameter transformation, 500
calling party transformations, 513514
masks, 495496
cumulative effect of changes, 497499
order of application, 496497
overwriting, 499
calling search spaces, 469473
AAR, 637
applying to voice mail systems, 547
call forwarding, 479
CFA, 480485, 546547
CFB, 480
CFF, 485486
CFNA, 479480
device-level, 476477
event-specific, 478
line-level, 476477
multiple partitions, pattern-matching rules,
474475
CallManager. See also CallManager Serviceability
audio sources
mulitcast versus unicast, 615
selecting recording input, 620
troubleshooting live sources, 619620
call hold feature, 522529
call park feature, 531533
call pickup feature, 533538
call processing messages, 140, 144147
call transfer feature, 529531
calling IP phone interaction, 150
Cisco AVVID IP Telephony call processing, 24
centralized deployment model, 26
distributed deployment model, 27
multiple-site deployment model, 25
single-site deployment model, 24
closest-match routing, 461464
unexpected outside dial tone,
troubleshooting, 465466
Database Layer Monitor
CDR replication, troubleshooting,
813815
verifying operation, 812813
delayed routing, 466469
digit analysis behavior, 463464
embedded LDAP directory, 823825
logon failures, troubleshooting, 827
reconguring on Publisher server,
828835
reconguring on Subscriber server,
835837
endpoints, 551
MOH, troubleshooting, 611615
nonsurvivable endpoints, 557
CTI/TAPI endpoints, 559
H.323 gateways, 558559
Skinny gateways, 557
951
commands
953
clusters
database replication, Publisher-Subscriber
model, 793796
intercluster trunks, 311
codec mismatches, 312
master/replica relationship, 823
passwords, configuring on nodes, 798 802
CM Down, Features Disabled message (Cisco IP
Phones), 158
CMI (Cisco Messaging Interface), 666667
service parameters, 667671, 674
traces, reading, 674679
troubleshooting with HyperTerminal, 679682
CMRs (Call Management Records), 89
codec complexity, 171
codecs
CallManager selection process, 568
capability bits, 200
configuring between regions, 569
GSM, 855
transcoding, 565
wideband, 855
coder delay, isolating, 386
collecting data, 4
analyzing, 11
CCM traces, 42, 5057
CMI traces, 674679
ISDN traces, 258262
locations-based CAC traces,
628631
SDL traces, 6063
case study, 1418
IP IVR/AA traces, 748752
isolating root cause of problems, 6
deductive reasoning, 1112
earliest occurence of problem, referencing
device-based time, 1011
with topology information, 79
user information, 10
verifying IP network integrity, 1213
comfort noise, 402
commands
debug ephone, 713
debug ephone detail, 723728
debug ephone register, 714717
debug ephone state, 719722
debug vstp tone, 192196
954 commands
SRST, 709712
DHCP support, 732
transfer patterns, 730
Subscriber CDR replication, 810812
connectivity
troubleshooting unregistered Skinny clients,
117127
conguration les, 121127
IP addressing, 118121
VLAN conguration, 118
verifying, 1213
Control Center (CallManager Serviceability), 85
converting decimal values
to binary, 881889
to hex, 881889
CoR (class of restriction), 708
corporate directories
Cisco IP phone directory integration, 820
LDAP integration
with Active Directory, 837839
with Netscape iPlanet, 844
providing endpoint access, 821823
troubleshooting, 823
counters
Cisco analog access, 892
Cisco CallManager Attendant Console object,
898900
Cisco CallManager object, 893898
Cisco CallManager System Performance object,
900902
Cisco CTI Manager object, 903
Cisco Gatekeeper object, 904
Cisco H.323 object, 904
Cisco HW Conference Bridge Device
object, 905
Cisco Lines object, 905
Cisco Locations object, 906
Cisco Media Streaming App object, 906909
Cisco Media Termination Point object,
909910
Cisco Messaging Interface object, 910911
Cisco MGCP FXO Device object, 911
Cisco MGCP FXS Device object, 912
Cisco MGCP Gateways object, 912
Cisco MGCP PRI Device object, 913914
Cisco MGCP T1 CAS Device object, 914915
Cisco MOH Device object, 915918
D
data analysis, 45
case study, 1419
CCM traces, 42, 5057
through MGCP T1 PRI gateways, 5860
CMI traces, 674679
deductive reasoning, 1112
955
956 delay
957
E
E&M Delayed Start, 850
echo
eliminating sources of, 418429
perception of as problem, 414416
sources of, isolating, 411
acoustic echo, 412
electrical echo, 411412
echo cancellers, 384
operation, 416418
ECM (error control mode), disabling on fax relay,
452453
EIA/TIA web site, 849
EIGRP (Enhanced Interior Gateway Routing
Protocol), 850
electrical echo, isolating, 411412
eliminating
possible causes using deductive reasoning,
1112
sources of echo, 418429
embedded LDAP directory, 823825
logon failures, troubleshooting, 827
reconfiguring
on Publisher server, 828835
on Subscriber server, 835837
F
failback behavior in Cisco IP Phones, 156
failed conferences, troubleshooting, 592597
failover
behavior in Cisco IP Phones, 155
troubleshooting, 158160
Fast Connect, enabling, 396
Fax Group 3, 433
fax interface-type command, 454
fax machines, 433
encoding schemes, 434
isolating problems, 449450
jitter, 446
negotiation, 434
NSF field, modifying, 453
packet loss, 446
page transmission speed, 434
physical layer errors on digital interfaces,
447449
switching fax protocol, 454
T.30 transmissions, 435437
fax nsf command, 453
fax preamble, 440
fax rate command, 451
fax relay, 444445
adjusting data rate, 451452
debugs, enabling, 455456
ECM, disabling, 452453
switching to fax passthrough, 450
T.38, 445446
troubleshooting, 450
fax/modem passthrough, 437, 440
NSE, 439
NTE, 438
troubleshooting, 450
verifying configuration, 441444
fax-relay ecm disable command, 452
features of CallManager
call hold, 522529
call park, 531533
call pickup, 533538
call transfer, 529531
elds of CCM traces, 4446
ltering CCM trace results, 4950
rewalls, resolving one-way/no-way audio
problems, 410
H.323
G
G.711 codecs, 855
fax passthrough, 437
G.723 codecs, 855
G.726 codecs, 855
G.729 codecs, 855
G.729a codecs, 855
G.729ab codecs, 855
G.729b codecs, 855
garbled audio, sources of
packet drops, 397400
queuing delay, 401
VAD, 402404
gatekeeper CAC, 638
call setup, 647651
CallManager registration, 645647
RAS messages, 639
verifying configuration, 640645
959
H
H.225 signaling, 283, 850
call flow, 288294
call setup messages, 283284
H.245, 851
call signaling, 295
DTMF relay, 303307
logical channel signaling, 300303
maser/slave determination, 296
terminal capabilities exchange, 297300
H.323, 281, 851
gatekeepers, 638
H..225 signaling
call ow, 288294
H..245 signaling, 295
DTMF relay, 303307
logical channel signaling, 300303
master/slave determination, 296
terminal capabilities exchange, 297300
960 H.323
I
i button (Cisco IP Phones), logging call
statistics, 165
identifying root cause of problems, 69
IEEE (Institute of Electrical and Electronic
Engineers) web site, 849
IEs (information elements), 284287
Immediate Start (E&M), 850
961
J
jitter
effect on fax machines and modems, 446
isolating source of, 391392
JTAPI (Java Telephony Application Programming
Interface), 852
verifying CRA engine status, 745748
K-L
KeepAliveDn parameter (CMI), 668
LDAP (Lightweight Directory Access Protocol), 852
Active Directory integration, 837839
corporate directory access, 821823
Customer Directory Conguration plugin,
troubleshooting, 839844
directories, 819
conguring, 741743
verifying conguration, 745
directory integration versus directory
access, 820
embedded directories, 823825
logon failures, troubleshooting, 827
reconguring on Publisher server,
828 835
reconguring on Subscriber server,
835837
iPlanet integration, 844
LFI (link fragmentation and interleaving), 391
line packages (MGCP), 234235
line-level calling search spaces, 476477
listener echo, isolating sources of, 412413
live audio sources, troubleshooting, 619620
LMHOSTS le, name resolution, 796797
local area code versus area code, 510
M
manual time synchronization, conguring on
CallManager servers, 40
masks, 495496
master/replica relationship in clusters, 823
master/slave determination in H.245 call
signaling, 296
MatchingCgpnWithAttendantFlag service parameter
transformation, 500
MCM (Multimedia Conference Manager), 638
media processing resources, 560
media resource group lists (MRGLs), 566, 602
media resource groups (MRGs), 566, 602
media resources, 565
selecting, 567
medium complexity calls, 171
Meet-Me conferences, 565
locations-based CAC bandwidth reservations,
633635
Message Waiting Indicator On/Off Messages
(SMDI), 665
Microsoft PerfMon, 68
alerts, 75
counter logging, 7175
versus RTMT, 6869
viewing real-time statistics, 6971
Microsoft SQL Server Enterprise Manager, 802803
Replication Monitor
correcting replication errors, 804806
reestablishing broken replication
subscription, 807809
reinitializing subscriptions, 809
miscongured 6608 T1/E1 modules,
troubleshooting, 326337
MIVR traces, capturing, 748752
models of Cisco 2600 series routers, 171172
modems
jitter, 446
packet loss, 446
passthrough, 437
ANS, 439
NSE, 439
NTE, 438
verifying conguration, 441444
physical layer errors, troubleshooting, 447449
modules
6608 T1/E1
advanced troubleshooting, 344359
conguring, 325337
D-channel establishment, 337, 340343
T1 CAS, troubleshooting, 359367
6608/6624 voice gateways
DHCP, troubleshooting, 314320
powering up, 313314
registration, troubleshooting, 324325
TFTP, troubleshooting, 320324
6624 Port FXS Analog Interface Module,
conguring, 367379
MOH (Music On Hold). See also TOH
audio sources, 601603
multicast versus unicast, 615616
selecting recording input, 620
Audio Translator, troubleshooting, 618
CAC bandwidth reservations, 631633
performance counters, 915918
963
troubleshooting, 611615
CCM trace les, 608611
performance counters, 605607
MOHAudioSourcesActive counter
(CallManager 3.3), 604
MOHConnectionsLost counter
(CallManager 3.3), 606
MOHConnectionState counter
(CallManager 3.3), 604
MOHHighestActiveResources counter
(CallManager 3.3), 607
MOHMulticastResourceActive counter
(CallManager 3.3), 606
MOHMulticastResourceAvailable counter
(CallManager 3.3), 607
MOHOutOfResources counter
(CallManager 3.3), 607
MOHStreamsActive counter (CallManager 3.3), 605
MOHStreamsAvailable counter
(CallManager 3.3), 605
MOHStreamsTotal counter (CallManager 3.3), 606
MOHTotalMulticastResources counter
(CallManager 3.3), 606
MOHTotalUnicastResources counter
(CallManager 3.3), 606
MOHUnicastResourceActive counter
(CallManager 3.3), 606
MOHUnicastResourceAvailable counter
(CallManager 3.3), 607
MRGLs (media resource group lists), 566, 602
MRGs (media resource groups), 566, 602
MTPs (media termination points), null capabilities
set, 565
multicast audio sources (MOH), troubleshooting,
615616
multiple-site deployment model (CallManager), 25
MWIs (Message Waiting Indicators), 709
configuration parameters, 682685
toggling on/off, 659, 661
VG248 platform, troubleshooting, 690692
MwiSearchSpace parameter (CMI), 668
N
name resolution
LMHOSTS file, 796797
NetBIOS in database replication, 796798
NANP (North American Numbering Plan)
call routing information, 857879
route filters, 506510
multiple clauses, 512
tags, 507
NAT (Network Address Translation), resolving
one-way/no-way audio problems, 410
negotiation process, fax machines, 434
NetBIOS name resolution in database
replication, 796798
Netscape iPlanet, LDAP integration, 844
network diagrams, required information, 79
network hold MOH audio source, 601
network integrity, verifying, 1213
network settings, Cisco 79xx IP Phones, 123126
Network Time Protocol. See NTP
No Conference Bridge Available, troubleshooting,
587591
NoDigits DDI, 488
nonproduction hours, troubleshooting
methodologies, 56
nonsurvivable endpoints, 557
CTI/TAPI endpoints, 559
H.323 gateways, 558559
Skinny gateways, 557
no-way audio, isolating sources of
Cisco IOS Software gateways, 408410
firewalls, 410
IP connectivity, 405406
NAT, 410
PAT, 410
NSE (Named Service Event), 439
NSF (Nonstandard Facilities) eld, modifying, 453
NTE (Named Telephony Event), 438
NTP (Network Time Protocol), 852
time synchronization, 39
on CatOS devices, 41
on Cisco IOS devices, 4041
null capabilities set, 565
numbering plans
NANP, call routing information, 857879
route filters, 506507
multiple clauses, 512
NANP tags, 508510
O
object counters
Cisco analog access, 892
Cisco CallManager, 893898
Cisco CallManager Attendant Console,
898900
Cisco CallManager System Performance,
900902
Cisco CIT Manager, 903
Cisco Gatekeeper, 904
Cisco H.323, 904
Cisco HW Conference Bridge Device, 905
Cisco Lines, 905
Cisco Locations, 906
Cisco Media Streaming App, 906909
Cisco Media Termination Point, 909910
Cisco Messaging Interface, 910911
Cisco MGCP FXO Device, 911
Cisco MGCP FXS Device, 912
Cisco MGCP Gateways, 912
Cisco MGCP PRI Device, 913914
Cisco MGCP T1 CAS Device, 914915
Cisco MOH Device, 915918
Cisco MTP Device, 916
Cisco Phones, 918
Cisco SW Conference Bridge Device, 918920
Cisco TFTP, 920923
Cisco Transcoder Device, 923
logging on PerfMon, 7175
Windows 2000, 924925
obtaining
Dick Tracy tool, 105
Enhanced Q.931 Translator, 100
Octel voice mail systems, CallManager integration,
693, 698700
OffHookMessage message, SCCP call
processing, 144
performance counters
P
packages (MGCP), 229230
DTMF, 231232
DTMF trunkRTP, 236237
generic media, 231
handset emulation, 235236
line, 234235
MF, 232233
MF trunkRTP, 237238
RTP, 236
trunk, 233
packet drops
as source of voice quality degradation, 397400
effect on fax machines and modems, 446
packet-capture software, 106
packetization delay, isolating, 386387
page transmission speed, 434
parameter lines (MGCP), 221229
Parity parameter (CMI), 669
parked calls, 531
troubleshooting, 532533
965
Q
Q.850, 852
Q.921, 853
Q.931 Translator, 9597. See also Enhanced Q.931
Translator
queuing delay
as source of voice quality degradation, 401
isolating source of, 390391
R
RAS (Registration, Admission, and Status)
messages, 639, 853
reading traces
CCM traces, 42, 5057
through MGCP T1 PRI gateways, 5860
CMI traces, 674679
ISDN traces from MGCP gateways, 258262
calling name display, 270
cause codes, 262269
numbering type/plan mismatches,
269270
timer information, 271276
SDL traces, 6063
Real-Time Monitoring Tool, monitoring MOH
performance counters, 605607
real-time statistics, viewing with PerfMon, 6971
reconguring DC
on Publisher server, 828835
on Subscriber server, 835837
recording input of live audio sources, selecting, 620
redirecting calls, group pickup, 533538
reestablishing broken replication subscription,
807809
regions, 571
codec configuration, 568569
codec matrix, 571577
configuring for locations-based CAC, 627
registration (Skinny clients)
608/6624 modules, 324325
checking phone status display, 133
inline power, troubleshooting, 114117
messages, 127132
network connectivity, 117, 120127
conguration les, 121127
IP addressing, 118121
VLAN conguration, 118
verifying with IP Phone status messages,
133135
reinitializing subscriptions, 809
remote access tools
VNC, 108
Windows Terminal Services, 107
967
replication
correcting with replication agents, 804806
name resolution, 796797
of CDRs
conguring, 810812
troubleshooting, 813815
passwords, configuring on cluster nodes,
798802
Publisher-Subscriber model, 793796
reestablishing broken subscription, 807809
troubleshooting with Microsoft SQL Server
Enterprise Manager, 802803
Replication Monitor
reestablishing broken replication subscription,
807809
reinitializing subscriptions, 809
troubleshooting replication errors, 804806
resetting
Cisco IP Phones, 156
NSF field, 453
resolving call routing problems, 515516
reading CCM traces, 516521
response codes, 239240
response headers, 238
restarting Cisco IP Phones, 156
restrictions of SRST, 708
ringback, troubleshooting absence of, 307
during call transfer, 309
on IP phones calling PSTN, 308
on PSTN phones calling IP phones, 309
RIP (Routing Information Protocol), 853
robbed-bit signaling, 214
rollover cables, 679
route lters, 506507
multiple clauses, 512
NANP tags, 508510
route patterns. See also translation patterns
closest-match routing, 461464
pattern-matching, delayed routing, 466469
urgent priority, 502
wildcards, 460461
Route Plan Report, viewing in Cisco CallManager
Administration, 466
RouteFilter parameter (CMI), 669
S
sa (system administrator) user account, changing
password, 802
sample CCM trace, 51
SCCP (Skinny Client Control Protocol), 139
messages
analyzing in CCM traces, 148154
call processing, 140, 144148
DEVICE_RESET, 157
DEVICE_RESTART, 157
Skinny client registration, 127135
608/6624 modules, 324325
checking phone status display, 133
conguration les, 121127
inline power, troubleshooting, 114117
IP addressing, 118121
messages, 127132
network connectivity, troubleshooting,
117, 120127
verifying with RTMT, 135137
verifying with status messages, 133135
scheduled outages, preventing service-affecting
problems, 56
SDI traces, reading, 42, 5057
SDKs, Cisco IP Phone Services, 822
SDL traces
configuring, 6367
reading, 6063
troubleshooting held calls, 527529
969
restrictions, 708
routing calls to voice mail system, 731
transfer patterns, configuring, 730
SsapiKeepAliveInterval parameter (CMI), 669
standards
ITU-T H.225 specification, 651
standby CallManager, 154
StationActivateCallPlane message, SCCP call
processing, 144
StationAlarmMessage, 129
field definitions, 158160
StationCallInfo message, SCCP call processing, 145
StationCallState message, SCCP call
processing, 145
StationClearNotify message, SCCP call
processing, 146
StationClearPromptStatus message, SCCP call
processing, 146
StationCloseReceiveChannel message, SCCP call
processing, 146
StationConnectionStatisticsRequest message, SCCP
call processing, 146
StationConnectionStatisticsResponse message,
SCCP call processing, 147
StationDisplayNotify message, SCCP call
processing, 145
StationDisplayPromptStatus message, SCCP call
processing, 144
StationKeepAliveAck messages, 129
StationKeepAliveMsg, 129
StationKeypadButtonMessage message, SCCP call
processing, 144
StationOpenReceiveChannel message, SCCP call
processing, 146
StationOpenReceiveChannelAck message, SCCP
call processing, 146
StationOutputDisplayText message, SCCP call
processing, 144
StationRegisterAck messages, 129
StationRegisterMessage, 129
StationRegisterReject messages, 129
StationSelectSoftKeys message, SCCP call
processing, 144
StationSetLamp message, SCCP call
processing, 144
StationSetRinger message, SCCP call
processing, 145
T
T.30 fax transmissions, 435437, 854
T.38 fax relay, 445446, 854
T1 CAS (Channel Associated Signaling),
troubleshooting
on 6608 module, 359367
on Cisco IOS voice gateways, 214218
on MGCP-enabled ports, 276281
tags, 507510
tail circuits, 416
talker echo, isolating sources of, 412413
TAPI (Telephony Application Programming
Interface), 854
971
U
UDP (User Datagram Protocol), 854
umbrella recommendations, H.323, 281
unanswered calls, forwarding, 479480
unauthorized access to international numbers,
preventing, 545
unexpected outside dial tone, troubleshooting,
465466
unicast audio sources (MOH), troubleshooting,
615617
Unity voice mail systems
applying restrictive calling search spaces, 547
DTMF, 661662
MWI, 659661
troubleshooting resources, 662
verifying switch configuration, 658659
verifying TSP compatibility, 655656
verifying TSP configuration, 656657
UnknownCallerId service parameter
transformation, 501
UnknownCallerIdFlag service parameter
transformation, 501
UnknownCallerIdText service parameter
transformation, 501
unregistered IP Phones, tracing, 131132
unregistered Skinny clients
troubleshooting inline power problems,
114117
troubleshooting network connectivity, 117,
120127
conguration les, 121127
IP addressing, 118121
VLAN conguration, 118
urgent priority route patterns, 502
V
V.21 HDLC, 854
VAD (voice activity detection)
as source of voice quality degradation, 402404
comfort noise, 402
ValidateDns parameter (CMI), 670
variable delay, 384
dejitter delay, isolating, 393395
effect on signaling, 395396
low-speed links, isolating, 391393
queuing delay, isolating, 390391
variable-length matching (dial peers), 178179
VAT (Voice Anomaly Tracking), 166
verbose dialing forest traces, 543
verifying
CAC configuration, 640645
Cisco IOS MGCP registration status, 240249
Cisco IP Phone firmware, 165
Cisco Unity switch configuration, 658659
CRA engine status, 745748
Database Layer Monitor operation, 812813
fax/modem passthrough configuration,
441444
IP network integrity, 13
LDAP directory configuration, 745
MOH fixed audio source device configuration,
619620
physical layer connectivity on digital interfaces,
208210
Skinny client registration with RTMT, 135137
SRST configuration, 709712
TSP compatibility with Cisco Unity, 655656
TSP configuration, 656657
TSP version on CTI applications, 736
VG200 voice gateway, 170
X wildcard
CMI, 666667
service parameters, 667671, 674
traces, reading, 674679
troubleshooting with HyperTerminal,
679682
Octel, CallManager integration, 693, 698700
SMDI
CallManager integration, 662666
messages, 664666
MWI, 682685
VG248 integration, 686692
voice quality
choppy audio, isolating sources of, 397404
echo
acoustic echo, 412
electrical echo, 411412
eliminating sources of, 418429
isolating sources of, 411
perception of as problem, 414416
one-way/no-way audio, isolating sources of,
405410
voice streaming
dropped calls
media processing resources, 560
RTP/UDP, 551552
nonsurvivable endpoints, 557
CTI/TAPI endpoints, 559
H.323 gateways, 558559
Skinny gateways, 557
survivable endpoints, 552
IP Phones, 552553
MGCP gateways, 553557
VoiceMailDn parameter (CMI), 670
VoiceMailPartition parameter (CMI), 670
VoIP dial peers, 175
variable-length pattern matching, 179
VSTP (Voice Telephony Service Provider) states,
190191
debug commands, 193196
W-X-Y-Z
WANs, fax relay, 444445
wideband codecs, 855
wildcards, 460
! wildcard, 460
. wildcard, 461
@ wildcard, 461
DDIs, 487494
route lters, 506512
multiple clauses, 512
X wildcard, 460
NANP tags, 508510
Windows 2000
CCEmail
alerting methods, 81
conguring, 7680
object counters, 924925
Windows Terminal Services, 107
Wink Start (E&M), 850
winks, 214
WS-X6608 module, 587
X wildcard, 460
973