简介
本文档介绍Cisco Unified Communication Manager(CUCM)和Cisco Unity Connection(CUC)服务器之间安全连接的配置、验证和故障排除。
先决条件
要求
思科建议您了解CUCM。
有关详细信息,请参阅《Cisco Unified Communications Manager安全指南》。
注意:必须将其设置为混合模式才能使安全集成正常工作。
必须为Unity Connection 11.5(1)SU3及更高版本启用加密。
CLI命令“utils cuc encryption <enable/disable>”
使用的组件
本文档中的信息基于以下软件和硬件版本:
- CUCM 版本 10.5.2.11900-3.
- CUC版本10.5.2.11900-3。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
图解
此图简要说明了在CUCM和CUC之间建立安全连接的过程:
1. Call Manager在用于集成的协议上,在端口2443瘦呼叫控制协议(SCCP)或基于5061会话初始协议(SIP)上建立到CUC服务器的安全传输层安全(TLS)连接。
2. CUC服务器从TFTP服务器下载证书信任列表(CTL)文件(一次性进程),提取CallManager.pem证书并存储它。
3. CUCM服务器提供Callmanager.pem证书,该证书根据上一步中获得的CallManager.pem证书进行验证。此外,CUC证书正在根据存储在CUCM中的CUC根证书进行验证。请注意,根证书必须由管理员上传到CUCM。
4.如果证书验证成功,则建立安全TLS连接。此连接用于交换加密的SCCP或SIP信令。
5.音频流量可以作为实时传输协议(RTP)或SRTP交换。
注意:建立TLS通信时,CUCM和CUC使用TLS相互身份验证。有关详细信息,请参阅RFC5630。
配置 — 安全SIP中继
配置CUC
1.添加SIP证书
导航至CUC Administration > Telephony Integrations > Security > SIP Certificate > Add new
- 显示姓名:<any ansighted name>
- 主题名称:<任何名称,例如SecureConnection>
注意:主题名称必须与SIP中继安全配置文件中的X.509主题名称匹配(本文档稍后在CUCM配置的步骤1中配置)。
注意:证书由CUC根证书生成并签名。
2.创建新电话系统或修改默认电话系统
导航至电话集成>电话系统。您可以使用已存在的电话系统或创建新的电话系统。
3.添加新端口组
在“电话系统基础知识”页面的“相关链接”下拉框中,选择“添加端口组”并选择“转到”。在配置窗口中,输入以下信息:
- 电话系统:
- 创建自: 端口组类型SIP
- SIP安全配置文件: 5061/TLS
- SIP证书:
- 安全模式: 已加密
- 安全 RTP: 已选中
- IPv4地址或主机名:
点击保存。
4.编辑服务器
导航至Edit > Servers,然后从CUCM集群添加TFTP服务器,如下图所示。
注意:提供正确的TFTP地址非常重要。CUC服务器从此TFTP下载CTL文件,如说明。
5.重置端口组
返回到端口组基础并重置端口组,如下图所示。
6.添加语音信箱端口
在“端口组基础知识”页的“相关链接”下拉框中,选择添加端口并选择执行。在配置窗口中输入以下信息:
- 启用:已选中
- 端口数量:
- 电话系统:
- 端口组:
- 服务器:
- 端口行为:
7.下载CUC根证书
导航至Telephony Integrations > Security > Root Certificate,右键单击URL,将证书另存为名为<filename>.0的文件(文件扩展名必须为。0,而不是.htm)',然后按“save”键,如下图所示。
配置CUCM
1.为指向CUC的中继配置SIP中继安全配置文件
导航至CUCM Administration > System > Security > SIP Trunk Security Profile > Add new
确保正确填写以下字段:
- 设备安全模式: 已加密
- X.509主题名称: SecureConnection>
- 接受对话外 REFER: 已检查
- 接受未经请求的通知: 已检查
- 接受更换报头: 已检查
注意:X.509 Subject Name必须与Cisco Unity Connection服务器上SIP证书中的Subject Name字段匹配(在CUC配置的步骤1中配置)。
2.配置SIP配置文件
如果需要应用任何特定设置,请导航至Device > Device Settings > SIP Profile。否则,您可以使用标准SIP配置文件。
3.创建SIP中继
转到Device > Trunk > Add new。创建SIP中继,该中继将用于与Unity Connection的安全集成,如下图所示。
在TRUNK配置的Device Information部分,输入以下信息:
注意:确保CallManager组(在设备池配置中)包含在CUC(端口组>编辑>服务器)中配置的所有服务器。
在中继配置的Inbound Calls部分,输入以下信息:
- 呼叫搜索空间:
- 重定向转移标题传送 — 入站: 已选中
在乌本德 中继配置的呼叫部分,输入以下信息:
在中继配置的SIP信息部分,输入以下信息:
- 目的地址:
- SIP 干线安全性配置文件:
- 重新路由呼叫搜索空间:
- 对话外参考呼叫搜索空间:
- Sip 配置文件:
根据您的要求调整其他设置。
4.创建路由模式
创建指向已配置中继的路由模式(Call Routing > Route/Hunt > Route Pattern)。 输入为路由模式号码的分机可用作语音邮件引导。输入此信息:
5.创建语音邮件引导
为集成创建语音邮件引导(高级功能>语音邮件>语音邮件引导)。 输入以下值:
- 语音邮件引导号:
- 呼叫搜索空间: 包括包含用作引导的路由模式的分区>
6.创建语音邮件配置文件
创建语音邮件配置文件以将所有设置链接在一起(高级功能>语音邮件>语音邮件配置文件)。 请输入以下信息:
7.将语音邮件配置文件分配给DN
将语音邮件配置文件分配给旨在使用安全集成的DN。更改DN设置后,不要忘记单击“Apply Config”(应用配置)按钮:
导航至:呼叫路由(Call Routing)>目录号码(Directory number)并更改以下内容:
- 语音邮件配置文件: Secure_SIP_Integration
8.将CUC根证书上传为CallManager-trust
导航至OS Administration > Security > Certificate Management > Upload Certificate/Certificate Chain,并在配置为与CUC服务器通信的所有节点上将CUC根证书作为CallManager-trust上传。
注意:在上传证书后,需要重新启动Cisco CallManager服务,证书才能生效。
配置安全SCCP端口
配置CUC
1.下载CUC根证书
导航至CUC Administration > Telephony Integration > Security > Root Certificate。右键单击URL,将证书另存为名为<filename>.0的文件(文件扩展名必须为。0而不是.htm)',然后单击Save:
2.创建电话系统/修改现有电话系统。
导航至电话集成>电话系统。您可以使用已存在的电话系统或创建新的电话系统。
3.添加新的SCCP端口组
在Phone System Basics页面的Related Links下拉框中,选择Add Port Group,然后选择Go。在配置窗口中,输入以下信息:
- 电话系统:
- 端口组类型: SCCP
- 设备名称前缀*: CiscoUM1-VI
- MWI开分机:
- MWI关闭分机:
注意:此配置必须与CUCM上的配置匹配。
4.编辑服务器
导航至Edit > Servers,并从CUCM集群添加TFTP服务器。
注意:提供正确的TFTP地址非常重要。CUC服务器从此TFTP下载CTL文件,如说明。
5.添加安全SCCP端口
在“端口组基础”页的“相关链接”下拉框中,选择添加端口并选择执行。在配置窗口中输入以下信息:
- 启用:已检查
- 端口数量:
- 电话系统:
- 端口组:
- 服务器:
- 端口行为:
- 安全模式: 已加密
配置CUCM
1.添加端口
导航至 CUCM管理>高级功能>语音邮件端口配置>添加新功能。
照常配置SCCP语音邮件端口。唯一的区别在于需要选择加密语音邮件端口选项的端口配置下的设备安全模式。
2.将CUC根证书上传为CallManager-trust
导航至OS Administration > Security > Certificate Management > Upload Certificate/Certificate Chain,并将CUC根证书作为CallManager-trust上传到配置为与CUC服务器通信的所有节点上。
注意:在上传证书后,需要重新启动Cisco CallManager服务,证书才能生效。
3. 配置消息等待信息(MWI)开/关扩展
导航至CUCM Administration > Advanced Features > Voice Mail Port Configuration并配置MWI On/Off Extensions。MWI编号必须与CUC配置匹配。
4.创建语音邮件引导
为集成创建语音邮件引导(高级功能>语音邮件>语音邮件引导)。 输入以下值:
- 语音邮件引导号:
- 呼叫搜索空间: 包括包含用作引导的路由模式的分区>
5.创建语音邮件配置文件
创建语音邮件配置文件以将所有设置链接在一起(高级功能>语音邮件>语音邮件配置文件)。 输入此信息:
6.将语音邮件配置文件分配给DN
将语音邮件配置文件分配给计划使用安全集成的DN。更改DN设置后,单击Apply Config(应用配置)按钮:
导航至呼叫路由>目录号码,然后更改为:
7. 创建语音邮件寻线组
a)添加新线路组(呼叫路由>路由/寻线>线路组)
b)添加新的语音邮件寻线列表(呼叫路由>路由/寻线>寻线列表)
c)添加新的寻线引导(呼叫路由>路由/寻线>寻线引导)
验证
SCCP端口验证
导航至CUCM Administration > Advance Features > Voice Mail > Voice Mail Ports并验证端口注册。
按电话上的“语音邮件”按钮以呼叫语音邮件。如果Unity Connection系统上未配置用户分机,您应该听到开场问候语。
安全SIP中继验证
按电话上的“语音邮件”按钮以呼叫语音邮件。如果Unity Connection系统上未配置用户分机,您应该听到开场问候语。
或者,您可以启用SIP OPTIONS keepalive以监控SIP中继状态。此选项可在分配给SIP中继的SIP配置文件中启用。启用此功能后,您可以通过Device > Trunk监控Sip中继状态,如此图所示。
安全RTP呼叫验证
验证Unity Connection的呼叫中是否存在挂锁图标。这意味着RTP流已加密(设备安全配置文件必须是安全的,才能正常工作),如此图所示。
故障排除
1.一般故障排除提示
按照以下步骤排除安全集成故障:
- 验证配置。
- 确保所有相关服务都正在运行。(CUCM - CallManager、TFTP、CUC — 会话管理器)
- 确保服务器之间安全通信所需的端口在网络中处于打开状态(SCCP集成的TCP端口2443和SIP集成的TCP 5061)。
- 如果所有这些都正确,则继续收集跟踪。
2.追踪收集
收集这些跟踪以排除安全集成故障。
- 从CUCM和CUC捕获数据包
- CallManager跟踪
- 思科对话管理器跟踪
有关以下内容的更多信息,请参阅这些资源:
如何在CUCM上捕获数据包:
http://www.cisco.com/c/en/us/support/docs/voice-unified-communications/unified-communications-manager-version-50/112040-packet-capture-cucm-00.html
如何在CUC服务器上启用跟踪:
http://www.cisco.com/c/en/us/td/docs/voice_ip_comm/connection/10x/troubleshooting/guide/10xcuctsgx/10xcuctsg010.html
常见问题
第 1 种情况:无法建立安全连接(未知CA警报)
从任一服务器收集数据包捕获后,会建立TLS会话。
客户端向服务器发出警报,错误为“未知CA”(Unknown CA),原因是客户端无法验证服务器发送的证书。
有两个可能性:
1)CUCM发送警报 未知CA
- 验证当前CUC根证书是否上传到与CUC服务器通信的服务器上。
- 确保CallManager服务在相应的服务器上重新启动。
2)CUC发送警报未知CA
- 验证TFTP IP地址是否已正确输入CUC服务器的Port Group > Edit > Servers配置中。
- 验证CUCM TFTP服务器是否可从连接服务器访问。
- 确保CUCM TFTP上的CTL文件是最新的(将“show ctl”的输出与OS Admin页面上显示的证书进行比较)。 如果没有,请重新运行CTLClient。
- 重新启动CUC服务器或删除并重新创建端口组,以从CUCM TFTP重新下载CTL文件。
第 2 种情况:无法从CUCM TFTP下载CTL文件
会话管理器跟踪中显示此错误:
MiuGeneral,25,FAILED Port group 'PhoneSystem-1' attempt set InService(true), error retrieving server certificates.
MiuGeneral,25,Error executing tftp command 'tftp://10.48.47.189:69/CTLFile.tlv' res=68 (file not found on server)
MiuGeneral,25,FAILED Port group 'PhoneSystem-1' attempt set InService(true), error retrieving server certificates.
Arbiter,-1,Created port PhoneSystem-1-001 objectId='7c2e86b8-2d86-4403-840e-16397b3c626b' as ID=1
MiuGeneral,25,Port group object 'b1c966e5-27fb-4eba-a362-56a5fe9c2be7' exists
MiuGeneral,25,FAILED SetInService=true parent port group is out of service:
解决方案:
1.在Port group > Edit > Servers配置中,仔细检查TFTP服务器是否正确。
2.检验CUCM群集是否处于安全模式。
3.检验CUCM TFTP上是否存在CTL文件。
实例3:其它WRR加权修改端口不注册
会话管理器跟踪中显示此错误:
MiuSkinny,23,Failed to retrieve Certificate for CCM Server <CUCM IP Address>
MiuSkinny,23,Failed to extract any CCM Certificates - Registration cannot proceed. Starting retry timer -> 5000 msec
MiuGeneral,24,Found local CTL file [/tmp/aaaaaaaa-xxxx-xxxx-xxxx-xxxxxxxxxxxx.tlv]
MiuGeneral,25,CCMCertificateCache::RetrieveServerCertificates() failed to find CCM Server '<CUCM IP Address>' in CTL File
解决方案:
1.这很可能是由于CUCM和CUC上CTL文件的md5校验和不匹配导致
证书.重新启动CUC服务器以刷新CTL文件。
思科内部信息
或者,您可以从根中删除CTL文件,如下所示:
从/tmp/文件夹中删除CTL文件并重置端口组。您可以对文件执行md5校验和
并在删除前进行比较:
CUCM: [root@vfrscucm1 trust-certs]# md5sum /usr/local/cm/tftp/CTLFile.tlv
e5bf2ab934a42f4d8e6547dfd8cc82e8 /usr/local/cm/tftp/CTLFile.tlv
CUC: [root@vstscuc1 tmp]# cd /tmp
[root@vstscuc1 tmp]# ls -al *tlv
-rw-rw-r—. 1 cucsmgrcusservice 6120 Feb 5 15:29 a31cefe5-9359-4cbc-a0f3-52eb870d976c.tlv
[root@vstscuc1 tmp]# md5sum a31cefe5-9359-4cbc-a0f3-52eb870d976c.tlv
e5bf2ab934a42f4d8e6547dfd8cc82e8a31cefe5-9359-4cbc-a0f3-52eb870d976c.tlv
此外,您可能会参阅本故障排除指南:
缺陷
CSCum48958 - CUCM 10.0(ip地址长度不正确)
CSCtn87264 — 安全SIP端口的TLS连接失败
CSCur10758 — 无法清除已撤销的证书Unity Connection
CSCur10534 - Unity Connection 10.5 TLS/PKI op间冗余CUCM
CSCve47775 — 功能请求,用于在CUC上更新和查看CUCM的CTLFile的方法