Cisco Unified Border Element (SP Edition) Configuration Guide: Unified Model
ENUM Client
Downloads: This chapterpdf (PDF - 164.0KB) The complete bookPDF (PDF - 10.42MB) | Feedback

ENUM Client

Table Of Contents

ENUM Client

Contents

Information about ENUM Client Configuration

Configuring ENUM Client

Configuring ENUM Client

Configuring a Call Policy for Multiple ENUM Entries

Configuration Examples of ENUM Client Configuration


ENUM Client


Cisco Unified Border Element (SP Edition) supports E.164 Number Mapping (ENUM).

Feature History for Implementing SNMP

Release
Modification

Cisco IOS XE Release 3.1S

ENUM Client Feature was introduced.


Contents

Information about ENUM Client Configuration

Configuring ENUM Client

Configuration Examples of ENUM Client Configuration

Information about ENUM Client Configuration

E.164 Number Mapping (ENUM) is an IETF standard protocol for converting telephone numbers into IP addresses (and vice versa), so that the telephone numbers can be maintained by a DNS server.

The SBC ENUM client is configurable and accepts the ITU standard format for international telephone numbers, E.164: country code, area code, phone number.

The ENUM client translates telephone numbers into standard sip/sips URIs that are resolved by a DNS server and then stored in an SBC routing table. Currently, only IPv4 is supported.

When a telephone number is called, the ENUM client queries the DNS server for a sip/sips URI. The DNS server returns the URI to the ENUM client, and the ENUM client stores the URI in an SBC routing table.

Destination Address

The destination address of a called number is typically derived from the Request URI. However, the destination address may also be derived from other headers in the routing table, such as the To: header or the P-Called-Party-ID: header.

The ENUM Client feature provides the user with the ability to configure a prioritized list of headers. This list may consist of any non-essential SIP headers, including the To: header and the Request URI. Once the list is configured, SBC can derive destination addresses for called numbers from this list of headers.

Destination address headers are stored in the header filter profile MIB table. Destination addresses must conform to the address syntax specification defined in RFC 3261. An address header list may contain a maximum to 10 entries.

The ENUM Client first searches the Request URI. If it does not find a match for the called number, it then searches the header list.

Source Address

The source address of a calling party number is typically derived from the From: header. The source addresses can be modified using the following configuration.

 header-profile <name>
     src-address
 
   

You can also configure a prioritized list of headers from which the source address for a calling number is derived. This list may consist of any non-essential SIP headers.

Source address headers are stored in the header filter profile MIB table. Source addresses must conform to the address syntax specification defined in RFC 3261. An address header list may contain a maximum to 10 entries.

Diverted-by Address

The ENUM Client feature also provides support for deriving the source number from a prioritized list of headers for calls which have been diverted by another number. If a call has been diverted by another number, the source address must be derived from the diverted-by list of headers. Users can also configure a header action to reject these types of calls.

Header Profiles

The user can configure actions to be performed on a target address by configuring a header profile.

The following actions can be configured in a header profile for a target address:

goto-table-name

complete

reject

For the SBC ENUM client configuration steps, see the "Configuring ENUM Client" section.

For an example of SBC ENUM client configuration see the "Configuration Examples of ENUM Client Configuration" section.

Additionally, you can also configure the SIP DNS cache, using the following commands:

cache lifetime—configures the lifetime of a cached DNS entry.

cache limit—configures the maximum number of entries that are permitted in the cache

Configuring ENUM Client

The sections presents two configurations:

Configuring ENUM Client

Configuring a Call Policy for Multiple ENUM Entries

Configuring ENUM Client

Use the following procedure to configure and ENUM client:

SUMMARY STEPS

1. configure terminal

2. sbc sbc-name

3. sbe

4. enum enum-id

5. req-timeout timeout

6. max-recursive-depth number

7. entry entry-name

8. server ipv4 ip_address [vrf vrf_name]

9. dial-plan-suffix suffix

10. max-responses number

11. activate

12. end

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 2 

sbc sbc-name

Example:

Router(config)# sbc MySBC

Creates the SBC service on Cisco Unified Border Element (SP Edition) and enters into SBC configuration mode.

Step 3 

sbe

Example:

Router(config-sbc)# sbe

Enters the mode of the signaling border element (SBE) function of the SBC.

Step 4 

enum enum-id

Example:

Router(config-sbc-sbe)# enum 1

Assigns the ENUM CUSTOMER ID number and enters ENUM configuration mode. Currently, only the number 1 is allowed.

Step 5 

req-timeout timeout

Example:
Router(config-sbc-sbe-enum)# req-timeout 10000 

Configures the ENUM request timeout period.

Step 6 

max-recursive-depth number

Example:

Router(config-sbc-sbe-enum)# max-recursive-depth 100

Configures the maximum number of recursive ENUM look-ups for non-terminal Resource Records (RR).

Step 7 

entry entry-name

Example:

Router(config-sbc-sbe-enum)# entry ENUM_1

Configures the ENUM Client entry name and enter the ENUM entry configuration mode.

Step 8 

server ipv4 ip_address [vrf vrf_name]

Example:

Router(config-sbc-sbe-enum-entry)# server ipv4 10.10.10.10 vrf VRF1

Configures the IPv4 address of a DNS server for ENUM Client and optionally associates the DNS server to a VRF.

Step 9 

dial-plan-suffix suffix

Example:

Router(config-sbc-sbe-enum-entry)# dial-plan-suffix Example.Suffix

Configures the dial plan suffix used for the ENUM query.

Step 10 

max-responses number

Example:
Router(config-sbc-sbe-enum)# max-responses 100 

Configures the maximum number of ENUM records returned to the routing module.

Step 11 

activate

Example:

Router(config-sbc-sbe-enum)# activate

Activates ENUM Client.

Step 12 

end

Example:

Router(config-sbc-sbe-enum-entry)# end

Exits configuration mode and returns to privileged EXEC mode.

Configuring a Call Policy for Multiple ENUM Entries

Use the following procedure to configure a call policy for multiple ENUM entries:

SUMMARY STEPS

1. configure terminal

2. sbc sbc-name

3. sbe

4. enum enum-id

5. entry (enum) entry-name

6. server ipv4 ip_address [vrf vrf_name]

7. dial-plan-suffix suffix

8. entry (enum) entry-name

9. server ipv4 ip_address [vrf vrf_name]

10. dial-plan-suffix suffix

11. activate

12. exit

13. sip header-profile profile-name

14. dst-address
or
src-address
or
div-address

15. header-prio priority-level header-name header-name

16. exit

17. call-policy-set policy-set-id

18. first-call-routing-table table-name

19. rtg-src-adjacency-table table-id

20. entry entry-id

21. enum enum-id entry (enum) entry-name

22. action next-table goto-table-name

23. entry entry-id

24. match-adjacency key

25. enum enum-id entry (enum) entry-name

26. dst-adjacency target-adjacency

27. action complete

28. rtg-dst-address-table table-id

29. entry entry-id

30. match-address key

31. dst-adjacency target-adjacency

32. action complete

33. entry entry-id

34. match-address key

35. dst-adjacency target-adjacency

36. action complete

37. entry entry-id

38. match-address key

39. prefix

40. dst-adjacency target-adjacency

41. action complete

42. complete

43. end

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 2 

sbc sbc-name

Example:

Router(config)# sbc MySBC

Creates the SBC service on Cisco Unified Border Element (SP Edition) and enters into SBC configuration mode.

Step 3 

sbe

Example:

Router(config-sbc)# sbe

Enters the mode of the signaling border element (SBE) function of the SBC.

Step 4 

enum enum-id

Example:

Router(config-sbc-sbe)# enum 1

Assigns the ENUM ID number and enters ENUM configuration mode. Currently, only the number 1 is allowed.

Step 5 

entry (enum) entry-name

Example:

Router(config-sbc-sbe-enum)# entry default-enum

Configures the default ENUM entry and enters ENUM entry configuration mode.

Step 6 

server ipv4 ip_address [vrf vrf_name]

Example:

Router(config-sbc-sbe-enum-entry)# server ipv4 10.10.10.10

Configures the IPv4 address of a DNS server for the ENUM Client.

Step 7 

dial-plan-suffix suffix

Example:

Router(config-sbc-sbe-enum-entry)# dial-plan-suffix e164.arpa

Configures the dial plan suffix used for this ENUM query.

Step 8 

entry (enum) entry-name

Example:

Router(config-sbc-sbe-enum-entry)# entry cisco-enum

Configures another ENUM entry and enters ENUM entry configuration mode.

Step 9 

server ipv4 ip_address [vrf vrf_name]

Example:

Router(config-sbc-sbe-enum-entry)# server ipv4 10.0.0.22 vrf cisco-vrf

Configures the IPv4 address of a DNS server for ENUM Client and associates the DNS server to a VRF.

Step 10 

dial-plan-suffix suffix

Example:

Router(config-sbc-sbe-enum-entry)# dial-plan-suffix cisco.com

Configures the dial plan suffix used for this ENUM query.

Step 11 

activate

Example:

Router(config-sbc-sbe-enum-entry)# activate

Activates the ENUM client.

Step 12 

exit

Example:

Router(config-sbc-sbe-enum)# exit

Exits to the previous mode.

Step 13 

sip header-profile profile-name

Example:

Router(config-sbc-sbe)# sip header-profile enum

Configures a header profile in the mode of an SBE entity.

Step 14 

dst-address

or

src-address

or

div-address

Example:

Router(config-sbc-sbe-sip-hdr)# dst-address

or

Router(config-sbc-sbe-sip-hdr)# src-address

or

Router(config-sbc-sbe-sip-hdr)# div-address

Enters destination address submode.
or
Enters source address submode.
or
Enters diverted-by address submode.

Step 15 

header-prio priority-level header-name header-name

Example:

Router(config-sbc-sbe-sip-hdr-dst)# header-prio 1 header-name Dst_Add_Hdr_1

or

Router(config-sbc-sbe-sip-hdr-src)# header-prio 1 header-name Src_Add_Hdr_1

or

Router(config-sbc-sbe-sip-hdr-div)# header-prio 1 header-name Div_Add_Hdr_1

Configures the priority of the header from which the destination address is derived.
or
Configures the priority of the header from which the source address is derived.
or
Configures the priority of the header from which the diverted-by address is derived.

Step 16 

exit

Example:

Router(config-sbc-sbe-sip-hdr-src)# exit

Exits to the previous mode.

Step 17 

call-policy-set policy-set-id

Example:

Router(config-sbc-sbe-sip-hdr)# call-policy-set 1

Creates a new call policy set and enters SBE routing policy configuration mode.

Step 18 

first-call-routing-table table-name

Example:

Router(config-sbc-sbe-rtgpolicy)# first-call-routing-table rt1

Configures the name of the first policy table to process when performing the routing stage of policy for new-call events.

Step 19 

rtg-src-adjacency-table table-id

Example:

Router(config-sbc-sbe-rtgpolicy)# rtg-src-adjacency-table rt1

Enters the configuration mode of the existing routing table, in this case, rt1.

Step 20 

entry entry-id

Example:

Router(config-sbc-sbe-rtgpolicy-rtgtable)# entry 2

Creates an entry in the routing table.

Step 21 

enum enum-id entry (enum) entry-name

Example:

Router(config-sbc-sbe-rtgpolicy-rtgtable-entry) # enum 1 entry default-enum

Configures the default ENUM entry for the routing table entry.

Step 22 

action next-table goto-table-name

Example:

Router(config-sbc-sbe-rtgpolicy-rtgtable-entry) # action next-table da1

Configures the action to take on routing table entry 1.

Step 23 

entry entry-id

Example:

Router(config-sbc-sbe-rtgpolicy-rtgtable-entry) # entry 2

Creates an entry in the routing table.

Step 24 

match-adjacency key

Example:

Router(config-sbc-sbe-rtgpolicy-rtgtable-entry) # match-adjacency sip2

Configures the match value for entry 1 against a source adjacency. In this case, the source adjacency is sip2.

Step 25 

enum enum-id entry (enum) entry-name

Example:

Router(config-sbc-sbe-rtgpolicy-rtgtable-entry) # enum 1 entry cisco-enum

Configures an ENUM entry for the routing table entry.

Step 26 

dst-adjacency target-adjacency

Example:

Router(config-sbc-sbe-rtgpolicy-rtgtable-entry) # dst-adjacency sip-proxy1

Configures the destination adjacency for entry 2 in table routing table.

Step 27 

action complete

Example:

Router(config-sbc-sbe-rtgpolicy-rtgtable-entry) # action complete

Configures the action to take on routing table entry 2. In this case, the action is complete.

Step 28 

rtg-dst-address-table table-id

Example:

Router(config-sbc-sbe-rtgpolicy-rtgtable-entry) # rtg-dst-address-table da1

Specifies the routing table (da1) that is searched for destination addresses to match called numbers.

Step 29 

entry entry-id

Example:

Router(config-sbc-sbe-rtgpolicy-rtgtable)# entry 1

Creates an entry in the routing table.

Step 30 

match-address key

Example:

Router(config-sbc-sbe-rtgpolicy-rtgtable-entry) # match-address bob

Configures the match value for entry 1 in the routing table, to match against a destination called number.

Step 31 

dst-adjacency target-adjacency

Example:

Router(config-sbc-sbe-rtgpolicy-rtgtable-entry) # dst-adjacency sip-proxy2

Configures the destination adjacency for entry 1 in table routing table.

Step 32 

action complete

Example:

Router(config-sbc-sbe-rtgpolicy-rtgtable-entry) # action complete

Configures the action to take on routing table entry 1. In this case, the action is complete.

Step 33 

entry entry-id

Example:

Router(config-sbc-sbe-rtgpolicy-rtgtable-entry) # entry 2

Creates an entry in the routing table.

Step 34 

match-address key

Example:

Router(config-sbc-sbe-rtgpolicy-rtgtable-entry) # match-address kate

Configures the match value for entry 2 in the routing table, to match against a destination called number.

Step 35 

dst-adjacency target-adjacency

Example:

Router(config-sbc-sbe-rtgpolicy-rtgtable-entry) # dst-adjacency sip-proxy3

Configures the destination adjacency for entry 2 in table routing table.

Step 36 

action complete

Example:

Router(config-sbc-sbe-rtgpolicy-rtgtable-entry) # action complete

Configures the action to take on routing table entry 2. In this case, the action is complete.

Step 37 

entry entry-id

Example:

Router(config-sbc-sbe-rtgpolicy-rtgtable-entry) # entry 3

Creates an entry in the routing table.

Step 38 

match-address key

Example:

Router(config-sbc-sbe-rtgpolicy-rtgtable-entry) # match-address 44

Configures the match value for entry 3 in the routing table, to match against a destination called number.

Step 39 

prefix

Example:

Router(config-sbc-sbe-rtgpolicy-rtgtable-entry) # prefix

Configures whether the match-address of this entry matches the start of the address.

Step 40 

dst-adjacency target-adjacency

Example:

Router(config-sbc-sbe-rtgpolicy-rtgtable-entry) # dst-adjacency sip-proxy4

Configures the destination adjacency for entry 3 in table routing table.

Step 41 

action complete

Example:

Router(config-sbc-sbe-rtgpolicy-rtgtable-entry) # action complete

Configures the action to take on routing table entry 3. In this case, the action is complete.

Step 42 

complete

Example:

Router(config-sbc-sbe-rtgpolicy-rtgtable-entry) # complete

Completes the call-policy set after committing the full set.

Step 43 

end

Example:

Router(config-sbc-sbe-rtgpolicy)# end

Exits configuration mode and returns to privileged EXEC mode.

Configuration Examples of ENUM Client Configuration

Example 1: ENUM Client

Use the following procedure to configure an ENUM Client:

Router# configure terminal 
Router(config)# sbc MySBC 
Router(config-sbc)# sbe 
Router(config-sbc-sbe)# enum 1 
Router(config-sbc-sbe-enum)# req-timeout 10000 
Router(config-sbc-sbe-enum)# max-recursive-depth 100 
Router(config-sbc-sbe-enum)# entry ENUM_1 
Router(config-sbc-sbe-enum-entry)# server ipv4 10.10.10.10 vrf VRF1 
Router(config-sbc-sbe-enum-entry)# dial-plan-suffix Example.Suffix 
Router(config-sbc-sbe-enum)# max-responses 100 
Router(config-sbc-sbe-enum)# activate 
Router(config-sbc-sbe-enum-entry)# end 

Example 2: Call Policy for Multiple ENUM Entries

Use the following procedure to configure a call policy for multiple ENUM entries:

Router# configure terminal
Router(config)# sbc mysbc
Router(config-sbc)# sbe
Router(config-sbc-sbe)# enum 1
Router(config-sbc-sbe-enum)# entry default-enum
Router(config-sbc-sbe-enum-entry)# server ipv4 192.168.10.1 
Router(config-sbc-sbe-enum-entry)# dial-plan-suffix e164.arpa 
Router(config-sbc-sbe-enum-entry)# entry cisco-enum
Router(config-sbc-sbe-enum-entry)# server ipv4 10.0.0.22 vrf cisco-vrf
Router(config-sbc-sbe-enum-entry)# dial-plan-suffix cisco.com 
Router(config-sbc-sbe-enum-entry)# activate
Router(config-sbc-sbe-enum)# exit 
 
   
 
   
Router(config-sbc-sbe)# sip header-profile enum 
Router(config-sbc-sbe-sip-hdr) dst-address 
Router(config-sbc-sbe-sip-hdr-dst)# header-prio 1 header-name Dst_Add_Hdr_1 
Router(config-sbc-sbe-sip-hdr-dst)# header-prio 2 header-name Dst_Add_Hdr_2 
Router(config-sbc-sbe-sip-hdr-dst)# exit 
or
Router(config-sbc-sbe)# sip header-profile enum 
Router(config-sbc-sbe-sip-hdr) src-address 
Router(config-sbc-sbe-sip-hdr-src)# header-prio 1 header-name Src_Add_Hdr_1 
Router(config-sbc-sbe-sip-hdr-src)# header-prio 2 header-name Src_Add_Hdr_2 
Router(config-sbc-sbe-sip-hdr-src)# exit 
or
Router(config-sbc-sbe)# sip header-profile enum 
Router(config-sbc-sbe-sip-hdr) div-address 
Router(config-sbc-sbe-sip-hdr-div)# header-prio 1 header-name Div_Add_Hdr_1 
Router(config-sbc-sbe-sip-hdr-div)# header-prio 2 header-name Div_Add_Hdr_2 
Router(config-sbc-sbe-sip-hdr-div)# exit 
 
   
 
   
Router(config-sbc-sbe-sip-hdr)# call-policy-set 1
Router(config-sbc-sbe-rtgpolicy)# first-call-routing-table rt1
Router(config-sbc-sbe-rtgpolicy)# rtg-src-adjacency-table rt1
 
   
Router(config-sbc-sbe-rtgpolicy-rtgtable)# entry 1
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# match-adjacency sip2 
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# enum 1 entry default-enum 
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# action next-table da1 
 
   
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# entry 2
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# match-adjacency sip2 
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# enum 1 entry cisco-enum
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# dst-adjacency sip-proxy1 
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# action complete 
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# rtg-dst-address-table da1
 
   
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# entry 1
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# match-address bob
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# dst-adjacency sip-proxy2
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# action complete
 
   
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# entry 2
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# match-address kate
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# dst-adjacency sip-proxy3 
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# action complete
 
   
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# entry 3
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# match-address 44
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# prefix
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# dst-adjacency sip-proxy4
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# action complete
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# complete
Router(config-sbc-sbe-rtgpolicy)# end 
Router#