目录

简介

先决条件

要求

使用的组件

背景信息

TMS电话簿目录

全局目录

公司目录

系统电话簿类型

用于TMS电话簿的端口

终端电话簿服务器配置

使用Web界面检查地址

使用安全外壳(SSH)检查地址

从终端测试电话簿请求

检查终端DNS配置

使用SSH检查DNS配置

使用Web界面检查DNS配置

确定电话簿服务是否可访问

TMS电话簿和电话簿源

验证系统上是否设置了联系人和电话簿

验证联系人

网真(Movi)版Jabber视频和电话簿

访问控制

调配配置

重复条目

电话簿路由

401未授权 — 排除IIS故障

检查IIS设置

使用网络捕获

分析Wireshark中的电话簿数据

TMS中的电话簿请求/响应日志记录

简介

本文档介绍如何排除思科网真管理套件(TMS)电话簿的不同问题。

先决条件

要求

Cisco 建议您了解以下主题：

- 思科TMS

- 思科网真终端

- Microsoft Internet Information Services (IIS)

使用的组件

本文档中的信息基于以下软件和硬件版本：

- 思科TMS版本14.x和15.x

- TC和CE软件终端

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您使用的是真实网络，请确保您已经了解所有命令的潜在影响。

相关产品

本文档也可用于以下硬件和软件版本：

- 思科网真终端MX系列、C系列、SX系列、EX系列、房间套件设备和MXP

- 思科网真 Jabber 视频 (Movi)

背景信息

使用HTTP或HTTPS（基于在Microsoft Windows服务器上的IIS中启用的协议）可访问TMS电话簿。必须在TMS中添加系统才能获取电话簿（公司目录）。 对于较新的系统，电话簿搜索是实时通信，数据不存储在系统中。TMS必须启动，并且必须接受连接才能使电话簿正常工作。

TMS电话簿目录

全局目录

全局目录是存储在编解码器上的文件，其中的条目无法通过遥控器更改。文件通过HTTP/HTTP传输到订用思科TMS中一个或多个电话簿的所有终端。多个电话簿合并到一个电话簿中。如果条目超过400个，则终端上仅显示前400个条目。

文件将按照在“管理工具”>“配置”>“常规设置”>“电话簿更新频率”字段中设置的时间间隔传输到终端。

这仅适用于支持globdir.prm的终端(TC或CE软件终端不支持)。

公司目录

企业目录是思科TMS服务器上的XML服务，允许终端在每次按下终端上的电话簿按钮时直接从服务器检索电话簿。它允许电话簿的层次结构和每个条目上的多个电话号码。公司目录也可搜索。

系统电话簿类型

导航至管理工具>配置>常规设置以选择系统电话簿类型。您可以：

- 仅使用集中式TMS电话簿（企业电话簿）

- 同时使用集中式电话簿和下载的电话簿（两者）

- 仅使用下载到系统的全球电话簿（全球电话簿）

思科建议您选择公司电话簿或同时选择两者，因为下载的电话簿仅受传统TANDBERG终端支持。

默认设置为两者，这使全局目录在公司目录实时搜索失败时可用。

用于TMS电话簿的端口

终端使用端口80(HTTP)或端口443(HTTP)访问TMS电话簿服务。 验证Microsoft Windows Server防火墙和路径中可能存在的任何网络防火墙上是否允许这些端口。

终端电话簿服务器配置

将系统添加到TMS后，它应接收一组管理设置，其中包含反馈地址、外部管理地址和电话簿地址。系统上的地址可以从系统的Web界面、xAPI(xConfiguration //phonebook)或从系统上的用户界面进行检查。

推出到终端的地址由TMS中在Advanced Network Settings for Systems on Internal LAN下的Administrative Tools > Configuration > Network Settings中的配置决定。如果已配置TMS Server IPv4 Address字段，并且 TMS服务器完全限定主机名 字段为空，则使用IP地址，但如果两个字段都已填充，则首选并使用完全限定域名(FQDN)。

检查电话簿URL时，必须注意<TMSaddress>是FQDN还是IP地址。如果它是FQDN，则终端还必须配置有效的域名服务器(DNS)。如果终端上未配置DNS，则无法解析FQDN以检索电话簿。有关验证DNS的步骤，请参阅检查终端DNS配置部分。

注意：确保IP地址正确。有时，客户最近将TMS从一台服务器移到另一台服务器，他们有另一台实验室TMS，或者可能存在非法TMS。

使用Web界面检查地址

在终端的Web界面中，导航至Configuration > System Configuration > Phonebook Server。验证电话簿设置是否正确。最重要的是，URL应与以下格式匹配：http://<TMSaddress>/tms/public/external/phonebook/phonebookservice.asmx。

使用安全外壳(SSH)检查地址

以下是使用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"

从终端测试电话簿请求

确定连接的最快方法是使用管理员凭证通过SSH连接到终端并运行以下命令：

xcommand电话簿搜索电话簿类型：公司

在工作场景中，这将返回两个结果之一，具体取决于分配给终端的电话簿数量。

如果有一本电话簿：

如果应用了多个电话簿，则结果将列出电话簿文件夹：

此命令还将识别任何连接问题。例如：

- 如果未将电话簿分配给TMS中的终端：

- 如果无法联系电话簿服务：

如果托管TMS的服务器上的IIS中存在身份验证配置问题：

如果指向“http或https://<TMSFQDN>/tms/public/external/phonebook/phonebookservice.asmx”。 它将显示是否存在DNS解析问题：

检查终端DNS配置

使用SSH检查DNS配置

使用Web界面检查DNS配置

在终端的Web界面中，导航至Configuration > System Configuration > Network。

确定电话簿服务是否可访问

从用户PC完成以下步骤：

1. 在终端中，导航至Configuration > System Configuration > Phonebook Server，然后复制在终端上配置的TMS电话簿URL。

2. 将URL粘贴到浏览器窗口。

如果您看到图中显示的页面，则表示电话簿服务可访问。如果您没有看到此页面，请验证您测试的计算机是否没有任何网络限制来访问该地址。

如果您看到未授权，则IIS可能存在问题，本文档将进一步讨论该问题。

从终端的根，输入：curl http://<TMS IP Address>/tms/public/external/phonebook/phonebookservice.asmx

TMS电话簿和电话簿源

所有TMS电话簿都基于电话簿源而构建。

转到“电话簿”>“管理电话簿源”以管理电话簿源。

当前TMS电话簿源包括：

- 思科TMS终端

- 手动列表

- Active Directory

- H.350目录和H.350用户目录

- 基于文件的电话簿

- 网守

- 其他TMS电话簿

- 思科TMS调配目录

- 系统本地电话簿

- 思科TMS托管Cisco Unified CM

创建电话簿源后，即可将其连接到电话簿。将源连接到的电话簿将是您在设备上设置的电话簿。您可以将多个电话簿连接到多个电话簿源

验证系统上是否设置了联系人和电话簿

验证联系人

检查电话簿源并验证联系人和联系方式是否存在。

检查电话簿是否已连接到电话簿源，并验证是否存在相同的联系方式和联系方式。将源连接到的电话簿将是您在设备上设置的电话簿。

注意：终端和网真Jabber视频(Movi)可查看电话簿中填充的内容，而不是电话簿源。注意两者之间的差异。

系统上的电话簿集

确保已在系统上设置电话簿。转至“电话簿”>“管理电话簿”>选择“电话簿”，然后选择“在系统上设置”。

系统列表显示在右侧的“选定系统”下方。

网真(Movi)版Jabber视频和电话簿

注意：必须对客户端进行身份验证才能接收电话簿。其注册的VCS/Expressway区域必须是“检查凭证”或“视为已验证”。

用户通过VCS/Expressway系列接收电话簿，而不是从TMS接收。

访问控制

必须为帐户组授予对电话簿的访问控制权才能搜索它。

即使选中了“顶级”，也要展开它，并验证是否已选中子级。如果只有新用户没有收到电话簿，他们可能是未在“访问控制”选项卡中选中的新组的一部分。

调配配置

1. 在TMS Systems > Provisioning > Users中，验证视频地址模式已配置。

2. 检查分配给网真Jabber视频(Movi)用户的配置模板，以查找电话簿服务器URI配置。

重复条目

如果将多个电话簿连接到单个电话簿，请谨慎，因为如果连接的源包含相同的电话簿条目，这可能导致终端或Jabber网真视频(Movi)客户端出现重复条目。

电话簿路由

请注意此设置，以防某些终端无法获得在其他终端中看到的部分电话簿条目。

在管理工具>配置>常规设置中，有一个称为路由电话簿条目的设置。是是默认设置，这意味着终端仅显示其能够拨号的地址。例如，在仅H.323的终端上，不显示ISDN号码和会话发起协议(SIP)地址。否表示终端显示电话簿中的所有地址和号码，无论其拨号功能如何。

401未授权 — 排除IIS故障

最常见的电话簿问题之一是IIS中配置错误。必须为IIS中的公用文件夹启用匿名身份验证，终端才能检索电话簿。如果未启用此功能，终端将面临无法提供的身份验证的挑战。

为了确定终端是否受到身份验证质询，请通过SSH连接到终端，并使用xcommand Phonebook Search Phonebook Type(xcommand电话簿搜索电话簿类型)查询电话簿：公司。如果终端面临身份验证质询，您将看到“<Authentication fail>”（HTTP代码=401），如下图所示。

检查IIS设置

1. 打开与TMS服务器的远程桌面协议(RDP)会话。

2. 打开IIS管理器 。

3. 展开默认网站。

4. 展开TMS。

5. 选择public。

6. 选择

7. 验证Anonymous Authentication是否已启用，如果尚未启用，则启用。

使用网络捕获

分析Wireshark中的电话簿数据

电话簿搜索从对TMS上的电话簿服务的搜索请求开始，如果一切正常，TMS会响应该搜索请求，并将搜索结果包括在响应中。

如果终端支持tcpdump，则可以在TMS服务器或终端上运行跟踪。让跟踪通过Web界面或从用户界面运行和访问电话簿。您应该看到TMS服务器上出现搜索请求。

在此TCP数据流后，您将看到XML的两个主要组件：

首先，终端将识别自身，例如：

<Search>

<Identification>

<SystemName>RoomKit</SystemName>

<MACAddress>08:96:ad:5a:f4:f4</MACAddress>

<IPAddress>14.49.31.33</IPAddress>

<IPAddressV6 type="Local">fe80::a96:adff:fe5a:f4f4</IPAddressV6>

<ProductType>Cisco Codec</ProductType>

<ProductID>Cisco Webex Room Kit</ProductID>

<SWVersion>ce9.9.0.3a4afe323b0</SWVersion>

<SerialNumber>FOC2108NFRA</SerialNumber>

</Identification>

接下来，您将看到请求的详细信息：

<CaseSensitiveSearch>false</CaseSensitiveSearch>

<SearchPath/>

<SearchString/>

<SearchType>Free</SearchType>

<Scope>SubTree</Scope>

<MaxResult>50</MaxResult>

<RangeInclusive>false</RangeInclusive>

</Search>

<注意：详细信息值将根据所发出的请求而更改。上述请求是使用ssh命令“xcommand Phonebook Search PhonebookType:公司”。>

来自TMS服务器的响应应为200 OK。否则，您可以根据收到的不同消息进行故障排除。

200 OK响应将包含分配给TMS中终端的电话簿中的相关条目。在上述请求中，终端在TMS中分配了一个电话簿，响应如下所示：

<SearchResponse xmlns="http://www.tandberg.net/2004/06/PhoneBookSearch/">

<SearchResult>

<Name />

<Id />

<Entry>

<Name>HDX8000</Name>

<Id>e_92750</Id>

<Route>

<CallType>384</CallType>

<Protocol>H323</Protocol>

<Restrict>Norestrict</Restrict>

<DialString>hdx8000</DialString>

<Description>hdx8000 (H.323)</Description>

<SystemType>Polycom HDX 8000 HD</SystemType>

</Route>

<IsLast>false</IsLast>

<IsFirst>true</IsFirst>

<BaseDN />

<SystemType>Polycom HDX 8000 HD</SystemType>

</Entry>

<Entry>

<Name>SX10</Name>

<Id>e_92749</Id>

<Route>

<CallType>384</CallType>

<Protocol>SIP</Protocol>

<Restrict>Norestrict</Restrict>

<DialString>sx10@example.com</DialString>

<Description>sx10@example.com (SIP)</Description>

<SystemType>Cisco TelePresence SX10</SystemType>

</Route>

<IsLast>false</IsLast>

<IsFirst>false</IsFirst>

<BaseDN />

<SystemType>Cisco TelePresence SX10</SystemType>

</Entry>

<NoOfEntries>7</NoOfEntries>

<FolderExists>true</FolderExists>

</SearchResult>

</SearchResponse>

TMS中的电话簿请求/响应日志记录

TMS 15.8引入了记录所有电话簿请求及其响应的功能。默认情况下，此日志记录处于禁用状态，但可通过两种方式启用。

1.通过修改默认位于“C:\Program Files (x86)\TANDBERG\TMS.\wwwTMS\Public\web.config”的web.config文件并修改此部分：

<logger name="Tandberg.TMS.Phonebook.PhonebookRequestResponse" additivity="false">

<level value="OFF" />

将级别值从“OFF”更改为“DEBUG”

2.通过检查以下内容，也可以更轻松地使用TMS日志收集实用程序：

电话簿请求到达TMS应用程序后，将写入日志。此文件的默认位置是“C:\Program Files (x86)\TANDBERG\TMS.\data\Logs\TMSDebug\log-phonebook-request-response.txt”

以下输出示例：

Incoming Request

2020-01-08 09:30:54,856|PhoneBookService [ec3eaf80-f519-4573-9e68-3d98ab494d0b] REQUEST : Identification = 14.49.31.33,Scope = SubTree,Start Time = 1/8/2020 9:30:54 AM,Start From Id = "",End At Id = "",Max Result = 50,Search String = "",Search Path = "",Range Inclusive = False,Case Sensitive Search = False,Search Type = Free,Starts With = "",

Outgoing Response

2020-01-08 09:30:55,121|PhoneBookService [ec3eaf80-f519-4573-9e68-3d98ab494d0b] RESPONSE : 14.49.31.33 <?xml version="1.0" encoding="utf-16"?><Catalog xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Name /><Id /><Entry><Name>HDX8000</Name><Id>e_92750</Id><Route><CallType>384</CallType><Protocol>H323</Protocol><Restrict>Norestrict</Restrict><DialString>hdx8000</DialString><Description>hdx8000 (H.323)</Description><SystemType>Polycom HDX 8000 HD</SystemType></Route><Route><CallType>384</CallType><Protocol>H323</Protocol><Restrict>Norestrict</Restrict><DialString>1001</DialString><Description>1001 (H.323)</Description><SystemType>Polycom HDX 8000 HD</SystemType></Route><Route><CallType>384</CallType><Protocol>H323</Protocol><Restrict>Norestrict</Restrict><DialString>14.49.31.35</DialString><Description>14.49.31.35 (H.323)</Description><SystemType>Polycom HDX 8000 HD</SystemType></Route><IsLast>false</IsLast><IsFirst>true</IsFirst><BaseDN /><SystemType>Polycom HDX 8000 HD</SystemType></Entry><Entry><Name>SX10</Name><Id>e_92749</Id><Route><CallType>384</CallType><Protocol>SIP</Protocol><Restrict>Norestrict</Restrict><DialString>sx10@example.com</DialString><Description>sx10@example.com (SIP)</Description><SystemType>Cisco TelePresence SX10</SystemType></Route><IsLast>false</IsLast><IsFirst>false</IsFirst><BaseDN /><SystemType>Cisco TelePresence SX10</SystemType></Entry><IsLast>false</IsLast><IsFirst>false</IsFirst><NoOfEntries>7</NoOfEntries><FolderExists>true</FolderExists></Catalog>

请注意，这与数据包捕获中看到的POST和200 OK非常相似。但是，无论使用HTTP还是HTTPS，这都是相同的。而如果使用HTTPS，则捕获将不可读。