思科统一边界元素(CUBE)可促进E.164被叫号码到会话初始协议(SIP)统一资源标识符(URI)(ENUM)的映射。 SIP ENUM技术允许网络的传统电话部分(使用E.164编号以寻址目的地)与网络的SIP电话部分交互,通常使用SIP URI。
从公共交换电话网(PSTN)网络,如果最终用户拨打E.164被叫方,该号码可通过ENUM网关转换为相应的SIP URI。然后,此SIP URI用于查找域名系统(DNS)命名机构指针(NAPTR)资源记录(RR)。 NAPTR RR(如RFC 2915中定义)描述了如何转发或终止呼叫并记录信息,如电子邮件地址、传真号码、个人网站、IP语音(VoIP)号码、移动电话号码、语音邮件系统、IP电话地址和网页。
或者,当主叫方是VoIP终端并拨打E.164号码时,发起方的SIP用户代理(UA)会将其转换为SIP URI,以便用于查看ENUM网关DNS并获取NAPTR RR。
尝试进行此配置之前,请确保满足以下要求:
有关如何配置和使用Cisco IOS®语音的基本知识
有关如何配置和使用思科统一边界要素(CUBE)的基本知识
本文档中的信息基于使用Cisco IOS 12.4T版的ISR上的思科统一边界要素版本。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
有关文档约定的更多信息,请参考 Cisco 技术提示约定。
以下示例显示典型的NAPTR RR和字段详细信息。
域字段。
类字段:"IN" = Internet。
RR类型(资源记录):NAPTR = 35。
订单:值越低,优先级越高。
NAPTR RR的优先级,等序。
标志字段:“U”标志表示下一步不是DNS查找,而是Regexp字段的输出是URI。“A”标志表示下一步是地址查找。“S”标志表示下一步是SRV记录查找。
服务字段:此字段指示使用的协议和服务。语法“sip+E2U”表示协议为SIP,E2U表示E.164到URI的映射(根据RFC 2916)。 Cisco IOS网关不支持“E2U+sip”(RFC 3761服务类型)。
Regexp字段:此字段包含匹配和替换信息。
NAPTR RR中关键字段的详细说明(根据RFC 2916)如下所述:
Field 4 — 顺序字段指定当返回多个NAPTR记录以响应单个查询时必须处理记录的顺序。
字段5 — 首选项字段指定当多个NAPTR记录具有相同值“order”时应处理记录的顺序。
字段6 — 标志字段包含影响下次DNS查找中发生的情况的修饰符,通常用于优化流程。
字段7 — 服务字段指定在应用regexp或替换字段指定的重写时可用的解析协议和解析服务。
字段8 - regexp字段是用于重写规则的两个字段之一,是NAPTR记录的核心概念。
字段8 — 替换字段是可用于重写规则的另一个字段。
本部分提供有关如何配置本文档所述功能的信息。
注意:使用命令查找工具(仅限注册客户)可获取有关本节中使用的命令的详细信息。
下图显示为SIP-SIP服务配置的CUBE中的典型ENUM序列:
此图显示了本文档中描述的ENUM配置中发生的事件顺序。
用户拨打901189。
该呼叫与指向ENUM表3的传出拨号对等体300匹配。ENUM表3规则3首选项2用+1408替换9011;最终的ENUM结果字符串为+140889。删除数字以外的字符,结果字符串为140889。数字颠倒,添加点,字符串后附加区域名称;生成的字符串是9.8.8.0.4.1.e164.arpa,这是完全限定域名(FQDN)。
CUBE联系DNS服务器以解析FQDN。
DNS服务器应配置NAPTR记录以支持此功能,并返回SIP URI sip:2000@9.13.8.100。
CUBE向2000@9.13.8.100发出外发呼叫。
CUBE需要本节中描述的配置,以处理基于ENUM的URI解析。
此示例显示如何启用CUBE功能以终止传入的VoIP呼叫并使用出站VoIP拨号对等体重新发起它们。
voice service voip allow-connections h323 to sip allow-connections sip to h323 allow-connections sip to sip allow-connections h323 to h323
此示例显示如何在CUBE中配置ENUM表:
voice enum-match-table 3 rule 3 2 /^9011\(.*\)//+1408\1/e164.arpa
本示例展示如何使用相关协议、DTMF类型和编解码器信息配置传入和传出拨号对等体。
!-- Incoming dial peer dial-peer voice 1 voip incoming called-number 901189 session protocol sipv2 dtmf-relay rtp-nte codec g711ulaw ! !-- Outgoing dial peer ! dial-peer voice 2 voip destination-pattern 901189 session protocol sipv2 session target enum:3 !-- 3 denotes ENUM table number dtmf-relay rtp-nte codec g711ulaw
此示例显示如何配置DNS服务器以返回反向FQDN的SIP URI。
$ORIGIN 9.8.8.0.4.1.e164.arpa. IN NAPTR 100 10 "u" "sip+E2U" "!^.*$!sip:2000@9.13.8.100!" .
以下是示例配置,显示如何在CUBE中支持ENUM。
配置示例 |
---|
! ip name-server 9.13.8.100 !-- DNS Server having NAPTR RR ! ! ! voice service voip allow-connections h323 to h323 allow-connections h323 to sip allow-connections sip to sip supplementary-service h450.12 h323 call start slow sip no call service stop ! ! voice enum-match-table 3 !-- ENUM table to digit stripping !-- and conversion into FQDN rule 3 2 /^9011\(.*\)/ /+1408\1/ e164.arpa ! ! dial-peer voice 300 voip destination-pattern 901189 session protocol sipv2 session target enum:3 !-- Session target Pointing to an ENUM table codec g711ulaw ! dial-peer voice 400 voip destination-pattern 4000 session protocol sipv2 session target ipv4:9.13.8.88 incoming called-number 901189 codec g711ulaw |
按照本节所示检验配置。
IPIP-2801-5#show voice enum detail IPIP-2801-5#enum_resolve_domain: match_num 901189 table_indx 3 enum_resolve_domain: rule 3 result string +140889 generate_enum_search_string : search string 9.8.8.0.4.1.e164.arpa enum_dns_query: name = 9.8.8.0.4.1.e164.arpa type = 35, ns_server = 0 order 100 pref 10 service sip+E2U flag u regexp !^.*$!sip:2000@9.13.8.100! replacement num_elem = 1 NAPTR Record : order 100 pref 10 service sip+E2U flags u regexp !^.*$!sip:2000@9.13.8.100! replacement decode_naptr_record : re_string ^.*$ decode_naptr_record : re_substitution_string sip:2000@9.13.8.100 decode_naptr_record : re_flags_string U_FLAG case, stopping query new_e164_user sip:2000@9.13.8.100 contact_list : sip:2000@9.13.8.100 enum_resolve_domain: contact_list 64D79698 IPIP-2801-5>en IPIP-2801-5#show voip rtp conn VoIP RTP active connections : No. CallId dstCallId LocalRTP RmtRTP LocalIP RemoteIP 1 25 26 16836 20844 9.13.8.25 9.13.8.200 2 26 25 16720 49186 9.13.8.25 9.13.8.100 Found 2 active RTP connections IPIP-2801-5#show call active voice | inc Sess SessionProtocol=sipv2 SessionTarget=9.13.8.200 SessionProtocol=sipv2 SessionTarget=3 IPIP-2801-5#
本部分提供的信息可用于对配置进行故障排除。
show voice enum — 要显示ENUM匹配表的规则,请在特权EXEC模式下使用enum-match-table [table-num]命令。
debug voip enum detail — 要查看VoIP ENUM信息,请在特权EXEC模式下使用debug voip enum命令。
此示例输出显示运行故障排除命令时收到的信息:
IPIP-2801-5#debug voip enum detail enum_resolve_domain: match_num 901189 table_indx 3 enum_resolve_domain: rule 3 result string +140889 generate_enum_search_string : search string 9.8.8.0.4.1.e164.arpa enum_dns_query: name = 9.8.8.0.4.1.e164.arpa type = 35, ns_server = 0 order 100 pref 10 service sip+E2U flag u regexp !^.*$!sip:2000@9.13.8.100! replacement num_elem = 1 NAPTR Record : order 100 pref 10 service sip+E2U !-- Per RFC2916 flags u regexp !^.*$!sip:2000@9.13.8.100! replacement decode_naptr_record : re_string ^.*$ decode_naptr_record : re_substitution_string sip:2000@9.13.8.100 decode_naptr_record : re_flags_string U_FLAG case, stopping query new_e164_user sip:2000@9.13.8.100 contact_list : sip:2000@9.13.8.100 enum_resolve_domain: contact_list 64D79698 TB1-IPIPGW1-3#enum_resolve_domain: match_num 901189 table_indx 3 enum_resolve_domain: rule 3 result string +140889 generate_enum_search_string : search string 9.8.8.0.4.1.e164.arpa enum_dns_query: name = 9.8.8.0.4.1.e164.arpa type = 35, ns_server = 0 order 100 pref 10 service E2U+sip flag u regexp !^.*$!sip:521000@10.1.1.100! replacement num_elem = 1 NAPTR Record : order 100 pref 10 service E2U+sip !-- Per RFC2916 flags u regexp !^.*$!sip:521000@10.1.1.100! replacement validate_service_field: NAPTR Record format Error, non-supported "service protocol" field find_enum_contact_list_i: NAPTR Record format Error, invalid "service" field TB1-IPIPGW1-3#show voice enum voice enum_match_table 3 rule 3 2 /^9011\(.*\)/ /+1408\1/ e164.arpa
注意:在使用debug命令之前,请参阅有关Debug命令的重要信息。
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
02-Jul-2009 |
初始版本 |