One document matched: draft-ietf-enum-enumservices-guide-15.xml


<?xml version='1.0' ?> 
<!DOCTYPE rfc SYSTEM 'rfc2629.dtd'[
   <!ENTITY rfc2119 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml'>
   <!ENTITY rfc2026 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2026.xml'>
   <!ENTITY rfc2606 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2606.xml'>
   <!ENTITY rfc3761 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3761.xml'>
   <!ENTITY I-D.rfc3761bis PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-enum-3761bis.xml'>
   <!ENTITY rfc2223 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2223.xml'>
   <!ENTITY rfc3402 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3402.xml'>
   <!ENTITY rfc3403 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3403.xml'>
   <!ENTITY rfc4846 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4846.xml'>
   <!ENTITY rfc4355 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4355.xml'>
   <!ENTITY rfc3986 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3986.xml'>
   <!ENTITY rfc4238 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4238.xml'>
   <!ENTITY rfc4969 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4969.xml'>
   <!ENTITY rfc4979 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4979.xml'>
   <!ENTITY rfc3764 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3764.xml'>
   <!ENTITY rfc5226 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.5226.xml'>
   <!ENTITY rfc5278 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.5278.xml'>
   <!ENTITY rfc3552 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3552.xml'>
   <!ENTITY rfc5234 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.5234.xml'>
   <!ENTITY I-D.enum-svc-trans PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.hoeneisen-enum-enumservices-transition.xml'>
]>
<rfc category='bcp' ipr='full3978' obsoletes='3761' docName='draft-ietf-enum-enumservices-guide-15' >
    <?rfc toc='yes' ?>
    <?rfc tocompact='no' ?>
    <?rfc compact='yes' ?>
    <?rfc subcompact='yes' ?>
    <?rfc symrefs='yes' ?>
    <?rfc strict='no' ?> 
    <front>

      <date month='December' year='2008' day='08'/>

      <title abbrev='IANA Registration of Enumservices'>
             IANA Registration of Enumservices: Guide, Template and IANA Considerations 
      </title>

      <author initials='B.' surname='Hoeneisen' fullname='Bernie Hoeneisen'>
           <organization abbrev='Swisscom'>
             Swisscom
           </organization>
           <address>
             <postal>
                <street>Hardturmstrasse 3</street>
                <city>CH-8005 Zuerich</city>
                <country>Switzerland</country>
             </postal>
           <phone>+41 44 2747111</phone>
           <email>bernie@ietf.hoeneisen.ch (bernhard.hoeneisen AT swisscom.com)</email>
           <uri>http://www.swisscom.ch/</uri>
         </address>
      </author>


      <author initials='A.' surname='Mayrhofer' fullname='Alexander Mayrhofer'>
        <organization abbrev='enum.at'>
          enum.at GmbH
        </organization>
        <address>
          <postal>
            <street>Karlsplatz 1/9</street>
            <city>Wien</city>
            <code>A-1010</code>
            <country>Austria</country>
          </postal>
          <phone>+43 1 5056416 34</phone>
          <email>alexander.mayrhofer@enum.at</email>
          <uri>http://www.enum.at/</uri>
        </address>
      </author>

     <author initials='J.' surname='Livingood' fullname='Jason Livingood'>
           <organization abbrev='Comcast'>
             Comcast Cable Communications
           </organization>
           <address>
             <postal>
               <street>One Comcast Center</street>
               <street>1701 John F. Kennedy Boulevard</street>
               <city>Philadelphia, PA 19103</city>
               <country>USA</country>
             </postal>
          <phone>+1-215-286-7813</phone>
          <email>jason_livingood@cable.comcast.com</email>
          <uri>http://www.comcast.com/</uri>
        </address>
      </author>

      <area>RAI</area>
      <workgroup>ENUM -- Telephone Number Mapping Working Group</workgroup>
      <keyword>ENUM</keyword>

      <abstract>
        
        <t>This document specifies a revision of the IANA Registration
        Guidelines for Enumservices, describes corresponding
        registration procedures, and provides a guideline for creating
        Enumservice Specifications.
        </t>


<!--
        <t>Registration of Enumservices is now handled using the
        "Expert Review" process. A Registration Document containing
        the specification of the Enumservice is required. However,
        contrary to earlier registration procedures, said Registration
        Document does not necessarily need to be promoted to RFC status.
        </t>

-->
<!--
        
        <t>This document provides a guide to and template for the creation
        of new IANA registrations of ENUM (E.164 Number Mapping) services.
        It is also to be used for updates of existing Enumservice registrations.
        </t>

-->

      </abstract>
  </front>

  <middle>


    <section title='Introduction'>

<!--      <t>[ Note: This is work in progress - the ENUM crowd is invited
      to contribute, since issues clarified in this document will save
      the group time spent on each individual Enumservice registration.
      Please mail your opinions/ideas to the WG list!! ]
      </t>
-->

      <t>E.164 Number Mapping (ENUM) <xref target='I-D.ietf-enum-3761bis'/> 
      provides an identifier mapping
      mechanism to map <xref target='ITU.E164.2005'>E.164 numbers</xref> to
      <xref target='RFC3986'>Uniform Resource Identifiers (URIs)</xref>.
      One of the primary concepts of ENUM is the definition of "Enumservices",
      which allows for providing different URIs for different applications
      of said mapping mechanism. 
      </t>

      <t>This document specifies a revision of the IANA Registry for
      Enumservices, which was originally described
      in <xref target='RFC3761'/>. This document
      obsoletes Section 3 of RFC 3761.

      <!--
        <vspace blankLines='1'/>
        <list style="empty">

          <t>Note: <xref target='RFC3761'>RFC 3761</xref> is also
          obsoleted
          by <xref target='I-D.ietf-enum-3761bis'>RFC3761bis</xref>.
          </t>
        </list>
      -->
      </t>


      <t>
      The new registration processes have been specifically designed 
      to be decoupled from the existence of 
      the ENUM working group. Compared to RFC 3761, the main
      changes are:
      </t>
      

        <vspace blankLines='1'/>
        <list style='symbols'>

          <t>For an Enumservice to be inserted to the IANA Registry,
          'Expert Review' and 'Specification Required' according
          to <xref target='RFC5226'>"Guidelines
          for Writing an IANA Considerations Section in RFCs"</xref>
          are now sufficient.
          </t>

          <vspace blankLines='1'/>
          <t>The IANA Registration Template contains new elements, i.e.
          "Enumservice Class" and "Enumservice Specifications(s)".
          </t>

        </list>
      
      <t>The IETF's ENUM Working Group has encountered an unnecessary
      amount of variation in the format of Enumservice Specifications.
      The ENUM Working Group's view of what particular 
      information is required and/or recommended has also evolved,
      and capturing these best current practices is helpful in both
      the creation of new Enumservice Specifications, as well as the
      revision or refinement of existing Enumservice Specifications.
      </t>


    </section>

    <section title="Terminology">

      <t>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 <xref target='RFC2119'>RFC 2119 </xref>.
      </t>

      <t>For the purpose of this document:
  
        <vspace blankLines='1'/>
        <list style='symbols'>
              
          <t>'Registration Document' refers to a draft specification
            that defines an Enumservice and proposes its registration
            following the procedures outlined herein.
          </t>

          <vspace blankLines='1'/>
          <t>'Enumservice Specification' refers to a Registration
            Document that has been approved by the Experts and
            published according to 'Specification Required' as defined
            in <xref target='RFC3552'/>.
          </t>

        </list>
      </t>

    </section>

<!--
    <section title='History and Usage of Enumservice Registrations'>

      <t>As mentioned above, <xref target='RFC3761'> RFC 3761
      </xref> describes the ... DO WE REALLY NEED THIS?
      </t>

    </section>
-->

    <section anchor='requirements' title='Registration Requirements'>

        <t>As specified in the Augmented Backus-Naur Form (ABNF, 
        <xref target='RFC5234'/>) found in
        <xref target='I-D.ietf-enum-3761bis'/>, an Enumservice is made
        up of Types and Subtypes.  For any given Type, the allowable
        Subtypes (if any) must be defined in the Enumservice
        Specification.  There is currently no concept of a registered
        Subtype outside the scope of a given Type.
        </t>
        <!-- Thus, the registration process uses the 'type' as its main key
        within the IANA Registry.</t> -->

        <t>While the combination of each Type and all of its Subtypes
        constitutes the allowed values for the 'Enumservice' field, it
        is not sufficient to just list their allowed values.
        To allow for interoperability, a complete
        Enumservice Specification MUST document the semantics of the Type and
        Subtype values to be registered, and MUST contain all
        sections listed in <xref target='requiredSections'/> of this
        document.</t>

        <t>Furthermore, in order for an Enumservice to be registered,
        the entire Registration Document requires approval by the
        experts according to the 'Expert Review' process defined
        in <xref target='RFC5226'>"Guidelines
        for Writing an IANA Considerations Section in RFCs"</xref>.
        </t>

        <t>All Enumservice Specifications are expected to conform also
        to various requirements laid out in the following sections.
        </t>

        <section anchor='FunctReq' title='Functionality Requirements'>

          <t>A registered Enumservice must be able to function as a
          selection mechanism for choosing
          one <xref target='RFC3403'>NAPTR resource record</xref> from
          a set of such records.  That means that the Enumservice 
          Specification MUST
          specify the functionality that can be expected from the NAPTR record,
          especially the set of URI schemes and that is returned from processing          the record.
          </t>

          <t>Specifically, a registered Enumservice MUST specify the
          URI Scheme(s) that may be used for the Enumservice, and,
          when needed, other information that will have to be
          transferred into the URI resolution process itself.
          </t>

        </section>

        <section anchor='NamingReq' title='Naming Requirements'>

          <t>An Enumservice MUST be unique in order to be useful as a
          selection criteria:
        
            <vspace blankLines='1'/>
            <list style='symbols'>
              
              <t>The Type MUST be unique.
              </t>
            
              <vspace blankLines='1'/>
              <t>The Subtype (being dependent on the Type) MUST be
              unique within a given Type.
              </t>

            </list>
          </t>

          <t>Types and Subtypes MUST conform to the ABNF specified in
          <xref target='I-D.ietf-enum-3761bis'/>.
          </t>

          <t>The ABNF specified in
          <xref target='I-D.ietf-enum-3761bis'/> allows the "-" (dash)
          character for Types and Subtypes . To avoid confusion with
          possible future prefixes, a "-" MUST NOT be used as the
          first nor as the second character of a Type nor a Subtype.
          Furthermore, a "-" MUST NOT be used as the last character of
          a Type nor a Subtype.  In addition, Types and Subtypes are
          case insensitive and MUST be specified in small letters.
          </t>

          <t>To avoid confusion with Enumservice fields using an
          obsolete syntax, Type and Subtype MUST
          NOT start with the string "e2u".
          </t>

          <t>The Subtype for one Type MAY have the same identifier as
          a Subtype for
          another Type but it is not sufficient to
          simply reference another Type's Subtype.  The functionality
          of each Subtype MUST be fully specified in the context 
          of the Type being registered.
          </t>

          <t><xref target='cookbook'/> contains further naming
          recommendations.
          </t>


        </section>

        <section anchor='SecReq' title='Security Requirements'>

          <t>An analysis of security issues is REQUIRED for all
          registered Enumservices. (This is in accordance with the
          basic requirements for all IETF protocols.)
          </t>

          <t>All descriptions of security issues MUST be as accurate
          and extensive as feasible.  In particular,
          a statement that there are "no security issues associated
          with this Enumservice" must not be confused with "the
          security issues associated with this Enumservice have not
          been assessed".
          </t>

          <t>There is no requirement that an Enumservice must be
          completely free of security risks.  Nevertheless, all known
          security risks MUST be identified in an Enumservice
          Specification.
          </t>

          <t>The security considerations section of Enumservice
          Specifications is subject to continuing evaluation and
          modification, in accordance with
          <xref target='ChangeControl'/>.
          </t>

          <t>Some of the issues to be looked at in a security
          analysis of an Enumservice are:

            <vspace blankLines='1'/>
            <list style='numbers'>

              <t>Complex Enumservices may include provisions for
              directives that institute actions on a user's resources.
              In many cases provision can be made to specify arbitrary
              actions in an unrestricted fashion which may then have
              devastating results (especially if there is a risk for
              a new ENUM look-up, and because of that an infinite loop
              in the overall resolution process of the E.164 number).
              </t>

              <vspace blankLines='1'/>
              <t>Complex Enumservices may include provisions for
              directives that institute actions which, while not
              directly harmful, may result in disclosure of
              information that either facilitates a subsequent attack
              or else violates the users' privacy in some way.
              </t>

              <vspace blankLines='1'/>
              <t>An Enumservice might be targeted for applications
              that require some sort of security assurance but do not
              provide the necessary security mechanisms themselves.
              For example, an Enumservice could be defined for storage
              of confidential security services information such as
              alarm systems or message service passcodes, which in
              turn require an external confidentiality service.
              </t>

            </list>

          </t>

        </section>

        <section anchor='PubReq' title='Publication Requirements'>

          <t>Enumservices Specifications MUST be published according to
          the requirements for 'Specification Required' set
          in <xref target='RFC5226'>"Guidelines
          for Writing an IANA Considerations Section in RFCs"</xref>.
          RFCs fulfill these
          requirements. Therefore, it is strongly RECOMMENDED
          Enumservice Specifications be published as RFCs.
          </t>

          <t>In case the Enumservice Specification is not published as
          an RFC, sufficient information that allows to uniquely
          identify the Enumservice Specification MUST be provided.
          </t>

        </section>


    </section>

    <section  anchor='cookbook' title='Enumservice Creation Cookbook'>

      <section title='General Enumservice Considerations'>

        <t>ENUM is an extremely flexible identifier mapping mechanism,
        using E.164 (phone) numbers as input identifiers, and returning 
        URIs as output identifiers. Because of this flexibility, almost 
        every use case for ENUM could be implemented in several ways.
        </t>

        <t>Section 2 of <xref target='RFC5226'>"Guidelines for Writing an IANA 
        Considerations Section in RFCs"</xref> provides motivation why 
        management of a name space might be necessary. Even though the 
        namespace for Enumservices is rather large (up to 32 alphanumeric 
        characters), there are reasons to manage this in accordance with 
        Section 2 of <xref target='RFC5226'/>.  The following is a list of 
        motivations applying to Enumservices:

        <vspace blankLines='1'/>
        <list style='symbols'>

          <t>Prevent hoarding or wasting of values: Enumservice Types
          are not an opaque identifier to prevent collisions in the
          namespace, but rather identify the use of a certain
          technology in the context of ENUM.  Service Types might also
          be displayed to end users in implementations, so meaningful
          Type strings having a clear relation to the protocols and
          applications used are strongly RECOMMENDED.
          Therefore, preventing hoarding, wasting, or "hijacking" of
          Enumservice Type names is important.
          </t>

          <vspace blankLines='1'/>
          <t>Sanity check to ensure sensible or necessary requests:
          This applies to Enumservices, since especially various
          Enumservices for the same purpose would reduce the chance of
          successful interoperability, and unnecessarily increase the
          confusion among implementers.
          </t>

          <vspace blankLines='1'/>
          <t>Delegation of namespace portions: Theoretically, the Type
          and/or Subtype structure of Enumservices would allow for
          delegations of Type values, and self-supporting management
          of Subtype values by a delegate within the Type value. Such
          delegates could for example be other standardization
          bodies. However, this would require clear policies regarding
          publication and use of such Subtypes. Delegation of
          Enumservice namespace portions is therefore currently not
          supported.
          </t>

          <vspace blankLines='1'/>
          <t>Interoperability: Since the benefit of an Enumservice
          rises with the number of supporting clients, the
          registration and use of several services for a similar or
          identical purpose clearly reduces interoperability.
          Operational circumstances suggest to keep the space occupied
          by all services published in the NAPTR RRSet at any owner in
          the e164.arpa domain bounded. Registration of nearly
          identical services and subsequent competing or parallel use
          could easily increase the DNS operational complexity.
          </t>
        </list>
        </t>
        
        <t>Generally, before commencing work on a new Enumservice 
        registration, the following should be considered:

          <vspace blankLines='1'/>

          <list style='symbols'>

            <t>Is there an existing Enumservice that could fulfill the
            desired functionality without overloading it? Check the IANA
            Enumservice Registry at
            <http://www.iana.org/assignments/enum-services>.
            </t>

            <vspace blankLines='1'/>
            <t>Is there work in progress, or previous work, on a similar 
            Enumservice? Check the  <enum@ietf.org> mailing list archives 
            at <http://www.ietf.org/mail-archive/web/enum/index.html>,
            and search the Internet-Drafts Archive at
            <http://tools.ietf.org/>.  As some Internet-Drafts may have
            expired and no longer be available in the Internet-Drafts Archive,
            it may be useful to search the <enum@ietf.org> mailing list 
            archives and to perform a web search. Furthermore, bear in mind
            that some work on Enumservices may have been considered outside
            the IETF.
            </t>

            <vspace blankLines='1'/>
            <t><xref target='classification'/> provides three general 
            categories for Enumservice classification. In some cases, there
            might be several options for designing an Enumservice. For 
            example, a mapping service using HTTP could be considered a 
            "protocol Type" Enumservice (using HTTP as the protocol), 
            while it could also be viewed as
            an "application Type" Enumservice, with the application being 
            access to mapping services. In such a case where several 
            options are 
            available, defining use cases before commencing work on 
            the Enumservice itself might be useful before making a 
            decision on which  
            aspect of the Enumservice is more important.
            </t>

            
          </list>

        </t>

      </section>

      <section anchor='classification' title='Classification, Type and Subtype'>
        <t>Because of their flexibility, Enumservices can be and are used
        in a lot of different ways. This section contains a classification
        of Enumservices, and provides guidance for choosing suitable 
        Type and Subtype strings for each individual Enumservice
        Class. 

        <!-- The choice of a suitable 'name' is independent of the 
        classification. -->
        </t>

        <t>The Classification of each Enumservice MUST be listed in
        the Enumservice Specification (see
        <xref target='enumServiceReg'/>).  If the Enumservice cannot be
        assigned to one of the classes outlined below, the
        Enumservice Specification MUST contain a section on the
        difficulties encountered while trying to classify the service
        to help the experts in their decision.
        </t>
        
<!--  alex: no 'name' anymore
        <section anchor='choosename' title='Choosing a "name" String'>
          <t>Advice for choosing a proper 'name' string is independent of 
          the classification of the Enumservice.</t>
          <t>Generally, the 'name' string used for registering an Enumservice
          SHOULD give a clear indication of what the Enumservice is about.
          The 'name' has no technical significance in the processing of 
          the NAPTR (it doesn't even appear in resource record instances
          of the Enumservice). However, it
          is likely to be used for labeling the 
          Enumservice to end users.
          </t>
          <t>Suitable 'names' are concise, distinctive, and clearly related
          to the underlying service with which a client is going to interact.
          </t>
        </section>
-->
        <section anchor='generalcons' title='General Type / Subtype Considerations'>
          <t>To avoid confusion, the name of a URI Scheme MUST NOT be
          used as a Type name for an Enumservice which is not specifically
          about the respective protocol or URI Scheme. For example,
          the Type name 'imap' would be inadequate for use in an
          Enumservice about "Internet mapping" services, because it
          corresponds to an existing URI Scheme or protocol for
          something different.
          </t>

          <t>If Subtypes are defined, the minimum number SHOULD be
          two (including the empty subtype, if defined). 
          The choice of just one possible Subtype for a given Type
          does not add any information when selecting a ENUM record,
          and hence can be left out completely.
          However, potential future expansion of a Type towards several
          Subtypes may justify the use of Subtypes, even in the case
          just one is currently defined, as noted in 
          <xref target='ExtensionOfExisting'/>.
          </t>

          <t>It is perfectly legal under a certain Type to mix the
          Enumservice without a Subtype ("empty Subtype") with Enumservices 
          containing
          a Subtype. In that case, however, the Enumservice with an
          empty Subtype SHOULD be specified to reflect the base
          service, while the other Enumservices SHOULD
          be specified to reflect variants.
          </t>
        
        </section>

        <section anchor='protocolclass' title='Protocol-Based Enumservices Class'>

          <t>Such an Enumservice indicates that an interaction using the
          named protocol will result for use of this NAPTR. The expected
          behavior of a system using this Enumservice MUST be clear from
          the protocol.</t>

          <t>A good indication that an Enumservice belongs to this Class is 
          the fact that a client does not need to understand the actual 
          application to make use of an instance of this Enumservice. 
          </t>

          <t>Examples of such Enumservices include <xref target='RFC4979'>
          XMPP</xref> and <xref target='RFC3764'>SIP</xref>.
          </t>

          <section anchor='protobtype' title='Protocol-Based Enumservice "Type" Strings'>
            <t>
            A protocol-based Enumservice SHOULD use the lowercase name of 
            the protocol
<!--     (or the "base" URI Scheme, where there are also secure variants) -->
            as its Type name.
            </t>
          </section>
          <section anchor='protobsubtype' title='Protocol-Based Enumservice "Subtype" Strings'>
            <t>
            Where there is a single URI Scheme associated with this protocol,
            a Subtype SHOULD NOT be specified for the Enumservice.
            </t>
 
            <t>Where there are a number of different URI Schemes
            associated with this protocol, the Enumservice
            Specification MAY use the empty Subtype for all URI
            Schemes that it specifies as mandatory to implement.  For
            each URI Scheme that is not mandatory to implement a
            distinct Subtype string MUST be used.
            </t>

            <t>If Subtypes are defined, it is RECOMMENDED to use the URI 
            Scheme name as the Subtype string.
            </t>
          </section>
        </section>

        <section anchor='applicationclass' title='Application-Based Enumservice Classes'>

          <t>Application-based Enumservices are used when the kind of
          service intended is not fully defined by a protocol specification.
          There are three cases here:

            <vspace blankLines='1'/>
            <list style='symbols'>
            <t>Common Application Enumservice:
            <vspace blankLines='1'/>
            The application reflects a kind of interaction that can be realized
            by different protocols, but where the intent of the publisher is the
            same. From a user's perspective, there is a common kind of interaction -
            how that interaction is implemented is not important. The Enumservice
            Specification MUST describe the interaction and expected behavior in
            enough detail that an implementation can decide if this activity is one
            in which it can engage. However, it is RECOMMENDED that the Enumservice
            is defined in a way that will allow others to use it at a later date. An
            Enumservice that defines a generalized application is preferred to one
            that has narrow use.
            <vspace blankLines='1'/>
            An example of this flavor of Enumservice is email. Whilst this might
            appear to be a "pure" protocol scheme, it is not. The URI Scheme is
            'mailto', and does not identify the protocol used by the sender or the
            recipient to offer or retrieve emails.
            <vspace blankLines='1'/>
            Another example is SMS, where the existence of such an Enumservice
            indicates that the publishing entity is capable of engaging in sending
            or receiving a message according to the Short Messaging Service
            specifications. The underlying protocol used and the URI Scheme for the
            addressable end point can differ, but the "user visible" interaction of
            sending and receiving an SMS is similar.
            </t>         

            <vspace blankLines='1'/>
            <t>Subset Enumservice:
            <vspace blankLines='1'/>
            The application interaction reflects a subset of the interactions
            possible by use of a protocol. Use of this Enumservice indicates that
            some options available by use of the protocol will not be accepted or
            are not possible in this case. Any such Enumservice Specification MUST
            define the options available by use of this NAPTR in enough detail that
            an implementation can decide whether or not it can use this Enumservice.

            Examples of this kind of Enumservice are voice:tel and fax:tel. In both
            cases the URI holds a telephone number. However, the essential feature
            of these Enumservices is that the telephone number is capable of
            receiving a voice call or of receiving a Facsimile transmission,
            respectively. These form subsets of the interactions capable of using
            the telephone number, and so have their own Enumservices. These allow an
            end point to decide if it has the appropriate capability of engaging in
            the advertised user service (a voice call or sending a fax) rather than
            just being capable of making a connection to such a destination address.
            This is especially important where there is no underlying mechanism
            within the protocol to negotiate a different kind of user interaction.
            </t>

            <vspace blankLines='1'/>
            <t>Ancillary Application Enumservice
            <vspace blankLines='1'/>
            Another variant on this is the Ancillary Application. This is one in
            which further processing (potentially using a number of different
            protocols or methods) is the intended result of using this Enumservice.
            An example of this kind of application is the PSTN:tel Enumservice. This
            indicates that the NAPTR holds Number Portability data. It implies that
            the client should engage in number portability processing using the
            associated URI.

            Note that this Enumservice usually does not itself define the kind of
            interaction available using the associated URI. That application is
            negotiated with some other "out of band" means (either through prior
            negotiation, or explicitly through the number portability process, or
            through negotiation following the selection of the final destination
            address).
            </t>
          </list>
          </t>
          <section anchor='apptype' title='Application-Based Enumservice "Type" Strings'>
            <t>It is RECOMMENDED that Application-class Enumservices use the 
            lowercase well known name of the abstract application 
            as Type name.
            </t>
          </section>
          <section anchor='appsubtype' title='Application-Based Enumservice "Subtype" Strings'>
            <t>It is RECOMMENDED to use the URI Scheme(s) which the
            application uses, as Subtype name(s). Subtype names MAY be
            shared between URI Schemes, if all the URI Schemes within
            the same Subtype are mandatory to implement.
            </t>
            <t>If it is foreseen that there is only one URI Scheme 
            ever to be used with 
            the application, the empty Subtype string MAY be used.
            </t>
          </section>
        </section>

        <section anchor='dataclass' title='Data Type-Based Enumservice Class'>

            <t>"Data Type" Enumservices typically refer to a
            specific data type or format, which may be addressed using
            one or more URI Schemes and protocols. It is RECOMMENDED
            to use a well known name of the data type or format as the
            Enumservice Type. Examples of such Enumservices include
            <xref target='RFC4238'>'vpim'</xref> and
            <xref target='RFC4969'>'vCard'</xref>.
            
            </t>
          <section anchor='datatype' title='Data Type-Based Enumservice "Type" Strings'>
            <t>It is RECOMMENDED to use the lowercase well known name 
            of the data or format as the Type name.</t>
          </section>
          <section anchor='datasubtype' title='Data Type-Based Enumservice "Subtype" Strings'>
            <t>It is RECOMMENDED to use the URI Schemes used to access the 
            service as Subtype name. Subtype names MAY be
            shared between URI Schemes, if all the URI Schemes within
            the same Subtype are mandatory to implement.
            </t>

            <t>If there is only one URI Scheme foreseen to access the data or format,
            the empty Subtype string MAY be used.
            </t>
          </section>
        </section>

      <section anchor='otherService' title='Other Enumservice'>

        <t>In case an Enumservice proposal cannot be assigned to any
        of the classes mentioned above, the "Classification" element in 
        the IANA Registration Template (see
        <xref target='enumServiceReg'/> MUST be populated with "Other". 
        In that case, the Enumservice Specification MUST contain a section
        elaborating why the Enumservice does not fit into the 
        classification structure.
        </t>
      </section>
  
      </section> 

<!--      <section anchor='CookbookType' title='About Type Names'>

        <t>Generally, the Type name of an Enumservice is REQUIRED to
        give a clear indication of what the Enumservice is about.
        Usually, an Enumservice falls under one of the following
        categories:

          <vspace blankLines='1'/>
          <list style='symbols'>

            <t>"Protocol" Enumservices are exclusively tied to a
            specific protocol. Such Enumservices typically use that
            single protocol and its respective <xref
            target='RFC3986'>Uniform Resource
            Identifier (URI)</xref> Scheme (sometimes
            including a secure variant), and SHOULD use the protocol
            name / URI Scheme name as the Type. In case the secure
            variant has a different URI Scheme / protocol name, the
            URI Scheme name of the base protocol SHOULD be preferred.
            Examples of such Enumservices include <xref
            target='RFC3764'> 'SIP'</xref>, <xref
            target='RFC3762'>'H323'</xref> and
            <xref target='I-D.ietf-enum-xmpp'>'XMPP'
            [draft-ietf-enum-xmpp]</xref>.
            <vspace blankLines='1'/></t>

            <t>"Application" Enumservices usually use the abstract
            application name as the Enumservice Type. The name of
            the actual protocol and URI Scheme may differ from the
            Type, but may also be identical (especially when <xref
            target='RFC3958'>application service location</xref> is
            used). If application name and URI Scheme name are
            identical, it is RECOMMENDED to use that name also as the
            Enumservice Type. In case the actual protocol / URI
            Scheme differs from the application name, it is
            RECOMMENDED to use that application name as Enumservice
            Type. Examples of such Enumservices are <xref
            target='RFC4002'>'web' and 'ft'</xref> and
            <xref target='RFC3953'>'pres'</xref>.
            <vspace blankLines='1'/></t>

            <t>"Data Type" Enumservices typically refer to a
            specific data type or format, which may be addressed using
            one or more URI Schemes and protocols. It is RECOMMENDED
            to use a well known name of the data type or format as the
            Enumservice Type. An example of such an Enumservice is
            <xref target='RFC4238'>'vpim'</xref> and
            <xref target='RFC4969'>'vCard'</xref>
            (work in progress).
            </t>

          </list>
        </t>

      </section>

      <section anchor='CookbookSubtype' title='About Subtypes'>

        <t>An Enumservice may optionally use a Subtype to further
        specify the service to which a ENUM record refers to. The
        following recommendations apply to such Enumservices:

          <vspace blankLines='1'/>
          <list style='symbols'>

            <t>Subtypes SHOULD NOT be used to curtail the negotiation
            capabilities of the protocol used to contact the referred URI,
            unless this limitation is specifically desired. If that is
            the case, authors MUST describe the limitation, the
            motivation for this, and
            discuss potential problems arising from this.
            <vspace blankLines='1'/></t>


          </list>

        </t>

      </section> -->

    </section>

    <section anchor='requiredSections' title='Required Sections and Information'>

      <t>There are several sections that MUST appear in
      an Enumservice Specification. These sections are as
      follows, and SHOULD be in the given order.
      </t>

      <t>The following terms SHOULD begin with a capital letter,
      whenever they refer to the IANA Registration:
        <list style='symbols'>
          <t>Class</t>
          <t>Type</t>
          <t>Subtype</t>
          <t>URI Scheme</t>
        </list>
      </t>


      <section title='Introduction (MANDATORY)'>

        <t>An introductory section MUST be included.  This section will
        explain, in plain English, the purpose of and intended use of the
        proposed Enumservice registration.
        </t>

        <t>The Introduction SHOULD start with a short sentence about ENUM,
        introduce the protocol used in the Enumservice, and discuss
        the Enumservice as it refers from the E.164 number to the protocol
        or service.
        </t>

      </section>

      <section anchor='enumServiceReg' title='IANA Registration (MANDATORY)'>

        <t>This section MUST be included in an Enumservice
        Specification.  Where a given Enumservice Type has multiple
        Subtypes, there MUST be a separate 'IANA Registration'
        section for each Subtype.  The following lists the elements
        that are to be used in the XML template of an 'IANA Registration' 
        section.
        </t>

        
        <t>
          <list style='symbols'>

            <vspace blankLines='1'/>
<!-- no "names" anymore
            <t>Enumservice Name:

              <vspace blankLines='1'/>

              A short word or stub sentence describing this
              Enumservice. Often this is equivalent to the Enumservice
              Type (see below), however, capitalization may be
              different from it.  
            
              <list style="empty">
                <t>
                  <vspace blankLines='0'/>e.g.
                  <vspace blankLines='0'/>"Foo"
                </t>
              </list>

            </t>
-->

            <vspace blankLines='1'/>
            <t>Enumservice Class (<class>):

              <vspace blankLines='1'/>
              
              This element contains the Class of the Enumservice as
              defined in <xref target='classification'/>. It's value 
              MUST be one of (without quotes):

              <vspace blankLines='1'/>
              <list style='symbols'>
                <t>"Protocol-Based": The Enumservice 
                belongs to the Protocol-based class as described in
                <xref target='protocolclass'/>.
                </t>
                <vspace blankLines='1'/>
                <t>"Application-Based, Common": The Enumservice 
                is a "common" case of the Application-based
                class as described in <xref target='applicationclass'/>.
                </t>
                <vspace blankLines='1'/>
                <t>"Application-Based, Subset": The Enumservice 
                belongs to the "subset" case of the Application-based
                class as described in <xref target='applicationclass'/>.
                </t>
                <vspace blankLines='1'/>
                <t>"Application-Based, Ancillary": The Enumservice
                is an "ancillary" case of the Application-based class,
                as described in <xref target='applicationclass'/>.
                </t>
                <vspace blankLines='1'/>
                <t>"Data Type-Based": The Enumservice 
                belongs to the Data Type-Based class as described in
                <xref target='dataclass'/>.
                </t>
                <vspace blankLines='1'/>
                <t>"Other": The majority of the functionality of the 
                Enumservice does not fall into one of the classes defined. 
                </t>
              </list>

              <list style="empty">
                <t>
                  <vspace blankLines='0'/>e.g.
                  <vspace blankLines='0'/>
                  <![CDATA[<class>Protocol-Based</class>]]>
                </t>
              </list>
            </t>


            <vspace blankLines='1'/>
            <t>Enumservice Type (<type>):

              <vspace blankLines='1'/>

              The Type of the Enumservice. <!-- Often this is equivalent to
              the Enumservice Name (see above) --> <!--LC:, but MUST meet the ABNF 
              requirements of RFC3761bis. -->  All Types SHOULD be
              listed in lower-case. The choice of Type depends on the
              Enumservice Class. 
              Please find further instructions in
              <xref target='cookbook'/>.

              <list style="empty">
                <t>
                  <vspace blankLines='0'/>e.g.
                  <vspace blankLines='0'/>
                  <![CDATA[<type>foo</type>]]>
                </t>
              </list>

            </t>


            <vspace blankLines='1'/>
            <t>Enumservice Subtype (<subtype>):

              <vspace blankLines='1'/>

              The Subtype of the Enumservice.  All Subtypes SHOULD be
              listed in lower-case. The choice of Subtype depends on
              the Enumservice Class. 
              Should the Enumservice not require a Subtype, 
              then the 'subtype' element must not be used in the 
              registration XML chunk. If a given Enumservice Type has multiple 
              Subtypes, then there MUST be a separate 'IANA Registration' 
              XML chunk for each Subtype. Please find further instructions
              in <xref target='cookbook'/>.
            
              <list style="empty">
                <t>
                  <vspace blankLines='0'/>e.g.
                  <vspace blankLines='0'/>
                  <![CDATA[<subtype>bar</subtype>]]>

                </t>
                <!-- <t>
                  <vspace blankLines='0'/>e.g.
                  <vspace blankLines='0'/>N/A
                </t> -->
              </list>

            </t>


            <vspace blankLines='1'/>
            <t>URI Scheme(s) (<urischeme>):

              <vspace blankLines='1'/>

              The URI Schemes that are used with the Enumservice.  The
              selection of URI Schemes often depends on the
              Enumservice Class, Type, and/or Subtype. A colon MUST NOT be 
              placed after the URI Scheme name.  
              If there is more that one URI 
              Scheme, then one 'urischeme' element per URI scheme 
              must be used in the XML chunk.
              Please find further instructions in <xref target='cookbook'/>.
           
              <list style="empty">
                <t>
                  <vspace blankLines='0'/>e.g.
                  <vspace blankLines='0'/><![CDATA[<urischeme>bar</urischeme>]]>
                  <vspace blankLines='0'/><![CDATA[<urischeme>sbar</urischeme>]]>
                  
                </t>
              </list>
 
              <vspace blankLines='1'/>

              Note: A client cannot choose a specific ENUM record in a
              record set based on the URI Scheme - the selection is
              only based on Type and Subtype, in accordance with 
              <xref target='RFC3402'/>

            </t>


            <vspace blankLines='1'/>
            <t>Functional Specification (<functionalspec>):

              <vspace blankLines='1'/>

              The Functional Specification describes how the
              Enumservice is used in connection with the URI to which it
              resolves.
            
              <list style="empty">
                <t>
                  <vspace blankLines='0'/>e.g.
                  <vspace blankLines='0'/>
<artwork><![CDATA[
    <functionalspec> 
      <paragraph>
        This Enumservice indicates
        that the resource identified can be addressed
        by the associated URI in order to foo the bar. 
      </paragraph>
      <paragraph>
        [...]
      </paragraph>
    </functionalspec>]]>
</artwork>
                </t>
              </list>
              
              <vspace blankLines='1' />
              
              Where the terms used are non-obvious, they should be
              defined in the Enumservice Specification, or a reference to
              an external document containing their definition should
              be provided.
              
            </t>


            <vspace blankLines='1'/>
            <t>Security Considerations (<security>):

              <vspace blankLines='1'/>

              A reference to the 'Security Considerations'
              section of a given Enumservice Specification.

              <list style="empty">
                <t>
                  <vspace blankLines='0'/>e.g.
                  <vspace blankLines='0'/>
                  <artwork><![CDATA[
        <security>
          See <xref type="rfc" data="rfc4979"/>, Section 6.
        </security>
                  ]]> </artwork>
                </t>
              </list>

            </t>


            <vspace blankLines='1'/>
            <t>Intended Usage (<usage>):

              <vspace blankLines='1'/>

              One of the following values (without quotes):

              <vspace blankLines='1'/>
              <list style='symbols'>
                <t>"COMMON": Indicates that the Enumservice is 
                intended for widespread use on the public Internet, and
                that its scope is not limited to a certain environment.
                </t>
                <vspace blankLines='1'/>
                <t>"LIMITED USE": Indicates that the Enumservice is
                intended for use on a limited scope, for example in
                private ENUM-like application scenarios. The use case
                provided in the Enumservice Specification should
                describe such a scenario.
                </t>
                <vspace blankLines='1'/>
                <t>"OBSOLETE": Indicates that the Enumservice has 
                been declared obsolete (<xref target='ChangeControl'/>)
                and is not to be used in new deployments. Applications
                SHOULD however expect to encounter legacy instances of this 
                Enumservice. 
                </t>
              </list>
              

              <list style="empty">
                <t>
                  <vspace blankLines='0'/>e.g.
                  <vspace blankLines='0'/>
                  <![CDATA[<usage>COMMON</usage>]]>

                </t>
              </list>

            </t>


            <vspace blankLines='1'/>
            <t>Enumservice Registration Document(s) (<registrationdocs>):

              <vspace blankLines='1'/>

              Reference(s) to the Document(s) containing the
              Enumservice Specification.
            
              <list style="empty">
                <t>
                  <vspace blankLines='0'/>e.g.
                  <vspace blankLines='0'/>
                  <artwork><![CDATA[
                  <registrationdocs>
                    <xref type="rfc" data="rfc4979"/>
                  </registrationdocs>]]></artwork>
                </t>

                <t>
                  <vspace blankLines='0'/>e.g.
                  <vspace blankLines='0'/>
                <artwork><![CDATA[
        <registrationdocs>
          <xref type="rfc" data="rfc8888"/> (obsoleted by RFC 9999) 
          <xref type="rfc" data="rfc9999"/> 
        </registrationdocs>
                ]]></artwork>
                </t>
                <t>
                  <vspace blankLines='0'/>e.g.
                  <vspace blankLines='0'/>
                  <artwork>
                  <![CDATA[
        <registrationdocs>
          [International
          Telecommunications Union, "Enumservice Specification
          for Foobar", ITU-F Recommendation B.193, Release 73,
          Mar 2008.]
        </registrationdocs>]]> </artwork>
                </t>
              </list>
              
            </t>


            <vspace blankLines='1'/>
            <t>Requester (<requester>):

              <vspace blankLines='1'/>

              The persons requesting the registration of the
              Enumservice. Usually these are the authors of
              the Enumservice specification.
 
              <list style="empty">
                <t>
                  <vspace blankLines='0'/>e.g.
                  <vspace blankLines='0'/>
                  <artwork> <![CDATA[
        <requester>
          <xref type="person" data="John_Doe"/>
        </requester>
        ...
        <people>
          <person id="John_Doe">
            <name>John Doe</name>
            <org>ACME Research and Development Inc.</org>
            <uri>mailto:jd@acme.example.com</uri>
            <updated>2008-11-20</updated>
          </person>
        </people> ]]>
        </artwork>
                </t>
              </list>

              <vspace blankLines='1'/>

              Note: If there is more than one requester, there
              must be one 'xref' element per requester in the 
              'requester' element, and one 'person' chunk per 
              'requester' in the 'people' element.

              <vspace blankLines='1'/>

            </t>


            <vspace blankLines='1'/>
            <t>Further Information (<additionalinfo>):

              <vspace blankLines='1'/>

              Any other information the authors deem interesting. 

              <list style="empty">
                <t>
                  <vspace blankLines='0'/>e.g.
                  <vspace blankLines='0'/>
                  <artwork><![CDATA[
        <additionalinfo>
          <paragraph>more info goes here</paragraph>
        </additionalinfo> ]]>
                  </artwork>
                  
                </t>
              </list>

              <vspace blankLines='1'/>
              Note: If there is no such additional information, then 
              the 'additionalinfo' part of the XML chunk is to be left out.

            </t>

          </list>

        </t>

      </section>

      <section title='Examples (MANDATORY)'>

        <t>This section MUST show at least one example of the Enumservice being
        registered, for illustrative purposes.  The example(s) shall in no
        way limit the various forms that a given Enumservice may take, and this
        should be noted at the beginning of this section of the document.
        The example(s) MUST show the specific formatting of the intended NAPTRs
        (according to <xref target='RFC3403'/> 
        and <xref target='I-D.ietf-enum-3761bis'/>), 
        including one or more NAPTR example(s),
        AND a brief textual description, consisting of one or more sentences
        written in plain English, explaining the various parts or attributes
        of the record(s).
        </t>

        <t>The example(s) SHOULD contain a brief description how a client
        supporting this Enumservice could behave, if that description
        was not already given in e.g. the Introduction or the Functional
        Specification.
        </t>

        <t>The example(s) SHOULD follow any relevant IETF guidelines on the use 
        of domain names, phone numbers, and other resource identifier 
        examples, such as <xref target='RFC2606'/>.
        </t>

        <t>e.g.<vspace blankLines='0'/>
        $ORIGIN 9.7.8.0.9.7.8.9.0.9.4.4.e164.arpa.
        <vspace blankLines='0'/>
        @ IN NAPTR 100 10 "u" "E2U+foo:bar" "!^.*$!bar://example.com/!" .
        </t>

      </section>

      <section title='Implementation Recommendations / Notes (OPTIONAL)'>

        <t>If at all possible, recommendations that pertain to
        implementation and/or operations SHOULD be included.  Such a
        section is helpful to someone reading an Enumservice
        Specification and trying to understand how best to use it to
        support their network or service.
        </t>

      </section>

      <section anchor='sec' title='Security Considerations (MANDATORY)'>

        <t>A section explaining any potential security threats that are unique
        to the given registration MUST be included.  This MUST also include any
        information about access to Personally Identifiable Information (PII).
        </t>

        <t>An Enumservice Specification SHOULD NOT
        include general and obvious security recommendations, such as 
        securing servers with strong password authentication.   
        </t>

        <t><xref target='RFC3552'/> provides guidance to write a good 
        Security Considerations section,  <xref target='secguide'/> of this 
        document contains guidance specific to Enumservice registration.
        </t>

      </section>

      <section title='IANA Considerations (MANDATORY)'>

        <t>Describe the task IANA needs to fulfill processing the
        Enumservice Registration Document.
        </t>

        <t>e.g.<vspace blankLines='0'/>
        This document requests the IANA registration of the
        Enumservice with Type "foo" and Subtype "bar" according
        to the definitions in this document, RFC XXXX [Note for RFC
        Editor: Please replace XXXX with the RFC number of this
        document before publication]
        and <xref target='I-D.ietf-enum-3761bis'/>.
        </t>

        <t>
          <vspace blankLines='0'/>e.g.

          <vspace blankLines='0'/>This document requests an update of
          the IANA registration of the Enumservice Type "foo" with
          Subtype "bar", according to the definitions in this
          document, RFC XXXX [Note for RFC Editor: Please replace XXXX
          with the RFC number of this document before publication]
          and <xref target='I-D.ietf-enum-3761bis'/>.
          Therefore, in the existing IANA registration for this
          Enumservice, the element "Enumservice Specification(s)" is enhanced
          by adding a supplementary reference that points to this
          document.
        </t>

        <t>
          <vspace blankLines='0'/>e.g.

          <vspace blankLines='0'/>This document requests an update of
          the IANA registration of the Enumservice Type "foo" with
          all its Subtypes, in order to declare it obsolete.
          Therefore, in the existing IANA registration for this
          Enumservice, the element "Intended Usage" is changed to "OBSOLETE",
          and the element "Enumservice Specification(s)" is enhanced by adding a
          supplementary reference that points to this document.
          
        </t>

      </section>

      <section title='DNS Considerations (MANDATORY)'>

        <t>In case the inclusion of protocols and URI Schemes into
        ENUM specifically introduces new DNS issues, those MUST be
        described within this section.
        </t>

        <t>Such DNS issues include, but are not limited to:

          <vspace blankLines='1'/>
          <list style='symbols'>

            <t>Assumptions about ownership or administrative control of the 
            namespace.
            <vspace blankLines='1'/></t>

            <t>Requirement or need to use DNS wildcards.
            <vspace blankLines='1'/></t>

            <t>Incompatibility with DNS wildcards.
            <vspace blankLines='1'/></t>

            <t>Presence or absence of respective NAPTR Resource Records at 
            particular levels in the DNS hierarchy (e.g. only for 'full'
            E.164 numbers, or wildcards only).
            <vspace blankLines='1'/></t>

            <t>Use of any Resource Records (especially non-NAPTR) within or 
            beyond the e164.arpa namespace other than those needed to resolve
            the domain names that appear in the 'replacement' URI.
            </t>

          </list>
        </t>

        <t>Rationale: some Enumservices try to exploit side effects
        of the DNS that need to be explicitly discussed.
        </t>

      </section>


      <section title='Other Sections (OPTIONAL)'>

        <t>Other sections beyond those required above MAY be included in an 
        Enumservice Specification. These sections may relate to the specifics
        of the intended use of the Enumservice registration, as well as to any 
        associated technical, operational, administrative, or other concerns.
        </t>  
        <t>A use case SHOULD be included by the authors of the proposal, so
        that experts can better understand the problem the proposal seeks 
        to solve (intended use of the Enumservice). The inclusion of such a
        use case will both accelerate the Expert Review Process, as well as
        make any eventual registration easier to understand and implement
        by other parties.</t>

<!-- redundant, now that text from "review guidelines" is moved to above 

        <t>It is highly recommended that a section describing the intended use 
        be included, as this will serve to inform Expert Reviewers as well as 
        assist potential implementers.
        </t>

-->

      </section>

    </section>



    <section anchor='processReg'  title='The Process of Registering New Enumservices'>

      <t>This section is an illustration of the process by which a new
      Enumservice Registration Document is submitted for review and
      comment, how such proposed Enumservices are reviewed, and how
      they are published.</t>

      <t><xref target='enumservice-reg-proc-author'/> shows, what
      authors of a Registration Document describing an Enumservice
      MUST carry out, before said Registration Document can be formally
      submitted to IANA for Expert Review.
      <xref target='enumservice-reg-proc-expert-review'/> shows the
      process from Expert Review onwards.
      </t>

      <figure anchor='enumservice-reg-proc-author'>
        <!-- <preamble>X-Enumservice Registration Process</preamble>-->
        <artwork><![CDATA[
                  +----------------------------+
                  | Step 1: Read this document |
                  +----------------------------+
                               |
                               V
                +-------------------------------+
                | Step 2:  Write R-D and submit |
                +-------------------------------+
                               |
                               V                   
          +--------------------------------------------+
          | Step 3:  Announce R-D and solicit feedback |<--+
          +--------------------------------------------+   |
                               |                           |
                               V                           |
                              .^.                          |
                            .     .                        |
+------------+            .  Feed-  .               +------------+
| Update R-D |<---------<    back     >------------>| Update R-D |
| and submit |  non-sub-  . results .   substantial | and submit |
+------------+  stantial    . in: .     changes     +------------+
      |         changes       . .       needed
      |         needed         Y
      |                        | no changes needed
      |                        V
      |             +----------------------+
      +------------>| Step 4:  Submit R-D  |
                    +----------------------+
                               :
                               :
                               V
  
R-D: Registration Document
        ]]></artwork>
      </figure>


      <section title='Step 1: Read this Document in Detail'>

        <t>This document describes all of the necessary sections
        required and recommended, and makes suggestions on content.
        </t>

      </section>

      <section title='Step 2: Write and Submit Registration Document'>

        <t>An Internet-Draft (or another specification as
        appropriate) MUST be written and made publicly available
        (submitted).  The Registration Document MUST follow the
        guidelines according to <xref target='cookbook'/> and
        <xref target='requiredSections'/> of this document.
        </t>

      </section>

      <section title='Step 3: Request Comments from the IETF Community'>

        <t>The authors MUST send an email to <enum@ietf.org>,
        in which comments on the Registration Document are requested. A 
        proper public reference (a URL is RECOMMENDED) 
        to the Registration Document MUST be included in this email.
        </t>  

        <t>The authors SHOULD allow a reasonable period of time to
        elapse, such as two to four weeks, in order to collect any
        feedback.  The authors then consider whether or not to
        take any of those comments into account, by making changes to
        the Registration Document and submitting a revision, or otherwise
        proceeding.  The following outcomes are open to the authors. 
        The choice of path is left to the authors' judgement.  
        </t>

        <t>Note: Whatever that outcome is, the Experts are not bound to
        any decision during this phase.</t>


        <section title='Outcome 1: No Changes Needed'>

          <t>No changes to the Registration Document are made, and the
          authors proceed to Step 4 below.</t>

          <t>This outcome is recommended when the feedback received
          does not lead to a new revision of the Registration Document.
          </t>

        </section>

        <section title='Outcome 2: Changes, but no further Comments Requested'>

          <t>The authors update the Registration Document and is/are
          confident that all issues are resolved and do not require
          further discussion. The authors proceed to Step 4
          below.
          </t>
 
          <t>This outcome is recommended when minor objections have
          been raised, or minor changes have been suggested.
          </t>

        </section>

        <section title='Outcome 3: Changes and further Comments Requested'>

          <t>The authors update and submit the Registration Document, and
          proceed to Step 3 above, which involves sending another
          email to <enum@ietf.org> to request additional
          comments for the updated version.
          </t>

          <t>This outcome is recommended when substantial objections
          have been raised, or substantial changes have been
          suggested.
          </t>

        </section>

      </section>

      <section title='Step 4: Submit Registration Document'>

        <t>If the Registration Document is to be published as RFC, the
        normal IETF publication process applies (see
        <xref target='instructions2authors'/>), i.e. the Registration
        Document is submitted to the RFC Editor in the form of an
        Internet Draft. For Independent Submission the guidelines
        in <xref target='RFC4846'>Independent Submissions to the RFC
        Editor</xref> apply.
        </t>

        <t>For publications as RFC Steps 6 below does not apply.
        </t>

        <t>If the Registration Document is not published as RFC, 
        the authors submit the Registration Document to IANA for
        Expert Review via the http://iana.org/ website.
        </t>

        <t>The Step 6 below does only apply in case the Registration
        Document is to be published in a specification other than RFC.
        </t>
  
      <figure anchor='enumservice-reg-proc-expert-review'>
        <!-- <preamble>Enumservice Registration Process</preamble>-->
        <artwork><![CDATA[
                               :
                               :
                               V    
                    +-----------------------+
                    | Step 5: Expert Review |<-------------+
                    +-----------------------+              |
                               |                           |
                               V                           |
                              .^.                          |
                            .     .                        |
  .---------.             .  Expert .               +------------+
 ( Bad luck! )<-------- <    Review   >------------>| Update R-D |
  `---------'   experts   . results .   changes     | and submit |
                reject      . in: .     required    +------------+
                              . .       
                               Y
                               | experts approve
                               V
             +-----------------------------------+
             | Step 6: Publication of R-D        |
             |         (only relevant if R-D not |
             |         to be published as RFC)   |
             +-----------------------------------+
                               |
                               V
        +---------------------------------------------+
        | Step 7: Adding Enumservice to IANA Registry |
        +---------------------------------------------+

R-D: Registration Document
        ]]></artwork>
      </figure>


      </section>


      <section title='Step 5: Expert Review'>

        <t>After the Registration Document arrives at IANA, they will
        conduct an Expert Review according
        to <xref target='RFC5226'></xref>.  The authors MUST be
        prepared for further interaction with IANA and the
        experts.</t>

        <section title='Outcome 1: Experts Approve the Registration Document'>

          <t>No (more) changes to the Registration Document are made.
          IANA will inform the authors, who then will proceed to
          Step 6 below.</t>

        </section>

        <section title='Outcome 2: Changes Required'>

          <t>The experts might require changes before they can approve
          the Registration Document. The authors update and submit
          the Registration Document. The authors inform the experts
          about the available update, who then continue the Expert
          Review Process.
          </t>

        </section>

        <section title='Outcome 3: Experts Reject the Registration Document'>

          <t>The expert might reject the Registration, which means the
          Expert Review Process is discontinued. For appeals, see
          <xref target='ExpRevAppeals' />.</t>

        </section>

      </section>


      <section anchor='Step6' title='Step 6: Publication of the Registration Document'>
        <t>This Step 5 only applies in case the Registration Document
        is to be published in a specification other than RFC. (In the
        RFC case the RFC publication process ensures that the
        Enumservice Specification is published.)
        </t>

        <t>The authors are responsible that the Registration
        Document is published  according to 'Specification Required' as
        defined in <xref target='RFC5226'></xref>.</t>

     </section>

      <section anchor='Step7' title='Step 7: Adding Enumservice to IANA Registry'>

        <t>In case the Registration Document is to be published as an
        RFC, the RFC publication process ensures that IANA will add
        the Enumservice to the Registry.</t>

        <t>In case the Registration Document is to be published in a
        specification other than RFC, the authors MUST inform IANA, as
        soon as the Enumservice Specification has been published
        according to 'Specification Required' as defined
        in <xref target='RFC5226'></xref>. The 'Enumservice
        Specification(s)' element in the IANA Template MUST contain a
        unambiguous reference to the Enumservice Specification (see
        also <xref target='enumServiceReg'></xref>). In addition, the
        authors MUST provide IANA with a stable URL to the Enumservice
        Specification, in order that IANA may obtain the information
        included in the Enumservice Specification. IANA will then add
        the Enumservice to the Registry.</t>
        
      </section>

    </section>
 
    <section anchor='ExpRev' title='Expert Review'>

      <section anchor='ExpRevSel' title='Expert Selection Process'>
        
        <t>According to Section 3.2
        of <xref target='RFC5226'></xref>,
        experts are appointed by the IESG upon recommendation by the RAI
        Area Directors. The RAI area directors are responsible for
        ensuring that there is always a sufficient pool of experts
        available.
        <!-- The IESG may refine or change this ENUM experts' nomination process
        at any time.-->
        </t>
        
      </section>
  
  
      <section anchor='ExpRevGuidelines' title='Review Guidelines'>
  
        <t>Generally, the Expert Review Process of an Enumservice MUST
        follow the guidelines documented in Section 3.3
        of <xref target='RFC5226'>"Guidelines
        for Writing an IANA Considerations Section in RFCs"</xref>.
        </t>
  
        <t>The experts MUST evaluate the criterion as set out
        in <xref target='RFC5226'/>,
        as well as consider the following:
  
          <vspace blankLines='1'/>
          <list style='symbols'>
            
            <t>Verify conformance with the 
            <xref target='I-D.ietf-enum-3761bis'>ENUM specification</xref>.
            </t>
  
            <vspace blankLines='1'/>
            <t>Verify that the requirements set in this document
            (<xref target='requirements'/>, <xref target='requiredSections'/>) 
            are met. This includes check for completeness and whether all the 
            aspects described in <xref target='requirements'/> and 
            <xref target='requiredSections'/> are sufficiently addressed.
            </t>

            <vspace blankLines='1'/>           
            <t>If a use case is provided, the experts SHOULD verify whether 
            the proposed 
            Enumservice does actually match the use case.  The experts SHOULD
            also determine whether the use case could be covered by an existing 
            Enumservice. 
            </t>
  
            <vspace blankLines='1'/>
            <t>Verify that the Enumservice proposed cannot be confused
            with identical (or similar) other Enumservices already
            registered.
            </t>
  
            <vspace blankLines='1'/>
            <t>If the Enumservice is classified according to
            <xref target='classification'/>, the experts MUST verify
            that the principles of the Class in question are followed.
            </t>
  
            <vspace blankLines='1'/>
            <t>In case the Enumservice is not classified, the
            experts MUST verify whether a convincing reason for the
            deviation is provided in the Registration Document.
            </t>
  
            <vspace blankLines='1'/>
            <t>Investigate whether the proposed Enumservice has any
            negative side effects on existing clients and
            infrastructure, particularly the DNS.
            </t>
  
            <vspace blankLines='1'/>
            <t>If the output of processing an Enumservice may be used
            for input to more ENUM processing (especially services
            returning 'tel' URIs), the experts SHOULD verify that
            the authors have adequately addressed the issue of potential
            query loops.
            </t>
  
          </list>
        </t>  

        <t>In case of conflicts between
        <xref target='RFC5226'/> and
        the guidelines in this section, the former remains
        authoritative.
        </t>
  
      </section>
  
      <section anchor='ExpRevAppeals' title='Appeals'>
  
        <t>Appeals of Expert Review decisions follow the process 
        described in section 7 of <xref target='RFC5226'/>
        and section 6.5 of <xref target='RFC2026'/>.
  
        <!--The RAI area directors are responsible for handling appeals
        against decisions of the Expert Reviews. They can either assign
        (a) new expert(s) or reject the appeal. The IESG may refine or
        change this process regarding appeals at any time.-->
  
        </t>
  
      </section>

    </section>

    <section title='Revision of Pre-Existing Enumservice Specifications'>

      <t>Many Enumservice Registrations, published via IETF RFCs,
      already exist at the time of the development of this document.
      These existing Enumservice Specifications MAY be revised to comply
      with the specifications contained herein. All revisions of
      Enumservice Specifications MUST follow the specifications
      contained herein.
      </t>

    </section>

    <section anchor='ExtensionOfExisting' title='Extension of Existing Enumservice Specifications'>

      <t>There are cases where it is more sensible to extend an
      existing Enumservice registration rather than proposing a new
      one. Such cases include adding a new Subtype to an existing
      Type. Depending on the nature of the extension, the original
      Enumservice Specification needs to be extended (Updates) or replaced
      (Obsoletes) <xref target='RFC2223'></xref>.
      Specifically, an update is appropriate when a new subtype is
      being added without changes to the existing repertoire. A
      replacement is needed if there is a change to the default,
      or changes to the assumptions of URI support in clients.
      </t>

    </section>

    <section title='Security Considerations'>

      <section title='Considerations Regarding This Document'>

        <t>Since this document does not introduce any new technology, protocol, 
        or Enumservice Specification, there are no specific security issues to 
        be considered for this document.  However, as this is a guide to authors
        of new Enumservice Specifications, the next section should be 
        considered closely by authors and experts. 
        </t>

      </section>

      <section anchor='secguide' title='Enumservice Security Considerations Guideline'>

        <t><xref target='I-D.ietf-enum-3761bis'/> already outlines
        security considerations affecting ENUM as a whole.
        Enumservice Specifications do not need to and SHOULD NOT
        repeat considerations already listed in that document.
        However, Enumservice Specifications SHOULD include a reference
        to that section.
        </t>

        <t>
        ENUM refers to resources using existing URI Schemes and protocols.
        Enumservice Specifications do not need to and SHOULD NOT repeat
        security considerations affecting those protocols and URI Schemes
        themselves.
        </t>

        <t>However, in some cases, the inclusion of those protocols and URI
        Schemes into ENUM specifically could introduce new security issues.  In 
        these cases, those issues or risks MUST be covered in the 'Security 
        Considerations' section of the Enumservice Specification.
        Authors should pay particular attention to any indirect risks that are 
        associated with a proposed Enumservice, including cases where the 
        proposed Enumservice could lead to the discovery or disclosure of 
        Personally Identifiable Information (PII).
        </t>

      </section>

    </section>

    <section title='IANA Considerations'>

      <section anchor='EnumserviceRegistrations' title='Enumservice Registrations'>

        <t>IANA will update the registry "Enumservice Registrations"
        according to (this) <xref target='EnumserviceRegistrations'/>,
        which will replace the old mechanism as defined
        in <xref target='RFC3761'>RFC 3761</xref>.
        </t>

        <t>It is noted that the process described herein applies only 
        to ordinary Enumservice registrations (i.e. the registration
        process of 'X-' Enumservices is beyond the scope of this
        document).
        </t>


        <section anchor='RegistrationTemplate' title='IANA Registration Template'>
          <t>The XML chunk listed below should be used as a template
          to create the IANA Registration Template. Examples for the use 
          of this template are contained in <xref target='xmlexamples'/>.
          </t>
        <t>
        <artwork><![CDATA[
        <record>
          <class> <!-- Enumservice Class --> </class>
          <type> <!-- Type --> </type>
          <subtype> <!-- Subtype --> </subtype>
          <urischeme> <!-- URI Schema Name --> </urischeme>
          <urischeme> <!-- another URI Schema Name --> </urischeme>
          <functionalspec>
            <paragraph>
              <!-- Text that explains the functionality of 
                   the Enumservice to be registered -->
            </paragraph>
          </functionalspec>
          <security>
            <!-- Change accordingly -->
            See <xref type="rfc" data="rfc9999"/>, Section 7.
          </security>
          <usage> <!-- COMMON, LIMITED USE or OBSOLETE --> </usage>
          <registrationdocs>
            <!-- Change accordingly -->
            <xref type="rfc" data="rfc9999"/>
          </registrationdocs>
          <requesters>
            <!-- Change accordingly -->
            <xref type="person" data="John_Doe"/>
            <xref type="person" data="Jane_Dale"/>
          </requesters>
          <additionalinfo>
                  <paragraph>
                    <!-- Text with additional information about
                         the Enumservice to be registered -->
                  </paragraph>
                  <artwork>
                    <!-- There can be artwork sections, too -->
                    :-)
                  </artwork>
          </additionalinfo>
        </record>

       <people>
         <person id="John_Doe">
           <name> <!-- Firstname Lastname --> </name>
           <org> <!-- Organisation Name --> </org>
           <uri> <!-- mailto: or http: URI --> </uri>
           <updated> <!-- date format YYYY-MM-DD --> </updated>
         </person>
         <!-- repeat person section for each person -->
       </people> 
        ]]></artwork></t>    
<!--        
          <t>The IANA Registration Template consists of the following
          fields that are specified in
          <xref target='enumServiceReg'/>:
          
            <t>
              <list style='symbols'>
                
               <vspace blankLines='1'/><t>Enumservice Name:</t> 
                
                <vspace blankLines='1'/><t>Enumservice Class:</t>    
                
                <vspace blankLines='1'/><t>Enumservice Type:</t>
                
                <vspace blankLines='1'/><t>Enumservice Subtype:</t>
                
                <vspace blankLines='1'/><t>URI Schemes:</t>
                
                <vspace blankLines='1'/><t>Functional Specification:</t>
                
                <vspace blankLines='1'/><t>Security Considerations:</t>
                
                <vspace blankLines='1'/><t>Intended Usage:</t>
                
                <vspace blankLines='1'/><t>Registration Documents:</t>
                
                <vspace blankLines='1'/><t>Registrants</t>
                
                <vspace blankLines='1'/><t>Further Information:</t>
                
              </list>
            </t>

          </t>
          
          <t>Note: In the case where a particular field has no value,
          'N/A' (Not Applicable) MUST be used. This case especially
          may occur where a given Type has no Subtypes, or if there
          is no "Further Information".
          </t>
-->
 
        </section>


        <section anchor='Location' title='Location'>

          <t>Approved Enumservice registrations are published in the
          IANA Registry named "Enumservice Registrations", which is
          available at the following URI:
          <vspace blankLines='0' />
          < http://www.iana.org/assignments/enum-services >.
          </t>

          <t>This Registry publishes representations derived from 
          the IANA Registration Template as 
          described in <xref target='RegistrationTemplate'/>
          and specified in <xref target='enumServiceReg'/>.
          </t>

          <t>Where the Enumservice Specification is NOT an RFC, IANA MUST hold
          an escrow copy of that Enumservice Specification. Said escrow copy
          will act as the master reference for that Enumservice Registration.
          </t>
         <!-- LC: 
          <t>Where the Enumservice Specification is NOT an RFC, IANA
          MUST hold and publish a copy of that Enumservice
          Specification. The copy published by IANA will act as the
          master reference for this Enumservice.
          </t>
          -->
        </section>


         <section anchor='Structure' title='Structure'>

          <t>IANA maintains the Enumservice Registry sorted in
          alphabetical order. The first sort field is Type, the
          second is Subtype.</t>

          <t>Each Enumservice starts with a caption, which is composed
          of Type and Subtype, separated by a colon; e.g. if the Type
          is "foo" and the Subtype "bar", the resulting caption is
          "foo:bar".
          </t>

          <t><xref target='I-D.hoeneisen-enum-enumservices-transition'/>
          updates the existing Enumservices into the new IANA
          Registration Template.
          </t>

        </section>


        <section anchor='RegistrationProcedure' title='Registration Procedure'>

          <t>There is a difference in process depending on whether or
          not the Enumservice Specification will be published as RFC.
          In case of RFC, the normal IETF procures (according to
          <xref target='RFC5226' />) apply. In case of a specification
          other than RFC, there is a slight difference to
          <xref target='RFC5226' /> (see below). The reason for this
          lies in the complexity of Enumservice Specifications.
          Registration Documents will most likely undergo changes
          during Expert Review, so that in most cases it will not be
          published by the time the Expert Review is carried out.</t>

          <section anchor='RegistrationProcedureRFC' title='Published as RFC'>
            
            <t>As soon as IANA receives the Registration Document from
            the RFC Editor, IANA will take care of the 'Expert Review
            Process' according to <xref target='RFC5226'>"Guidelines
            for Writing an IANA Considerations Section in
            RFCs"</xref>.</t>

            <t>After successful Expert Review IANA will register the
            Enumservice, i.e.  add the Enumservice to the IANA
            "Enumservice Registrations" Registry (see
            also <xref target='Location'></xref>).
            </t>
            
            <t>The RFC Editor will now take care of the publication of
            the RFC.</t>

          </section>

          <section anchor='RegistrationNonRFC' title='Published as generic Specification'>

            <t>Whenever a Registration Document is submitted via the
            IANA website, IANA will take care of the 'Expert Review
            Process' according to <xref target='RFC5226'>"Guidelines
            for Writing an IANA Considerations Section in
            RFCs"</xref>.</t>

            <t>Once the experts have approved the Enumservice, IANA
            will inform the authors. This information SHOULD also
            include a reminder, that the authors are now responsible
            for publication of the Registration Document (see
            also <xref target='Step6'></xref>) and that the
            Enumservice will be added to the IANA Registry only after
            its Enumservice Specification is published according to
            'Specification Required' as defined
            in <xref target='RFC5226'></xref> (see
            also <xref target='Step7'></xref>). The Registration
            process will now be on hold until the authors 
            inform IANA about the publication of the Enumservice
            Specification (see also <xref target='Step7'></xref>).
            </t>

            <t>Once the authors have informed IANA about the
            publication, IANA MUST ensure that the requirements to
            "Specification Required" as defined in
            <xref target='RFC5226' /> are met, the reference to the
            specification is unambiguous, and the content of the
            Enumservice Specification is identical to the Registration
            Document as approved by the Experts. IANA will then
            register the Enumservice, i.e.  add the Enumservice to the
            IANA "Enumservice Registrations" Registry (see
            also <xref target='Location'></xref>).
            </t>

          </section>
        </section>


        <section anchor='ChangeControl' title='Change Control'>
         
          <t>Change control of any Enumservice Registrations is done
          by "Expert Review" and "Specification Required" according to
          <xref target='RFC5226'/>. Updates of Enumservice
          Specifications MUST comply with the guidelines described in
          this document. Updates are handled the same way as
          initial Enumservice Registrations.
          </t>

          <t>Authorized Change Controllers are the experts and the
          IESG.</t>
          
          <t>Enumservice registrations MUST NOT be deleted. An
          Enumservice that is believed no longer appropriate for use,
          can be declared obsolete by publication of a new
          Enumservice Specification changing its "Intended
          Usage" element to "OBSOLETE"; such Enumservices will be
          clearly marked in the lists published by IANA.
          As obsoletions are updates, they are also handled the same
          way as initial Enumservice Registrations.

          </t>

        </section>


        <section anchor='Restrictions' title='Restrictions'>

          <t>As stated in <xref target='NamingReq'/>, a "-" (dash)
          MUST NOT be used as the first nor as the second
          nor as the last character of
          a Type nor a Subtype. Furthermore, Type nor Subtype of
          any Enumservice MUST NOT be set to nor start with "E2U".
          Any Enumservice
          registration requests not following these restrictions MUST be
          rejected by IANA, and the 'Expert Review Process' SHOULD NOT
          be initiated.
          </t>

          <t><xref target='enumServiceReg'/> contains examples for
          Enumservice registrations. Therefore, IANA MUST NOT register
          an Enumservice with Type or Subtype set to "foo", "bar", or
          "sbar", unless the experts explicitly confirm an exception. 
          </t>

        </section>
        
      </section>

    </section>



    <section title='Acknowledgements'>

      <t>The authors would like to thank the following people who have
      provided feedback or significant contributions to the
      development of this document: Lawrence Conroy, Alfred Hoenes,
      Peter Koch, Edward Lewis, and Jon Peterson</t>

      <t>Lawrence Conroy has provided extensive text for the
      Enumservice Classification section.
      </t>

      <t>Section 3 of <xref target='RFC3761'>RFC 3761</xref>, which
      was edited by Patrik Faltstrom and Michael Mealling, has been
      incorporated to this document.  Please see the Acknowledgments
      section in RFC 3761 for additional acknowledgments.
      </t>


    </section>

  </middle>

  <back>

    <references title='Normative References'>

      &rfc2119;
      &rfc2026;
      &rfc3761;
      &I-D.rfc3761bis;
      &rfc2223;
      &rfc3402;
      &rfc3403;
      &rfc5226;

    </references>

    <references title='Informative References'>

      &rfc3986;
      &rfc5234;
      &rfc4279;
      &rfc4238;
      &rfc4969;
      &rfc4979;
      &rfc4846;
      &rfc4355;
      &rfc3764;
      &rfc3552;
      &rfc2606;
      &I-D.enum-svc-trans;
      <?rfc include="reference.instructions2authors" ?> 

      <reference anchor="ITU.E164.2005">
        <front>
          <title>The International Public Telecommunication Numbering Plan</title>
          <author>
            <organization>International Telecommunications Union</organization>
          </author>
          <date month="Feb" year="2005" />
        </front>

        <seriesInfo name="ITU-T" value="Recommendation E.164" />

      </reference>

    </references>

<section title='IANA XML Template Examples' anchor='xmlexamples'>
    <t>This section contains non-normative examples of the IANA
    Registration Template XML chunk.</t>
    <vspace blankLines="1"/>
        <t>This is the first example:</t>
    <vspace blankLines="1"/>
        <t>
        <artwork><![CDATA[
        <record>
          <class>Protocol-based</class>
          <type>email</type>
          <subtype>mailto</subtype>
          <urischeme>mailto:</urischeme>
          <functionalspec>
                <paragraph>
                  This Enumservice indicates that the remote 
                  resource can be addressed by the associated 
                  URI scheme in order to send an email.
                </paragraph>
          </functionalspec>
          <security>
             See <xref type="rfc" data="rfc4355"/>, Section 6.
          </security>
          <usage>COMMON</usage>
          <registrationdocs>
                 <xref type="rfc" data="rfc4355"/>
          </registrationdocs>
          <requesters>
            <xref type="person" data="Lawrence_Conroy"/>
          </requesters>
         </record>

        <people>
                <person id="Lawrence_Conroy">
                  <name>Lawrence Conroy</name>
                  <org>Siemens Roke Manor Research</org>
                  <uri>mailto:lwc@roke.co.uk</uri>
                  <updated>2008-11-20</updated>
                </person>
        </people> 
        ]]></artwork></t>    
        
        <vspace blankLines="1"/>
            <t>This is the second example.</t>
    <vspace blankLines="1"/>
        <t>
        <artwork><![CDATA[
        <record>
          <class>Protocol-based</class>
          <type>xmpp</type>
          <urischeme>xmpp</urischeme>
          <functionalspec>
                <paragraph>This Enumservice indicates that the 
                resource identified is an XMPP entity.</paragraph>
          </functionalspec>
          <security>See <xref type="rfc" data="rfc4979"/>, 
          Section 6.</security>
          <usage>COMMON</usage>
          <registrationdocs>
                 <xref type="rfc" data="rfc4979"/>
          </registrationdocs>
          <requesters>
            <xref type="person" data="Alexander_Mayrhofer"/>
          </requesters>
        </record>

        <people>
                <person id="Alexander_Mayrhofer">
                  <name>Alexander Mayrhofer</name>
                  <org>enum.at GmbH</org>
                  <uri>mailto:alexander.mayrhofer@enum.at</uri>
                  <updated>2008-10-10</updated>
                </person>
        </people> 
        ]]></artwork></t>    
        
        <vspace blankLines="1"/>
            <t>This is the third example:</t>
    <vspace blankLines="1"/>
        <t>
        <artwork><![CDATA[
        <record>
          <class>Application-based</class>
          <type>voicemsg</type>
          <subtype>sip</subtype>
          <urischeme>sip</urischeme>
          <functionalspec>
                <paragraph>This Enumservice indicates that the remote 
                resource identified can be addressed by the associated 
                URI scheme in order to initiate a voice communication 
                session to a voice messaging system.</paragraph>
          </functionalspec>
          <security>See <xref type="rfc" data="rfc4279"/>, 
          Section 3.</security>
          <usage>COMMON</usage>
          <registrationdocs>
                 <xref type="rfc" data="rfc4279"/>
          </registrationdocs>
          <requesters>
            <xref type="person" data="Jason_Livingood"/>
            <xref type="person" data="Donald_Troshynski">
          </requesters>
          <additionalinfo>
                  <paragraph>Implementers should review a 
                  non-exclusive list of examples in 
                  <xref type="rfc" data="rfc4279"/>, 
                  Section 7.</paragraph>
          </additionalinfo>
        </record>

        <people>
                <person id="Jason_Livingood">
                  <name>Jason Livingood</name>
                  <org>Comcast Cable Communications</org>
                  <uri>mailto:jason_livingood@cable.comcast.com</uri>
                  <updated>2008-11-20</updated>
                </person>
                <person id="Donald_Troshynski">
                  <name>Donald Troshynski</name>
                  <org>Acme Packet</org>
                  <uri>mailto:dtroshynski@acmepacket.com</uri>
                  <updated>2008-11-20</updated>
                </person>
        </people> 
        ]]></artwork></t>    
       
<t>Note: The "voicemsg" Enumservice has several Subtypes. For each Subtype, an individual XML chunk must be submitted to IANA, with only the first one shown above. This is to avoid any ambiguity of the relation between "subtype" and "urischeme" elements.</t>

    </section> <!-- end of 'IANA XML Template and Examples' section -->


    <section title='Changes Overview'>
    <t>This section lists the changes applied to the Enumservice
    registration process and the IANA registry definition, compared to
    RFC 3761.
    </t>
    <vspace blankLines='1'/>
    <list style='symbols'>

       <t>While RFC 3761 required "Standards track or Experimental" RFCs 
          for an Enumservice to be registered, this document mandates 
          "Expert Review" and "Specification Required".</t>
 
      <vspace blankLines='1'/>
 
       <t>This document defines the classification of Enumservices.
          The IANA Registration Template has been complemented to
          contain a "Classification" element.
       </t>

      <vspace blankLines='1'/>
 
       <t>A new element "Enumservice Registration(s)" has been added to the
          IANA Registration Template.
       </t>

       <vspace blankLines='1'/>

       <t>The former element "Any other information that the author
          deems interesting" of the IANA Registration Template has
          been renamed to "Further Information".
       </t>

       <vspace blankLines='1'/>

       <t>The Enumservice "Name" element has been removed from the IANA
          Registration Template.
       </t>

       <t>The Registration Template is now a chunk of XML data, 
       reflecting IANA's recent work to convert registries to XML.
       </t>

    </list>
    </section> <!-- end of 'Changes Overview' section -->

    <section title='Document Changelog'>

      <t>[RFC Editor: This section is to be removed before publication]</t>

      <t>draft-ietf-enum-enumservices-guide-15:
        <list style='symbols'>
          <t>bernie: cleared out authors/requesters</t>
          <t>alex: added ABNF reference + acronym expansion</t>
          <t>alex: changed order of paragraphs in introduction - registry 
          update now in front of blah blah paragraph</t>
          <t>alex: various editorial and formatting updates to the new
          XML template specs. </t>
          <t>alex: moved XML template to IANA considerations</t>
	  <t>alex: removed "identifying tag" language</t>
	  <t>alex: clarified "element" vs. "field" usage - "element" now refers to XML chunk pieces of IANA registration, while "fields" refers to other things, like fields of a NAPTR record, etc.</t>
	  <t>alex: removed more subtypes from third example - one subtype per template ensures that there is no confusion between the URI schemes for various subtypes</t>
        </list>
      </t>

      <t>draft-ietf-enum-enumservices-guide-14:
        <list style='symbols'>
          <t>alex: changed template information in description of fields to 
          XML chunk information</t>
          <t>alex: added references to person information in examples</t>
          <t>alex: replaced "registrant" with "requester"</t>
          <t>bernie: minor editorial corrections and nits</t>
          <t>jason: added the IANA XML chunk, as well as some examples</t>
       </list>
      </t>


      <t>draft-ietf-enum-enumservices-guide-13:
        <list style='symbols'>
          <t>alex: Some minor changes - the only real open issue is 
             whether or not we should go to an XML template instead of the 
             plain text one. IANA provided a "chunk", but gave no feedback
             about schema, namespace, etc. so it is deemed not "normative" 
             enough yet. 
             </t>
          <t>bernie: Implemented IANA Feedback: made difference
             between RFC and no-RFC specs more clear; now the both
             variants slightly differ in process.</t>
          <t>bernie: Implemented more feedback of Peter Koch:
            <list style='symbols'>
              <t>Terminology updated throughout the document:
                 Enumservice Specification / Registration Document</t>
              <t>Changed IANA Template field 'Registration Document(s)
                 to 'Enumservice specification(s)'</t>
              <t>Disallow dash '-' as last char of Type or Subtype </t>
              <t>Removed XML2RFC template and referencing sections</t>
            </list>
          </t>
          <t>bernie: changed "Subtype names MAY be shared between URI
             Schemes that the Registration specifies as mandatory to
             implement for a given Subtype." to "Subtype names MAY be
             shared between URI Schemes, if all the URI Schemes within
             the same Subtype are mandatory to implement."</t>
          <t>bernie: Cleared out independent submission and added
             reference to RFC 4846</t>
          <t>jason: Per the co-chair and Peter Koch, doc changed to BCP.
             Doc doesn't specify a protocol but a process. Both RFC 2026, 
             section 5, and section 4.3 of RFC 5226 suggest that process documents,
             and IANA Guidelines in particular, usually are published as BCP RFCs.
             Also, there's little to implement independently in this draft that 
             could help advance it on the Standards Track.
          </t>
          <t>jason: various nits clean-up suggested by Peter Koch.</t>
       </list>
      </t>


      <t>draft-ietf-enum-enumservices-guide-12:
        <list style='symbols'>
          <t>bernie: Refined process, i.e. separation of Expert Review
          and addition to IANA Registry (only after publication of spec):
            <list style='symbols'>
              <t>Split up "Further Steps" into three new sections</t>
              <t>Extended ASCII Art</t>
              <t>Adjusted IANA considerations</t>
            </list>
          </t>
          <t>bernie: Updated Open Issues</t>
          <t>alex: Added reference to RFC3552 (security considerations
             guidance)</t>
          <t>alex: Added instructions2author as informative reference - 
             i don't see another way (revision 439, closing ticket 25)</t>
          <t>alex: Moved text about use cases from Review Guidelines
             up to "other sections", slightly reworded it (revision 438,
             closing ticket 66)</t>
          <t>bernie: Updated own contact details</t>
          <t>bernie: Implemented editorial feedback from Alfred Hoenes</t>
          <t>bernie: Added some clarifications to IANA consideration as
             proposed by Michelle Cotton (IANA)</t>
          <t>bernie: Edited appendix "Changes Overview",
             moved stuff from "Introduction" to "Changes Overview"</t>
          <t>bernie: Updated IANA section "Change Control":
            <list style='symbols'>
              <t>Authorized Change controllers are experts and IESG</t>
              <t>Removed field "Authorized Change Controller"
                 (was introduced in -11)</t>
            </list>
          </t>
          <t>bernie: Replaced "number blocks" by "wildcards"
             (DNS Considerations) to avoid conflict with RFC3761</t>
          <t>bernie: Extended recommendations about search for previous work</t>
          <t>bernie: Adjusted sections "Revision of Pre-Existing
             Enumservice RFCs" and "Submit Registration Document to IANA"</t>
       </list>
      </t>


      <t>draft-ietf-enum-enumservices-guide-11:
        <list style='symbols'>
          <t>bernie: Replaced reference rfc2434bis with rfc5226</t>
          <t>bernie: Moved terminology related paragraph from
          Introduction to Terminology Section</t>
          <t>bernie: Added reference to transition document</t>
          <t>jason: Updated my author address</t>
          <t>jason: Closed out active tickets at 
             http://ietf.enum.at/cgi-bin/trac.cgi/report/1</t>
          <t>jason: Section 8, review of pre-existing enumservices, updated with 
             IETF 72 feedback that this must take place</t>
          <t>jason: Ticket 39: Added text to section 4.1, general enumservice 
             considerations, section 2, bullet 2 to address comment by Lawrence 
             Conroy about expired I-Ds </t>
          <t>jason: Ticket 45: Added text to section 7.1, expert review / review 
             guidelines, bullet 3, to indicate that a use case SHOULD be included.
             Also added related text to section 5.8, other sections, to address 
             this. This resolves comments by Lawrence Conroy</t>
          <t>jason: Ticket 55: Replaced 'repository' with 'registry' throughout
             the document to normalize this text and make it uniform.</t>
          <t>jason: Ticket 52: Checked references to ensure rfc5226 is cited 
             instead of rfc2434bis, which Bernie seems to have mainly covered. I 
             also added a reference in the header for rfc5226, since it is a 
             normative reference.</t>
          <t>jason: Ticket 25: Removed reference to rfc2223bis-08 as this I-D is 
             now listed as dead.</t>
          <t>jason: Ticket 49: Have updated section 5.2, IANA registration, bullet
             on authors addresses, to say that email addresses MUST NOT be 
             included in the IANA Registry.  I opened a related ticket.  Seems 
             there are some email addresses in the registry.  Also simplified
             author(s) and expert(s) to authors and experts throughout.</t>
          <t>jason: Ticket 28: Minor changes to Section 10.1 and 10.2, Security 
             Considerations</t>
          <t>jason: Ticket 30: Updated section 6.4, 6.5, on IANA registration to 
             include that submission must be in XML format for IANA and that the
             Enumservice must have an RFC number, per discussion at IETF 72</t>
          <t>jason: Ticket 42: Cleaned up section 5.7, DNS considerations, per
             comments from Lawrence.</t>
          <t>jason: Updated definitions to reflect IANA Designated Experts per
             RFC 5226, and clean up of IANA-related terms (Registry, Template, 
             etc.)</t>
          <t>jason: Ticket 51: added section to describe the need to have a contact
             listed for updating a registration, per RFC 5226, section 5.2.</t>
        </list>
      </t>


      <t>draft-ietf-enum-enumservices-guide-10:
        <list style='symbols'>
          <t>bernie: No longer empty field for IANA Registration
          ('N/A' must be used in this case)</t>
          <t>bernie: Adjusted IANA Registration Template: 
            <list style='symbols'>
              <t>Registration Document -> Registration Document(s)</t>
              <t>Author -> Author(s)</t>
            </list>
          </t>
          <t>bernie: IANA repository in alphabetical order by Type and Subtype</t>
          <t>bernie: Class, Type, Subtype and URI Schema to begin with capital</t>
          <t>bernie: Caption for each Enumservice</t>
          <t>bernie: Consistent use of "field" for fields within IANA registration
                     template (no longer used are "item" or "section")</t>
          <t>bernie: URI Schemes without colons and between single quotes,
                     no longer email address in author(s) field</t>
          <t>bernie: Adjusted IANA Registration Section of XML2RFC template</t>
          <t>alex: Added List of Classes to choose from</t>
        </list>
      </t>
 
      <t>draft-ietf-enum-enumservices-guide-09:
        <list style='symbols'>
          <t>alex: Removed Enumservice "Name" as decided at IETF 71</t>
          <t>alex: Reworded registration requirements</t>
          <t>alex: Explained possible values for "Intended Usage"</t>
          <t>bernie: Rewrite of section 'Change Control'</t>
          <t>bernie: Cleared out scope of this document (only
             ordinary, but no 'X-' registrations)</t>
          <t>bernie: Cleared out naming restrictions in IANA section</t>
          <t>bernie: Changed section name from 'ENUM Service Registration'
             to 'IANA Registration'</t>
          <t>bernie: Combined Expert Review related sections</t>
          <t>bernie: Partly implemented feedback Alfred Hoenes
             and added him to Acknowledgments</t>
          <t>bernie: Enhanced examples for "Registration Document"</t>
          <t>bernie: Enhanced examples for "IANA Considerations" (feedback from Alfred Hoenes)</t>
          <t>bernie: Removed Note about RFC3761bis obsoleting RFC3761 (does not belong to this doc)</t>
          <t>bernie: Rewrote Naming Requirements section (impact to IANA Considerations - Restrictions)</t>
        </list>
      </t>
 
      <t>draft-ietf-enum-enumservices-guide-08:
        <list style='symbols'>
          <t>alex: new text for Subtypes of protocol class enumservices ("mandatory to implement" stuff)</t>
          <t>alex: added "to be foreseen" to the application Type Subtype recommendation</t>
          <t>alex: added "lowercase" recommendation to the Type names</t>
          <t>bernie: Corrected various typos, clarifications,
             and other editorial stuff (feedback from Lawrence Conroy)</t>
          <t>bernie: IANA Registry ftp -> http (feedback from Lawrence Conroy)</t>
          <t>bernie: Made steps prior to IANA submission mandatory (feedback from Lawrence Conroy)</t>
          <t>bernie: Shortened abstract</t>
        </list>
      </t>

      <t>draft-ietf-enum-enumservices-guide-07:
        <list style='symbols'>
          <t>bernie: Section DNS considerations made mandatory</t>
          <t>bernie: Complete rewrite of IANA considerations</t>
          <t>bernie: XML2RFC template will be downloadable at IANA</t>
          <t>bernie: Complete re-write of process</t>
          <t>alex: Adjusted Cook-book / classification</t>
          <t>bernie: Take over chapter "Registration mechanism
                     for Enumservices" from RFC 3761bis</t>
          <t>bernie: Changed title to adjust to new purpose</t>
          <t>bernie: Intended status changed to Standards Track (was bcp)</t>
          <t>bernie: Obsoletes (partly) RFC 3761</t>
          <t>bernie: Adjusted section "Registration mechanism for Enumservices"</t>
          <t>bernie: Updated most RFC 3761 references to either RFC3761bis or new (internal) section</t>
          <t>bernie: Acknowledgment for RFC3761 contributors</t>
          <t>bernie: Shortened bullet point in IANA Registration Template:
            <list style='empty'>
              <t>"Any other information that the author deems interesting"</t>
              <t>==> "Further Information"</t>
            </list>
          </t>          
          <t>alex: Rewritten Abstract, Introduction to be consistent with 
                   with new goal (IANA Registry description)</t>
          <t>alex: Add obsoletes section 3 of RFC 3761 to Introduction</t>
          <t>alex: Changed section 3 to "registration requirements", 
                   Simplified structure</t>
          <t>alex: Added examples for protocol Enumservice classification</t>
          <t>alex: Added text about "other" classification</t>
        </list>
      </t>

      <t>draft-ietf-enum-enumservices-guide-06:
        <list style='symbols'>
          <t>alex: updated Class Schemes.</t>  
          <t>alex: updated expert's tasks</t>  
          <t>alex: added experts review considerations</t>
          <t>bernie: Moved Terminology section in XML2RFC template (now after Introduction)</t>
          <t>bernie: Class is now part of the Enumservice registration in the IANA template</t>
          <t>bernie: Individual Submission relaxed (comment Peter Koch)</t>
          <t>bernie: updated vcard Ref (now RFC)</t>
        </list>
      </t>

      <t>draft-ietf-enum-enumservices-guide-05:
        <list style='symbols'>
          <t>bernie/alex: added text for sections 'The Enumservice
          Expert Selection Process' and 'The Process for Appealing
          Expert Review Decisions'</t>
          <t>bernie: added ASCII-art figure for registration process</t>
          <t>bernie: adjusted registration process</t>
          <t>jason: proposed registration process</t>
        </list>
      </t>

      <t>draft-ietf-enum-enumservices-guide-04:
        <list style='symbols'>
          <t>bernie: added section about Extension of existing Enumservice RFCs</t>
          <t>bernie: added open issue about future registration process</t>
          <t>bernie: added category (bcp)</t>
          <t>bernie: clean up in Security Considerations</t>
          <t>bernie: editorial stuff (mainly XML issues)</t>
        </list>
      </t>

      <t>draft-ietf-enum-enumservices-guide-03:
        <list style='symbols'>
          <t>alex: moved terminology section</t>
          <t>alex: removed note asking for feedback</t>
          <t>bernie: added DNS consideration section</t>
          <t>bernie: added Acknowledgments section</t>
          <t>bernie: editorial stuff (nicer formating, fixing too long lines)</t>
          <t>alex: added security considerations from vcard draft.</t>
        </list>
      </t>

      <t>draft-ietf-enum-enumservices-guide-02:
        <list style='symbols'>
          <t>bernie: replaced numbers in examples by "Drama Numbers"</t>
          <t>bernie: moved Change and Open Issues to Appendix.</t>
          <t>bernie: major rewrite of section "6. Required Sections and
             Information" incl. separating explanations and examples.</t>
          <t>bernie: removed section 7 (was just a repetition of referencing to XML2RFC template)</t>
          <t>bernie: extended Appendix with Open Issues.</t>
        </list>
      </t>

      <t>draft-ietf-enum-enumservices-guide-01:
        <list style='symbols'>
          <t>alex: added Security Considerations section for the doc itself</t>
          <t>alex: added IANA Considerations section for the doc itself</t>
          <t>alex: added cookbook idea</t>
        </list>
      </t>

    </section>

    <section title='Open Issues'>

      <t>[RFC Editor: This section should be empty before publication]

        <list style='symbols'>
          <t>None</t>
        </list>
      </t>

    </section>

  </back>

</rfc>

<!--  LocalWords:  mailto sms PSTN vpim vCard XMPP xmpp imap sbar NAPTRs PII gt
 -->
<!--  LocalWords:  namespace RRSet wildcards RRs arpa stantial pstn MyAddress
 -->
<!--  LocalWords:  MyOrganization MyCity MyCountry Myphonenumber MyEmailAddress
 -->
<!--  LocalWords:  MyWebpage URIs XXXX MyName MySurname myEmail fooing ITU XYZ
 -->
<!--  LocalWords:  enumservices vcard formating subtyped Barfoo passcodes IPv
 -->
<!--  LocalWords:  rfc Patrik Faltstrom Mealling Hoenes downloadable namespaces
 -->
<!--  LocalWords:  incl RFCXXXX MyFirstname Swisscom Hardturmstrasse bernhard
 -->
<!--  LocalWords:  hoeneisen swisscom com enum GmbH Karlsplatz Wien Comcast RAI
 -->
<!--  LocalWords:  IETF's bis ABNF interoperability HTTP tel foo Foobar BCP Pre
 -->
<!--  LocalWords:  IESG alex jason pre enumservice Ds ftp http bcp WG ft pres
 -->
<!--  LocalWords:  ietf obsoletions Conroy bernie co
 -->

PAFTECH AB 2003-20262026-04-24 04:05:04