IPTEL Working Group                                               J. Yu
   Internet Draft                                                  NeuStar
   Document: draft-ietf-iptel-tel-np-02.txt                     April 2004
   Category: Standards Track
   
   
        New Parameters for the "tel" URI to Support Number Portability
   
   
   Status of this Memo
   
      This document is an Internet-Draft and is in full conformance with
      all provisions of Section 10 of RFC2026 [1].
   
      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.
   
   
   Copyright Notice
   
      Copyright (C) The Internet Society (2004).  All rights reserved.
   
   
   
   Abstract
   
      This document defines several new parameters in the "tel" Uniform
      Resource Identifier (URI) to support number portability (NP) for
      geographical telephone numbers and freephone numbers.  The "rn"
      parameter carries the routing number for a ported geographical
      telephone number.  The presence of the "npdi" parameter indicates
      that NP database dip has been performed on a geographical telephone
      number.  The "cic" parameter identifies the freephone service
      provider for a freephone number.  The "rn-context" and "cic-context"
      parameters describe the "rn" and "cic" parameters respectively when
      the "rn" and "cic" parameters contain information in the "local"
      format.
   
   
   
   
   Yu             Standards Track û Expires October 16, 2004           1
   
                          New Parameters for the "tel" URI     April 2004
                           to Support Number Portability
   
   1. Conventions used in this document
   
      The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
      "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
      document are to be interpreted as described in RFC2119 [2].
   
   
   2. Introduction
   
      Number portability (NP) [3] allows the telephony subscribers to keep
      their telephone numbers when they change service provider (service
      provider portability), move to a new location (location
      portability), or change the subscribed services (service
      portability).  The NP implementations in many countries presently
      support service provider portability for geographic telephone
      numbers and freephone numbers (e.g., 800 numbers in the North
      America).  It has been identified that NP has impacts on several
      works-in-progress at the IETF.  One impact is the need to carry the
      NP-related information in the "tel" URI [4] for protocols such as
      the Session Initiation Protocol (SIP) [5] and H.323 [6] after the NP
      database dip has been performed.  Another impact is for a Voice over
      IP (VoIP) server to use the NP-related information in a received
      "tel" URI to determine routing.
   
      A routing number is associated with a geographical telephone number
      that has been ported out from a donor carrier to another carrier.  A
      donor carrier is the initial carrier where a geographical telephone
      number was located before ever being ported.  A "non-ported"
      geographical telephone number does not have any routing number
      associated with it because the first N digits of the geographical
      telephone number can be used for routing.  A routing number can also
      be used to indicate the switch or network node that originates a
      call or service similar to the Jurisdiction Information Parameter in
      Signaling System Number 7 (SS7) Integrated Services Digital Network
      User Part (ISUP).
   
      The NP database dip indicator is used to inform the downstream
      servers or switches during call set up that there is no need to
      perform the NP database dip for a geographical telephone number
      again.
   
      A "Carrier Identification Code (CIC)" identifies the current
      freephone service provider for a freephone number.  This parameter
      can also be used to carry the pre-subscribed or dialed long distance
      carrier information; however, that is outside the scope of this
      document.
   
      This document defines several new parameters for the "tel" Uniform
      Resource Identifier (URI) [4] to support NP.  Section 3 lists the
      abbreviations used in this document.  Section 4 provides the formal
      syntax definition.  Section 5 describes the rules for a network node
      that deals with some or all of the defined parameters in a "tel"
      URI.  Section 6 provides a few examples to show how those defined
   
   Yu             Standards Track û Expires October 16, 2004           2
   
                          New Parameters for the "tel" URI     April 2004
                           to Support Number Portability
   
      parameters are added to a "tel" URI after retrieving NP-related
      information from the NP database.  Section 7 discusses the security
      considerations.
   
   
   3. Abbreviations
   
      ANSI   American National Standards Institute
      BNF    Backus-Naur Form
      CIC    Carrier Identification Code (also cic)
      CIP    Carrier Identification Parameter
      FCI    Forward Call Indicator
      GAP    Generic Address Parameter
      IC     Identification Code
      IP     Internet Protocol
      IETF   Internet Engineering Task Force
      IP     Internet Protocol
      ISUP   Integrated Services Digital Network User Part
      JIP    Jurisdiction Information Parameter
      NP     Number Portability
      NPDB   Number Portability Database
      npdi   NP Database Dip Indicator
      rn     Routing Number
      PSTN   Public Switched Telephone Network
      PNTI   Ported Number Translation Indicator
      SIP    Session Initiation Protocol
      SS7    Signaling System Number 7
      URI    Uniform Resource Identifier
      VoIP   Voice over IP
   
   
   4. Formal Syntax
   
      The following syntax specification uses the augmented Backus-Naur
      Form (BNF) as described in RFC-2234 [7].
   
      rn                      = *1(routing-number)
      npdi                    = *1(npdb-dip-indicator)
      cic                     = *1(carrier-id-code)
      routing-number          = "rn=" global-rn / local-rn
      global-rn               = "+" 1*phonedigit-hex
      local-rn                = 1*phonedigit-hex rn-context
      rn-context              = ";rn-context=" rn-descriptor
      rn-descriptor           = domainname / global-hex-digits
      global-hex-digits       = "+" 1*3(phonedigit) *phonedigit-hex
      phonedigit              = DIGIT / [ visual-separator ]
      phonedigit-hex          = HEXDIG / "*" / "#" / [ visual-separator ]
      visual-separator        = "-" / "." / "(" / ")"
      domainname              = *( domainlabel "." ) toplabel ["."]
      domainlabel             = alphanum
                                / alphanum *( alphanum / "-" ) alphanum
      toplabel                = ALPHA / ALPHA *( alphanum / "-" ) alphanum
   
   Yu             Standards Track û Expires October 16, 2004           3
   
                          New Parameters for the "tel" URI     April 2004
                           to Support Number Portability
   
      alphanum                = ALPHA / DIGIT
      npdb-dip-indicator      = "npdi"
      carrier-id-code         = "cic=" global-cic / local-cic
      global-cic              = "+" 1*phonedigit-hex
      local-cic               = 1*phonedigit-hex cic-context
      cic-context             = ";cic-context=" rn-descriptor
   
      The "routing-number", "npdb-dip-indicator" or "carrier-id-code" each
      can appear in the "tel" URI at most once.
   
      For a "global-rn", the routing number information after "+" MUST
      begin with a valid E.164 [8] country code.
   
      For a "local-rn", the routing number in the "rn" parameter MUST be
      meaningful in terms of "rn-context".  For example, if a national
      routing number is in the "rn" parameter, the "rn-context" MUST
      contain a valid E.164 country code after "+" if it is in the
      "global-hex-digits" format.
   
      For a "global-cic", the CIC information after "+" MUST begin with a
      valid E.164 country code.
   
      For a "local-cic", the CIC value in the "cic" parameter MUST be
      meaningful in terms of "cic-context".  For example, if the national
      CIC value is in the "cic" parameter, the "cic-context" SHALL contain
      a valid E.164 country code after "+" if it is in the "global-hex-
      digits" format.
   
   
   5. Normative Rules
   
      This section discusses how a network node handles a received "tel"
      URI that contains one or more of the defined parameters or has
      accessed an NP database for a freephone number or geographical
      telephone number and needs to add some of the defined parameters to
      a "tel" URI.
   
      In countries where there is no freephone number portability or
      geographical telephone number portability, the call routing can be
      based on the leading digits of the freephone number or geographical
      telephone number.  This document does not describe those scenarios.
   
      Please note that two accesses to the freephone databases are
      normally done for routing a call to a freephone number.  The first
      one is done by the originating network that queries a freephone
      database for the CIC information so that the call can be routed to
      the serving freephone service provider of the called freephone
      number.  When the call reaches the serving freephone provider, the
      second database access is performed to map the freephone number to a
      geographical telephone number and/or internal routing information.
      This document does not address the case where internal routing
      information is returned.
   
   
   Yu             Standards Track û Expires October 16, 2004           4
   
                          New Parameters for the "tel" URI     April 2004
                           to Support Number Portability
   
   
      The first freephone database contains the CIC information for all
      the active freephone numbers while the second one usually contains
      mapping information only for those freephone numbers served by a
      freephone service provider.  Because the originating carrier may
      provide freephone service, its freephone database would contain the
      CIC information for all the active freephone numbers plus the
      mapping information for those freephone numbers it serves.  This
      document refers to the two database accesses as "the first freephone
      database access" and "the second freephone database access".
   
   
   5.1 Handling "tel" URI with Defined Parameter or Parameters
   
      If the "tel" URI contains the "npdi" parameter, the network node
      SHALL NOT retrieve the NP-related information for geographical
      telephone numbers even if it is set to do so.
   
      If the "tel" URI contains the "cic" parameter whose CIC value is
      different from the one this network node is associated with, this
      network node SHALL NOT retrieve the NP-related information for the
      geographical telephone number or perform the first freephone
      database access for the freephone number in the "tel" URI.
   
      For the "cic" and "rn" parameters and either a freephone number or
      geographical telephone number, the order of processing is to look
      for the "cic" parameter first for call routing.  If the CIC
      information is not useful or the "cic" parameter does not exist,
      then the next step is to look for the "rn" parameter.  If the
      information in the "rn" parameter is not useful or the "rn"
      parameter does not exist, then the freephone number or geographical
      telephone number is used.
   
      If the network node does not know how to route based on the CIC or
      routing information, the local policies SHALL decide whether to stop
      the call processing or continue the call processing by ignoring the
      invalid/unknown information.
   
      When looking for the "cic" parameter and that parameter exists in
      the "tel" URI:
   
      - The network node SHALL ignore the "cic" parameter if it identifies
        a carrier or service provider associated with that node, or if
        that parameter contains a code for indicating that a geographic
        number is supplied (e.g., +1-0110 means "local, translated
        geographical telephone number provided").  The network node SHALL
        remove the "cic" parameter and look for the "rn" parameter for
        making the routing decision.
   
      - Otherwise, the network node SHALL make the routing decision based
        on the CIC.  The network node SHALL NOT remove the "cic" parameter
        unless it is handing over the call to the carrier or service
        provider identified by the CIC and the local policies require it
   
   Yu             Standards Track û Expires October 16, 2004           5
   
                          New Parameters for the "tel" URI     April 2004
                           to Support Number Portability
   
        to remove the "cic" parameter.   How the call is actually routed
        based on the CIC value in the "cic" parameter is outside the scope
        of this document.
   
      When looking for the "rn" parameter and that parameter exists in the
      "tel" URI:
   
      - The network node SHALL remove the "rn" parameter if the routing
        number in the "rn" parameter points to this network node (e.g.,
        the call has reached the intended network node).  It SHALL look
        for the freephone number or geographical telephone number for
        making the routing decision.
   
      - The network node SHALL remove the "rn" parameter if the routing
        number in the "rn" parameter points to a network this network node
        is in (e.g., in some countries the routing number gets the call to
        the serving carrier network where another NP database access is
        required to locate the serving switch).  It SHALL look for the
        freephone number or geographical telephone number for making the
        routing decision.  The network node MAY access the NP database for
        routing information if it is set to do so.
   
      - Otherwise, the network node SHALL make the routing decision based
        on the routing number in the "rn" parameter.  How the call is
        actually routed based on the routing number in the "rn" parameter
        is outside the scope of this document.
   
      When the "cic" or "rn" parameter is not used for routing, the
      network node uses the freephone number or geographical telephone
      number for making routing decision.  It may access the NP database
      if it is set to do so or may route the call to a designated network
      node that will access the NP database or may route the call based on
      the local routing table.  How the call is handled at this stage is
      outside the scope of this document.  See Section 5.2 for rules in
      adding the defined parameter or parameters to the "tel" URI if the
      network node is set to access the NP database.
   
   
   5.2 Adding Defined Parameter or Parameters to the "tel" URI
   
      There are two cases in terms of NP database access.  One is for a
      geographical telephone number and the other is for a freephone
      number.  They are discussed in Sections 5.2.1 and 5.2.2 for a "tel"
      URI that is used for routing.
   
      Section 5.2.3 discusses a special case where the "rn" parameter is
      added to a "tel" URI that is associated with the first network node
      that handles the call request from the caller.  Section 5.3.4
      discusses the addition of the defined parameter or parameters to the
      "tel" URI due to protocol conversion.
   
   
   
   
   Yu             Standards Track û Expires October 16, 2004           6
   
                          New Parameters for the "tel" URI     April 2004
                           to Support Number Portability
   
   5.2.1 Retrieving NP-related information for a geographical telephone
         number
   
      When a network node accesses an NP database for a geographical
      telephone number:
   
      - If the network node retrieves a routing number, it SHALL add the
        "rn" parameter to the "tel" URI to carry the routing number
        information in the "global-rn" or "local-rn" format.  It SHALL
        also add the "npdi" parameter.
   
      - If the network node does not retrieve a routing number (e.g., for
        a non-ported geographical telephone number), it SHALL add the
        "npdi" parameter to the "tel" URI.
   
      The network node SHALL follow the rules described in Section 5.1 for
      using the information in the "tel" URI to make the routing decision.
   
   
   5.2.2 Retrieving NP-related information for a freephone number
   
      When a network node performs the first or second freephone database
      access for a freephone number:
   
      - If the network node retrieves a CIC that identifies a carrier or
        service provider associated with that network node, or indicates
        that a geographic number is supplied (e.g., "+1-0110" means
        "local, translated geographical telephone number provided"), it
        would have retrieved a geographical telephone number.  The network
        node SHALL NOT add the "cic" parameter and SHALL replace the
        freephone number in the "tel" URI with the retrieved geographical
        telephone number in either the "global-number" or "local-number"
        format.
   
        Some freephone databases may not return the geographical telephone
        number but internal routing information in a proprietary format
        (e.g., switch ID and trunk group ID).  That case is outside the
        scope of this document.
   
      - If the network node retrieves a CIC that belongs to another
        freephone service provider, the network node SHALL add the "cic"
        parameter to the "tel" URI that contains the CIC in the "global-
        cic" or "local-cic" format.
   
        The originating carrier may have business agreements with a
        freephone service provider to return the geographical telephone
        number in addition to the CIC.  When a geographical telephone
        number is returned, the network node SHALL replace the freephone
        number in the "tel" URI with the returned geographical telephone
        number in either the "global-number" or "local-number" format.
   
      - If the network node retrieves a geographical telephone number that
        is the typical case for the second freephone database access, the
   
   Yu             Standards Track û Expires October 16, 2004           7
   
                          New Parameters for the "tel" URI     April 2004
                           to Support Number Portability
   
        network node SHALL replace the freephone number in the "tel" URI
        with the retrieved geographical telephone number in either the
        "global-number" or "local-number" format.
   
        When a geographical telephone number is returned in the response,
        it is possible that the NP-related information for that
        geographical telephone number could also be returned.  In that
        case, the network node SHALL add the "npdi" parameter and SHALL
        add the "rn" parameter to contain the routing number in either the
        "global-rn" or "local-rn" format only when the routing number is
        available.
   
      The network node SHALL follow the rules described in Section 5.1 for
      using the information in the "tel" URI to make the routing decision.
   
   
   5.2.3 Adding location information about the caller
   
      In SS7 ISUP, the JIP identifies the switch that originates the call
      and the information in it may be used by the serving carrier to
      determine the call charge to the caller or by the involved carriers
      to determine the settlement amount between them.
   
      A network node that is the first to handle the call request from the
      caller MAY include the "rn" parameter to the "tel" URI associated
      with the caller, if one exists.   For example, if the network node
      is a PSTN gateway that receives an ISUP message that contains the
      JIP, the "rn" parameter in the "tel" URI would normally contain the
      correct location information.
   
      Please note that the information in the "rn" parameter may not be
      authenticated; therefore, the use of the information by the
      recipient of the "tel" URI for anything related to charging is done
      at its own risk.
   
   
   5.2.4 Adding the defined parameter or parameters due to protocol
         conversion
   
      A Public Switched Telephone Network (PSTN) gateway needs to convert
      between SS7 ISUP and the VoIP protocol such as SIP or H.323.  This
      type of network node SHALL add the corresponding information from
      the ISUP to the defined parameters to the "tel" URI for routing and
      the "tel" URI associated with the caller and vice versa.  Since ISUP
      support for NP depends on the supporting country, the following
      discussion applies to a situation when a network node is to map the
      NP information in the American National Standards Institute (ANSI)
      ISUP to the NP-related parameters in the "tel" URI.
   
      For a ported geographical telephone number, the network node SHALL
      convert the routing number in the ISUP Called Party Number parameter
      to a routing number in either the "global-rn" or "local-rn" format
      and carry it in the "rn" parameter for a "tel" URI that is used for
   
   Yu             Standards Track û Expires October 16, 2004           8
   
                          New Parameters for the "tel" URI     April 2004
                           to Support Number Portability
   
      routing.   The network node SHALL convert the phone number that is
      marked as the "ported number" in the ISUP Generic Address Parameter
      (GAP) to a phone number in either the "global-number" or "local-
      number" format [4] and put it after "tel:" in the "tel" URI that is
      used for routing.
   
      For a non-ported geographical telephone number, the network node
      SHALL convert the phone number in the ISUP Called Party Number
      parameter to a phone number in either the "global-number" or "local-
      number" format and put it after "tel:" in the "tel" URI that is used
      for routing.   No "rn" SHALL appear in the "tel" URI.  It is outside
      the scope of this document how to include the "rn" parameter if the
      local policies require the network node to do so.
   
      The network node SHALL include the "npdi" parameter in the "tel" URI
      that is used for routing when the Ported Number Translation
      Indicator (PNTI) bit in the Forward Call Indicator (FCI) parameter
      is set to "1".
   
      The network node SHALL include the "cic" parameter in either the
      "global-cic" or "local-cic" format in the "tel" URI that is used for
      routing when the ISUP Carrier Identification Parameter (CIP) is
      present.
   
      The network node MAY include the "rn" parameter in the "tel" URI
      associated with the caller information when the ISUP JIP is present.
   
      Mapping NP-related parameters in a "tel" URI to the NP-related
      information in the ISUP message depends on the national ISUP
      implementation and is outside the scope of this document.
   
   
   6. Examples
   
      A. A "tel" URI, tel:+1-800-123-4567, contains a freephone number "+1-
        800-123-4567".  Assume that this freephone number is served by a
        freephone service provide with a CIC "+1-6789".   After retrieving
        the NP-related information, the "tel" URI would be set to
   
           tel:+1-800-123-4567;cic=+1-6789
   
      B. A "tel" URI, tel:+1-800-123-4567;cic=+1-6789, is handled by a
        network node in the serving freephone service providerÆs network.
        Assume that the freephone number is mapped to a geographical
        telephone number "+1-202-533-1234".  After retrieving the NP-
        related information, the "tel" URI would be set to
   
           tel:+1-202-533-1234
   
      C. A "tel" URI, tel:+1-202-533-1234, contains a geographical
        telephone number "+1-202-533-1234".  Assume that this geographical
        telephone number is ported and is associated with a routing number
   
   
   Yu             Standards Track û Expires October 16, 2004           9
   
                          New Parameters for the "tel" URI     April 2004
                           to Support Number Portability
   
        "1-202-544-0000".   After retrieving the NP-related information,
        the "tel" URI would be set to
   
           tel:+1-202-533-1234;rn=+1-202-544-0000;npdi
   
      D. A "tel" URI, tel:+1-202-533-6789, contains a geographical
        telephone number "+1-202-533-6789".  Assume that this geographical
        telephone number is not ported.   After accessing the NP database,
        the "tel" URI would be set to
   
           tel:+1-202-533-6789;npdi
   
   
   7. Security Considerations
   
      In addition to those security implications discussed in the revised
      "tel" URI [4], there are new security implications associated with
      the defined parameters.
   
      If the value of the "rn" or "cic" in the "tel" URI is changed
      illegally when the signaling message carrying the "tel" URI is en
      route to the destination entity, the signaling message or call may
      be routed to the wrong network or network node causing the call
      setup to be rejected.
   
      If the "npdi" is illegally inserted into the "tel" URI when the
      signaling message carrying the "tel" URI is en route to the
      destination entity, the call may be routed to the wrong network or
      network node causing the call setup to be rejected.  It is less a
      problem if the "npdi" is illegally removed.  An additional NPDB
      query may be performed to retrieve the routing number information
      and have the "npdi" included again.
   
      It is RECOMMENDED that protocols carrying the "tel" URI ensure
      message integrity during the message transfer between the two
      communicating network nodes so as to detect any unauthorized changes
      to the content of the "tel" URI and other information.
   
   
   8. Normative References
   
      [1] S. Bradner, RFC2026, "The Internet Standards Process -- Revision
          3", October 1996.
   
      [2] S. Bradner, RFC2119, "Key words for use in RFCs to Indicate
          Requirement Levels", March 1997.
   
      [4] H. Schulzrinne, draft-ietf-iptel-rfc2806bis-07.txt, "The tel URI
          for Telephone Calls", April 9, 2004.
   
      [7] D. Crocker and P. Overell, RFC2234, "Augmented BNF for Syntax
          Specifications: ABNF", November 1997.
   
   Yu             Standards Track û Expires October 16, 2004          10
   
                          New Parameters for the "tel" URI     April 2004
                           to Support Number Portability
   
   
      [8] ITU-T Recommendation E.164, "The international public
          telecommunication numbering plan", May 1997.
   
   
   9. Informative References
   
      [3] M. Foster, T. McGarry and J. Yu, RFC3482, "Number Portability in
          the GSTN: An Overview", February 2003.
   
   
      [5] J. Rosenberg, et al., RFC3261, "SIP: Session Initiation
          Protocol", June 2002.
   
      [6] ITU-T Recommendation H.323, "Packet-Based Multimedia
          Communications Systems", November 2000.
   
   
   10. Acknowledgments
   
      The author would like to thank Penn Pfautz, Jon Peterson, Jonathan
      Rosenberg, Henning Schulzrinne, Antti Vaha-Sipila, Flemming
      Andreasen and Mike Hammer for their discussions and comments.
   
   
   11. Author's Address
   
      James Yu
      NeuStar, Inc.
      46000 Center Oak Plaza
      Sterling, VA 20166
      U.S.A.
      Phone: +1-571-434-5572
      Email: james.yu@neustar.biz
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   Yu             Standards Track û Expires October 16, 2004          11
   
                          New Parameters for the "tel" URI     April 2004
                           to Support Number Portability
   
   
   Full Copyright Statement
   
      Copyright (C) The Internet Society (2004). All Rights Reserved.
   
      This document and translations of it may be copied and furnished to
      others, and derivative works that comment on or otherwise explain it
      or assist in its implementation may be prepared, copied, published
      and distributed, in whole or in part, without restriction of any
      kind, provided that the above copyright notice and this paragraph
      are included on all such copies and derivative works. However, this
      document itself may not be modified in any way, such as by removing
      the copyright notice or references to the Internet Society or other
      Internet organizations, except as needed for the purpose of
      developing Internet standards in which case the procedures for
      copyrights defined in the Internet Standards process must be
      followed, or as required to translate it into languages other than
      English.
   
      The limited permissions granted above are perpetual and will not be
      revoked by the Internet Society or its successors or assigns.
   
      This document and the information contained herein is provided on an
      "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
      TASK FORCE DISCLAIMS 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.
   
   
   Acknowledgement
   
      Funding for the RFC Editor function is currently provided by the
      Internet Society.
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   Yu             Standards Track û Expires October 16, 2004          12