<?xml version='1.0' encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM 'rfc2629.dtd'>

<rfc number="4979" category="std">
    <?rfc toc='yes' ?>
    <?rfc rfcedstyle='yes' ?>
    <?rfc subcompact='no' ?>
    <?rfc symrefs='no' ?>

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

      <date month='August' year='2007' />
      <area>RAI</area>
      <workgroup>ENUM -- Telephone Number Mapping Working Group</workgroup>

<!-- [rfced] Please insert any additional keywords (beyond those that appear in
the title) for use on http://www.rfc-editor.org/rfcsearch.html. -->

      <keyword>ENUM</keyword>
      <keyword>Enumservice</keyword>
      <keyword>XMPP</keyword>
      <keyword>E.164</keyword>
      
      <abstract>
        <t>This document requests IANA registration of an Enumservice for 
	XMPP, the Extensible Messaging and Presence Protocol. This Enumservice
	specifically allows the use of 'xmpp' Uniform Resource Identifiers 
	(URIs) in the context of E.164 Number Mapping (ENUM).
        </t>
      </abstract>
    </front>
    
    <middle>
      <section anchor='intro' title='Introduction'>
        <t><xref target='RFC3761'>E.164 Number Mapping (ENUM)</xref> uses 
	the <xref target='RFC1035'>Domain Name System (DNS)</xref>
        to refer from <xref target='refs.E164'>E.164 numbers</xref>
        to <xref target='RFC3986'>Uniform Resource Identifiers (URIs)</xref>. 
	Specific services to be used with ENUM must be registered with IANA.
	Section 3 of RFC 3761 describes the process of such an Enumservice
	registration.
        </t>
	<t>The <xref target='RFC3920'>Extensible Messaging and Presence 
	Protocol (XMPP)</xref> provides means for streaming <xref target='W3C.REC-xml-20040204'>Extensible Markup 
	Language (XML)</xref> elements between endpoints in close to real time. The XMPP
	framework is mainly used to provide instant messaging, presence, and streaming 
	media services.
	</t>
	<t><xref target='RFC4622'>RFC 4622</xref> registers a
	Uniform Resource Identifier (URI) scheme for identifying an
	XMPP entity as a URI or as an 
	<xref target='RFC3987'>Internationalized Resource 
	Identifier (IRI)</xref>.
	The Enumservice specified in this document 
	allows the provisioning of such "xmpp" URIs (and the URI 
	representations of "xmpp" IRIs) in ENUM.
	</t>
      </section>

      <section anchor='terminology' title='Terminology'>
	<t>
	The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
	"SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and "OPTIONAL" in 
	this document are to be interpreted as described in
	<xref target='RFC2119'>RFC 2119</xref>.
	</t>
      </section>
      <section anchor='reg' title='Enumservice Registration - XMPP'>
        <t>The following template contains information required for
	the IANA registrations of the 'XMPP' Enumservice, according to
        Section 3 of RFC 3761:</t>
        <t>Enumservice Name: "XMPP"</t>
	<t>Enumservice Type: "xmpp"</t>
	<t>Enumservice Subtype: n/a</t>
	<t>URI Schemes: "xmpp"</t>
	<t>Functional Specification:
	<list style='empty'>
	   <t>This Enumservice indicates that the resource identified 
	   is an XMPP entity. 
	   </t>
	</list>
	</t>
	<t>Security Considerations: see <xref target='security'/></t>
<?rfc needLines="4"?>
	<t>Intended Usage: COMMON</t>
	<t>Author: Alexander Mayrhofer 
	&lt;alexander.mayrhofer@enum.at&gt;
	</t>
      </section>
      <section anchor='enumconsiderations' title='XMPP IRI/URI considerations for ENUM'>
        <section anchor='authcomp' title='Authority Component'>
	<t>XMPP IRIs/URIs optionally contain an "Authority Component" (see Section 2.3 of RFC 4622).
  	The presence of such an Authority Component in an IRI/URI signals the processing application
	to authenticate as the user indicated in the URI/IRI rather than using the preconfigured identity.
	</t>
	<t>
	In the context of this Enumservice, arbitrary clients may discover 
	and use the XMPP URIs/IRIs associated to an E.164 number. Hence, 
	in most cases, those clients will not 
	be able to authenticate as requested in the Authority Component. 
	</t>
	<t>Therefore, URIs/IRIs that result from processing an
	XMPP Enumservice record SHOULD NOT contain an Authority Component. 
	</t>
        </section>
        <section anchor='iris' title='IRI-to-URI mapping'>
        <t>While XMPP supports IRIs as well as 'plain' URIs, ENUM itself 
	supports only the use of URIs for Enumservices.
	</t>
	<t>Therefore, XMPP IRIs MUST be mapped to URIs for use in an 
	XMPP Enumservice record. The mapping MUST follow the procedures
	outlined in Section 3.1 of RFC 3987.
	</t>
        </section>
      </section>
      <section anchor='examples' title='Example'>
        <t>An example ENUM entry referencing to a XMPP URI could look like:
	<artwork>
          $ORIGIN 6.9.4.0.6.9.4.5.1.1.4.4.e164.arpa.
          @  IN NAPTR  ( 100 10 "u" 
                         "E2U+xmpp" 
                         "!^.*$!xmpp:some-user@example.com!" .
                       )
        </artwork>
	</t>
      </section>

<vspace blankLines="100"/>
      <section anchor='security' title='Security and Privacy Considerations'>
        <t>General security considerations of the protocols on which
	this Enumservice registration is based   
	are addressed in Sections 3.1.3 and 6 of 
	RFC 3761 (ENUM) and Section 14 of RFC 3920 (XMPP).
	</t>

<?rfc needLines="4"?>
        <t>Since ENUM uses DNS -- a publicly available database -- 
	any information contained in records provisioned in ENUM domains
	must be considered public as well. Even after revoking the DNS entry 
	and removing the referred resource, copies of the information could
	still be available. </t>
	<t>
	Information published in 
	ENUM records could reveal associations between E.164 numbers and 
	their owners -- especially if IRIs/URIs contain personal identifiers 
	or domain names for which ownership information 
	can be obtained easily.</t>
	<t>However, it is important to note that the ENUM record itself
	does not need to contain any personal information. It just points
	to a location where access to personal information could be granted.
	</t>
	<t>ENUM records pointing 
	to third-party resources can easily be provisioned on purpose 
	by the ENUM domain owner -- so any assumption
	about the association between a number and an entity could 
	therefore be completely bogus unless some kind of identity
	verification is in place. This verification is out of scope for
	this memo.</t>
    </section>
    <section anchor='iana' title='IANA Considerations'>
      <t>This memo requests IANA to add a new "XMPP" Enumservice to
      the 'Enumservice Registrations' registry, 
      according to the definitions in this document 
      and <xref target='RFC3761'>RFC 3761</xref>.</t>
      <t>The required template is contained in <xref target='reg'/>.
      </t>
    </section>
    <section anchor='ack' title='Acknowledgements'>
      <t>Some text from RFC 4622 was used in the Introduction 
      of this document. Charles Clancy, Miguel Garcia, 
      Andrew Newton, Jon Peterson, and Peter Saint-Andre provided 
      extensive reviews and valuable feedback.
      </t>
    </section>
  </middle>
  
  <back>

<vspace blankLines="100"/>

    <references title='Normative References'>

      <?rfc include="reference.RFC.3761" ?>
      <?rfc include="reference.RFC.2119" ?>
      <?rfc include="reference.RFC.3986" ?>
      <?rfc include="reference.RFC.3987" ?>
      <?rfc include="reference.RFC.4622" ?>


    </references>

    <references title='Informative References'>

      <?rfc include="reference.RFC.1035" ?>

      <reference anchor='refs.E164'>
        <front>
          <title abbrev='E.164 (02/05)'>The international public telecommunication numbering plan</title>
          <author initials='' surname='' fullname=''>
            <organization abbrev='ITU-T'>ITU-T</organization>
          </author>
          <date month='Feb.' year='2005'/>
        </front>
        <seriesInfo name='Recommendation' value='E.164 (02/05)'/>
      </reference>

      <?rfc include="reference.W3C.REC-xml-20040204" ?>
      <?rfc include="reference.RFC.3920" ?>
    </references>

  </back>
  
</rfc>

