In yesterday's tutorial, we took a high-level view of one of the key technical issuesaddress translationthat must be resolved in order for end-to-end VoIP services to become widespread and readily available. That translation is required because telephone numbers adhere to one addressing standard, known as E.164, (the International Public Telecommunication Numbering Plan, developed by the ITU-Tsee www.itu.int); and Internet-connected workstations use Internet Protocol addresses, developed by the Internet Engineering Task Force (IETF) as part of their protocol specifications for IP version 4 (IPv4) and IP version 6 (IPv6).
In addition to our examination of these addressing details, we also looked at two other constructs: the Uniform Resource Identifier, or URI, which is used to uniquely identify Internet-based resources, such as hosts, web pages, filenames, and so on; and the Domain Name System, or DNS, which acts as a white pages directory to look up IP addresses when given a host name.
These four subsystemstelephone numbers, IP addresses, URIs, and the DNSare part of a larger system, known as ENUM (for Electronic Numbering), which provides telephone-number-to-IP-address translation services. ENUM has been developed by the IETF's Telephone Number Mapping working group, which is part of the Real-Time Applications and Infrastructure Area (see http://www.ietf.org/html.charters/enum-charter.html). The working group's description summarizes their objectives:
The ENUM working group has defined a DNS-based architecture and protocol [RFC 3761] by which an E.164 number, as defined in ITU Recommendation E.164, can be expressed as a Fully Qualified Domain Name in a specific Internet Infrastructure domain defined for this purpose (e164.arpa).
In other words, ENUM extends the well-known DNS concepts and provides for telephone numbers to be stored in a DNS-compatible format. Once in the DNS database, telephone numbers can be accessed and associated with IP-based services and their URIs. Let's see how this works.
Recall from our previous tutorial that an E.164 number can have a maximum of 15 digits. Within North America, these numbers are governed by the North America Numbering Plan Administration (see www.nanpa.com), with a 10-digit format as follows:
NXX: Numbering plan area ("area code")
NNX: Central office code ("exchange")
XXXX: Subscriber number
Where N is any number from 2-9, and X is any number 0-9
Adding the Country Code of "1" (which identifies the NANP area) would result in a number such as 1 303 555 1212, typically expressed as +1 303 555 1212 to indicate a complete and international compatible telephone number format.
The DNS database structure is logically constructed as a tree, with branches that extend from a center point called the root. The various domains, such as .com, .int, and so on, extend as branches from that root. One of these branches is .ARPA (from the Advanced Research Project Agency, the U.S. Government agency that funded much of the early Internet development), and under .ARPA is a branch designed for E.164-compatible numbers, designated .e164. Thus, the domain "e164.arpa" is designated to store E.164 numbers, with its usage defined in RFC 3761, entitled The E.164 to Uniform Resource Identifiers (URI) Dynamic Delegation Discovery System (DDDS) Application (ENUM) (see ftp://ftp.rfc-editor.org/in-notes/rfc3761.txt).
RFC 3761 defines the algorithm that is used to store the telephone numbers within the DNS, as follows:
- Remove all characters with the exception of the digits. Thus, + 1 303 555 1212 becomes 1 303 555 1212.
- Put dots between each digit: 22.214.171.124.126.96.36.199.2.1.2
- Reverse the order of the digits (since DNS reads addresses from right to left, not left to right: 188.8.131.52.184.108.40.206.0.3.1
- Append the string "e164.arpa" to the end of the sequence: 220.127.116.11.18.104.22.168.0.3.1.e164.arpa.
Now that the telephone number has been converted into a DNS-compatible record type, the ENUM process can issue a query on that domain name. One of two results will occur. If a name server is found, a NAPTR (Naming Authority Pointer) record will be retrieved, which will identify the services associated with that number (voice, fax, etc.), and the telephone call can proceed via the Internet. If a name server is not found, an error message is returned, and the call can then be routed for connection via the PSTN.
One of the subtleties of ENUM is that it allows a number of applications and services to be associated with a single telephone number. Our next tutorial will continue our examination of ENUM, and look at some of those applications that an ENUM-aware network can provide.
Copyright Acknowledgement: © 2006 DigiNet ® Corporation, All Rights Reserved
Mark A. Miller, P.E. is President of DigiNet ® Corporation, a Denver-based consulting engineering firm. He is the author of many books on networking technologies, including Voice over IP Technologies, and Internet Technologies Handbook, both published by John Wiley & Sons.