Internet Engineering Task Force (IETF) B. Hoeneisen Request for Comments: 6117 Ucom.ch Obsoletes: 3761 A. Mayrhofer Category: Standards Track enum.at ISSN: 2070-1721 J. Livingood Comcast March 2011 IANA Registration of Enumservices: Guide, Template, and IANA Considerations
AbstractThis document specifies a revision of the IANA Registration Guidelines for Enumservices, describes corresponding registration procedures, and provides a guideline for creating Enumservice Specifications. Status of This Memo This is an Internet Standards Track document. This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741. Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc6117. Copyright Notice Copyright (c) 2011 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
This document may contain material from IETF Documents or IETF Contributions published or made publicly available before November 10, 2008. The person(s) controlling the copyright in some of this material may not have granted the IETF Trust the right to allow modifications of such material outside the IETF Standards Process. Without obtaining an adequate license from the person(s) controlling the copyright in such materials, this document may not be modified outside the IETF Standards Process, and derivative works of it may not be created outside the IETF Standards Process, except to format it for publication as an RFC or to translate it into languages other than English. 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Registration Requirements . . . . . . . . . . . . . . . . . . 5 3.1. Functionality Requirements . . . . . . . . . . . . . . . . 5 3.2. Naming Requirements . . . . . . . . . . . . . . . . . . . 5 3.3. Security Requirements . . . . . . . . . . . . . . . . . . 6 3.4. Publication Requirements . . . . . . . . . . . . . . . . . 7 4. Enumservice Creation Cookbook . . . . . . . . . . . . . . . . 7 4.1. General Enumservice Considerations . . . . . . . . . . . . 7 4.2. Classification, Type and Subtype . . . . . . . . . . . . . 9 4.2.1. General Type/Subtype Considerations . . . . . . . . . 9 4.2.2. Protocol-Based Enumservices Class . . . . . . . . . . 10 4.2.3. Application-Based Enumservice Classes . . . . . . . . 10 4.2.4. Data Type-Based Enumservice Class . . . . . . . . . . 12 4.2.5. Other Enumservice . . . . . . . . . . . . . . . . . . 13 5. Required Sections and Information . . . . . . . . . . . . . . 13 5.1. Introduction (REQUIRED) . . . . . . . . . . . . . . . . . 13 5.2. IANA Registration (REQUIRED) . . . . . . . . . . . . . . . 13 5.2.1. Enumservice Class (<class>) . . . . . . . . . . . . . 13 5.2.2. Enumservice Type (<type>) . . . . . . . . . . . . . . 14 5.2.3. Enumservice Subtype (<subtype>) . . . . . . . . . . . 14 5.2.4. URI Scheme(s) (<urischeme>) . . . . . . . . . . . . . 15 5.2.5. Functional Specification (<functionalspec>) . . . . . 15 5.2.6. Security Considerations (<security>) . . . . . . . . . 15 5.2.7. Intended Usage (<usage>) . . . . . . . . . . . . . . . 16 5.2.8. Enumservice Specification (<registrationdocs>) . . . . 16 5.2.9. Requesters (<requesters>) . . . . . . . . . . . . . . 17 5.2.10. Further Information (<additionalinfo>) . . . . . . . . 17 5.3. Examples (REQUIRED) . . . . . . . . . . . . . . . . . . . 18 5.4. Implementation Recommendations / Notes (OPTIONAL) . . . . 18 5.5. DNS Considerations (REQUIRED) . . . . . . . . . . . . . . 18 5.6. Security Considerations (REQUIRED) . . . . . . . . . . . . 19 5.7. IANA Considerations (REQUIRED) . . . . . . . . . . . . . . 20 5.8. Other Sections (OPTIONAL) . . . . . . . . . . . . . . . . 20
6. The Process of Registering New Enumservices . . . . . . . . . 21 6.1. Step 1: Read This Document in Detail . . . . . . . . . . . 22 6.2. Step 2: Write and Submit Registration Document . . . . . . 22 6.3. Step 3: Request Comments From the IETF Community . . . . . 23 6.3.1. Outcome 1: No Changes Needed . . . . . . . . . . . . . 23 6.3.2. Outcome 2: Changes, But No Further Comments Requested . . . . . . . . . . . . . . . . . . . . . . 23 6.3.3. Outcome 3: Changes and Further Comments Requested . . 23 6.4. Step 4: Submit Registration Document to IANA . . . . . . . 24 6.5. Step 5: Expert Review . . . . . . . . . . . . . . . . . . 24 6.5.1. Outcome 1: Experts Approve the Registration Document . . . . . . . . . . . . . . . . . . . . . . . 25 6.5.2. Outcome 2: Changes Required . . . . . . . . . . . . . 25 6.5.3. Outcome 3: Experts Reject the Registration Document . 25 6.6. Step 6: Publication of the Registration Document . . . . . 25 6.7. Step 7: Adding Enumservice to the IANA Registry . . . . . 25 7. Expert Review . . . . . . . . . . . . . . . . . . . . . . . . 26 7.1. Expert Selection Process . . . . . . . . . . . . . . . . . 26 7.2. Review Guidelines . . . . . . . . . . . . . . . . . . . . 26 7.3. Appeals . . . . . . . . . . . . . . . . . . . . . . . . . 27 8. Revision of Existing Enumservice Specifications . . . . . . . 27 9. Extension of Existing Enumservice Specifications . . . . . . . 27 10. Security Considerations . . . . . . . . . . . . . . . . . . . 28 10.1. Considerations Regarding This Document . . . . . . . . . . 28 10.2. Enumservice Security Considerations Guideline . . . . . . 28 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 28 11.1. Registry Update . . . . . . . . . . . . . . . . . . . . . 28 11.2. Registration Template (XML chunk) . . . . . . . . . . . . 28 11.3. Location . . . . . . . . . . . . . . . . . . . . . . . . . 29 11.4. Structure . . . . . . . . . . . . . . . . . . . . . . . . 30 11.5. Expert Review Procedure . . . . . . . . . . . . . . . . . 30 11.6. Registration Procedure . . . . . . . . . . . . . . . . . . 30 11.6.1. Published as an RFC . . . . . . . . . . . . . . . . . 31 11.6.2. Published as a Non-RFC . . . . . . . . . . . . . . . . 31 11.7. Change Control . . . . . . . . . . . . . . . . . . . . . . 32 11.8. Restrictions . . . . . . . . . . . . . . . . . . . . . . . 32 12. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 32 13. References . . . . . . . . . . . . . . . . . . . . . . . . . . 33 13.1. Normative References . . . . . . . . . . . . . . . . . . . 33 13.2. Informative References . . . . . . . . . . . . . . . . . . 34 Appendix A. IANA Registration Template Examples . . . . . . . . . 36 Appendix B. Changes from RFC 3761 . . . . . . . . . . . . . . . . 39
RFC6116] provides an identifier mapping mechanism to map E.164 numbers [ITU.E164.2005] to Uniform Resource Identifiers (URIs) [RFC3986] using the Domain Name System (DNS) [RFC1035]. 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. This document specifies a revision of the IANA registry for Enumservices, which was originally described in [RFC3761]. This document obsoletes Section 3 of RFC 3761 while RFC 6116 obsoletes RFC 3761. The new registration processes, which are detailed in Section 6, have been specifically designed to be decoupled from the existence of the ENUM working group. Compared to RFC 3761, the main changes are as follows: o For an Enumservice to be inserted to the IANA registry, "Specification Required", which implies the use of a Designated Expert, according to "Guidelines for Writing an IANA Considerations Section in RFCs" [RFC5226], are now sufficient. o The IANA Registration Template has been supplemented with elements for "Enumservice Class" and "Enumservice Specification". 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. RFC2119]. For the purpose of this document: o "Registration Document" refers to a draft specification that defines an Enumservice and proposes its registration following the procedures outlined herein.
o "Enumservice Specification" refers to a Registration Document that has been approved by the experts and published according to "Specification Required" as defined in [RFC5226]. RFC5234]) found in Section 3.4.3 of [RFC6116], 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. 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 Section 5 of this document. Furthermore, in order for an Enumservice to be registered, the entire Registration Document requires approval by the experts according to "Specification Required", which implies the use of a Designated Expert, as set out in "Guidelines for Writing an IANA Considerations Section in RFCs" [RFC5226] and Section 7.2 of this document. All Enumservice Specifications are expected to conform also to various requirements laid out in the following sections. RFC3403] DNS Resource Record (RR) from a set of such RRs. That means the Enumservice Specification MUST define how to use the NAPTR RR and the URI(s) the NAPTR RR resolves to. 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.
o The Subtype (being dependent on the Type) MUST be unique within a given Type. Types and Subtypes MUST conform to the ABNF specified in Section 3.4.3 of [RFC6116]. The ABNF specified in Section 3.4.3 of [RFC6116] 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 SHOULD be specified in lowercase letters. Note: The legacy IANA registry of Enumservices contains Type and Subtype strings with uppercase letters. Implementors could be tempted to refuse handling uppercase Type or Subtype strings, which could negatively affect interoperability. To avoid confusion with Enumservice fields using a deprecated (obsolete) syntax, Type and Subtype MUST NOT start with the string "e2u". 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. Section 4 contains further naming requirements.
1. 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). 2. 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. 3. 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. RFC5226]. RFCs fulfill these requirements. Therefore, it is strongly RECOMMENDED to publish Enumservice Specifications as RFCs. In case the Enumservice Specification is not published as an RFC, sufficient information that allows unique identification of the Enumservice Specification MUST be provided. Section 2 of "Guidelines for Writing an IANA Considerations Section in RFCs" [RFC5226] provides motivation for why management of a namespace 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 [RFC5226]. The following is a list of motivations applying to Enumservices:
o 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 strings is important. o 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 confusion among implementers. o 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. o 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. Generally, before commencing work on a new Enumservice registration, the following should be considered: o 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>. o Is there work in progress, or previous work, on a similar Enumservice? Check the <email@example.com> 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/>. Some Internet-Drafts may have expired and no longer be available in the Internet-Drafts Archive, or some work on Enumservices may have been considered outside the IETF; therefore, we also recommend a web search.
o Section 4.2 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 providing 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. Section 5.2). If the Enumservice cannot be assigned to one of the classes outlined below, the Registration Document MUST contain a section on the difficulties encountered while trying to classify the service to help the experts in their decision. Section 9. 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.
implementation can decide if this activity is one in which it can engage. However, it is RECOMMENDED that the Enumservice be 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. 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 it does not identify the protocol used to offer or retrieve emails by the sender or the recipient. Another example is the Short Messaging Service (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 SMS 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. o Subset Enumservice: 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 to engage 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. o Ancillary Application Enumservice 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). RFC4238] and "vcard" [RFC4969].
Section 5.2) MUST be populated with "Other". In that case, the Enumservice Specification MUST contain a section elaborating on why the Enumservice does not fit into the classification structure. Section 4.2. Its value MUST be one of (without quotes): o "Protocol-Based": The Enumservice belongs to the Protocol-based class as described in Section 4.2.2.
o "Application-Based, Common": The Enumservice is a "common" case of the Application-based class as described in Section 4.2.3. o "Application-Based, Subset": The Enumservice belongs to the "subset" case of the Application-based class as described in Section 4.2.3. o "Application-Based, Ancillary": The Enumservice is an "ancillary" case of the Application-based class, as described in Section 4.2.3. o "Data Type-Based": The Enumservice belongs to the Data Type-Based class as described in Section 4.2.4. o "Other": The majority of the functionality of the Enumservice does not fall into one of the classes defined. Class Example <class>Protocol-Based</class> Section 4. Type Example <type>foo</type> Section 4. Subtype Example <subtype>bar</subtype>
RFC3986] 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 than one URI Scheme, then one <urischeme> element per URI scheme MUST be used in the IANA Registration Template. Please find further instructions in Section 4. URI Scheme Example <urischeme>bar</urischeme> <urischeme>sbar</urischeme> 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 [RFC3402].
Security Considerations Example <security> See <xref type="rfc" data="rfc4979"/>, Section 6. </security> Section 11.7) and is not to be used in new deployments. Applications SHOULD however expect to encounter legacy instances of this Enumservice. Intended Usage Example <usage>COMMON</usage> RFC 2551) <xref type="rfc" data="rfc2551"/> </registrationdocs> or
<registrationdocs> [International Telecommunications Union, "Enumservice Specification for Foobar", ITU-F Recommendation B.193, Release 73, Mar 2009.] </registrationdocs> id="John_Doe"> <name>John Doe</name> <org>ACME Research and Development Inc.</org> <uri>mailto:firstname.lastname@example.org</uri> <updated>2008-11-20</updated> </person> </people> If there is more than one requester, there MUST be one <xref> element per requester in the <requesters> element, and one <person> chunk per requester in the <people> element.
RFC3403] and [RFC6116]), 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). 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. The example(s) SHOULD follow any relevant IETF guidelines on the use of domain names, phone numbers, and other resource identifier examples, such as [RFC2606]. For example: $ORIGIN 188.8.131.52.184.108.40.206.220.127.116.11.e164.arpa. @ IN NAPTR 100 10 "u" "E2U+foo:bar" "!^.*$!bar://example.com/!" .
o 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). o 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. o Potential for significant additional load on the nameserver chain due to use of the service, and the mitigation of such additional load. o Mitigation of potential for DNS loops, specifically in cases where the result URI of an Enumservice might be used to trigger additional (subsequent) ENUM queries. This applies in particular to Enumservices using the 'tel' URI Scheme [RFC3966] or any other (future) URI Scheme using (E.164) numbers. "The ENUM Dip Indicator Parameter for the tel URI" [RFC4759] provides an example of a loop mitigation mechanism. Rationale: some Enumservices try to exploit side effects of the DNS that need to be explicitly discussed. RFC3552] provides guidance to write a good Security Considerations section. In addition, [RFC6116] 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. Also, 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.
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). RFC6116]. For example: This document requests an update of the IANA registration of the Enumservice Type "foo" with Subtype "bar", according to the definitions in this document, [RFC6117], and [RFC6116]. Therefore, in the existing IANA registration for this Enumservice, the <registrationdocs> element (Enumservice Specification) is enhanced by adding a supplementary reference that points to this document. For example: This document requests an update of the IANA registration of the Enumservice Type "foo" with all its Subtypes, in order to declare it deprecated. Therefore, in the existing IANA registration for this Enumservice, the <usage> element (Intended Usage) is changed to "DEPRECATED", and the <registrationdocs> element (Enumservice Specification) is enhanced by adding a supplementary reference that points to this document.
will both accelerate the Expert Review process, as well as make any eventual registration easier to understand and implement by other parties. RFC5226]. Figure 1 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. Figure 2 shows the process from Expert Review onwards.
+----------------------------+ | 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 to IANA | +-----------------------------+ : : V R-D: Registration Document Figure 1 3, 4, and 5, describes all of the recommended and required sections, as well as requirements and suggestions for content of an Enumservice Specification. 4 and 5 of
this document. The Review Guidelines for experts are defined in Section 7.2.
This outcome is recommended when substantial objections have been raised, or substantial changes have been suggested. http://www.iana.org/> website) for Expert Review. : : 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 | +-----------------------------------+ | V +---------------------------------------------+ | Step 7: Adding Enumservice to IANA Registry | +---------------------------------------------+ R-D: Registration Document Figure 2 RFC5226]. The Expert Review guidelines are outlined in Section 7.2 of this document. The authors must be prepared for further interaction with IANA and the experts.
RFC5226]. As set out in Section 3.4 it is strongly RECOMMENDED that Enumservice Specifications be published RFCs. As to every RFC, the normal IETF publication process applies (see [Instructions2authors]); i.e., the Registration Document is submitted in the form of an Internet Draft (e.g. via an IETF Working Group or a sponsoring Area Director). [Instructions2authors] also contains an option to publish an RFC as 'Independent Submission', which is further described in "Independent Submissions to the RFC Editor" [RFC4846]. RFC5226]. The <registrationdocs> element in the IANA Registration Template must contain an unambiguous reference to the Enumservice Specification (see also Section 5.2). 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.
Section 3.2 of [RFC5226], experts are appointed by the IESG. The IESG is responsible for ensuring that there is always a sufficient pool of experts available. Section 3.3 of "Guidelines for Writing an IANA Considerations Section in RFCs" [RFC5226]. Note that RFC 5226 says 'The review may be wide or narrow, depending on the situation and the judgment of the designated expert'. Therefore, the following list should be considered a guideline, rather than a binding list. In case of conflicts between [RFC5226] and the guidelines in this section, [RFC5226] remains authoritative. The expert evaluates the criteria as set out in [RFC5226], and should additionally consider the following: o Verify conformance with the ENUM specification [RFC6116]. o Verify that the requirements set out in this document (Sections 3 and 5) are met. This includes checking for completeness and whether all the aspects described in Sections 3 and 5 are sufficiently addressed. o 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. o Verify that the Enumservice proposed cannot be confused with identical (or similar) other Enumservices already registered. o If the Enumservice is classified according to Section 4.2, the experts must verify that the principles of the Class in question are followed. o In case the Enumservice is not classified, the experts must verify whether a convincing reason for the deviation is provided in the Registration Document.
o Investigate whether the proposed Enumservice has any negative side effects on existing clients and infrastructure, particularly the DNS. o If the output of processing an Enumservice might 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. Section 7 of [RFC5226] and Section 6.5 of [RFC2026]. RFC6118] are not compliant with the specifications contained herein! RFC2223]. 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. Any Enumservice Specifications for existing Enumservices that are extended MUST comply with the specifications contained herein. As a consequence, revisions of existing Enumservice Specifications may be required according to Section 8.
Section 5.6. Section 11, which replaces the old mechanism as defined in [RFC3761]. 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, and as per [RFC6116] "P-" Enumservices will not be registered at all).
<!-- Change accordingly --> <xref type="rfc" data="rfc2551"/> </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> Authors of an Enumservice Specification are encouraged to use these XML chunks as a template to create the IANA Registration Template. Examples for the use of this template are contained in Appendix A. http://www.iana.org/assignments/enum-services>. This registry publishes representations derived from the IANA Registration Template as described in Section 11.2 and specified in Section 5.2. 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.
RFC6118] updates the existing Enumservices by transforming them into the new XML-chunk-based IANA Registration Template (see also Section 8). RFC5226]. To prevent clashes, IANA will check whether a request with identical "type:subtype" (or "type" without Subtype) was submitted for Expert Review earlier and will inform the experts accordingly. The experts are authorized to resolve clashes as they see fit. The requesters may need to update their registration request before getting expert approval. Once the experts have conditionally approved the Enumservice, IANA will inform the authors. This information should also include a reminder that (i) the authors are now responsible for publication of the Registration Document (see also Section 6.6) and (ii) the Enumservice will be added to the IANA registry only after its Enumservice Specification is published according to the "Specification Required" policy as defined in [RFC5226] (see also Section 6.7). Note: After sending the approval note to the authors, IANA has no further responsibilities besides keeping internal records of approved Registration Documents. IANA will be involved again at registration of the Enumservice (see Section 11.6).
Section 11.3). IANA must only add Enumservices to the Registry, if the experts have (conditionally) approved the corresponding Enumservice Specification. IANA should attempt to resolve possible conflicts arising from this together with the experts. In case there are substantial changes between the (conditionally) approved and the to be published version, IANA may reject the request after consulting the experts. IANA must ensure that any further substantial changes the Enumservice Specification might undergo before final RFC publication are approved by the experts. Note: Clearly editorial changes (such as typos) or minor changes in purely editorial sections (such as Authors' Addresses, Acknowledgments, References, and alike) are not considered substantial. 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, and make an escrow copy (see also Section 11.3). IANA must only add Enumservices to the Registry, if the experts have approved the corresponding Enumservice Specification. IANA should attempt to resolve possible conflicts arising from this together with the experts. In case there are substantial changes between the approved and the published version, IANA may reject the request after consulting the experts. Note: Clearly editorial changes (such as typos) or minor changes in purely editorial sections (such as Authors' Addresses, Acknowledgments, References, and alike) are not considered substantial.
RFC5226]. Updates of Enumservice Specifications MUST comply with the requirements described in this document. Updates are handled the same way as initial Enumservice registrations. Authorized Change Controllers are the experts and the IESG. Enumservice registrations must not be deleted. An Enumservice that is believed to be no longer appropriate for use can be declared deprecated by publication of a new Enumservice Specification, changing the Enumservice <usage> element (Intended Usage) to "DEPRECATED"; 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. Alternatively, Enumservices may be declared deprecated by an IESG action. Section 3.2, a "-" (dash) MUST NOT be used as the first nor as the second nor as the last character of a Type or a Subtype. Furthermore, Type or 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. Section 5.2 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.
Section 3 of [RFC3761], which was edited by Patrik Faltstrom and Michael Mealling, has been incorporated into this document. Please see the Acknowledgments section in RFC 3761 for additional acknowledgments. [RFC2026] Bradner, S., "The Internet Standards Process -- Revision 3", BCP 9, RFC 2026, October 1996. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC3402] Mealling, M., "Dynamic Delegation Discovery System (DDDS) Part Two: The Algorithm", RFC 3402, October 2002. [RFC3403] Mealling, M., "Dynamic Delegation Discovery System (DDDS) Part Three: The Domain Name System (DNS) Database", RFC 3403, October 2002. [RFC3761] Faltstrom, P. and M. Mealling, "The E.164 to Uniform Resource Identifiers (URI) Dynamic Delegation Discovery System (DDDS) Application (ENUM)", RFC 3761, April 2004. [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform Resource Identifier (URI): Generic Syntax", STD 66, RFC 3986, January 2005. [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 5226, May 2008. [RFC6116] Bradner, S., Conroy, L., and K. Fujiwara, "The E.164 to Uniform Resource Identifiers (URI) Dynamic Delegation Discovery System (DDDS) Application (ENUM)", RFC 6116, March 2011.
[ITU.E164.2005] International Telecommunications Union, "The International Public Telecommunication Numbering Plan", ITU- T Recommendation E.164, Feb 2005. [Instructions2authors] Reynolds, J. and R. Braden, "Instructions to Request for Comments (RFC) Authors", RFC Editor http:// www.rfc-editor.org/rfc-editor/instructions2authors.txt, August 2004. [RFC1035] Mockapetris, P., "Domain names - implementation and specification", STD 13, RFC 1035, November 1987. [RFC2223] Postel, J. and J. Reynolds, "Instructions to RFC Authors", RFC 2223, October 1997. [RFC2606] Eastlake, D. and A. Panitz, "Reserved Top Level DNS Names", BCP 32, RFC 2606, June 1999. [RFC2780] Bradner, S. and V. Paxson, "IANA Allocation Guidelines For Values In the Internet Protocol and Related Headers", BCP 37, RFC 2780, March 2000. [RFC3552] Rescorla, E. and B. Korver, "Guidelines for Writing RFC Text on Security Considerations", BCP 72, RFC 3552, July 2003. [RFC3764] Peterson, J., "enumservice registration for Session Initiation Protocol (SIP) Addresses-of-Record", RFC 3764, April 2004. [RFC3966] Schulzrinne, H., "The tel URI for Telephone Numbers", RFC 3966, December 2004. [RFC4238] Vaudreuil, G., "Voice Message Routing Service", RFC 4238, October 2005. [RFC4759] Stastny, R., Shockey, R., and L. Conroy, "The ENUM Dip Indicator Parameter for the "tel" URI", RFC 4759, December 2006. [RFC4846] Klensin, J. and D. Thaler, "Independent Submissions to the RFC Editor", RFC 4846, July 2007.
[RFC4969] Mayrhofer, A., "IANA Registration for vCard Enumservice", RFC 4969, August 2007. [RFC4979] Mayrhofer, A., "IANA Registration for Enumservice 'XMPP'", RFC 4979, August 2007. [RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", STD 68, RFC 5234, January 2008. [RFC6118] Hoeneisen, B. and A. Mayrhofer, "Update of Legacy IANA Registrations of Enumservices", RFC 6118, March 2011.
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:email@example.com</uri> <updated>2008-11-20</updated> </person> </people>
This is the second example. <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:firstname.lastname@example.org</uri> <updated>2008-10-10</updated> </person> </people>
This is the third example: <record> <class>Application-Based</class> <type>voicemsg</type> <subtype>sip</subtype> <urischeme>sip</urischeme> <functionalspec> <paragraph> This Enumservice indicates that the 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:email@example.com</uri> <updated>2008-11-20</updated> </person>
<person id="Donald_Troshynski"> <name>Donald Troshynski</name> <org>Acme Packet</org> <uri>mailto:firstname.lastname@example.org</uri> <updated>2008-11-20</updated> </person> </people> In the third IANA Registration Template example above, the "voicemsg" Enumservice is used. This Enumservice actually has several Subtypes, and one of those is shown in the example. For each Subtype, an individual Registration Template must be submitted to IANA, so that an Enumservice with several Subtypes will have several corresponding IANA Registration Templates. This is to avoid any ambiguity of the relation between <subtype> and <urischeme> elements. RFC 3761. o While RFC 3761 required "Standards track or Experimental" RFCs for an Enumservice to be registered, this document mandates "Specification Required", which implies the use of a Designated Expert. o This document defines the classification of Enumservices. The IANA Registration Template has been complemented to contain a <class> element (Enumservice Class). o A new element <registrationdocs> (Enumservice Specification) has been added to the IANA Registration Template. o The former field "Any other information that the author deems interesting" of the IANA Registration Template turned into the <additionalinfo> element (Further Information). o The Enumservice "Name" field has been removed from the IANA Registration Template. o The Registration Template is now a chunk of XML data, reflecting IANA's recent work to convert registries to XML.
http://www.ucom.ch/ Alexander Mayrhofer enum.at GmbH Karlsplatz 1/9 Wien A-1010 Austria Phone: +43 1 5056416 34 EMail: email@example.com URI: http://www.enum.at/ Jason Livingood Comcast Cable Communications One Comcast Center 1701 John F. Kennedy Boulevard Philadelphia, PA 19103 USA Phone: +1-215-286-7813 EMail: firstname.lastname@example.org URI: http://www.comcast.com/