简介
本文档介绍如何在Cisco Unified Communications Manager Express(CME)上配置目录服务并排除故障。
作者:Srinivasa Dee Conda,编辑者:Cisco TAC工程师Ramiro Amaya。
先决条件
要求
思科建议您基本了解以下主题:
使用的组件
本文档不限于特定软件版本。但是,本文档中使用的组件有:
背景信息
1.本地目录
- CME会创建一个本地目录,该目录显示给已注册的每台IP电话。
- 此本地目录包括在CME中创建的所有电话DN。
- 此外,CME管理员可手动将号码添加到本地目录。
- 电话用户可以通过以下方式浏览此目录:
- 按电话上的目录功能按钮
- 选择本地目录
- 键入要搜索的目标用户的名字/姓氏。如果这些字段留空,则显示本地目录中的所有用户
- 本地目录页面以XML格式显示给电话用户,使用HTTP访问,无密码保护。按下“目录”按钮后,电话将HTTP请求发送到CME,以获取URL http://#CME-IP#/localdirectory。CME解析URL并使用XML URL进行响应。
- 在电话注册期间,此URL将作为电话配置文件的一部分提供到电话目录功能按钮。
2.外部目录
- IP电话(消息、目录、设置等)中的每个功能按钮都支持URL关联
- 该按钮的功能基于关联的URL
- 基于此,可以将外部URL分配到“目录”功能按钮。完成此操作后,IP电话将浏览CME中的外部目录而非本地目录
- 创建外部目录URL后,本地目录服务在CME中自动禁用
注意: 需要重置IP电话才能获取新URL
3.被叫名称显示
- 此功能允许在被叫方电话上显示被叫方名称
- 从本地目录获取被叫方名称。这可以是分配给ephone DN或手动添加到本地目录的名称。
- 如果电话DN名称和手动目录条目之间有重叠,则优先使用手动条目。
配置
telephony-service
service dnis dir-lookup
directory entry 1 3011 name Test-Phone1
!
ephone-dn 1 dual-line
number 3011
name Test-Phone1
配置模板
ip http server
!
telephony-service
directory {first-name-first | last-name-first} !!!... Change the display mode of directory entries
directory entry {directory-tag number name name | clear} !!!... Manually add directory entries
no service local-directory !!!... Manually disable local directory services
url directories url !!!... Configure external directory URL
service dnis dir-lookup !!!... Enable called-name display feature
!
voice register global
url directory url
!
ephone-dn dn-tag
name name
!
voice register dn dn-tag
name name
限制
- 配置外部目录服务仅适用于非基于Java的电话。任何基于Java的电话都将显示以下重复目录:
- 如果您想将CUCM用作外部目录,应在CUCM中配置电话以实现其MAC地址。电话无需向CUCM注册或分配DN,但必须为MAC地址配置DN。
故障排除
在CME上收集数据包捕获,在CME上收集“debug ip http all”,以检查CME与IP电话之间的交互,以获取本地目录服务。
此代码段说明IP电话和CME之间用于目录搜索的分步交互。
成功搜索场景
1.按电话上的“目录”按钮
Router2811#
101245: Mar 24 07:29:24.992: %RITE-5-CAPTURE_START: Started IP traffic capture for interface FastEthernet0/0
101246: Mar 24 07:29:33.424: lds_urlhook, url=/localdirectory
101247: Mar 24 07:29:33.424: Mon, 24 Mar 2014 07:29:33 GMT 10.65.47.115 /localdirectory ok
Protocol = HTTP/1.1 Method = GET Query = locale=English_United_States&name=SEP000000000002
101248: Mar 24 07:29:33.424:
101249: Mar 24 07:29:33.428: local_directory_search_get_action: minor = 0, uri_index =locale=English_United_States&name=SEP000000000002
101250: Mar 24 07:29:33.428: ipkeyswitch_ldir_send_file 1: page 0
101251: Mar 24 07:29:33.428: ipkeyswitch_ldir_send_file 3: to send prologue
Router2811#
2.选择目录
Router2811#
101252: Mar 24 07:29:54.696: lds_urlhook, url=/localdirectory/query
101253: Mar 24 07:29:54.696: Mon, 24 Mar 2014 07:29:54 GMT 10.65.47.115 /localdirectory/query ok
Protocol = HTTP/1.1 Method = GET
101254: Mar 24 07:29:54.696:
101255: Mar 24 07:29:54.700: local_directory_search_get_action: minor = 1, uri_index =
101256: Mar 24 07:29:54.700: ipkeyswitch_ldir_send_file 1: page 1
101257: Mar 24 07:29:54.700: ipkeyswitch_ldir_send_file 3: to send prologue
Router2811#
3. 输入用户的名字并按提交 (示例名字=测试)
Router2811#
101258: Mar 24 07:30:15.909: lds_urlhook, url=/localdirectory/search
101259: Mar 24 07:30:15.909: Mon, 24 Mar 2014 07:30:15 GMT 10.65.47.115 /localdirectory/search ok
Protocol = HTTP/1.1 Method = GET Query = f=Test
101260: Mar 24 07:30:15.909:
101261: Mar 24 07:30:15.913: local_directory_search_get_action: minor = 2, uri_index =f=Test
101262: Mar 24 07:30:15.913: ipkeyswitch_ldir_send_file 1: page 2
101263: Mar 24 07:30:15.913: ipkeyswitch_ldir_send_file 3: to send prologue
101264: Mar 24 07:30:15.913: ipkeyswitch_dir_search_result 1: f=Test
101265: Mar 24 07:30:15.913: ipkeyswitch_dir_search_result 2: f=Test
101266: Mar 24 07:30:15.913: ipkeyswitch_dir_search_result token:f=Test, l=, p=
101267: Mar 24 07:30:15.913: ipkeyswitch_dir_search_result length:f=4, l=0, p=0
101268: Mar 24 07:30:15.913: valid_ephone_dn check for number: 3001
101269: Mar 24 07:30:15.913: valid_ephone_dn check for number: 3002
101270: Mar 24 07:30:15.917: valid_ephone_dn check for number: 3003
101271: Mar 24 07:30:15.917: valid_ephone_dn check for number: 3004
101272: Mar 24 07:30:15.917: valid_ephone_dn check for number: 3005
101273: Mar 24 07:30:15.917: valid_ephone_dn check for number: 3006
101274: Mar 24 07:30:15.917: valid_ephone_dn check for number: 3007
101275: Mar 24 07:30:15.917: valid_ephone_dn check for number: 19990000
101276: Mar 24 07:30:15.917: valid_ephone_dn invalid dn 9 number: 19990000
101277: Mar 24 07:30:15.917: valid_ephone_dn check for number: 3101
101278: Mar 24 07:30:15.917: valid_ephone_dn check for number: 3102
101279: Mar 24 07:30:15.917: valid_ephone_dn check for number:
101280: Mar 24 07:30:15.917: valid_ephone_dn check for number: 28282
101281: Mar 24 07:30:15.917: valid_ephone_dn check for number: 3998
101282: Mar 24 07:30:15.917: valid_ephone_dn check for number: 3457
101283: Mar 24 07:30:15.921: valid_ephone_dn check for number:
101284: Mar 24 07:30:15.921: valid_ephone_dn check for number: 3011
101285: Mar 24 07:30:15.921: ip_keyswitch_search_ephone_dn:
f=Test-Phone1, l=
101286: Mar 24 07:30:15.921: ip_keyswitch_search_ephone_dn:
matches: 1
101287: Mar 24 07:30:15.921: valid_ephone_dn check for number: 3012
101288: Mar 24 07:30:15.921: ip_keyswitch_search_sip_phone:
f=cisco, l=
101289: Mar 24 07:30:15.921: ip_keyswitch_search_sip_phone:
f=Harp, l=Test
101290: Mar 24 07:30:15.921: ip_keyswitch_search_directory_entry :
f=Test-Phone1, l=
101291: Mar 24 07:30:15.921: ip_keyswitch_search_directory_entry: 2