目录

简介

先决条件

要求

使用的组件

规则

背景信息

配置

网络图

基本配置

配置示例

验证

故障排除

相关信息

简介

思科统一边界元素(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和字段详细信息。

1. 域字段。

2. 类字段："IN" = Internet。

3. RR类型（资源记录）：NAPTR = 35。

4. 订单：值越低，优先级越高。

5. NAPTR RR的优先级，等序。

6. 标志字段:“U”标志表示下一步不是DNS查找，而是Regexp字段的输出是URI。“A”标志表示下一步是地址查找。“S”标志表示下一步是SRV记录查找。

7. 服务字段：此字段指示使用的协议和服务。语法“sip+E2U”表示协议为SIP，E2U表示E.164到URI的映射（根据RFC 2916）。 Cisco IOS网关不支持“E2U+sip”（RFC 3761服务类型）。

8. Regexp字段：此字段包含匹配和替换信息。

NAPTR RR中关键字段的详细说明（根据RFC 2916）如下所述：

- Field 4 — 顺序字段指定当返回多个NAPTR记录以响应单个查询时必须处理记录的顺序。

- 字段5 — 首选项字段指定当多个NAPTR记录具有相同值“order”时应处理记录的顺序。

- 字段6 — 标志字段包含影响下次DNS查找中发生的情况的修饰符，通常用于优化流程。

- 字段7 — 服务字段指定在应用regexp或替换字段指定的重写时可用的解析协议和解析服务。

- 字段8 - regexp字段是用于重写规则的两个字段之一，是NAPTR记录的核心概念。

- 字段8 — 替换字段是可用于重写规则的另一个字段。

配置

本部分提供有关如何配置本文档所述功能的信息。

注意：使用命令查找工具(仅限注册客户)可获取有关本节中使用的命令的详细信息。

网络图

下图显示为SIP-SIP服务配置的CUBE中的典型ENUM序列：

此图显示了本文档中描述的ENUM配置中发生的事件顺序。

1. 用户拨打901189。

2. 该呼叫与指向ENUM表3的传出拨号对等体300匹配。ENUM表3规则3首选项2用+1408替换9011;最终的ENUM结果字符串为+140889。删除数字以外的字符，结果字符串为140889。数字颠倒，添加点，字符串后附加区域名称；生成的字符串是9.8.8.0.4.1.e164.arpa，这是完全限定域名(FQDN)。

3. CUBE联系DNS服务器以解析FQDN。

4. DNS服务器应配置NAPTR记录以支持此功能，并返回SIP URI sip:2000@9.13.8.100。

5. 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命令的重要信息。

相关信息

- 语音技术支持

- 语音和统一通信产品支持

- Cisco IOS调试命令参考，版本12.3

- Cisco IOS 语音命令参考

- 技术支持和文档 - Cisco Systems