login | register
Sat 06 of Sep, 2008 [17:15 UTC]

voip-info.org

History

ENUM syntax

Created by: rogerkoh,Last modification on Mon 14 of May, 2007 [11:07 UTC] by matsk
ENUM allows normal phone (E.164) numbers to be represented as DNS names ending in e164.arpa. One number can be resolved to one or more services in a predefined order.

For example, the phone number +44-116-496-0348 is represented as 8.4.3.0.6.9.4.6.1.1.4.4.e164.arpa after traversing the following rules from the RFC: (RFC 3761)

  1. Remove all characters with the exception of the digits. ("+44-116-496-0348" becomes "441164960348")

  2. Put dots (".") between each digit.  ("4.4.1.1.6.4.9.6.0.3.4.8")

  3. Reverse the order of the digits. ("8.4.3.0.6.9.4.6.1.1.4.4")

  4. Append the string ".e164.arpa" to the end.  ("8.4.3.0.6.9.4.6.1.1.4.4.e164.arpa")

Resulting NAPTR record(s) denote services for that number. For example, the BIND configuration:

$ORIGIN 8.4.3.0.6.9.4.6.1.1.4.4.e164.arpa.
      NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:info@example.com!" .
      NAPTR 10 101 "u" "E2U+h323" "!^.*$!h323:info@example.com!" .
      NAPTR 10 102 "u" "E2U+msg" "!^.*$!mailto:info@example.com!" .

describes that the domain 8.4.3.0.6.9.4.6.1.1.4.4.e164.arpa. is preferably contacted by SIP, secondly via H.323, and thirdly by SMTP for messaging.

Picking which service to use is the job of the Dynamic Delegation Discovery System. (DDDS) In the above example, the "u" flag tells the DDDS that each of these are terminal rules. Transformational rules which don't have this flag present can be used to rewrite the key produced by this rule as the new key in the DDDS lookup but an example of that is not shown here. At the moment, the "u" flag is the only flag defined.

The service field of the NAPTR record (such as "E2U+sip") is required to start with "E2U" so as to prevent name collisions. One or more ENUM services starting with a "+" are listed. An ENUM service consists of a type and zero or more subtypes separated by a ":" character. Types and subtypes are limited to 32 alpha-numeric characters which represent the valid protocols, and the URI schemes that may be returned.

NAPTR records are supported natively with BIND but not djbdns without the djbdns SRV+NAPTR patch. Alternatively, djbdns users could construct a NAPTR record through a generic record but it isn't easy to manage records in this format.

Please note that Asterisk (tested on 1.4.x) can't handle "i" in the NAPTR regular expression. The "i" is not really needed anyway since we are only sending digits. One of the two examples below work:

1: IN NAPTR 100 10 "u" "sip+E2U" "!^.*$!sip:xxx@voip.domain.se!i" . 
2: IN NAPTR 100 10 "u" "sip+E2U" "!^.*$!sip:xxx@voip.domain.se!" . 

Example 1 will not work. You will get a "regex delimiter error" from Asterisk.
Example 2, from where the "i" has been removed, will work.

Comments

Comments Filter
222

333someone please add somethign to this page

by sjobeck, Wednesday 17 of November, 2004 [07:01:23 UTC]
I think that this page would be one of the most popular on the site if it were completed, just think of it, all of us out there could now call each other or many others without the VoIP-to-PSTN and then back PSTN-to-VoIP for every call.

Let's get it on.

(:mrgreen:)

222

333http://www.voip-info.org/wiki-ENUM+syntax#comments

by , Sunday 20 of June, 2004 [19:19:11 UTC]
better directly point to the RFC on a pubic site (or more)
if noone bothers to write a documentation.