简介
本文档介绍如何对思科网真管理套件(TMS)电话簿的各种问题进行故障排除。
先决条件
要求
Cisco 建议您了解以下主题:
思科TMS
思科网真终端
Microsoft Internet Information Services (IIS)
使用的组件
本文档中的信息基于以下软件和硬件版本:
思科TMS版本14.x和15.x
TC和CE软件终端
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
相关产品
本文档还可与以下硬件和软件版本一起使用:
思科网真终端MX系列、C系列、SX系列、EX系列、会议室套件设备和MXP
思科网真 Jabber 视频 (Movi)
背景信息
TMS电话簿可使用HTTP或HTTPS进行访问,具体取决于在Microsoft Windows服务器上的IIS中启用的协议。必须在TMS中添加系统才能获取电话簿(公司目录)。 对于较新的系统,电话簿搜索是实时通信,数据不存储在系统中。TMS必须启用且必须接受连接才能使电话簿正常工作。
TMS电话簿目录
全局目录
全局目录是存储在编解码器上的文件,其中的条目无法通过遥控器进行更改。文件通过HTTP/HTTP传输到订用思科TMS中的一个或多个电话簿的所有终端。多个电话簿合并到一个电话簿中。如果它们包含超过400个条目,则终端上仅显示前400个条目。
文件按照管理工具>配置>常规设置>电话簿更新频率 字段中设置的间隔传输到终端。
这仅适用于支持globdir.prm 的终端(TC或CE软件终端不支持)。
公司目录
企业目录是思科TMS服务器上的XML服务,允许终端在每次按下终端上的电话簿按钮时直接从服务器检索电话簿。它允许使用电话簿分层结构,每个条目上有多个电话号码。还可以搜索企业目录。
系统电话簿类型
导航到管理工具>配置>常规设置 以选择您的系统电话簿类型。您可以:
仅使用集中式TMS电话簿(公司电话簿)
使用集中和下载的电话簿(两者)
使用仅下载到系统的全球电话簿(全球电话簿)
思科建议您选择公司电话簿或选择两者,因为下载的电话簿仅受传统TANDBERG终端支持。
默认设置为both,如果企业目录实时搜索失败,则全局目录可用。
用于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的服务器的IIS中存在身份验证配置问题:
如果指向“http或https://<TMSFQDN>/tms/public/external/phonebook/phonebookservice.asmx”。 它将显示是否存在DNS解析问题:
检查终端DNS配置
使用SSH检查DNS配置
使用网络界面检查DNS配置
在终端的Web界面中,导航到Configuration > System Configuration > Network 。
确定电话簿服务是否可达
在用户PC上,完成以下步骤:
在终端中,导航到Configuration > System Configuration > Phonebook Server ,并复制终端上配置的TMS电话簿URL。
将URL粘贴到浏览器窗口中。
如果您看到图中所示的页面,则意味着电话簿服务可访问。如果您未看到此页面,请验证您测试的计算机对访问地址没有任何网络限制。 如果看到Unauthorized ,则可能存在IIS问题,本文档将对此进行详细讨论。
从端点的根处,输入:curl http://<TMS IP Address>/tms/public/external/phonebook/phonebookservice.asmx
TMS电话簿和电话簿源
所有TMS电话簿都基于电话簿来源。
转至Phone Books > Manage Phone Book Sources 以管理您的电话簿源。
目前TMS电话簿来源包括:
思科TMS终端
手动列表
Active Directory
H.350目录和H.350用户目录
基于文件的电话簿
网守
其他TMS电话簿
思科TMS调配目录
系统本地电话簿
Cisco TMS管理的Cisco Unified CM
创建电话簿源后,即可将其连接到电话簿。连接源的电话簿将是您在设备上设置的电话簿。可以将多个电话簿连接到多个电话簿源
验证系统中是否设置了联系人和电话簿
验证联系人
检查电话簿来源,确认存在联系人和联系方式。
检查电话簿是否已连接到电话簿源,并确认是否存在相同的联系人和联系方法。连接源的电话簿将是您在设备上设置的电话簿。
注意: 终端和网真Jabber视频(Movi)查看电话簿中填充的内容,而不是电话簿来源。警惕两者之间的差异。
系统上的电话簿设置
确保电话簿已设置在系统上。转至Phone Books > Manage Phone Books > Select the Phone Book ,然后选择Set on Systems 。
系统列表显示在Selected Systems 右侧。
网真Jabber视频(Movi)和电话簿
注意: 客户端必须经过身份验证才能接收电话簿。它注册的VCS/Expressway区域必须是Check Credentials 或Treat as Authenticated 。
用户通过VCS/Expressway系列而不是从TMS接收电话簿。
访问控制
必须为帐户组授予对电话簿的访问权限以便进行搜索。
即使Top-Level已选中,请将其展开,并验证子级别已选中。如果只有新用户未收到电话簿,则可能是未在“访问控制”(Access Control)选项卡中选中的新组的一部分。
调配配置
在TMS Systems > Provisioning > Users 中,验证是否已配置视频地址模式。
检查分配给网真Jabber视频(Movi)用户的配置模板,了解电话簿服务器URI配置。
重复条目
如果将多个电话簿连接到一个电话簿,请务必小心,因为如果连接的源包含相同的电话簿条目,这会导致终端上出现重复的条目,或者通过Jabber Video for TelePresence(Movi)客户端出现重复的条目。
电话簿路由
如果某些终端无法获取其他终端中看到的某些电话簿条目,请注意此设置。
在Administrative Tools > Configuration > General Settings 中,有一个设置为Route Phone Book Entries。是 是默认设置,这意味着终端仅显示它们能够拨号的地址。例如,在仅H.323终端上,不会显示ISDN号码和会话发起协议(SIP)地址。否 表示终端显示电话簿中的所有地址和号码,无论其拨号功能如何。
401未授权 — IIS故障排除
最常见的电话簿问题之一是由于IIS中的错误配置引起的。必须启用IIS中公用文件夹的匿名身份验证,终端才能检索电话簿。如果未启用此功能,终端会受到身份验证的质询,而它们无法提供此功能。
要确定终端是否要求进行身份验证,请通过SSH连接到终端并使用xcommand Phonebook Search Phonebook Type 查询电话簿:公司 。如果终端受到身份验证挑战,您将看到“<Authentication fail>”(HTTP代码=401), 如下图所示。
检查IIS设置
打开与TMS服务器的远程桌面协议(RDP)会话。
打开IIS管理器 。
展开默认网站 。
展开TMS 。
选择public 。
选择
验证匿名身份验证是否已启用,如果尚未启用,则启用。
使用网络捕获
在Wireshark中分析电话簿数据
电话簿搜索以对TMS上的电话簿服务的搜索请求开始,TMS将响应该请求,如果一切正常,则搜索结果包含在响应中。
如果终端支持tcpdump,您可以在TMS服务器或终端上运行跟踪。让trace通过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:来自终端的Corporate'。>
来自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" />
将级别值从“关闭”更改为“调试”
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,则捕获将无法读取。