目录

技术领域

问题描述

背景介绍

问题分析

最佳实践

技术领域

CUCM 8.X, IP phone 7945, 7965, 7975

问题描述

用户最近完成了CUCM到8.X的升级，从此访问企业目录或者个人目录时，电话上显示主机不能被找到 (host not found)。此类问题只发生在7945等第三代电话上，而IP communicator不受影响。

背景介绍

从CUCM 8.X开始，CUCM引入了security by default的特性，通过https来加密IP电话和CUCM之间的通讯，从而用户在IP电话上输入的敏感信息不再担心被破解。

IP电话基于证书的信任关系来建立会话，但由于IP phone本身不存储https 服务器端的证书，所以他第一次建立会话时会向 CUCM上的 TVS (Trust Verification Service)请求证书验证，如果TVS信任当前的https服务器端的证书，IP phone就会信任此证书从而成功建立https会话，反之则会话建立失败。

问题分析

1. 从IP电话端的日志，我们可以确认IP Phone是否向TVS发起了证书验证请求，并且获得TVS认证的结果。

4166: NOT 14:52:33.535327 SECD: tvsBldMsg: The request id in the TVS request sent out is 1016

4167: NOT 14:52:33.537241 SECD: initiateTvsCertAuth: Successfully sent the certificate

Authentication request to TVS server, bytes written : 694

4168: NOT 14:52:33.539301 SECD: initiateTvsCertAuth: Done sending Certificate Validation request

4169: NOT 14:52:33.542561 SECD: sendTvsClientReqToSrvr: Authenticate Certificate : request sent to TVS server - waiting for

response

4174: NOT 14:52:33.558630 SECD: processTvsSrvrResponse: Success reading the message from the TVS server, len : 14

4175: NOT 14:52:33.559513 SECD: tvsDecodeSrvrResponse: messageType : 2, requestid : 1016,messageLen : 4

4176: NOT 14:52:33.563023 SECD: tvsDecodeSrvrResponse: status : 1, certLen : 0

4178: NOT 14:52:33.564833 SECD: processTvsSrvrResponse: Authentication Response received,status : 1

4179: ERR 14:52:33.565741 SECD: EROR:processTvsSrvrResponse: Authentication Response received with status failure

上面的错误表明TVS不信任当前IP phone发送过来的证书， 此证书即当前CUCM的tomcat 证书，文件名 tomcat.pem

2. 其次，我们从TVS的日志分析入手，查看为什么此证书不被信任

14:52:33.917 |-->debug

14:52:33.917 |   debug CertificateDBCache::getCertificateInformation - Looking up the certificate cache using Unique MAP ID : 53F15E319C7734063566E7BCFF370AC BCN=UCMA;OU=SJC;O=SJC;L=SJC;ST=SJC;C=US

14:52:33.917 |<--debug

14:52:33.917 |-->debug

14:52:33.917 |   debug ERROR:CertificateDBCache::getCertificateInformation - Cannot find the certificate in the cache

上面的错误表明当前的CUCM数据库中并不存在此证书。

3. 通过重新生成tomcat.pem和重新启动tomcat service，此问题得以解决。

最佳实践

1. 检查当前CUCM的TVS 是否正常运行。

2. 如果曾经更新过tomcat证书，重新启动相应CUCM服务器的Tomcat服务以确保服务器端使用的是最新的证书。（在CUCM的OS administration, Security, certificate management菜单下）

3. 如果当前Tomcat证书不被TVS信任，可重启TVS服务或重新生成tomcat证书并重新启动tomcat. （在CUCM的命令行下可以重启Tomcat服务，admin: utils service restart Cisco Tomcat）