ENUM -- Telephone Number Mapping O. Lendl Working Group enum.at Internet-Draft November 27, 2006 Intended status: Standards Track Expires: May 31, 2007 The ENUM Branch Location Record draft-ietf-enum-branch-location-record-01 Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on May 31, 2007. Copyright Notice Copyright (C) The IETF Trust (2006). Abstract This documents defines the ENUM Branch Location record (EBL) which is used to indicate where the ENUM tree for special ENUM application is located. The primary application for the EBL record is to provide a temporary solution for the Infrastructure ENUM tree location. Lendl Expires May 31, 2007 [Page 1] Internet-Draft ENUM Branch Location Record November 2006 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. The generalized ENUM Application . . . . . . . . . . . . . . . 3 3. The EBL Resource Record . . . . . . . . . . . . . . . . . . . . 4 3.1. The EBL RDATA Format . . . . . . . . . . . . . . . . . . . 4 3.2. The EBL Presentation Format . . . . . . . . . . . . . . . . 5 4. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5. Security Considerations . . . . . . . . . . . . . . . . . . . . 6 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 6 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6 8.1. Normative References . . . . . . . . . . . . . . . . . . . 6 8.2. Informative References . . . . . . . . . . . . . . . . . . 7 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 7 Intellectual Property and Copyright Statements . . . . . . . . . . 8 Lendl Expires May 31, 2007 [Page 2] Internet-Draft ENUM Branch Location Record November 2006 1. Introduction ENUM as defined in RFC3761 [1] (User-ENUM) is based on the concept of a single "golden" tree (e164.arpa) which stores telephone number to URI mappings. Experience has shown that this single tree is not suitable for all applications and usage scenarios. The rules regarding administrative control of domains, opt-in requirements, and delegation hierarchy can vary between applications. See e.g. Infrastructure ENUM [4]. While non-terminal NAPTRs (see [2]) can redirect the ENUM resolution algorithm to another DNS tree, their semantics are not powerful enough to support an integration of Infrastructure ENUM into e164.arpa. A more generic application-specific redirection mechanism is thus needed. The ENUM Branch Location (EBL) Record as defined by this document contains information which drives a generalized algorithm which transforms a telephone number into a domain name. This extends the original algorithm as defined in section 2.4 of RFC3761 [1]. 2. The generalized ENUM Application To recap, RFC3761 uses the following algorithm: 1. Remove all characters with the exception of the digits. 2. Put dots (".") between each digit. 3. Reverse the order of the digits. 4. Append the string ".e164.arpa" to the end. Any application which uses EBL records to generalize the basic ENUM algorithm needs to define where EBLs for this application are located in the DNS. The EBL itself contains three parameters which enter into the translation algorithm: SEPERATOR, POSITION, and APEX. The generalized algorithm to derive the initial FQDN for the NAPTR lookup is defined as: 1. Apply the application-specific algorithm to translate the "Application Unique String" (AUS, the telephone number) to a fully qualified domain name. Lendl Expires May 31, 2007 [Page 3] Internet-Draft ENUM Branch Location Record November 2006 2. Query the DNS for an EBL record at the location of this FQDN, and retrieve the triple (SEPERATOR, POSITION, APEX) from this record. If multiple records are present, take the first one. If no EBL record was found, use the triple ("", 0, "e164.arpa") as default. This corresponds to the RFC3671 "golden tree". 3. Build a list of labels from all digits appearing in the AUS. 4. If SEPERATOR is not the empty string, then insert a label consisting of SEPERATOR after POSITION labels into this list. If the list was shorter than POSITION elements, then report an error. 5. Reverse the order of the list. 6. Append a label containing APEX at the end of the list. 7. Create a single domain name by joining the list together with dots (".") between each label. Section 4 contains examples. 3. The EBL Resource Record The RR type code for the EBL RR is /IANA-ACTION/. 3.1. The EBL RDATA Format The RDATA for a EBL RR consists of a position number, separator string and an apex domain. and refer to the definitions of RFC 1035 [3]. 0 1 2 3 4 5 6 7 +--+--+--+--+--+--+--+--+ | POSITION | +--+--+--+--+--+--+--+--+ / SEPARATOR / +--+--+--+--+--+--+--+--+ / APEX / +--+--+--+--+--+--+--+--+ where POSITION is a single byte, SEPARATOR is a and APEX is a . Name-compression is not to be used for the APEX field. Lendl Expires May 31, 2007 [Page 4] Internet-Draft ENUM Branch Location Record November 2006 3.2. The EBL Presentation Format The master file format follows the standard rules in RFC 1035. POSITION is represented as decimal integer. SEPARATOR is a quoted string, APEX is a domain name and thus does not require quoting. 4. Examples This example shows the use of EBL records as defined by the interim solution to infrastructure ENUM as defined by draft-ietf-enum-combined-01 [5]. This application defines that the EBL resides at "infrastructure"..e164.arpa. Thus for example: infrastructure.3.4.e164.arpa. IN EBL 2 "i" e164.arpa. infrastructure.1.e164.arpa. IN EBL 4 "i" example.com. infrastructure.9.4.e164.arpa. IN EBL 0 "" ie164.arpa. These records indicate how the transformation from E.164 number to ENUM domains for the application "Infrastructure ENUM" should be done for numbers in country code +43, +1, and +49. This leads to the following mappings: +43 15056416 6.1.4.6.5.0.5.1.i.3.4.e164.arpa +1 5551234567 7.6.5.4.3.2.1.i.5.5.5.1.example.com +49 891234567 7.6.5.4.3.2.1.9.8.9.4.ie164.arpa Here is the list of the intermediate steps for the first example to visualize how the algorithm as defined in Section 2 operates on "+43 15056416": 1. According to the I-ENUM spec, retrieve the country-code from the number and build a FQDN using "infrastructure", the reversed, dot-separated country-code and "e164.arpa", yielding "infrastructure.3.4.e164.arpa". 2. The EBL lookup for this domain sets SEPERATOR to "i", POSITION to "2" and APEX to "e164.arpa". 3. The list of labels is ("4","3","1","5","0","5","6","4","1","6"). 4. The SEPERATOR is "i", POSITION is 2, thus "i" is inserted between the second and the third label, yielding: ("4","3","i","1","5","0","5","6","4","1","6") Lendl Expires May 31, 2007 [Page 5] Internet-Draft ENUM Branch Location Record November 2006 5. Reversing the list: ("6","3","4","6","5","0","5","1","i","3","4") 6. Appending APEX: ("6","3","4","6","5","0","5","1","i","3","4","e164.arpa") 7. Concatenation with dots: "6.3.4.6.5.0.5.1.i.3.4.e164.arpa" 5. Security Considerations EBLs are used to direct ENUM resolvers to other places in the DNS. The security of DNS in both the location of the EBLs and wherever they point to need to be maintained. Applications need to careful when designing their EBL location: Information concerning which numbers have been dialed could be leaked to the nameserver hosting the EBL records. 6. IANA Considerations This documents allocates the Resource Records Type field for the EBL record. 7. Acknowledgements The author would like to thank Michael Haberler, Richard Stastny, Klaus Nieminen, Richard Shockey, and Karsten Fleischhauer for their contributions. 8. References 8.1. Normative References [1] Faltstrom, P. and M. Mealling, "The E.164 to Uniform Resource Identifiers (URI) Dynamic Delegation Discovery System (DDDS) Application (ENUM)", RFC 3761, April 2004. [2] Mealling, M., "Dynamic Delegation Discovery System (DDDS) Part Three: The Domain Name System (DNS) Database", RFC 3403, October 2002. [3] Mockapetris, P., "Domain names - implementation and specification", STD 13, RFC 1035, November 1987. Lendl Expires May 31, 2007 [Page 6] Internet-Draft ENUM Branch Location Record November 2006 8.2. Informative References [4] Lind, S. and P. Pfautz, "Infrastrucure ENUM Requirements", draft-ietf-enum-infrastructure-enum-reqs-02 (work in progress), April 2006. [5] Haberler, M. and R. Stastny, "Combined User and Infrastructure ENUM in the e164.arpa tree", draft-ietf-enum-combined-01 (work in progress), October 2006. Author's Address Otmar Lendl enum.at GmbH Karlsplatz 1/9 Wien A-1010 Austria Phone: +43 1 5056416 33 Email: otmar.lendl@enum.at URI: http://www.enum.at/ Lendl Expires May 31, 2007 [Page 7] Internet-Draft ENUM Branch Location Record November 2006 Full Copyright Statement Copyright (C) The IETF Trust (2006). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Intellectual Property The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. Acknowledgment Funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA). Lendl Expires May 31, 2007 [Page 8]