This document describes how to troubleshoot different issues with Cisco TelePresence Management Suite (TMS) phone books.
Cisco recommends that you have knowledge of these topics:
Cisco TelePresence Endpoints
Microsoft Internet Information Services (IIS)
The information in this document is based on these software and hardware versions:
Cisco TMS Version 14.x
Cisco TelePresence C40
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
This document can also be used with these hardware and software versions:
Cisco TelePresence Endpoints MX-Series, C-Series, SX-Series, EX-Series, and MXPs
Cisco Jabber Video for TelePresence
The TMS phone books are accessible with the use of HTTP or HTTPS based on which protocol is enabled in IIS on the Microsoft Windows server. The system must be added in TMS in order to get the phone book (corporate directory). For newer systems, the phone book search is a live communication, and the data is not stored on the system. TMS must be up and it must accept connections in order for phone books to work.
TMS Phone Book Directories
The Global Directory is a file stored on the codec where the entries cannot be changed via the remote control. The file is transmitted by HTTP/HTTPs to all endpoints that subscribe to one or more phone books in Cisco TMS. Multiple phone books are merged into one phone book. If they contain more than 400 entries, only the first 400 are shown on the endpoint.
The file is transmitted to the endpoint on the intervals set in the Administrative Tools > Configuration > General Settings > Phone Books Update Frequency field.
This only works on endpoints that support the globdir.prm (MXPs, Tandberg Classics).
The Corporate Directory is an XML service on the Cisco TMS server that allows the endpoint to retrieve the phone books directly from the server every time the phone book button on the endpoint is pressed. It allows for a hierarchy of phone books and multiple phone numbers on every entry. The Corporate Directory is also searchable.
System Phone Book Types
Navigate to Administrative Tools > Configuration > General Settings in order to select your system phone book type. You can:
Use centralized TMS phone books only (corporate phone book)
Use both centralized and downloaded phone books (both)
Use global phone books downloaded to systems only (global phone book)
Cisco recommends that you opt for the corporate phone book or both, because the downloaded phone book is only supported by legacy TANDBERG endpoints.
The default setting is both, which makes the global directory available should the corporate directory live search fail.
Ports Used for TMS Phone Books
The endpoints access the TMS Phonebook service with either port 80 (HTTP) or port 443 (HTTPs). Verify that these ports are allowed on the Microsoft Windows Server firewall and any network firewall that might be in the path.
Endpoint Phone Book Server Configuration
Once a system is added to TMS, it should receive a set of management settings that contains the feedback address, external management address, and the phonebook address. The address on the system can be checked from the Web Interface of the system, xAPI (xConfiguration //phonebook), or from the User Interface on the system.
The address pushed out to the endpoint is determined by what is configured in TMS at Administrative Tools > Configuration > Network Settings under Advanced Network Settings for Systems on Internal LAN. If the TMS Server IPv4 Address field is configured and the TMS Server Fully Qualified Hostnamefield is empty, then the IP Address is used, but if both fields are populated, the Fully Qualified Domain Name (FQDN) is preferred and used.
When you check the phone book URL, it is important to notice if the <TMSaddress> is a FQDN or an IP address. If it is an FQDN, the endpoint must also have a valid Domain Name Server (DNS) configured. If DNS is not configured on the endpoint, it is not able to resolve the FQDN in order to retrieve phone books. Refer to the Check Endpoint DNS Configuration section for steps to verify the DNS.
Note: Make sure the IP address is correct. Sometimes customers have recently moved TMS from one server to another, they have another lab TMS, or a rogue TMS might exist.
Check the Address with the Web Interface
Within the web interface of the endpoint, navigate to Configuration > System Configuration > Phonebook Server. Verify that the phone book settings are correct. Most importantly, the URL should match this format: http://<TMSaddress>/tms/public/external/phonebook/phonebookservice.asmx.
Check the Address with Secure Shell (SSH)
Here is how you check the address with SSH:
xConfiguration //phonebook *c xConfiguration Phonebook Server 1 ID: "default" *c xConfiguration Phonebook Server 1 Type: TMS *c xConfiguration Phonebook Server 1 URL: "http://<TMSaddress>/tms/public/external/ phonebook/phonebookservice.asmx"
Check Endpoint DNS Configuration
Check the DNS Configuration with SSH
Check the DNS Configuration with the Web Interface
Within the web interface of the endpoint, navigate to Configuration > System Configuration > Network.
Tip: If the Phonebook Server address is configured to use the TMS FQDN, you can modify this to be the TMS Server IP address to help rule out possible DNS issues.
Determine if the Phone Book Service is Reachable
From a User PC, complete these steps:
Within the endpoint, navigate to Configuration > System Configuration > Phonebook Server, and copy the TMS phone book URL configured on the endpoint.
Paste the URL into a browser window.
If you see the page shown in the image, it means that the phonebook service is reachable. If you do not see this page, verify that the computer you test on does not have any network restrictions to access the address.
If you see an Unauthorized, then there might be an issue with IIS, which is discussed further in this document.
From the Root of the endpoint, enter: curl http://<TMS IP Address>/tms/public/external/phonebook/phonebookservice.asmx
TMS Phone Book and Phone Book Source
All TMS phone books are built off of phone book sources.
Go to Phone Books > Manage Phone Book Sources in order to manage your phone book sources.
Currently TMS phone book sources consist of:
Cisco TMS Endpoint
H.350 Directory and H.350 User Directory
File-Based Phone Book
Other TMS Phone Book
Cisco TMS Provisioning Directory
System Local Phone Book
Cisco TMS-Managed Cisco Unified CM
Once a phone book source has been created, you connect it to a phone book. The phone book you connect the source to will be the phone book you set on devices. You can connect multiple phone books to multiple phone book sources
Verify Contacts and Phone Book is Set on System
Check the phone book source and verify that contacts and contact methods exist.
Check that the phone book is connected to the phone book source and verify that the same contacts and contact methods exist. The phone book you connect the source to will be the phone book you set on devices.
Note: Endpoints and Jabber see what is populated in the phone book, not the phone book source. Be alert for differences between the two.
Phone Book Set on System
Make sure the phone books have been set on the system. Go to Phone Books > Manage Phone Books > Select the Phone Book and select Set on Systems.
A list of the systems appears on the right under Selected Systems.
Jabber and Phone Books
Note: Jabber must be authenticated in order to receive phone books. The zone in which it registers must either be Check Credentials or Treat as Authenticated.
Jabber users receive the phone book through the Video Communication Server (VCS) Conrol and not the TMS.
Jabber must be given access control to the phone book in order to search it.
Even if the Top-Level is checked, expand it, and verify that the sub-levels are checked. If only new users do not receive phone books, it is possible they are part of a new group that is not checked within the Access Control tab.
In TMS Systems > Provisioning > Users, verify that the Video Address Pattern is configured.
Check the configuration template assigned to the Jabber user for the phone book Server URI configuration.
Be cautious if you connect multiple phone books to a single phone book, because this can cause duplicate entries to appear on endpoints or with the Cisco Jabber Video for TelePresence client if the connected sources contain the same phone book entries.
Phone Book Routing
Be aware of this setting in case some endpoints do not get some of the phone book entries that are seen in other endpoints.
In Administrative Tools > Configuration > General Settings, there is a setting called Route Phone Book Entries. Yes is the default setting, which means that endpoints only display addresses that they are capable of dialing. For example, on an H.323-only endpoint, ISDN numbers and Session Initiation Protocol (SIP) addresses are not displayed. No means that the endpoints display all addresses and numbers in the phone book regardless of their dialing capabilities.
401 Unauthorized - Troubleshoot IIS
One of the most common phone book issues is caused by a misconfiguration in IIS. Anonymous Authentication must be enabled for the public folder in IIS for the endpoints to be able to retrieve phone books. If this is not enabled, the endpoints are challenged for authentication they are unable to provide.
In order to determine if the endpoint is challenged for authentication, SSH into the endpoint and query for the phone book with xcommand Phonebook Search Phonebook Type: Corporate. If the endpoint is challenged for authentication, you will see '<Authentication fail>' (HTTP code=401) as seen in this image.
Successful Phone Book Query
Check IIS Settings
Open a Remote Desktop Protocol (RDP) session with the TMS server.
Verify that Anonymous Authentication is enabled, and enable if it is not already.
Use a Network Capture
Analyze Phonebook Data in Wireshark
The phone book search starts with a search request to the phone book service on TMS which TMS responds to and includes the search result in the response if everything works.
You can run the trace on the TMS server or on the endpoint if the endpoint supports tcpdump. Let the trace run and access the phonebook via the web interface or from the User Interface. You should see a search request come in on the TMS server.
The response from the TMS Server should be a 200 OK. Otherwise you can troubleshoot based on the different message you receive.