Difference between revisions of "RFC6117"

From RFC-Wiki
imported>Admin
(Created page with " Internet Engineering Task Force (IETF) B. HoeneisenRequest for Comments: 6117 Ucom.chObsoletes: 3761 ...")
 
Line 1: Line 1:
 +
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
  
 
+
'''Abstract'''
 
 
 
 
 
 
Internet Engineering Task Force (IETF)                      B. HoeneisenRequest for Comments: 6117                                      Ucom.chObsoletes: 3761                                            A. MayrhoferCategory: Standards Track                                        enum.atISSN: 2070-1721                                            J. Livingood                                                              Comcast                                                          March 2011
 
 
 
                IANA Registration of Enumservices:            Guide, Template, and IANA Considerations
 
Abstract
 
  
 
This document specifies a revision of the IANA Registration
 
This document specifies a revision of the IANA Registration
Line 15: Line 17:
 
Specifications.
 
Specifications.
  
Status of This Memo
+
'''Status of This Memo'''
  
 
This is an Internet Standards Track document.
 
This is an Internet Standards Track document.
Line 23: Line 25:
 
received public review and has been approved for publication by the
 
received public review and has been approved for publication by the
 
Internet Engineering Steering Group (IESG).  Further information on
 
Internet Engineering Steering Group (IESG).  Further information on
Internet Standards is available in Section 2 of [[RFC5741|RFC 5741]].
+
Internet Standards is available in Section 2 of RFC 5741.
  
 
Information about the current status of this document, any errata,
 
Information about the current status of this document, any errata,
Line 29: Line 31:
 
http://www.rfc-editor.org/info/rfc6117.
 
http://www.rfc-editor.org/info/rfc6117.
  
Copyright Notice
+
'''Copyright Notice'''
  
 
Copyright (c) 2011 IETF Trust and the persons identified as the
 
Copyright (c) 2011 IETF Trust and the persons identified as the
 
document authors.  All rights reserved.
 
document authors.  All rights reserved.
  
This document is subject to [[BCP78|BCP 78]] and the IETF Trust's Legal
+
This document is subject to BCP 78 and the IETF Trust's Legal
 
Provisions Relating to IETF Documents
 
Provisions Relating to IETF Documents
 
(http://trustee.ietf.org/license-info) in effect on the date of
 
(http://trustee.ietf.org/license-info) in effect on the date of
Line 43: Line 45:
 
the Trust Legal Provisions and are provided without warranty as
 
the Trust Legal Provisions and are provided without warranty as
 
described in the Simplified BSD License.
 
described in the Simplified BSD License.
 
 
 
 
 
  
 
This document may contain material from IETF Documents or IETF
 
This document may contain material from IETF Documents or IETF
Line 60: Line 57:
 
it for publication as an RFC or to translate it into languages other
 
it for publication as an RFC or to translate it into languages other
 
than English.
 
than English.
 +
 +
    6.3.2.  Outcome 2: Changes, But No Further Comments
 +
 +
    6.3.3.  Outcome 3: Changes and Further Comments Requested  . . 23
 +
 +
    6.5.1.  Outcome 1: Experts Approve the Registration
 +
 +
    6.5.3.  Outcome 3: Experts Reject the Registration Document  . 25
  
 
== Introduction ==
 
== Introduction ==
  
E.164 Number Mapping (ENUM) [RFC6116] provides an identifier mapping
+
E.164 Number Mapping (ENUM) [[[RFC6116]]] provides an identifier mapping
 
mechanism to map E.164 numbers [ITU.E164.2005] to Uniform Resource
 
mechanism to map E.164 numbers [ITU.E164.2005] to Uniform Resource
Identifiers (URIs) [RFC3986] using the Domain Name System (DNS)
+
Identifiers (URIs) [[[RFC3986]]] using the Domain Name System (DNS)
[RFC1035].  One of the primary concepts of ENUM is the definition of
+
[[[RFC1035]]].  One of the primary concepts of ENUM is the definition of
 
"Enumservices", which allows for providing different URIs for
 
"Enumservices", which allows for providing different URIs for
 
different applications of said mapping mechanism.
 
different applications of said mapping mechanism.
  
 
This document specifies a revision of the IANA registry for
 
This document specifies a revision of the IANA registry for
Enumservices, which was originally described in [RFC3761].  This
+
Enumservices, which was originally described in [[[RFC3761]]].  This
document obsoletes Section 3 of [[RFC3761|RFC 3761]] while [[RFC6116|RFC 6116]] obsoletes RFC
+
document obsoletes Section 3 of RFC 3761 while RFC 6116 obsoletes RFC
 
3761.
 
3761.
  
 
The new registration processes, which are detailed in Section 6, have
 
The new registration processes, which are detailed in Section 6, have
 
been specifically designed to be decoupled from the existence of the
 
been specifically designed to be decoupled from the existence of the
ENUM working group.  Compared to [[RFC3761|RFC 3761]], the main changes are as
+
ENUM working group.  Compared to RFC 3761, the main changes are as
 
follows:
 
follows:
  
Line 83: Line 88:
 
   "Specification Required", which implies the use of a Designated
 
   "Specification Required", which implies the use of a Designated
 
   Expert, according to "Guidelines for Writing an IANA
 
   Expert, according to "Guidelines for Writing an IANA
   Considerations Section in RFCs" [RFC5226], are now sufficient.
+
   Considerations Section in RFCs" [[[RFC5226]]], are now sufficient.
  
 
o  The IANA Registration Template has been supplemented with elements
 
o  The IANA Registration Template has been supplemented with elements
Line 100: Line 105:
 
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
 
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
 
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
 
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
+
document are to be interpreted as described in [[[RFC2119]]].
  
 
For the purpose of this document:
 
For the purpose of this document:
Line 107: Line 112:
 
   defines an Enumservice and proposes its registration following the
 
   defines an Enumservice and proposes its registration following the
 
   procedures outlined herein.
 
   procedures outlined herein.
 
 
 
 
 
 
  
 
o  "Enumservice Specification" refers to a Registration Document that
 
o  "Enumservice Specification" refers to a Registration Document that
 
   has been approved by the experts and published according to
 
   has been approved by the experts and published according to
   "Specification Required" as defined in [RFC5226].
+
   "Specification Required" as defined in [[[RFC5226]]].
  
 
== Registration Requirements ==
 
== Registration Requirements ==
  
As specified in the Augmented Backus-Naur Form (ABNF, [RFC5234])
+
As specified in the Augmented Backus-Naur Form (ABNF, [[[RFC5234]]])
found in Section 3.4.3 of [RFC6116], an Enumservice is made up of
+
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
 
Types and Subtypes.  For any given Type, the allowable Subtypes (if
 
any) must be defined in the Enumservice Specification.  There is
 
any) must be defined in the Enumservice Specification.  There is
Line 138: Line 137:
 
"Specification Required", which implies the use of a Designated
 
"Specification Required", which implies the use of a Designated
 
Expert, as set out in "Guidelines for Writing an IANA Considerations
 
Expert, as set out in "Guidelines for Writing an IANA Considerations
Section in RFCs" [RFC5226] and Section 7.2 of this document.
+
Section in RFCs" [[[RFC5226]]] and Section 7.2 of this document.
  
 
All Enumservice Specifications are expected to conform also to
 
All Enumservice Specifications are expected to conform also to
Line 146: Line 145:
  
 
A registered Enumservice must be able to function as a selection
 
A registered Enumservice must be able to function as a selection
mechanism for choosing one Naming Authority Pointer (NAPTR) [RFC3403]
+
mechanism for choosing one Naming Authority Pointer (NAPTR) [[[RFC3403]]]
 
DNS Resource Record (RR) from a set of such RRs.  That means the
 
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
 
Enumservice Specification MUST define how to use the NAPTR RR and the
Line 162: Line 161:
  
 
o  The Type MUST be unique.
 
o  The Type MUST be unique.
 
 
 
 
  
 
o  The Subtype (being dependent on the Type) MUST be unique within a
 
o  The Subtype (being dependent on the Type) MUST be unique within a
Line 171: Line 166:
  
 
Types and Subtypes MUST conform to the ABNF specified in Section
 
Types and Subtypes MUST conform to the ABNF specified in Section
3.4.3 of [RFC6116].
+
3.4.3 of [[[RFC6116]]].
  
The ABNF specified in Section 3.4.3 of [RFC6116] allows the "-"
+
The ABNF specified in Section 3.4.3 of [[[RFC6116]]] allows the "-"
 
(dash) character for Types and Subtypes.  To avoid confusion with
 
(dash) character for Types and Subtypes.  To avoid confusion with
 
possible future prefixes, a "-" MUST NOT be used as the first nor as
 
possible future prefixes, a "-" MUST NOT be used as the first nor as
Line 181: Line 176:
 
specified in lowercase letters.
 
specified in lowercase letters.
  
'''Note:''' The legacy IANA registry of Enumservices contains Type and
+
Note: The legacy IANA registry of Enumservices contains Type and
 
Subtype strings with uppercase letters.  Implementors could be
 
Subtype strings with uppercase letters.  Implementors could be
 
tempted to refuse handling uppercase Type or Subtype strings, which
 
tempted to refuse handling uppercase Type or Subtype strings, which
Line 216: Line 211:
 
Enumservice are:
 
Enumservice are:
  
 
+
1.  Complex Enumservices may include provisions for directives that
 
+
     institute actions on a user's resources.  In many cases provision
 
 
 
 
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
 
     can be made to specify arbitrary actions in an unrestricted
 
     fashion which may then have devastating results (especially if
 
     fashion which may then have devastating results (especially if
Line 244: Line 235:
 
Enumservices Specifications MUST be published according to the
 
Enumservices Specifications MUST be published according to the
 
requirements for "Specification Required" set out in "Guidelines for
 
requirements for "Specification Required" set out in "Guidelines for
Writing an IANA Considerations Section in RFCs" [RFC5226].  RFCs
+
Writing an IANA Considerations Section in RFCs" [[[RFC5226]]].  RFCs
 
fulfill these requirements.  Therefore, it is strongly RECOMMENDED to
 
fulfill these requirements.  Therefore, it is strongly RECOMMENDED to
 
publish Enumservice Specifications as RFCs.
 
publish Enumservice Specifications as RFCs.
Line 262: Line 253:
  
 
Section 2 of "Guidelines for Writing an IANA  Considerations Section
 
Section 2 of "Guidelines for Writing an IANA  Considerations Section
in RFCs" [RFC5226] provides motivation for why management of a
+
in RFCs" [[[RFC5226]]] provides motivation for why management of a
 
namespace might be necessary.  Even though the namespace for
 
namespace might be necessary.  Even though the namespace for
 
Enumservices is rather large (up to 32 alphanumeric characters),
 
Enumservices is rather large (up to 32 alphanumeric characters),
 
there are reasons to manage this in accordance with Section 2 of
 
there are reasons to manage this in accordance with Section 2 of
[RFC5226].  The following is a list of motivations applying to
+
[[[RFC5226]]].  The following is a list of motivations applying to
 
Enumservices:
 
Enumservices:
 
 
 
 
  
 
o  Prevent hoarding or wasting of values: Enumservice Types are not
 
o  Prevent hoarding or wasting of values: Enumservice Types are not
Line 321: Line 308:
 
   been considered outside the IETF; therefore, we also recommend a
 
   been considered outside the IETF; therefore, we also recommend a
 
   web search.
 
   web search.
 
 
 
 
  
 
o  Section 4.2 provides three general categories for Enumservice
 
o  Section 4.2 provides three general categories for Enumservice
Line 372: Line 355:
 
Subtype SHOULD be specified to reflect the base service, while the
 
Subtype SHOULD be specified to reflect the base service, while the
 
other Enumservices SHOULD be specified to reflect variants.
 
other Enumservices SHOULD be specified to reflect variants.
 
 
 
 
 
 
  
 
==== Protocol-Based Enumservices Class ====
 
==== Protocol-Based Enumservices Class ====
Line 389: Line 366:
 
to make use of an instance of this Enumservice.
 
to make use of an instance of this Enumservice.
  
Examples of such Enumservices include "xmpp" [RFC4979] and "sip"
+
Examples of such Enumservices include "xmpp" [[[RFC4979]]] and "sip"
[RFC3764].
+
[[[RFC3764]]].
  
4.2.2.1.  Protocol-Based Enumservice "Type" Strings
+
===== Protocol-Based Enumservice "Type" Strings =====
  
 
A protocol-based Enumservice SHOULD use the lowercase name of the
 
A protocol-based Enumservice SHOULD use the lowercase name of the
 
protocol as its Type string.  Names as registered in the IANA Port
 
protocol as its Type string.  Names as registered in the IANA Port
 
Number Registry (<http://www.iana.org/assignments/port-numbers>,
 
Number Registry (<http://www.iana.org/assignments/port-numbers>,
defined in Section 8 and 9 of [RFC2780]) are preferred.
+
defined in Section 8 and 9 of [[[RFC2780]]]) are preferred.
  
4.2.2.2.  Protocol-Based Enumservice "Subtype" Strings
+
===== Protocol-Based Enumservice "Subtype" Strings =====
  
 
Where there is a single URI Scheme associated with this protocol, a
 
Where there is a single URI Scheme associated with this protocol, a
Line 427: Line 404:
 
   is not important.  The Enumservice Specification MUST describe the
 
   is not important.  The Enumservice Specification MUST describe the
 
   interaction and expected behavior in enough detail that an
 
   interaction and expected behavior in enough detail that an
 
 
 
 
  
 
   implementation can decide if this activity is one in which it can
 
   implementation can decide if this activity is one in which it can
Line 480: Line 453:
 
   this Enumservice.  An example of this kind of application is the
 
   this Enumservice.  An example of this kind of application is the
 
   "pstn:tel" Enumservice.  This indicates that the NAPTR holds
 
   "pstn:tel" Enumservice.  This indicates that the NAPTR holds
 
 
 
 
  
 
   number portability data.  It implies that the client should engage
 
   number portability data.  It implies that the client should engage
Line 494: Line 463:
 
   final destination address).
 
   final destination address).
  
4.2.3.1.  Application-Based Enumservice "Type" Strings
+
===== Application-Based Enumservice "Type" Strings =====
  
 
It is recommended that Application-class Enumservices use the
 
It is recommended that Application-class Enumservices use the
Line 500: Line 469:
 
string.
 
string.
  
4.2.3.2.  Application-Based Enumservice "Subtype" Strings
+
===== Application-Based Enumservice "Subtype" Strings =====
  
 
It is RECOMMENDED that the URI Scheme(s) used by the application be
 
It is RECOMMENDED that the URI Scheme(s) used by the application be
Line 514: Line 483:
 
"Data Type" Enumservices typically refer to a specific data type or
 
"Data Type" Enumservices typically refer to a specific data type or
 
format, which may be addressed using one or more URI Schemes and
 
format, which may be addressed using one or more URI Schemes and
protocols.  Examples of such Enumservices include "vpim" [RFC4238]
+
protocols.  Examples of such Enumservices include "vpim" [[[RFC4238]]]
and "vcard" [RFC4969].
+
and "vcard" [[[RFC4969]]].
  
4.2.4.1.  Data Type-Based Enumservice "Type" Strings
+
===== Data Type-Based Enumservice "Type" Strings =====
  
 
It is recommended to use the lowercase well known name of the data
 
It is recommended to use the lowercase well known name of the data
 
type or format name as the Type string.
 
type or format name as the Type string.
  
4.2.4.2.  Data Type-Based Enumservice "Subtype" Strings
+
===== Data Type-Based Enumservice "Subtype" Strings =====
  
 
It is RECOMMENDED to use the URI Schemes used to access the service
 
It is RECOMMENDED to use the URI Schemes used to access the service
Line 531: Line 500:
 
If there is only one URI Scheme foreseen to access the data type or
 
If there is only one URI Scheme foreseen to access the data type or
 
format, the empty Subtype string MAY be used.
 
format, the empty Subtype string MAY be used.
 
 
 
 
 
 
  
 
==== Other Enumservice ====
 
==== Other Enumservice ====
Line 586: Line 549:
 
o  "Protocol-Based": The Enumservice belongs to the Protocol-based
 
o  "Protocol-Based": The Enumservice belongs to the Protocol-based
 
   class as described in Section 4.2.2.
 
   class as described in Section 4.2.2.
 
 
 
 
  
 
o  "Application-Based, Common": The Enumservice is a "common" case of
 
o  "Application-Based, Common": The Enumservice is a "common" case of
Line 635: Line 594:
  
 
   <subtype>bar</subtype>
 
   <subtype>bar</subtype>
 
 
 
 
 
 
 
 
  
 
==== URI Scheme(s) (<urischeme>) ====
 
==== URI Scheme(s) (<urischeme>) ====
  
The URI Schemes [RFC3986] that are used with the Enumservice.  The
+
The URI Schemes [[[RFC3986]]] that are used with the Enumservice.  The
 
selection of URI Schemes often depends on the Enumservice Class,
 
selection of URI Schemes often depends on the Enumservice Class,
 
Type, and/or Subtype.  A colon MUST NOT be placed after the URI
 
Type, and/or Subtype.  A colon MUST NOT be placed after the URI
Line 659: Line 610:
 
   <urischeme>sbar</urischeme>
 
   <urischeme>sbar</urischeme>
  
'''Note:''' A client cannot choose a specific ENUM record in a record set
+
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
 
based on the URI Scheme - the selection is only based on Type and
Subtype, in accordance with [RFC3402].
+
Subtype, in accordance with [[[RFC3402]]].
  
 
==== Functional Specification (<functionalspec>) ====
 
==== Functional Specification (<functionalspec>) ====
Line 689: Line 640:
 
A reference to the "Security Considerations" section of a given
 
A reference to the "Security Considerations" section of a given
 
Enumservice Specification.
 
Enumservice Specification.
 
 
 
 
 
 
 
  
 
Security Considerations Example
 
Security Considerations Example
Line 739: Line 683:
  
 
   <registrationdocs>
 
   <registrationdocs>
     <xref type="rfc" data="rfc2026"/> (obsoleted by [[RFC2551|RFC 2551]])
+
     <xref type="rfc" data="rfc2026"/> (obsoleted by RFC 2551)
 
     <xref type="rfc" data="rfc2551"/>
 
     <xref type="rfc" data="rfc2551"/>
 
   </registrationdocs>
 
   </registrationdocs>
Line 745: Line 689:
 
or
 
or
  
 
+
   <registrationdocs>
 
 
 
 
 
 
 
 
   <registrationdocs>
 
 
     [International Telecommunications Union,
 
     [International Telecommunications Union,
 
     "Enumservice Specification for Foobar",
 
     "Enumservice Specification for Foobar",
Line 782: Line 721:
 
requester in the <people> element.
 
requester in the <people> element.
  
==== Further Information (<additionalinfo>) ====
+
5.2.10.  Further Information (<additionalinfo>)
  
 
Any other information the authors deem interesting, including
 
Any other information the authors deem interesting, including
Line 793: Line 732:
 
   </additionalinfo>
 
   </additionalinfo>
  
'''Note:''' If there is no such additional information, then the
+
Note: If there is no such additional information, then the
 
<additionalinfo> element is omitted.
 
<additionalinfo> element is omitted.
 
 
 
 
 
 
 
  
 
=== Examples (REQUIRED) ===
 
=== Examples (REQUIRED) ===
Line 810: Line 742:
 
this should be noted at the beginning of this section of the
 
this should be noted at the beginning of this section of the
 
document.  The example(s) MUST show the specific formatting of the
 
document.  The example(s) MUST show the specific formatting of the
intended NAPTRs (according to [RFC3403] and [RFC6116]), including one
+
intended NAPTRs (according to [[[RFC3403]]] and [[[RFC6116]]]), including one
 
or more NAPTR example(s), AND a brief textual description, consisting
 
or more NAPTR example(s), AND a brief textual description, consisting
 
of one or more sentences written in plain English, explaining the
 
of one or more sentences written in plain English, explaining the
Line 822: Line 754:
 
The example(s) SHOULD follow any relevant IETF guidelines on the use
 
The example(s) SHOULD follow any relevant IETF guidelines on the use
 
of domain names, phone numbers, and other resource identifier
 
of domain names, phone numbers, and other resource identifier
examples, such as [RFC2606].
+
examples, such as [[[RFC2606]]].
  
 
For example:
 
For example:
Line 849: Line 781:
  
 
o  Incompatibility with DNS wildcards.
 
o  Incompatibility with DNS wildcards.
 
 
 
 
 
 
  
 
o  Presence or absence of respective NAPTR Resource Records at
 
o  Presence or absence of respective NAPTR Resource Records at
Line 871: Line 797:
 
   the result URI of an Enumservice might be used to trigger
 
   the result URI of an Enumservice might be used to trigger
 
   additional (subsequent) ENUM queries.  This applies in particular
 
   additional (subsequent) ENUM queries.  This applies in particular
   to Enumservices using the 'tel' URI Scheme [RFC3966] or any other
+
   to Enumservices using the 'tel' URI Scheme [[[RFC3966]]] or any other
 
   (future) URI Scheme using (E.164) numbers.  "The ENUM Dip
 
   (future) URI Scheme using (E.164) numbers.  "The ENUM Dip
   Indicator Parameter for the tel URI" [RFC4759] provides an example
+
   Indicator Parameter for the tel URI" [[[RFC4759]]] provides an example
 
   of a loop mitigation mechanism.
 
   of a loop mitigation mechanism.
  
Line 890: Line 816:
 
password authentication.
 
password authentication.
  
For additional background, please note that [RFC3552] provides
+
For additional background, please note that [[[RFC3552]]] provides
 
guidance to write a good Security Considerations section.  In
 
guidance to write a good Security Considerations section.  In
addition, [RFC6116] already outlines security considerations
+
addition, [[[RFC6116]]] already outlines security considerations
 
affecting ENUM as a whole.  Enumservice Specifications do not need to
 
affecting ENUM as a whole.  Enumservice Specifications do not need to
 
and SHOULD NOT repeat considerations already listed in that document.
 
and SHOULD NOT repeat considerations already listed in that document.
Line 902: Line 828:
 
repeat security considerations affecting those protocols and URI
 
repeat security considerations affecting those protocols and URI
 
Schemes themselves.
 
Schemes themselves.
 
 
 
 
 
 
  
 
However, in some cases, the inclusion of those protocols and URI
 
However, in some cases, the inclusion of those protocols and URI
Line 926: Line 846:
 
This document requests the IANA registration of the Enumservice with
 
This document requests the IANA registration of the Enumservice with
 
Type "foo" and Subtype "bar" according to the definitions in this
 
Type "foo" and Subtype "bar" according to the definitions in this
document, [RFC6117], and [RFC6116].
+
document, [[[RFC6117]]], and [[[RFC6116]]].
  
 
For example:
 
For example:
 
This document requests an update of the IANA registration of the
 
This document requests an update of the IANA registration of the
 
Enumservice Type "foo" with Subtype "bar", according to the
 
Enumservice Type "foo" with Subtype "bar", according to the
definitions in this document, [RFC6117], and [RFC6116].  Therefore,
+
definitions in this document, [[[RFC6117]]], and [[[RFC6116]]].  Therefore,
 
in the existing IANA registration for this Enumservice, the
 
in the existing IANA registration for this Enumservice, the
 
<registrationdocs> element (Enumservice Specification) is enhanced by
 
<registrationdocs> element (Enumservice Specification) is enhanced by
Line 957: Line 877:
 
(intended use of the Enumservice).  The inclusion of such a use case
 
(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.
 
 
 
 
will both accelerate the Expert Review process, as well as make any
 
eventual registration easier to understand and implement by other
 
parties.
 
  
 
== The Process of Registering New Enumservices ==
 
== The Process of Registering New Enumservices ==
Line 972: Line 887:
 
comment, how such proposed Enumservices are reviewed, and how they
 
comment, how such proposed Enumservices are reviewed, and how they
 
are published.  This section is a non-normative description of the
 
are published.  This section is a non-normative description of the
process.  The normative process is described in [RFC5226].
+
process.  The normative process is described in [[[RFC5226]]].
  
 
Figure 1 shows what authors of a Registration Document describing an
 
Figure 1 shows what authors of a Registration Document describing an
Line 979: Line 894:
 
process from Expert Review onwards.
 
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
  
 +
=== Step 1: Read This Document in Detail ===
  
 +
This document, particularly in Sections 3, 4, and 5, describes all of
 +
the recommended and required sections, as well as requirements and
 +
suggestions for content of an Enumservice Specification.
  
 +
=== Step 2: Write and Submit Registration Document ===
  
 +
An Internet-Draft (or another specification as appropriate) must be
 +
written and made publicly available (submitted).  The Registration
 +
Document shall follow the guidelines according to Sections 4 and 5 of
  
 +
this document.  The Review Guidelines for experts are defined in
 +
Section 7.2.
  
 +
=== Step 3: Request Comments From the IETF Community ===
  
 +
The authors shall send an email to <[email protected]>, 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.
  
 +
Note: The ENUM WG mailing list <[email protected]> will be kept open
 +
after conclusion of the ENUM WG.
  
 +
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.
  
 +
Note: Whatever the outcome is, the experts performing the Expert
 +
Review later in the process are not bound to any decision during this
 +
phase.
  
 +
==== Outcome 1: No Changes Needed ====
  
 +
No changes to the Registration Document are made, and the authors
 +
proceed to Step 4 below.
  
 +
This outcome is recommended when the feedback received does not lead
 +
to a new revision of the Registration Document.
  
 +
==== Outcome 2: Changes, But No Further Comments Requested ====
  
 +
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.
  
 +
This outcome is recommended when minor objections have been raised,
 +
or minor changes have been suggested.
  
 +
==== Outcome 3: Changes and Further Comments Requested ====
  
 +
The authors update and submit the Registration Document, and proceed
 +
to Step 3 above, which involves sending another email to
 +
<[email protected]> to request additional comments for the updated
 +
version.
  
 +
This outcome is recommended when substantial objections have been
 +
raised, or substantial changes have been suggested.
  
 +
=== Step 4: Submit Registration Document to IANA ===
  
 +
The authors submit the Registration Document to IANA (using the
 +
<http://www.iana.org/> website) for Expert Review.
  
 
+
                              :
 
+
                               :
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
                  +----------------------------+
 
                  | Step 1: Read this document |
 
                  +----------------------------+
 
                               |
 
 
                               V
 
                               V
                +-------------------------------+
+
                    +-----------------------+
                | Step 2: Write R-D and submit |
+
                    | Step 5: Expert Review |<-------------+
                +-------------------------------+
+
                    +-----------------------+             |
                              |
 
                              V
 
          +--------------------------------------------+
 
          | Step 3:  Announce R-D and solicit feedback |<--+
 
          +--------------------------------------------+   |
 
 
                               |                          |
 
                               |                          |
 
                               V                          |
 
                               V                          |
 
                               .^.                          |
 
                               .^.                          |
 
                             .    .                        |
 
                             .    .                        |
+------------+            Feed-  .              +------------+
+
  .---------.            Expert .              +------------+
| Update R-D |<---------<    back    >------------>| Update R-D |
+
( Bad luck! )<-------- <    Review  >------------>| Update R-D |
| and submit |  non-sub- . results .  substantial | and submit |
+
  `---------'  experts  . results .  changes    | and submit |
+------------+  stantial    . in: .    changes    +------------+
+
                reject      . in: .    required    +------------+
      |        changes      . .       needed
+
                              . .
      |        needed        Y
+
                              Y
      |                       | no changes needed
+
                              | experts approve
      |                        V
+
                              V
      |        +-----------------------------+
+
            +-----------------------------------+
      +-------->| Step 4: Submit R-D to IANA |
+
            | Step 6: Publication of R-D       |
                +-----------------------------+
+
            +-----------------------------------+
                               :
+
                               |
                              :
 
 
                               V
 
                               V
 +
        +---------------------------------------------+
 +
        | Step 7: Adding Enumservice to IANA Registry |
 +
        +---------------------------------------------+
  
 
R-D: Registration Document
 
R-D: Registration Document
  
                               Figure 1
+
                               Figure 2
  
=== Step 1: Read This Document in Detail ===
+
=== Step 5: Expert Review ===
  
This document, particularly in Sections 3, 4, and 5, describes all of
+
IANA will take care of the "Expert Review" according to [[[RFC5226]]].
the recommended and required sections, as well as requirements and
+
The Expert Review guidelines are outlined in Section 7.2 of this
suggestions for content of an Enumservice Specification.
+
document.  The authors must be prepared for further interaction with
 +
IANA and the experts.
  
=== Step 2: Write and Submit Registration Document ===
+
==== Outcome 1: Experts Approve the Registration Document ====
  
An Internet-Draft (or another specification as appropriate) must be
+
No (more) changes to the Registration Document are made.  IANA will
written and made publicly available (submitted)The Registration
+
inform the authors, who then will proceed to Step 6 below.
Document shall follow the guidelines according to Sections 4 and 5 of
 
  
 +
==== Outcome 2: Changes Required ====
  
 +
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.
  
 +
==== Outcome 3: Experts Reject the Registration Document ====
  
 +
The expert might reject the Registration, which means the Expert
 +
Review process is discontinued.
  
 +
=== Step 6: Publication of the Registration Document ===
  
this document.  The Review Guidelines for experts are defined in
+
The authors are responsible for ensuring that the Registration
Section 7.2.
+
Document is published according to "Specification Required" as
 +
defined in [[[RFC5226]]].
  
=== Step 3: Request Comments From the IETF Community ===
+
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]]].
  
The authors shall send an email to <[email protected]>, in which comments
+
=== Step 7: Adding Enumservice to the IANA Registry ===
on the Registration Document are requested.  A proper public
 
reference (a URL is recommended) to the Registration Document must be
 
included in this email.
 
  
'''Note:''' The ENUM WG mailing list <[email protected]> will be kept open
+
In cases where the Registration Document is to be published as an
after conclusion of the ENUM WG.
+
RFC, the RFC publication process ensures that IANA will add the
 +
Enumservice to the registry.
  
The authors should allow a reasonable period of time to elapse, such
+
In cases where the Registration Document is to be published in a
as two to four weeks, in order to collect any feedback.  The authors
+
specification other than RFC, the authors must inform IANA, as soon
then consider whether or not to take any of those comments into
+
as the Enumservice Specification has been published according to
account, by making changes to the Registration Document and
+
"Specification Required" as defined in [[[RFC5226]]].  The
submitting a revision, or otherwise proceeding.  The following
+
<registrationdocs> element in the IANA Registration Template must
outcomes are open to the authorsThe choice of path is left to the
+
contain an unambiguous reference to the Enumservice Specification
authors' judgement.
+
(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
 +
SpecificationIANA will then add the Enumservice to the registry.
  
'''Note:''' Whatever the outcome is, the experts performing the Expert
+
== Expert Review ==
Review later in the process are not bound to any decision during this
 
phase.
 
  
==== Outcome 1: No Changes Needed ====
+
=== Expert Selection Process ===
  
No changes to the Registration Document are made, and the authors
+
According to Section 3.2 of [[[RFC5226]]], experts are appointed by the
proceed to Step 4 below.
+
IESG.  The IESG is responsible for ensuring that there is always a
 +
sufficient pool of experts available.
  
This outcome is recommended when the feedback received does not lead
+
=== Review Guidelines ===
to a new revision of the Registration Document.
 
  
==== Outcome 2: Changes, But No Further Comments Requested ====
+
Generally, the "Expert Review" process of an Enumservice follows the
 +
guidelines documented in 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.
  
The authors update the Registration Document and is/are confident
+
In case of conflicts between [[[RFC5226]]] and the guidelines in this
that all issues are resolved and do not require further discussion.
+
section, [[[RFC5226]]] remains authoritative.
The authors proceed to Step 4 below.
 
  
This outcome is recommended when minor objections have been raised,
+
The expert evaluates the criteria as set out in [[[RFC5226]]], and should
or minor changes have been suggested.
+
additionally consider the following:
  
==== Outcome 3: Changes and Further Comments Requested ====
+
o  Verify conformance with the ENUM specification [[[RFC6116]]].
 
 
The authors update and submit the Registration Document, and proceed
 
to Step 3 above, which involves sending another email to
 
<[email protected]> to request additional comments for the updated
 
version.
 
  
 +
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.
  
This outcome is recommended when substantial objections have been
+
o  Investigate whether the proposed Enumservice has any negative side
raised, or substantial changes have been suggested.
+
  effects on existing clients and infrastructure, particularly the
 +
  DNS.
  
=== Step 4: Submit Registration Document to IANA ===
+
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.
  
The authors submit the Registration Document to IANA (using the
+
=== Appeals ===
<http://www.iana.org/> website) for Expert Review.
 
  
                              :
+
Appeals of Expert Review decisions follow the process described in
                              :
+
Section 7 of [[[RFC5226]]] and Section 6.5 of [[[RFC2026]]].
                              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
+
== Revision of Existing Enumservice Specifications ==
  
                              Figure 2
+
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 be compliant with the specifications contained
 +
herein.
  
=== Step 5: Expert Review ===
+
Note: Enumservice Specifications updated only by [[[RFC6118]]] are not
 
+
compliant with the specifications contained herein!
IANA will take care of the "Expert Review" according to [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.
 
  
 +
== Extension of Existing Enumservice Specifications ==
  
 +
There are cases where it is more sensible to extend an existing
 +
Enumservice registration rather than propose 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) [[[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.
  
 +
10.  Security Considerations
  
 +
10.1.  Considerations Regarding This Document
  
 +
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.
  
 +
10.2.  Enumservice Security Considerations Guideline
  
==== Outcome 1: Experts Approve the Registration Document ====
+
Guidelines concerning the Security Considerations section of an
 +
Enumservice Specification can be found in Section 5.6.
  
No (more) changes to the Registration Document are made.  IANA will
+
11.  IANA Considerations
inform the authors, who then will proceed to Step 6 below.
 
  
==== Outcome 2: Changes Required ====
+
11.1.  Registry Update
  
The experts might require changes before they can approve the
+
IANA updated the registry "Enumservice Registrations" as defined in
Registration Document.  The authors update and submit the
+
(this) Section 11, which replaces the old mechanism as defined in
Registration Document.  The authors inform the experts about the
+
[[[RFC3761]]].
available update, who then continue the Expert Review Process.
 
  
==== Outcome 3: Experts Reject the Registration Document ====
+
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).
  
The expert might reject the Registration, which means the Expert
+
11.2.  Registration Template (XML chunk)
Review process is discontinued.
 
  
=== Step 6: Publication of the Registration Document ===
+
        <record>
 
+
          <class> <!-- Enumservice Class --> </class>
The authors are responsible for ensuring that the Registration
+
          <type> <!-- Type --> </type>
Document is published according to "Specification Required" as
+
          <subtype> <!-- Subtype --> </subtype>
defined in [RFC5226].
+
          <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>
 +
              <!-- Security Considerations of the
 +
                  Enumservice to be registered -->
 +
          </security>
 +
          <usage> <!-- COMMON, LIMITED USE, or OBSOLETE --> </usage>
 +
          <registrationdocs>
  
As set out in Section 3.4 it is strongly RECOMMENDED that Enumservice
+
            <!-- Change accordingly -->
Specifications be published RFCs.  As to every RFC, the normal IETF
+
            <xref type="rfc" data="rfc2551"/>
publication process applies (see [Instructions2authors]); i.e., the
+
          </registrationdocs>
Registration Document is submitted in the form of an Internet Draft
+
          <requesters>
(e.g. via an IETF Working Group or a sponsoring Area Director).
+
            <!-- Change accordingly -->
[Instructions2authors] also contains an option to publish an RFC as
+
            <xref type="person" data="John_Doe"/>
'Independent Submission', which is further described in "Independent
+
            <xref type="person" data="Jane_Dale"/>
Submissions to the RFC Editor" [RFC4846].
+
          </requesters>
 +
          <additionalinfo>
 +
            <paragraph>
 +
              <!-- Text with additional information about
 +
                  the Enumservice to be registered -->
 +
            </paragraph>
 +
            <artwork>
 +
              <!-- There can be artwork sections, too -->
 +
              :-)
 +
            </artwork>
 +
          </additionalinfo>
 +
        </record>
  
=== Step 7: Adding Enumservice to the IANA Registry ===
+
      <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>
  
In cases where the Registration Document is to be published as an
+
Authors of an Enumservice Specification are encouraged to use these
RFC, the RFC publication process ensures that IANA will add the
+
XML chunks as a template to create the IANA Registration Template.
Enumservice to the registry.
+
Examples for the use of this template are contained in Appendix A.
  
In cases where the Registration Document is to be published in a
+
11.3Location
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 [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.
 
  
 +
Approved Enumservice registrations are published in the IANA registry
 +
named "Enumservice Registrations", which is available at the
 +
following URI:
 +
<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.
  
 +
11.4.  Structure
  
== Expert Review ==
+
IANA maintains the Enumservice Registry sorted in alphabetical order.
 +
The first sort field is Type, the second is Subtype.
  
=== Expert Selection Process ===
+
[[[RFC6118]]] updates the existing Enumservices by transforming them into
 +
the new XML-chunk-based IANA Registration Template (see also
 +
Section 8).
  
According to Section 3.2 of [RFC5226], experts are appointed by the
+
11.5Expert Review Procedure
IESGThe IESG is responsible for ensuring that there is always a
 
sufficient pool of experts available.
 
  
=== Review Guidelines ===
+
Whenever a Registration Document is submitted via the IANA website,
 +
IANA will take care of the "Expert Review" process according to
 +
"Guidelines for Writing an IANA Considerations Section in RFCs"
 +
[[[RFC5226]]].
  
Generally, the "Expert Review" process of an Enumservice follows the
+
To prevent clashes, IANA will check whether a request with identical
guidelines documented in Section 3.3 of "Guidelines for Writing an
+
"type:subtype" (or "type" without Subtype) was submitted for Expert
IANA Considerations Section in RFCs" [RFC5226]Note that [[RFC5226|RFC 5226]]
+
Review earlier and will inform the experts accordingly. The experts
says 'The review may be wide or narrow, depending on the situation
+
are authorized to resolve clashes as they see fitThe requesters
and the judgment of the designated expert'.  Therefore, the following
+
may need to update their registration request before getting expert
list should be considered a guideline, rather than a binding list.
+
approval.
  
In case of conflicts between [RFC5226] and the guidelines in this
+
Once the experts have conditionally approved the Enumservice, IANA
section, [RFC5226] remains authoritative.
+
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).
  
The expert evaluates the criteria as set out in [RFC5226], and should
+
Note: After sending the approval note to the authors, IANA has no
additionally consider the following:
+
further responsibilities besides keeping internal records of approved
 +
Registration Documents.  IANA will be involved again at registration
 +
of the Enumservice (see Section 11.6).
  
o Verify conformance with the ENUM specification [RFC6116].
+
11.6. Registration Procedure
  
o  Verify that the requirements set out in this document (Sections 3
+
There is a slight difference in process depending on whether or not
  and 5) are metThis includes checking for completeness and
+
the Enumservice Specification will be published as an RFCThe
  whether all the aspects described in Sections 3 and 5 are
+
reason for this difference lies in the current RFC publication
  sufficiently addressed.
+
process that includes IANA interaction shortly before publication of
 +
an RFC.
  
o  If a use case is provided, the experts should verify whether the
+
11.6.1Published as an RFC
  proposed Enumservice does actually match the use caseThe
 
  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
+
As per the RFC publication process, IANA will receive the Enumservice
  identical (or similar) other Enumservices already registered.
+
Specification to carry out IANA actions shortly before publication of
 +
the RFC. The IANA action will be to register the Enumservice, i.e.,
 +
add the Enumservice to the IANA "Enumservice Registrations" registry
 +
(see also Section 11.3).
  
o  If the Enumservice is classified according to Section 4.2, the
+
IANA must only add Enumservices to the Registry, if the experts have
  experts must verify that the principles of the Class in question
+
(conditionally) approved the corresponding Enumservice Specification.
  are followed.
+
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.
  
o  In case the Enumservice is not classified, the experts must verify
+
IANA must ensure that any further substantial changes the Enumservice
  whether a convincing reason for the deviation is provided in the
+
Specification might undergo before final RFC publication are approved
  Registration Document.
+
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.
  
 +
11.6.2.  Published as a Non-RFC
  
 +
Once the authors have informed IANA about the publication, IANA must
 +
ensure that the requirements for "Specification Required" as defined
 +
in [[[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.
  
 +
11.7.  Change Control
  
 +
Change control of any Enumservice registrations is done by
 +
"Specification Required", which implies the use of a Designated
 +
Expert, according to [[[RFC5226]]].  Updates of Enumservice
 +
Specifications MUST comply with the requirements described in this
 +
document.  Updates are handled the same way as initial Enumservice
 +
registrations.
  
o  Investigate whether the proposed Enumservice has any negative side
+
Authorized Change Controllers are the experts and the IESG.
  effects on existing clients and infrastructure, particularly the
 
  DNS.
 
  
o If the output of processing an Enumservice might be used for input
+
Enumservice registrations must not be deleted. An Enumservice that
  to more ENUM processing (especially services returning 'tel'
+
is believed to be no longer appropriate for use can be declared
  URIs), the experts should verify that the authors have adequately
+
deprecated by publication of a new Enumservice Specification,
  addressed the issue of potential query loops.
+
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.
  
=== Appeals ===
+
11.8.  Restrictions
  
Appeals of Expert Review decisions follow the process described in
+
As stated in Section 3.2, a "-" (dash) MUST NOT be used as the first
Section 7 of [RFC5226] and Section 6.5 of [RFC2026].
+
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.
  
== Revision of Existing Enumservice Specifications ==
+
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.
  
Many Enumservice registrations, published via IETF RFCs, already
+
12Acknowledgments
exist at the time of the development of this documentThese
 
existing Enumservice Specifications MAY be revised to comply with the
 
specifications contained herein.  All revisions of Enumservice
 
Specifications MUST be compliant with the specifications contained
 
herein.
 
  
'''Note:''' Enumservice Specifications updated only by [RFC6118] are not
+
The authors would like to thank the following people who have
compliant with the specifications contained herein!
+
provided feedback or significant contributions to the development of
 +
this document: Jari Arkko, Stewart Bryant, Gonzalo Camarillo,
 +
Lawrence Conroy, Michelle Cotton, Miguel Garcia, David Harrington,
 +
Alfred Hoenes, Ari Keranen, Peter Koch, Edward Lewis, Alexey
 +
Melnikov, Jon Peterson, Pekka Savola, and Peter Saint-Andre.
  
== Extension of Existing Enumservice Specifications ==
+
Lawrence Conroy has provided extensive text for the Enumservice
 +
Classification section.
  
There are cases where it is more sensible to extend an existing
+
Section 3 of [[[RFC3761]]], which was edited by Patrik Faltstrom and
Enumservice registration rather than propose a new oneSuch cases
+
Michael Mealling, has been incorporated into this documentPlease
include adding a new Subtype to an existing Type.  Depending on the
+
see the Acknowledgments section in RFC 3761 for additional
nature of the extension, the original Enumservice Specification needs
+
acknowledgments.
to be extended (Updates) or replaced (Obsoletes) [RFC2223].
+
 
Specifically, an update is appropriate when a new Subtype is being
+
13References
added without changes to the existing repertoireA 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
+
13.1Normative References
extended MUST comply with the specifications contained hereinAs a
 
consequence, revisions of existing Enumservice Specifications may be
 
required according to Section 8.
 
  
 +
[[[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.
  
 +
13.2.  Informative References
  
 +
[ITU.E164.2005]
 +
          International Telecommunications Union, "The International
 +
          Public Telecommunication Numbering Plan", ITU-
 +
          T Recommendation E.164, Feb 2005.
  
== Security Considerations ==
+
[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.
  
=== Considerations Regarding This Document ===
+
[[[RFC1035]]]  Mockapetris, P., "Domain names - implementation and
 +
          specification", STD 13, RFC 1035, November 1987.
  
Since this document does not introduce any new technology, protocol,
+
[[[RFC2223]]]  Postel, J. and J. Reynolds, "Instructions to RFC Authors",
or Enumservice Specification, there are no specific security issues
+
          RFC 2223, October 1997.
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.
 
  
=== Enumservice Security Considerations Guideline ===
+
[[[RFC2606]]]  Eastlake, D. and A. Panitz, "Reserved Top Level DNS
 +
          Names", BCP 32, RFC 2606, June 1999.
  
Guidelines concerning the Security Considerations section of an
+
[[[RFC2780]]]  Bradner, S. and V. Paxson, "IANA Allocation Guidelines For
Enumservice Specification can be found in Section 5.6.
+
          Values In the Internet Protocol and Related Headers",
 +
          BCP 37, RFC 2780, March 2000.
  
== IANA Considerations ==
+
[[[RFC3552]]]  Rescorla, E. and B. Korver, "Guidelines for Writing RFC
 +
          Text on Security Considerations", BCP 72, RFC 3552,
 +
          July 2003.
  
=== Registry Update ===
+
[[[RFC3764]]]  Peterson, J., "enumservice registration for Session
 +
          Initiation Protocol (SIP) Addresses-of-Record", RFC 3764,
 +
          April 2004.
  
IANA updated the registry "Enumservice Registrations" as defined in
+
[[[RFC3966]]]  Schulzrinne, H., "The tel URI for Telephone Numbers",
(this) Section 11, which replaces the old mechanism as defined in
+
          RFC 3966, December 2004.
[RFC3761].
 
  
It is noted that the process described herein applies only to
+
[[[RFC4238]]]  Vaudreuil, G., "Voice Message Routing Service", RFC 4238,
ordinary Enumservice registrations (i.e., the registration process of
+
          October 2005.
"X-" Enumservices is beyond the scope of this document, and as per
 
[RFC6116] "P-" Enumservices will not be registered at all).
 
  
=== Registration Template (XML chunk) ===
+
[[[RFC4759]]]  Stastny, R., Shockey, R., and L. Conroy, "The ENUM Dip
 +
          Indicator Parameter for the "tel" URI", RFC 4759,
 +
          December 2006.
  
         <record>
+
[[[RFC4846]]]  Klensin, J. and D. Thaler, "Independent Submissions to the
           <class> <!-- Enumservice Class --> </class>
+
          RFC Editor", RFC 4846, July 2007.
           <type> <!-- Type --> </type>
+
 
           <subtype> <!-- Subtype --> </subtype>
+
[[[RFC4969]]]  Mayrhofer, A., "IANA Registration for vCard Enumservice",
           <urischeme> <!-- URI Schema Name --> </urischeme>
+
          RFC 4969, August 2007.
          <urischeme> <!-- another URI Schema Name --> </urischeme>
+
 
 +
[[[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.
 +
 
 +
Appendix A.  IANA Registration Template Examples
 +
 
 +
This section contains non-normative examples of the XML-chunk-based
 +
IANA Registration Template:
 +
 
 +
This is the first example:
 +
 
 +
         <record>
 +
           <class>Protocol-Based</class>
 +
           <type>email</type>
 +
           <subtype>mailto</subtype>
 +
           <urischeme>mailto</urischeme>
 
           <functionalspec>
 
           <functionalspec>
 
             <paragraph>
 
             <paragraph>
               <!-- Text that explains the functionality of
+
               This Enumservice indicates that the resource
                  the Enumservice to be registered -->
+
              can be addressed by the associated URI in
 +
              order to send an email.
 
             </paragraph>
 
             </paragraph>
 
           </functionalspec>
 
           </functionalspec>
 
           <security>
 
           <security>
              <!-- Security Considerations of the
+
            See <xref type="rfc" data="rfc4355"/>, Section 6.
                  Enumservice to be registered -->
 
 
           </security>
 
           </security>
           <usage> <!-- COMMON, LIMITED USE, or OBSOLETE --> </usage>
+
           <usage>COMMON</usage>
 
           <registrationdocs>
 
           <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 protected]</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:[email protected]</uri>
 +
            <updated>2008-10-10</updated>
 +
          </person>
 +
        </people>
  
             <!-- Change accordingly -->
+
This is the third example:
             <xref type="rfc" data="rfc2551"/>
+
 
 +
        <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>
 
           </registrationdocs>
 
           <requesters>
 
           <requesters>
            <!-- Change accordingly -->
+
             <xref type="person" data="Jason_Livingood"/>
             <xref type="person" data="John_Doe"/>
+
             <xref type="person" data="Donald_Troshynski"/>
             <xref type="person" data="Jane_Dale"/>
 
 
           </requesters>
 
           </requesters>
 
           <additionalinfo>
 
           <additionalinfo>
 
             <paragraph>
 
             <paragraph>
               <!-- Text with additional information about
+
               Implementers should review a non-exclusive list of
                  the Enumservice to be registered -->
+
              examples in <xref type="rfc" data="rfc4279"/>,
            </paragraph>
+
               Section 7.
            <artwork>
+
             </paragraph>
              <!-- There can be artwork sections, too -->
 
               :-)
 
             </artwork>
 
 
           </additionalinfo>
 
           </additionalinfo>
 
         </record>
 
         </record>
  
      <people>
+
        <people>
        <person id="John_Doe">
+
          <person id="Jason_Livingood">
          <name> <!-- Firstname Lastname --> </name>
+
            <name>Jason Livingood</name>
          <org> <!-- Organisation Name --> </org>
+
            <org>Comcast Cable Communications</org>
          <uri> <!-- mailto: or http: URI --> </uri>
+
            <uri>mailto:[email protected]</uri>
          <updated> <!-- date format YYYY-MM-DD --> </updated>
+
            <updated>2008-11-20</updated>
        </person>
+
          </person>
        <!-- repeat person section for each person -->
 
      </people>
 
  
Authors of an Enumservice Specification are encouraged to use these
+
          <person id="Donald_Troshynski">
XML chunks as a template to create the IANA Registration Template.
+
            <name>Donald Troshynski</name>
Examples for the use of this template are contained in Appendix A.
+
            <org>Acme Packet</org>
 +
            <uri>mailto:dtroshynski@acmepacket.com</uri>
 +
            <updated>2008-11-20</updated>
 +
          </person>
 +
        </people>
  
=== Location ===
+
In the third IANA Registration Template example above, the "voicemsg"
 
+
Enumservice is used.  This Enumservice actually has several Subtypes,
Approved Enumservice registrations are published in the IANA registry
+
and one of those is shown in the example.  For each Subtype, an
named "Enumservice Registrations", which is available at the
+
individual Registration Template must be submitted to IANA, so that
following URI:
+
an Enumservice with several Subtypes will have several corresponding
<http://www.iana.org/assignments/enum-services>.
+
IANA Registration Templates.  This is to avoid any ambiguity of the
 
+
relation between <subtype> and <urischeme> elements.
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.
 
 
 
 
 
 
 
 
 
 
 
=== Structure ===
 
 
 
IANA maintains the Enumservice Registry sorted in alphabetical order.
 
The first sort field is Type, the second is Subtype.
 
 
 
[RFC6118] updates the existing Enumservices by transforming them into
 
the new XML-chunk-based IANA Registration Template (see also
 
Section 8).
 
 
 
=== Expert Review Procedure ===
 
 
 
Whenever a Registration Document is submitted via the IANA website,
 
IANA will take care of the "Expert Review" process according to
 
"Guidelines for Writing an IANA Considerations Section in RFCs"
 
[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).
 
 
 
=== Registration Procedure ===
 
 
 
There is a slight difference in process depending on whether or not
 
the Enumservice Specification will be published as an RFC.  The
 
reason for this difference lies in the current RFC publication
 
process that includes IANA interaction shortly before publication of
 
an RFC.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
==== Published as an RFC ====
 
 
 
As per the RFC publication process, IANA will receive the Enumservice
 
Specification to carry out IANA actions shortly before publication of
 
the RFC.  The IANA action will be to register the Enumservice, i.e.,
 
add the Enumservice to the IANA "Enumservice Registrations" registry
 
(see also 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.
 
 
 
==== Published as a Non-RFC ====
 
 
 
Once the authors have informed IANA about the publication, IANA must
 
ensure that the requirements for "Specification Required" as defined
 
in [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.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
=== Change Control ===
 
 
 
Change control of any Enumservice registrations is done by
 
"Specification Required", which implies the use of a Designated
 
Expert, according to [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.
 
 
 
=== Restrictions ===
 
 
 
As stated in 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.
 
 
 
== Acknowledgments ==
 
 
 
The authors would like to thank the following people who have
 
provided feedback or significant contributions to the development of
 
this document: Jari Arkko, Stewart Bryant, Gonzalo Camarillo,
 
Lawrence Conroy, Michelle Cotton, Miguel Garcia, David Harrington,
 
Alfred Hoenes, Ari Keranen, Peter Koch, Edward Lewis, Alexey
 
Melnikov, Jon Peterson, Pekka Savola, and Peter Saint-Andre.
 
 
 
Lawrence Conroy has provided extensive text for the Enumservice
 
Classification section.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 [[RFC3761|RFC 3761]] for additional
 
acknowledgments.
 
 
 
== References ==
 
 
 
=== Normative References ===
 
 
 
[RFC2026]  Bradner, S., "The Internet Standards Process -- Revision          3", [[BCP9|BCP 9]], [[RFC2026|RFC 2026]], October 1996.
 
[RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate          Requirement Levels", [[BCP14|BCP 14]], [[RFC2119|RFC 2119]], March 1997.
 
[RFC3402]  Mealling, M., "Dynamic Delegation Discovery System (DDDS)          Part Two: The Algorithm", [[RFC3402|RFC 3402]], October 2002.
 
[RFC3403]  Mealling, M., "Dynamic Delegation Discovery System (DDDS)          Part Three: The Domain Name System (DNS) Database",          [[RFC3403|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)", [[RFC3761|RFC 3761]], April 2004.
 
[RFC3986]  Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform          Resource Identifier (URI): Generic Syntax", STD 66,          [[RFC3986|RFC 3986]], January 2005.
 
[RFC5226]  Narten, T. and H. Alvestrand, "Guidelines for Writing an          IANA Considerations Section in RFCs", [[BCP26|BCP 26]], [[RFC5226|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)", [[RFC6116|RFC 6116]],          March 2011.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
=== Informative References ===
 
 
 
[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, [[RFC1035|RFC 1035]], November 1987.
 
[RFC2223]  Postel, J. and J. Reynolds, "Instructions to RFC Authors",          [[RFC2223|RFC 2223]], October 1997.
 
[RFC2606]  Eastlake, D. and A. Panitz, "Reserved Top Level DNS          Names", [[BCP32|BCP 32]], [[RFC2606|RFC 2606]], June 1999.
 
[RFC2780]  Bradner, S. and V. Paxson, "IANA Allocation Guidelines For          Values In the Internet Protocol and Related Headers",          [[BCP37|BCP 37]], [[RFC2780|RFC 2780]], March 2000.
 
[RFC3552]  Rescorla, E. and B. Korver, "Guidelines for Writing RFC          Text on Security Considerations", [[BCP72|BCP 72]], [[RFC3552|RFC 3552]],          July 2003.
 
[RFC3764]  Peterson, J., "enumservice registration for Session          Initiation Protocol (SIP) Addresses-of-Record", [[RFC3764|RFC 3764]],          April 2004.
 
[RFC3966]  Schulzrinne, H., "The tel URI for Telephone Numbers",          [[RFC3966|RFC 3966]], December 2004.
 
[RFC4238]  Vaudreuil, G., "Voice Message Routing Service", [[RFC4238|RFC 4238]],          October 2005.
 
[RFC4759]  Stastny, R., Shockey, R., and L. Conroy, "The ENUM Dip          Indicator Parameter for the "tel" URI", [[RFC4759|RFC 4759]],          December 2006.
 
[RFC4846]  Klensin, J. and D. Thaler, "Independent Submissions to the          RFC Editor", [[RFC4846|RFC 4846]], July 2007.
 
 
 
 
 
 
 
 
 
 
 
 
 
[RFC4969]  Mayrhofer, A., "IANA Registration for vCard Enumservice",          [[RFC4969|RFC 4969]], August 2007.
 
[RFC4979]  Mayrhofer, A., "IANA Registration for Enumservice 'XMPP'",          [[RFC4979|RFC 4979]], August 2007.
 
[RFC5234]  Crocker, D. and P. Overell, "Augmented BNF for Syntax          Specifications: ABNF", STD 68, [[RFC5234|RFC 5234]], January 2008.
 
[RFC6118]  Hoeneisen, B. and A. Mayrhofer, "Update of Legacy IANA          Registrations of Enumservices", [[RFC6118|RFC 6118]], March 2011.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Appendix A.  IANA Registration Template Examples
 
This section contains non-normative examples of the XML-chunk-basedIANA Registration Template:
 
This is the first example:
 
        <record>          <class>Protocol-Based</class>          <type>email</type>          <subtype>mailto</subtype>          <urischeme>mailto</urischeme>          <functionalspec>            <paragraph>              This Enumservice indicates that the resource              can be addressed by the associated URI 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:[email protected]</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:[email protected]</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 protected]</uri>            <updated>2008-11-20</updated>          </person>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
          <person id="Donald_Troshynski">            <name>Donald Troshynski</name>            <org>Acme Packet</org>            <uri>mailto:[email protected]</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, anindividual Registration Template must be submitted to IANA, so thatan Enumservice with several Subtypes will have several correspondingIANA Registration Templates.  This is to avoid any ambiguity of therelation between <subtype> and <urischeme> elements.
 
Appendix B.  Changes from [[RFC3761|RFC 3761]]
 
This section lists the changes applied to the Enumserviceregistration process and the IANA registry definition, compared to[[RFC3761|RFC 3761]].
 
o  While [[RFC3761|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.
 
  
 +
Appendix B.  Changes from RFC 3761
  
 +
This section lists the changes applied to the Enumservice
 +
registration process and the IANA registry definition, compared to
 +
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.
  
 
Authors' Addresses
 
Authors' Addresses
Line 1,777: Line 1,679:
 
EMail: [email protected] (bernhard.hoeneisen AT ucom.ch)
 
EMail: [email protected] (bernhard.hoeneisen AT ucom.ch)
 
URI:  http://www.ucom.ch/
 
URI:  http://www.ucom.ch/
 
  
 
Alexander Mayrhofer
 
Alexander Mayrhofer
Line 1,788: Line 1,689:
  
 
URI:  http://www.enum.at/
 
URI:  http://www.enum.at/
 
  
 
Jason Livingood
 
Jason Livingood
Line 1,800: Line 1,700:
  
 
URI:  http://www.comcast.com/
 
URI:  http://www.comcast.com/
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  
 
[[Category:Standards Track]]
 
[[Category:Standards Track]]

Revision as of 05:38, 1 October 2020

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

Abstract

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

   6.3.2.  Outcome 2: Changes, But No Further Comments
   6.3.3.  Outcome 3: Changes and Further Comments Requested  . . 23
   6.5.1.  Outcome 1: Experts Approve the Registration
   6.5.3.  Outcome 3: Experts Reject the Registration Document  . 25

Contents

Introduction

E.164 Number Mapping (ENUM) [[[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.

Terminology

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

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

Registration Requirements

As specified in the Augmented Backus-Naur Form (ABNF, [[[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.

Functionality Requirements

A registered Enumservice must be able to function as a selection mechanism for choosing one Naming Authority Pointer (NAPTR) [[[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.

Naming Requirements

The name of an Enumservice MUST be unique in order to be useful as a selection criteria:

o The Type MUST be unique.

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.

Security Requirements

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

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

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.

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

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.

Publication Requirements

Enumservices Specifications MUST be published according to the requirements for "Specification Required" set out in "Guidelines for Writing an IANA Considerations Section in RFCs" [[[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.

Enumservice Creation Cookbook

General Enumservice Considerations

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.

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 protected]> 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.

Classification, Type and Subtype

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 Classification of each Enumservice MUST be listed in the Registration Document (see 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.

General Type/Subtype Considerations

To avoid confusion, the name of a URI Scheme MUST NOT be used as a Type string for an Enumservice that is not specifically about the respective protocol or URI Scheme. For example, the Type string "imap" would be inadequate for use in an Enumservice about "Internet mapping" services, because it corresponds to an existing URI Scheme / protocol for something different.

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 an 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 that just one is currently defined, as noted in 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.

Protocol-Based Enumservices Class

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.

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.

Examples of such Enumservices include "xmpp" [[[RFC4979]]] and "sip" [[[RFC3764]]].

Protocol-Based Enumservice "Type" Strings

A protocol-based Enumservice SHOULD use the lowercase name of the protocol as its Type string. Names as registered in the IANA Port Number Registry (<http://www.iana.org/assignments/port-numbers>, defined in Section 8 and 9 of [[[RFC2780]]]) are preferred.

Protocol-Based Enumservice "Subtype" Strings

Where there is a single URI Scheme associated with this protocol, a Subtype SHOULD NOT be specified for the Enumservice.

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.

If Subtypes are defined, it is RECOMMENDED to use the URI Scheme name as the Subtype string.

Application-Based Enumservice Classes

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

o Common Application Enumservice:

  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 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).
Application-Based Enumservice "Type" Strings

It is recommended that Application-class Enumservices use the lowercase well-known name of the abstract application as the Type string.

Application-Based Enumservice "Subtype" Strings

It is RECOMMENDED that the URI Scheme(s) used by the application be used as the Subtype string(s). Subtype strings MAY be shared between URI Schemes, if all the URI Schemes within the same Subtype are mandatory to implement.

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.

Data Type-Based Enumservice Class

"Data Type" Enumservices typically refer to a specific data type or format, which may be addressed using one or more URI Schemes and protocols. Examples of such Enumservices include "vpim" [[[RFC4238]]] and "vcard" [[[RFC4969]]].

Data Type-Based Enumservice "Type" Strings

It is recommended to use the lowercase well known name of the data type or format name as the Type string.

Data Type-Based Enumservice "Subtype" Strings

It is RECOMMENDED to use the URI Schemes used to access the service as Subtype strings. Subtype strings MAY be shared between URI Schemes, if all the URI Schemes within the same Subtype are mandatory to implement.

If there is only one URI Scheme foreseen to access the data type or format, the empty Subtype string MAY be used.

Other Enumservice

In case an Enumservice proposal cannot be assigned to any of the classes mentioned above, the <class> element (Enumservice Class) in the IANA Registration Template (see 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.

Required Sections and Information

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

The following terms SHOULD begin with a capital letter, whenever they refer to the IANA Registration: o Class o Type o Subtype o URI Scheme

Introduction (REQUIRED)

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

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.

IANA Registration (REQUIRED)

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 sections list the elements that are to be used in the XML-chunk-based Registration Template of an "IANA Registration" section.

Enumservice Class (<class>)

This element contains the Class of the Enumservice as defined in 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>

Enumservice Type (<type>)

The Type of the Enumservice. All Types SHOULD be listed in lower- case. The choice of Type depends on the Enumservice Class. Please find further instructions in Section 4.

Type Example

  <type>foo</type>

Enumservice Subtype (<subtype>)

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 utilize a Subtype, then the <subtype> element MUST be omitted in the IANA Registration Template. If a given Enumservice Type has multiple Subtypes, then there MUST be a separate IANA Registration Template for each Subtype. Please find further instructions in Section 4.

Subtype Example

  <subtype>bar</subtype>

URI Scheme(s) (<urischeme>)

The URI Schemes [[[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]]].

Functional Specification (<functionalspec>)

The Functional Specification describes how the Enumservice is used in connection with the URI to which it resolves.

Functional Specification Example

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

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.

Security Considerations (<security>)

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

Security Considerations Example

      <security>
        See <xref type="rfc" data="rfc4979"/>, Section 6.
      </security>

Intended Usage (<usage>)

One of the following values (without quotes):

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

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

o "DEPRECATED": Indicates that the Enumservice has been declared

  deprecated (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>

Enumservice Specification (<registrationdocs>)

Reference(s) to the Document(s) containing the Enumservice Specification.

Enumservice Specification Examples

  <registrationdocs>
    <xref type="rfc" data="rfc4979"/>
  </registrationdocs>

or

  <registrationdocs>
    <xref type="rfc" data="rfc2026"/> (obsoleted by 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>

Requesters (<requesters>)

The persons requesting the registration of the Enumservice. Usually these are the authors of the Enumservice Specification.

Requesters Example

  <requesters>
    <xref type="person" data="John_Doe"/>
  </requesters>
  [...]
  <people>
    <person id="John_Doe">
      <name>John Doe</name>
      <org>ACME Research and Development Inc.</org>
      <uri>mailto:[email protected]</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.

5.2.10. Further Information (<additionalinfo>)

Any other information the authors deem interesting, including artwork.

Further Information Example

  <additionalinfo>
    <paragraph>more info goes here</paragraph>
  </additionalinfo>

Note: If there is no such additional information, then the <additionalinfo> element is omitted.

Examples (REQUIRED)

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 [[[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 9.7.8.0.6.9.2.3.6.1.4.4.e164.arpa. @ IN NAPTR 100 10 "u" "E2U+foo:bar" "!^.*$!bar://example.com/!" .

Implementation Recommendations / Notes (OPTIONAL)

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.

DNS Considerations (REQUIRED)

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

Such DNS issues include, but are not limited to:

o Assumptions about ownership or administrative control of the

  namespace.

o Requirement or need to use DNS wildcards.

o Incompatibility with DNS wildcards.

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.

Security Considerations (REQUIRED)

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

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

For additional background, please note that [[[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).

IANA Considerations (REQUIRED)

Describe the task IANA needs to fulfill to process the Enumservice Registration Document.

For example: This document requests the IANA registration of the Enumservice with Type "foo" and Subtype "bar" according to the definitions in this document, [[[RFC6117]]], and [[[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.

Other Sections (OPTIONAL)

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.

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.

The Process of Registering New Enumservices

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. This section is a non-normative description of the process. The normative process is described in [[[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

Step 1: Read This Document in Detail

This document, particularly in Sections 3, 4, and 5, describes all of the recommended and required sections, as well as requirements and suggestions for content of an Enumservice Specification.

Step 2: Write and Submit Registration Document

An Internet-Draft (or another specification as appropriate) must be written and made publicly available (submitted). The Registration Document shall follow the guidelines according to Sections 4 and 5 of

this document. The Review Guidelines for experts are defined in Section 7.2.

Step 3: Request Comments From the IETF Community

The authors shall send an email to <[email protected]>, 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.

Note: The ENUM WG mailing list <[email protected]> will be kept open after conclusion of the ENUM WG.

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.

Note: Whatever the outcome is, the experts performing the Expert Review later in the process are not bound to any decision during this phase.

Outcome 1: No Changes Needed

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

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

Outcome 2: Changes, But No Further Comments Requested

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.

This outcome is recommended when minor objections have been raised, or minor changes have been suggested.

Outcome 3: Changes and Further Comments Requested

The authors update and submit the Registration Document, and proceed to Step 3 above, which involves sending another email to <[email protected]> to request additional comments for the updated version.

This outcome is recommended when substantial objections have been raised, or substantial changes have been suggested.

Step 4: Submit Registration Document to IANA

The authors submit the Registration Document to IANA (using the <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

Step 5: Expert Review

IANA will take care of the "Expert Review" according to [[[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.

Outcome 1: Experts Approve the Registration Document

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

Outcome 2: Changes Required

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.

Outcome 3: Experts Reject the Registration Document

The expert might reject the Registration, which means the Expert Review process is discontinued.

Step 6: Publication of the Registration Document

The authors are responsible for ensuring that the Registration Document is published according to "Specification Required" as defined in [[[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]]].

Step 7: Adding Enumservice to the IANA Registry

In cases where the Registration Document is to be published as an RFC, the RFC publication process ensures that IANA will add the Enumservice to the registry.

In cases where 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 [[[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.

Expert Review

Expert Selection Process

According to 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.

Review Guidelines

Generally, the "Expert Review" process of an Enumservice follows the guidelines documented in 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.

Appeals

Appeals of Expert Review decisions follow the process described in Section 7 of [[[RFC5226]]] and Section 6.5 of [[[RFC2026]]].

Revision of Existing Enumservice Specifications

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 be compliant with the specifications contained herein.

Note: Enumservice Specifications updated only by [[[RFC6118]]] are not compliant with the specifications contained herein!

Extension of Existing Enumservice Specifications

There are cases where it is more sensible to extend an existing Enumservice registration rather than propose 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) [[[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.

10. Security Considerations

10.1. Considerations Regarding This Document

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.

10.2. Enumservice Security Considerations Guideline

Guidelines concerning the Security Considerations section of an Enumservice Specification can be found in Section 5.6.

11. IANA Considerations

11.1. Registry Update

IANA updated the registry "Enumservice Registrations" as defined in (this) 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).

11.2. Registration Template (XML chunk)

       <record>
         <class>  </class>
         <type>  </type>
         <subtype>  </subtype>
         <urischeme>  </urischeme>
         <urischeme>  </urischeme>
         <functionalspec>
           <paragraph>
           </paragraph>
         </functionalspec>
         <security>
         </security>
         <usage>  </usage>
         <registrationdocs>
           <xref type="rfc" data="rfc2551"/>
         </registrationdocs>
         <requesters>
           <xref type="person" data="John_Doe"/>
           <xref type="person" data="Jane_Dale"/>
         </requesters>
         <additionalinfo>
           <paragraph>
           </paragraph>
           <artwork>
             :-)
           </artwork>
         </additionalinfo>
       </record>
      <people>
        <person id="John_Doe">
          <name>  </name>
          <org>  </org>
          <uri>  </uri>
          <updated>  </updated>
        </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.

11.3. Location

Approved Enumservice registrations are published in the IANA registry named "Enumservice Registrations", which is available at the following URI: <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.

11.4. Structure

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

[[[RFC6118]]] updates the existing Enumservices by transforming them into the new XML-chunk-based IANA Registration Template (see also Section 8).

11.5. Expert Review Procedure

Whenever a Registration Document is submitted via the IANA website, IANA will take care of the "Expert Review" process according to "Guidelines for Writing an IANA Considerations Section in RFCs" [[[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).

11.6. Registration Procedure

There is a slight difference in process depending on whether or not the Enumservice Specification will be published as an RFC. The reason for this difference lies in the current RFC publication process that includes IANA interaction shortly before publication of an RFC.

11.6.1. Published as an RFC

As per the RFC publication process, IANA will receive the Enumservice Specification to carry out IANA actions shortly before publication of the RFC. The IANA action will be to register the Enumservice, i.e., add the Enumservice to the IANA "Enumservice Registrations" registry (see also 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.

11.6.2. Published as a Non-RFC

Once the authors have informed IANA about the publication, IANA must ensure that the requirements for "Specification Required" as defined in [[[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.

11.7. Change Control

Change control of any Enumservice registrations is done by "Specification Required", which implies the use of a Designated Expert, according to [[[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.

11.8. Restrictions

As stated in 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.

12. Acknowledgments

The authors would like to thank the following people who have provided feedback or significant contributions to the development of this document: Jari Arkko, Stewart Bryant, Gonzalo Camarillo, Lawrence Conroy, Michelle Cotton, Miguel Garcia, David Harrington, Alfred Hoenes, Ari Keranen, Peter Koch, Edward Lewis, Alexey Melnikov, Jon Peterson, Pekka Savola, and Peter Saint-Andre.

Lawrence Conroy has provided extensive text for the Enumservice Classification section.

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.

13. References

13.1. Normative References

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

13.2. Informative References

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

Appendix A. IANA Registration Template Examples

This section contains non-normative examples of the XML-chunk-based IANA Registration Template:

This is the first example:

       <record>
         <class>Protocol-Based</class>
         <type>email</type>
         <subtype>mailto</subtype>
         <urischeme>mailto</urischeme>
         <functionalspec>
           <paragraph>
             This Enumservice indicates that the resource
             can be addressed by the associated URI 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:[email protected]</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:[email protected]</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 protected]</uri>
           <updated>2008-11-20</updated>
         </person>
         <person id="Donald_Troshynski">
           <name>Donald Troshynski</name>
           <org>Acme Packet</org>
           <uri>mailto:[email protected]</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.

Appendix B. Changes from RFC 3761

This section lists the changes applied to the Enumservice registration process and the IANA registry definition, compared to 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.

Authors' Addresses

Bernie Hoeneisen Ucom Standards Track Solutions GmbH CH-8000 Zuerich Switzerland

Phone: +41 44 500 52 44 EMail: [email protected] (bernhard.hoeneisen AT ucom.ch) URI: http://www.ucom.ch/

Alexander Mayrhofer enum.at GmbH Karlsplatz 1/9 Wien A-1010 Austria

Phone: +43 1 5056416 34 EMail: [email protected] 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: [email protected] URI: http://www.comcast.com/