Guest

Cisco Unified Border Element

Unified Border Element ENUM Support Configuration Example

Cisco - Unified Border Element ENUM Configuration Example

Document ID: 110417

Updated: Jul 02, 2009

   Print

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.

cube_enum02.gif

  1. Domain field.

  2. Class field: "IN" = Internet.

  3. Type of RR (Resource Record): NAPTR = 35.

  4. Order: the lower the value the higher the precedence.

  5. Preference of NAPTR RR with equal Order.

  6. 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.

  7. 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).

  8. 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:

cube_enum01.gif

This diagram shows the sequence of events that occur in the ENUM configuration described in this document.

  1. The user dials 901189.

  2. 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).

  3. CUBE contacts the DNS server in order to resolve the FQDN.

  4. 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.

  5. 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.

Related Information

Updated: Jul 02, 2009
Document ID: 110417