Document ID: 110417
Contents
Introduction
Prerequisites
Requirements
Components Used
Conventions
Background Information
Configure
Network Diagram
Basic Configurations
Sample Configuration
Verify
Troubleshoot
NetPro Discussion Forums - Featured Conversations
Related Information
Introduction
The Cisco Unified Border Element (CUBE) facilitates the mapping of E.164 called numbers to Session Initiation Protocol (SIP) Uniform Resource Identifiers (URIs) (ENUM). The SIP ENUM technology allows the traditional telephony part of the network (using E.164 numbering in order to address destinations) to interwork with the SIP telephony part of the network, generally using SIP URIs.
From the Public Switched Telephone Network (PSTN) network, if an end user dials an E.164 called party, the number can be translated by an ENUM gateway into the corresponding SIP URI. This SIP URI is then used to look up the Domain Name System (DNS) Naming Authority Pointer (NAPTR) Resource Records (RR). The NAPTR RR (as defined in RFC 2915) describes how the call should be forwarded or terminated and records information, such as e-mail addresses, a fax number, a personal website, a voice over IP (VoIP) number, mobile telephone numbers, voice mail systems, IP-telephony addresses, and web pages.
Alternately, when the calling party is a VoIP endpoint and dials an E.164 number, then the originator’s SIP user agent (UA) converts it into a SIP URI in order to be used to look up at the ENUM gateway DNS and fetch the NAPTR RR.
Prerequisites
Requirements
Ensure that you meet these requirements before you attempt this configuration:
-
Basic knowledge of how to configure and use Cisco IOS® Voice
-
Basic knowledge of how to configure and use Cisco Unified Border Element (CUBE)
Components Used
The information in this document is based on Cisco Unified Border Element release on an ISR that uses Cisco IOS release 12.4T.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Conventions
Refer to the Cisco Technical Tips Conventions for more information on document conventions.
Background Information
The following example shows a typical NAPTR RR and field details.
-
Domain field.
-
Class field: "IN" = Internet.
-
Type of RR (Resource Record): NAPTR = 35.
-
Order: the lower the value the higher the precedence.
-
Preference of NAPTR RR with equal Order.
-
Flag field: A "U" flag means that the next step is not a DNS lookup but that the output of the Regexp field is a URI. An “A” flag means that the next step is an address lookup. An “S” flag means that the next step is an SRV record lookup.
-
Service field: this field indicates which protocol and service are used. The syntax “sip+E2U” means the protocol is SIP and E2U means E.164 to URI mapping (as per RFC 2916). The Cisco IOS Gateways do not support “E2U+sip” (RFC 3761 Service Type).
-
Regexp field: this field consists of match and replacement information.
The detailed description (per RFC 2916) of key fields in the NAPTR RR is described here:
-
Field 4—The order field specifies the order in which records MUST be processed when multiple NAPTR records are returned in response to a single query.
-
Field 5—The preference field specifies the order in which records SHOULD be processed when multiple NAPTR records have the same value of "order."
-
Field 6—The flag field contains modifiers that affect what happens in the next DNS lookup, typically for optimizing the process.
-
Field 7— The service field specifies the resolution protocol and resolution service(s) that will be available if the rewrite specified by the regexp or replacement fields is applied.
-
Field 8—The regexp field is one of two fields used for the rewrite rules and is the core concept of the NAPTR record.
-
Field 8—The replacement field is the other field that might be used for the rewrite rule.
Configure
In this section, you are presented with the information to configure the features described in this document.
Note: Use the Command Lookup Tool ( registered customers only) to obtain more information on the commands used in this section.
Network Diagram
This image shows a typical ENUM sequence in a CUBE that is configured for a SIP-SIP service:
This diagram shows the sequence of events that occur in the ENUM configuration described in this document.
-
The user dials 901189.
-
The call matches outgoing dial-peer 300 which points to ENUM table 3. ENUM table 3 rule 3 preference 2 replaces 9011 with +1408; the final ENUM resulting string is +140889. Characters other than the number are removed, and the resulting string is 140889. Digits are reversed, dots added, and the string is appended with the zone name; the resulting string is 9.8.8.0.4.1.e164.arpa, which is a Fully Qualified Domain Name (FQDN).
-
CUBE contacts the DNS server in order to resolve the FQDN.
-
The DNS server should have NAPTR record configured in order to support this feature and returns the SIP URI sip:2000@9.13.8.100.
-
CUBE places an outgoing call to 2000@9.13.8.100.
Basic Configurations
CUBE requires the configuration described in this section in order to process ENUM-based URI resolution.
This example shows how to enable CUBE functionality in order to terminate the incoming VoIP calls and re-originate them using an outbound VoIP dial-peer.
voice service voip allow-connections h323 to sip allow-connections sip to h323 allow-connections sip to sip allow-connections h323 to h323
This example shows how to configure the ENUM table in CUBE:
voice enum-match-table 3 rule 3 2 /^9011\(.*\)//+1408\1/e164.arpa
This example shows how to configure the incoming and outgoing dial-peers with the relevant protocol, DTMF type, and codec information.
!-- 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
This example shows how to configure the DNS server in order to return the SIP URI for the reversed FQDN.
$ORIGIN 9.8.8.0.4.1.e164.arpa. IN NAPTR 100 10 "u" "sip+E2U" "!^.*$!sip:2000@9.13.8.100!" .
Sample Configuration
Here is a sample configuration that shows how to support ENUM in CUBE.
|
Sample Configuration |
|---|
! 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 |
Verify
Verify the configuration as shown in this section.
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#
Troubleshoot
This section provides information you can use to troubleshoot your configuration.
-
show voice enum—In order to display the rules of an ENUM match table, use the enum-match-table [table-num] command in privileged EXEC mode.
-
debug voip enum detail—In order to view VoIP ENUM information, use the debug voip enum command in privileged EXEC mode.
This sample output shows the information you receive when you run the troubleshooting commands:
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
Note: Refer to Important Information on Debug Commands before you use debug commands.
NetPro Discussion Forums - Featured Conversations
| NetPro Discussion Forums - Featured Conversations for Voice |
| Service Providers: Voice over IP |
| Voice & Video: Voice over IP |
| Voice & Video: IP Telephony |
| Voice & Video: IP Phone Services for End Users |
| Voice & Video: Unified Communications |
| Voice & Video: IP Phone Services for Developers |
| Voice & Video: General |
Related Information
- Voice Technology Support
- Voice and Unified Communications Product Support
- Cisco IOS Debug Command Reference, Release 12.3
- Cisco IOS Voice Command Reference
- Technical Support & Documentation - Cisco Systems
| Updated: Jul 02, 2009 | Document ID: 110417 |
