rfc2916.txt

来自「RFC 的详细文档!」· 文本 代码 · 共 564 行 · 第 1/2 页

TXT
564
字号






Network Working Group                                        P. Faltstrom
Request for Comments: 2916                             Cisco Systems Inc.
Category: Standards Track                                  September 2000


                          E.164 number and DNS

Status of this Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2000).  All Rights Reserved.

Abstract

   This document discusses the use of the Domain Name System (DNS) for
   storage of E.164 numbers.  More specifically, how DNS can be used for
   identifying available services connected to one E.164 number.
   Routing of the actual connection using the service selected using
   these methods is not discussed.

1. Introduction

   Through transformation of E.164 numbers into DNS names and the use of
   existing DNS services like delegation through NS records, and use of
   NAPTR [1] records in DNS [2] [3], one can look up what services are
   available for a specific domain name in a decentralized way with
   distributed management of the different levels in the lookup process.

1.1 Terminology

   The key words "MUST", "REQUIRED", "SHOULD", "RECOMMENDED", and "MAY"
   in this document are to be interpreted as described in RFC2119 [4].

2. E.164 numbers and DNS

   The domain "e164.arpa" is being populated in order to provide the
   infrastructure in DNS for storage of E.164 numbers.  In order to
   facilitate distributed operations, this domain is divided into
   subdomains.  Holders of E.164 numbers which want to be listed in DNS





Faltstrom                   Standards Track                     [Page 1]

RFC 2916                  E.164 number and DNS            September 2000


   should contact the appropriate zone administrator in order to be
   listed, by examining the SOA resource record associated with the
   zone, just like in normal DNS operations.

   Of course, as with other domains, policies for such listings will be
   controlled on a subdomain basis and may differ in different parts of
   the world.

   To find the DNS names for a specific E.164 number, the following
   procedure is to be followed:

  1.  See that the E.164 number is written in its full form, including
      the countrycode IDDD.  Example: +46-8-9761234

  2.  Remove all non-digit characters with the exception of the leading
      '+'.  Example: +4689761234

  3.  Remove all characters with the exception of the digits.  Example:
      4689761234

  4.  Put dots (".") between each digit.  Example: 4.6.8.9.7.6.1.2.3.4

  5.  Reverse the order of the digits.  Example: 4.3.2.1.6.7.9.8.6.4

  6.  Append the string ".e164.arpa" to the end.  Example:
      4.3.2.1.6.7.9.8.6.4.e164.arpa

2.1 Special note about the '+'

   The '+' is kept in stage 2 in section 2 to flag that the number which
   the regular expression is operating on is a E.164 number.  Future
   work will be needed to determine how other numbering plans (such as
   closed ones) might be identified.  It is possible, but not definite,
   that they would use a similar mechanism as the one described in this
   document.

3. Fetching URIs given an E.164 number

   For a record in DNS, the NAPTR record is used for identifying
   available ways of contacting a specific node identified by that name.
   Specifically, it can be used for knowing what services exists for a
   specific domain name, including phone numbers by the use of the
   e164.arpa domain as described above.

   The identification is using the NAPTR resource record defined for use
   in the URN resolution process, but it can be generalized in a way
   that suits the needs specified in this document.




Faltstrom                   Standards Track                     [Page 2]

RFC 2916                  E.164 number and DNS            September 2000


   It is the string which is the result of step 2 in section 2 above
   which is input to the NAPTR algorithm.

3.1 The NAPTR record

   The key fields in the NAPTR RR are order, preference, service, flags,
   regexp, and replacement.  For a detailed description, see:

   o  The order field specifies the order in which records MUST be
      processed when multiple NAPTR records are returned in response to
      a single query.

   o  The preference field specifies the order in which records SHOULD
      be processed when multiple NAPTR records have the same value of
      "order".

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

   o  The flags field contains modifiers that affect what happens in the
      next DNS lookup, typically for optimizing the process.

   o  The regexp field is one of two fields used for the rewrite rules,
      and is the core concept of the NAPTR record.

   o  The replacement field is the other field that may be used for the
      rewrite rule.

   Note that the client applies all the substitutions and performs all
   lookups, they are not performed in the DNS servers.  Note that URIs
   are stored in the regexp field.

3.1.1 Specification for use of NAPTR Resource Records

   The input is an E.164 encoded telephone number.  The output is a
   Uniform Resource Identifier in its absolute form according to the
   'absoluteURI' production in the Collected ABNF found in RFC2396 [5]

   An E.164 number, without any characters but leading '+' and digits,
   (result of step 2 in section 2 above) is the input to the NAPTR
   algorithm.

   The service supported for a call is E2U.







Faltstrom                   Standards Track                     [Page 3]

RFC 2916                  E.164 number and DNS            September 2000


3.1.2 Specification of Service E2U (E.164 to URI)

   * Name: E.164 to URI
   * Mnemonic: E2U
   * Number of Operands: 1
   * Type of Each Operand: First operand is an E.164 number.
   * Format of Each Operand: First operand is the E.164 number in the
     form as specified in step 2 in section 2 in this document.
   * Algorithm: Opaque
   * Output: One or more URIs
   * Error Conditions:
      o E.164 number not in the numbering plan
      o E.164 number in the numbering plan, but no URIs exist for
        that number
      o Service unavailable

   * Security Considerations:
      o Malicious Redirection
        One of the fundamental dangers related to any service such
        as this is that a malicious entry in a resolver's database
        will cause clients to resolve the E.164 into the wrong URI.
        The possible intent may be to cause the client to retrieve
        a resource containing fraudulent or damaging material.
      o Denial of Service
        By removing the URI to which the E.164 maps, a malicious
        intruder may remove the client's ability to access the
        resource.

   This operation is used to map a one E.164 number to a list of URIs.
   The first well-known step in the resolution process is to remove all
   non-digits apart from the leading '+' from the E.164 number as
   described in step 1 and 2 in section 2 of this document.

3.2 Examples

3.2.1 Example 1

$ORIGIN 4.3.2.1.6.7.9.8.6.4.e164.arpa.
   IN NAPTR 100 10 "u" "sip+E2U"    "!^.*$!sip:info@tele2.se!"     .
   IN NAPTR 102 10 "u" "mailto+E2U" "!^.*$!mailto:info@tele2.se!"  .

   This describes that the domain 4.3.2.1.6.7.9.8.6.4.e164.arpa is
   preferably contacted by SIP, and secondly by SMTP.

   In both cases, the next step in the resolution process is to use the
   resolution mechanism for each of the protocols, (SIP and SMTP) to
   know what node to contact for each.




Faltstrom                   Standards Track                     [Page 4]

RFC 2916                  E.164 number and DNS            September 2000


3.2.2 Example 2

$ORIGIN 4.3.2.1.6.7.9.8.6.4.e164.arpa.
  IN NAPTR  10 10 "u" "sip+E2U"     "!^.*$!sip:paf@swip.net!"    .
  IN NAPTR 102 10 "u" "mailto+E2U"  "!^.*$!mailto:paf@swip.net!" .
  IN NAPTR 102 10 "u" "tel+E2U"     "!^.*$!tel:+4689761234!"     .

   Note that the preferred method is to use the SIP protocol, but the
   result of the rewrite of the NAPTR record is a URI (the "u" flag in
   the NAPTR record).  In the case of the protocol SIP, the URI might be
   a SIP URI, which is resolved as described in RFC 2543 [6].  In the
   case of the "tel" URI scheme [7], the procedure is restarted with
   this new E.164 number.  The client is responsible for loop detection.

   The rest of the resolution of the routing is done as described above.

3.2.3 Example 3

   $ORIGIN 6.4.e164.arpa.
   * IN NAPTR 100 10 "u" "ldap+E2U" "!^+46(.*)$!ldap://ldap.se/cn=01!" .

   We see in this example that information about all E.164 numbers in
   the 46 countrycode (for Sweden) exists in an LDAP server, and the
   search to do is specified by the LDAP URI [8].

4. IANA Considerations

   This memo requests that the IANA delegate the E164.ARPA domain
   following instructions to be provided by the IAB.  Names within this
   zone are to be delegated to parties according to the ITU
   recommendation E.164.  The names allocated should be hierarchic in
   accordance with ITU Recommendation E.164, and the codes should
   assigned in accordance with that Recommendation.

   Delegations in the zone e164.arpa (not delegations in delegated
   domains of e164.arpa) should be done after Expert Review, and the
   IESG will appoint a designated expert.

5. Security Considerations

   As this system is built on top of DNS, one can not be sure that the
   information one get back from DNS is more secure than any DNS query.
   To solve that, the use of DNSSEC [9] for securing and verifying zones
   is to be recommended.







Faltstrom                   Standards Track                     [Page 5]

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?