diff --git a/xep-0100.xml b/xep-0100.xml index 77b056c8..d55273f5 100644 --- a/xep-0100.xml +++ b/xep-0100.xml @@ -1,13 +1,13 @@ - + %ents; ]> - - + +
Gateway Interaction - This JEP specifies best practices for interactions between Jabber clients and client proxy gateways to legacy IM services. + This document specifies best practices for interactions between Jabber clients and client proxy gateways to legacy IM services. &LEGALNOTICE; 0100 Active @@ -16,15 +16,15 @@ XMPP Core XMPP IM - JEP-0030 - JEP-0077 - JEP-0144 + XEP-0030 + XEP-0077 + XEP-0144 gateway - http://jabber.org/protocol/iq-gateway/iq-gateway.xsd + http://www.xmpp.org/schemas/iq-gateway.xsd &stpeter; &dizzyd; @@ -38,13 +38,13 @@ 0.10 2005-05-12 psa - Modified text regarding address transformations and added reference to JEP-0106; corrected several small errors in the text and examples. + Modified text regarding address transformations and added reference to XEP-0106; corrected several small errors in the text and examples. 0.9 2004-10-27 psa - Added specification of jabber:iq:gateway namespace; added reference to JEP-0144. + Added specification of jabber:iq:gateway namespace; added reference to XEP-0144. 0.8 @@ -96,8 +96,8 @@
-

One distinguishing characteristic of Jabber technologies from their earliest days has been the existence of gateways (also called "transports") between the Jabber network and legacy instant messaging services such as AOL Instant Messenger (AIM), ICQ, MSN Messenger, and Yahoo! Messenger. Surprisingly, the recommended behavior of such gateways, including the protocol elements used by a client to interact with a gateway, has never been fully documented. This JEP attempts to fill that void by codifying best practices for gateway interaction.

-

Note well that this JEP defines protocol usage with regard to client proxy gateways, i.e., gateways that "masquerade" as a client on a non-Jabber IM service. Gateways that perform direct protocol translation without proxying for an account on a non-Jabber service are not addressed in this JEP. Furthermore, this JEP does not define any interaction between a gateway and the non-Jabber service, only interactions between a Jabber client and the gateway. Although what happens on the other side of the gateway is highly dependent on the nature of the legacy service, gateways should at least provide a common interface on the Jabber side of the gateway so that Jabber clients can be written in a consistent fashion.

+

One distinguishing characteristic of Jabber technologies from their earliest days has been the existence of gateways (also called "transports") between the Jabber network and legacy instant messaging services such as AOL Instant Messenger (AIM), ICQ, MSN Messenger, and Yahoo! Messenger. Surprisingly, the recommended behavior of such gateways, including the protocol elements used by a client to interact with a gateway, has never been fully documented. This document attempts to fill that void by codifying best practices for gateway interaction.

+

Note well that this document defines protocol usage with regard to client proxy gateways, i.e., gateways that "masquerade" as a client on a non-Jabber IM service. Gateways that perform direct protocol translation without proxying for an account on a non-Jabber service are not addressed in this document. Furthermore, this document does not define any interaction between a gateway and the non-Jabber service, only interactions between a Jabber client and the gateway. Although what happens on the other side of the gateway is highly dependent on the nature of the legacy service, gateways should at least provide a common interface on the Jabber side of the gateway so that Jabber clients can be written in a consistent fashion.

@@ -107,7 +107,7 @@ - + @@ -128,7 +128,7 @@
GatewayA service on the Jabber network that translates between the Jabber/XMPP protocols and the protocol used by a Legacy Service; in the context of this JEP, by "gateway" we mean a "client proxy service" that acts as a client with regard to a Legacy Service and thereby "masquerades" as a user on such a service.A service on the Jabber network that translates between the Jabber/XMPP protocols and the protocol used by a Legacy Service; in the context of this document, by "gateway" we mean a "client proxy service" that acts as a client with regard to a Legacy Service and thereby "masquerades" as a user on such a service.
Jabber User
-

The requirements defined by this JEP are captured in two sets of use cases: one set from the perspective of the Jabber User, and a smaller set from the perspective of the Legacy User who wants to interact with the Jabber User.

+

The requirements defined by this document are captured in two sets of use cases: one set from the perspective of the Jabber User, and a smaller set from the perspective of the Legacy User who wants to interact with the Jabber User.

The Jabber User use cases are:

  1. Register
  2. @@ -146,7 +146,7 @@
  3. Delete Contact
  4. Send Message
-

While more advanced use cases (e.g., sending files and joining chat rooms) are of inherent interest, they are not covered in this JEP because registration, contact list management, and message exchange define the baseline functionality included in all gateway implementations; future JEPs may address the more advanced use cases.

+

While more advanced use cases (e.g., sending files and joining chat rooms) are of inherent interest, they are not covered in this document because registration, contact list management, and message exchange define the baseline functionality included in all gateway implementations; future specifications may address the more advanced use cases.

@@ -154,7 +154,7 @@
  1. -

    Jabber User sends IQ-get qualified by the &jep0030; information namespace to the Gateway, and/or IQ-get qualified by the &jep0094; namespace to the Gateway's parent (the latter method is deprecated but still in use).

    +

    Jabber User sends IQ-get qualified by the &xep0030; information namespace to the Gateway, and/or IQ-get qualified by the &xep0094; namespace to the Gateway's parent (the latter method is deprecated but still in use).

    Note: Given the foregoing, a client can determine the identity of the gateway, specifically (1) that it is a gateway and (2) to which legacy service it provides a gateway.

  2. -

    Jabber User sends IQ-get qualified by the &jep0077; (jabber:iq:register) namespace to Gateway.

    +

    Jabber User sends IQ-get qualified by the &xep0077; (jabber:iq:register) namespace to Gateway.

    User information not verified:

    1. -

      Gateway returns ¬acceptable; error to Jabber User. (For detailed information regarding error conditions, refer to &jep0086;.)

      +

      Gateway returns ¬acceptable; error to Jabber User. (For detailed information regarding error conditions, refer to &xep0086;.)

      -

      Naturally, the Jabber User may want to exchange messages with a Legacy User. For the purposes of this JEP, we discuss one-to-one messaging only (i.e., groupchat messages, such as those defined in &jep0045;, are out of scope).

      +

      Naturally, the Jabber User may want to exchange messages with a Legacy User. For the purposes of this document, we discuss one-to-one messaging only (i.e., groupchat messages, such as those defined in &xep0045;, are out of scope).

      1. @@ -872,7 +872,7 @@

        Unfortunately, usernames on some Legacy Services may allow characters that are disallowed in Jabber usernames as specified by the Nodeprep profile of stringprep defined in RFC 3920. For example, the usernames for a Legacy Service may be of the form <user@domain>, which would result in an illegal JID such as <user@domain@gateway.example.com>.

        There are two possible ways to solve this problem:

          -
        1. Use &jep0106;.
        2. +
        3. Use &xep0106;.
        4. Use the older 'jabber:iq:gateway' protocol (as documented in the following section).

        Gateways and clients SHOULD implement at least one of these protocols; at a minimum, it is RECOMMENDED for gateways and clients to implement the 'jabber:iq:gateway' protocol.

        @@ -952,7 +952,7 @@ -

        Some legacy services maintain server-side contact lists, which are sent to the gateway when it logs in to the legacy service on behalf of the user. The gateway MAY initiate adding of the legacy contact list items to the user's Jabber roster. Some existing gateways do this by sending a presence stanza of type "subscribed" from the legacy contact's JID (e.g., <LegacyUser@gateway.jabberserver.com>) to the Jabber user; unfortunately, this behavior violates the presence stanza handling rules specified in RFC 3921. Therefore, a gateway SHOULD instead send the legacy contact list items to the Jabber User via the &jep0144; protocol.

        +

        Some legacy services maintain server-side contact lists, which are sent to the gateway when it logs in to the legacy service on behalf of the user. The gateway MAY initiate adding of the legacy contact list items to the user's Jabber roster. Some existing gateways do this by sending a presence stanza of type "subscribed" from the legacy contact's JID (e.g., <LegacyUser@gateway.jabberserver.com>) to the Jabber user; unfortunately, this behavior violates the presence stanza handling rules specified in RFC 3921. Therefore, a gateway SHOULD instead send the legacy contact list items to the Jabber User via the &xep0144; protocol.

        The following business rules apply:

        @@ -963,7 +963,7 @@
      2. A gateway SHOULD map, as best it can, the legacy registration fields onto the fields defined for the 'jabber:iq:register' namespace.

      3. A gateway SHOULD NOT attempt to emulate offline message storage functionality for legacy services that lack such functionality.

      4. -

        Existing gateway implementations do not strictly adhere to the bi-directional nature of Jabber presence notifications, since they do not broadcast presence from the gateway itself to registered users of the gateway, but rather wait for a registered user to send presence to the gateway before sending presence to the user. This sidesteps scalability challenges but may be sub-optimal; while this JEP does not require existing gateways to change their current behavior, it does RECOMMEND that they broadcast presence notifications to registered users in accordance with the standard Jabber presence model. Specifically:

        +

        Existing gateway implementations do not strictly adhere to the bi-directional nature of Jabber presence notifications, since they do not broadcast presence from the gateway itself to registered users of the gateway, but rather wait for a registered user to send presence to the gateway before sending presence to the user. This sidesteps scalability challenges but may be sub-optimal; while this document does not require existing gateways to change their current behavior, it does RECOMMEND that they broadcast presence notifications to registered users in accordance with the standard Jabber presence model. Specifically:

        • On startup, a gateway (1) SHOULD send presence to all registered users of that gateway but (2) MAY wait to receive presence changes from each registered user.

        • On shutdown, a gateway SHOULD send unavailable presence to all registered users of the gateway.

        • @@ -986,9 +986,9 @@

          There is no foreseeable solution to these concerns, since they are instrinsic to the client proxy model. Some assurance regarding the second and third concerns can be achieved if the user runs his or her own Jabber server and gateways. However, the only true solution is to move beyond the client proxy model, either by using Jabber for all IM communications or to convince legacy IM services to allow federated server-to-server communications using open protocols such as Jabber/XMPP, thus obviating the need for client proxy gateways entirely.

          -

          This JEP requires no interaction with &IANA;.

          +

          This document requires no interaction with &IANA;.

          - +

          The ®ISTRAR; includes 'jabber:iq:gateway' in its registry of protocol namespaces.

          @@ -1006,7 +1006,7 @@ The protocol documented by this schema is defined in - JEP-0100: http://www.jabber.org/jeps/jep-0100.html + XEP-0100: http://www.xmpp.org/extensions/xep-0100.html @@ -1025,4 +1025,4 @@ ]]>
          - + diff --git a/xep-0101.xml b/xep-0101.xml index f7c0cec2..5efa2a7f 100644 --- a/xep-0101.xml +++ b/xep-0101.xml @@ -1,19 +1,19 @@ - + %ents; ]> - - + +
          HTTP Authentication using Jabber Tickets - This JEP defines a protocol for authenticating HTTP requests using Jabber Tickets. + This document defines a protocol for authenticating HTTP requests using Jabber Tickets. &LEGALNOTICE; 0101 Deferred Standards Track Standards JIG - RFC 2616, RFC 2617, JEP-0030 + RFC 2616, RFC 2617, XEP-0030 XMPP Core RFC 2616 @@ -47,7 +47,7 @@

          Tickets also mean the jabber ticket provider and the web server do not need to be tightly integrated for authentication to work, also because its not tightly integrated it means webmasters do not need to setup their own jabber server to provide tickets, they can use a third party provider even a central "tickets.jabber.org". Also because tickets are not tightly integrated it makes it far easier for webmasters to integrate with Jabber, it also makes web farms far more scalable and reliable.

          -

          The motivations for this JEP are:

          +

          The motivations for this document are:

          • To provide a method of using a jabber connections authenticated stream to provide a method of authenticating with an HTTP server.
          • To provide this authentication without needing the jabber ticket component and the webserver to be tightly coupled, this is essential in a web farm environment for scalability.
          • @@ -118,7 +118,7 @@ Content-Type: text/html]]>

            The HTTP authentication scheme "JabberTicket" may need to be registered with IANA.

            - +

            The ®ISTRAR; will need to register the new namespace of "http://jabber.org/protocol/ticket".

            - + diff --git a/xep-0102.xml b/xep-0102.xml index 6262e527..398b246b 100644 --- a/xep-0102.xml +++ b/xep-0102.xml @@ -1,10 +1,10 @@ - + %ents; ]> - - + +
            Security Extensions Security extensions for Jabber/XMPP. @@ -1686,4 +1686,4 @@ B1D510BD 7EE74D73 FAF36BC3 1ECFA268 359046F4 EB879F92

            The generator is: 2.

            - + diff --git a/xep-0103.xml b/xep-0103.xml index ec20aa70..f787d01e 100644 --- a/xep-0103.xml +++ b/xep-0103.xml @@ -1,13 +1,13 @@ - + %ents; ]> - - + +
            URL Address Information - This JEP defines a structure for providing information about an Uniform Resource Locator (URL), and a protocol signaling retrieval states. + This document defines a structure for providing information about an Uniform Resource Locator (URL), and a protocol signaling retrieval states. &LEGALNOTICE; 0103 Deferred @@ -15,7 +15,7 @@ Standards JIG XMPP Core - JEP-0095 + XEP-0095 RFC 3986 @@ -54,14 +54,14 @@
            -

            As Jabber becomes more widely utilized, applications of the protocol are veering away from traditional use as an IM product and are utilizing it for more generic data transportation and negotiation. While many advances are being made to facilitate non-IM data transportation, they do not address the use of already-established mechanisms of transporting data via URLs. This JEP provides a method that is compatible with these data transportation mechanisms and that is based on standard Internet Uniform Resource Locators (see &rfc3986;).

            +

            As Jabber becomes more widely utilized, applications of the protocol are veering away from traditional use as an IM product and are utilizing it for more generic data transportation and negotiation. While many advances are being made to facilitate non-IM data transportation, they do not address the use of already-established mechanisms of transporting data via URLs. This document provides a method that is compatible with these data transportation mechanisms and that is based on standard Internet Uniform Resource Locators (see &rfc3986;).

            The requirements this protocol fulfills are:

            • Simple usage that can be easily extended
            • Provide any meta-data necessary for using the URL
            • -
            • Compatibility with &jep0095;
            • +
            • Compatibility with &xep0095;
            @@ -76,7 +76,7 @@ target='http://festhall.outer-planes.net/d20M/announce/latest/'/> ]]> -

            If more information is necessary for successfully using the URL, the sender includes meta-information in a scheme-specific format such as that defined in &jep0104;:

            +

            If more information is necessary for successfully using the URL, the sender includes meta-information in a scheme-specific format such as that defined in &xep0104;:

            @@ -90,7 +90,7 @@ ]]>

            The above example illustrates supplying a HTTP URL with a cookie header. Additional information could be provided, such as HTTP authentication requirements or even POST data.

            -

            To support the use of bulk publishing methods such as &jep0060; or messages of type "headline", the <desc/> element is used to provide a textual description:

            +

            To support the use of bulk publishing methods such as &xep0060; or messages of type "headline", the <desc/> element is used to provide a textual description:

            To use "url-data" in conjunction with SI, the "sid" attribute of <url-data/> is used. This attribute MUST be equal to the SI session id.

            -

            The general process flow for using "url-data" with SI is as followsThe error conditions for SI are fully-documented in that JEP, and are therefore not included here.:

            +

            The general process flow for using "url-data" with SI is as followsThe error conditions for SI are fully-documented in that document, and are therefore not included here.:

            1. The sender makes a SI request, adding "http://jabber.org/protocols/url-data" as one of the "stream-method" features.
            2. The receiver accepts the SI request, and selects "http://jabber.org/protocols/url-data".
            3. @@ -135,7 +135,7 @@
            4. E1: The given URL is not supported/understood
            5. E2: Failure to connect to the given URL
          -

          The sender starts with an SI request, using the semantics from JEP-0095:

          +

          The sender starts with an SI request, using the semantics from XEP-0095:

          -

          This JEP does not yet have any security considerations.

          +

          This document does not yet have any security considerations.

          -

          This JEP requires no interaction with &IANA;.

          +

          This document requires no interaction with &IANA;.

          - -

          The ®ISTRAR; shall register the namespace "http://jabber.org/protocol/url-data" as a standard namespace. Also, the Jabber Registrar shall register the &jep0020; option "url-data" for use with Stream Initiation.

          + +

          The ®ISTRAR; shall register the namespace "http://jabber.org/protocol/url-data" as a standard namespace. Also, the XMPP Registrar shall register the &xep0020; option "url-data" for use with Stream Initiation.

          - + diff --git a/xep-0104.xml b/xep-0104.xml index e9c59adf..c0195639 100644 --- a/xep-0104.xml +++ b/xep-0104.xml @@ -1,13 +1,13 @@ - + %ents; ]> - - + +
          HTTP Scheme for URL Data - This JEP provides a schema description for detailed information about HTTP URLs. + This document provides a schema description for detailed information about HTTP URLs. &LEGALNOTICE; 0104 Deferred @@ -18,7 +18,7 @@ RFC 3986 RFC 2616 RFC 2617 - JEP-0103 + XEP-0103 @@ -33,7 +33,7 @@ 0.3 2004-01-20 lw - Reorganized for JEP Editor preferences; Removed (outdated) references to JEP-0070 + Reorganized for JEP Editor preferences; Removed (outdated) references to XEP-0070 0.2 @@ -49,22 +49,22 @@
          -

          The most common URL scheme distributed over the Internet is HTTP and HTTPS. This JEP defines a structure that extends &jep0103; to enable more advanced access to such URLs within Jabber.

          +

          The most common URL scheme distributed over the Internet is HTTP and HTTPS. This document defines a structure that extends &xep0103; to enable more advanced access to such URLs within Jabber.

          -

          This JEP supplements JEP-0103 to provide more detailed information about HTTP and HTTPS URLs. The requirements this JEP fulfills are:

          +

          This document supplements XEP-0103 to provide more detailed information about HTTP and HTTPS URLs. The requirements this document fulfills are:

          • Provide authentication information.
          • Provide cookie data.
          • Provide necessary headers.

          The intent of this information is to provide an HTTP client with enough information in order to construct the HTTP request and entity headers necessary, as defined in &rfc2616;.

          -

          The use of this JEP in conjunction with JEP-0103 is OPTIONAL. The entity sending the URL is not required to provide any of this information, and receiving entities MAY ignore it.

          +

          The use of this document in conjunction with XEP-0103 is OPTIONAL. The entity sending the URL is not required to provide any of this information, and receiving entities MAY ignore it.

          The two most typical types of information that can be necessary for accessing an HTTP URL are authentication details and cookies. In some cases, custom headers MAY also be necessary for successful use. Authentication information is provided in a scheme-independent format. Cookie data provided includes what would be necessary for a client to properly persist the value.

          -

          At a minimum, this JEP allows for an entity to indicate what authentication scheme is in use:

          +

          At a minimum, this document allows for an entity to indicate what authentication scheme is in use:

          -

          This JEP allows complete authentication information to be passed. This information is only as secure as the connection-path between the provider and acceptor.

          +

          This document allows complete authentication information to be passed. This information is only as secure as the connection-path between the provider and acceptor.

          -

          This JEP requires no interaction with &IANA;.

          +

          This document requires no interaction with &IANA;.

          - +

          The ®ISTRAR; shall register the "http://jabber.org/protocol/url-data/scheme/http" namespace.

          -
          + diff --git a/xep-0105.xml b/xep-0105.xml index cf7642b1..c39d2615 100644 --- a/xep-0105.xml +++ b/xep-0105.xml @@ -1,10 +1,10 @@ - + %ents; ]> - - + +
          Tree Transfer Stream Initiation Profile A profile describing meta-data for transferring trees of files using stream inititation. @@ -13,7 +13,7 @@ Deferred Standards Track Standards JIG - JEP-0095, JEP-0096 + XEP-0095, XEP-0096 None None si-treetransfer @@ -54,14 +54,14 @@

          The tree transfer profile is in the "http://jabber.org/protocol/si/profile/tree-transfer" namespace. The profile is fairly simple: it consists of the root element with child elements that specify a directory structure of files with stream ids that will be used for each file.

          -

          This profile requires support for the File Transfer profile described in &jep0096;. Once you have accepted this SI, a new SI using the File Transfer profile will be offered for each file in the tree. This profile provides a mapping of files with paths and reserved stream ids which will be used to auto-accept a File Transfer SI that uses that same stream id from the sender.

          +

          This profile requires support for the File Transfer profile described in &xep0096;. Once you have accepted this SI, a new SI using the File Transfer profile will be offered for each file in the tree. This profile provides a mapping of files with paths and reserved stream ids which will be used to auto-accept a File Transfer SI that uses that same stream id from the sender.

          The root element is <tree> and has two attributes. The attributes are used only during the offer stage of stream initiation:

          • size - The size, in bytes, of all of the files to be sent.
          • numfiles - The number of files/File Transfer SIs that are in the tree.

          The size and numfiles attributes MUST be present in the profile.

          -

          The only possible child element of the root is <directory/> since there are other JEPs that handle single file transfers. The directory structure is sent in a hierarchical manner with nested <directory/> and/or <file/> tags. One or more <file/> elements will be sent, one for each file. One or more <directory/> elements will be sent, one for each directory.

          +

          The only possible child element of the root is <directory/> since there are other specifications that handle single file transfers. The directory structure is sent in a hierarchical manner with nested <directory/> and/or <file/> tags. One or more <file/> elements will be sent, one for each file. One or more <directory/> elements will be sent, one for each directory.

          The <directory/> element has one attribute:

          • name - The name of the directory to create on the target system.
          • @@ -74,7 +74,7 @@

          Both attributes are REQUIRED on each <file/> element. The total number of <file> elements MUST equal the numfiles attribute sent in the <tree/> element.

          The stream-method that is accepted for a Tree Profile SI MUST be remembered and the subsequent File Transfer SIs MUST NOT provide a Feature Negotiation packet. The stream-method has already been chosen and should be used for all of the streams.

          -

          Implementations of this profile MUST support &jep0095; and JEP-0096.

          +

          Implementations of this profile MUST support &xep0095; and XEP-0096.

          - No interaction with &IANA; is required as a result of this JEP. + No interaction with &IANA; is required as a result of this document.

          - +

          - The profile described in this JEP will be registered with ®ISTRAR; as a valid Stream + The profile described in this document will be registered with ®ISTRAR; as a valid Stream Initiation profile.

          @@ -193,4 +193,4 @@ ]]>
          - + diff --git a/xep-0106.xml b/xep-0106.xml index bc574a75..9a0dc1e2 100644 --- a/xep-0106.xml +++ b/xep-0106.xml @@ -1,13 +1,13 @@ - + %ents; ]> - - + +
          JID Escaping - This JEP specifies a mechanism that enables the display of Jabber Identifiers (JIDs) with characters disallowed by the Nodeprep profile of stringprep. + This document specifies a mechanism that enables the display of Jabber Identifiers (JIDs) with characters disallowed by the Nodeprep profile of stringprep. &LEGALNOTICE; 0106 Draft @@ -15,7 +15,7 @@ Standards JIG XMPP Core - JEP-0030 + XEP-0030 None None @@ -90,7 +90,7 @@ -

          This JEP addresses the following requirements:

          +

          This document addresses the following requirements:

          1. The escaping mechanism shall apply to the node identitier portion of a JID only, and MUST NOT be applied to domain identifiers or resource identifiers.
          2. Escaped JIDs MUST conform to the definition of a Jabber ID as specified in RFC 3920, including the Nodeprep profile of stringprep. In particular this means that even after passing through Nodeprep, the JID MUST be valid, with the result that Unicode look-alikes like U+02BC (Modifier Letter Apostrophe) MUST NOT be used.
          3. @@ -102,7 +102,7 @@ -

            If an entity needs to discover whether another entity supports JID escaping, it MUST send a disco#info request to the other entity as specified in &jep0030;.

            +

            If an entity needs to discover whether another entity supports JID escaping, it MUST send a disco#info request to the other entity as specified in &xep0030;.

            -

            This JEP specifies encoding each disallowed character as \hexhex -- where "hexhex" is the hexadecimal value of the Unicode code point in question, ignoring the leading "00" in the code point (e.g., 27 for the ' character, resulting in an encoding of \27). (Note: This escaping method is quite similar to that used for disallowed characters in LDAP distinguished names, as specified in &rfc2253;.) Full encoding and decoding transformations for all nine disallowed characters are provided in the following sections. In addition, encoding and decoding transformations are shown for the \ character in case it needs to be "double-escaped" when it occurs in a non-XMPP address as part of a string that corresponds to one of the other encoded characters.

            +

            This document specifies encoding each disallowed character as \hexhex -- where "hexhex" is the hexadecimal value of the Unicode code point in question, ignoring the leading "00" in the code point (e.g., 27 for the ' character, resulting in an encoding of \27). (Note: This escaping method is quite similar to that used for disallowed characters in LDAP distinguished names, as specified in &rfc2253;.) Full encoding and decoding transformations for all nine disallowed characters are provided in the following sections. In addition, encoding and decoding transformations are shown for the \ character in case it needs to be "double-escaped" when it occurs in a non-XMPP address as part of a string that corresponds to one of the other encoded characters.

            Note: All transformations are exactly as specified below. CASE IS SIGNIFICANT. Lowercase was selected since Nodeprep will case fold to lowercase for US-ASCII characters such as A, C, E, and F.

            @@ -211,7 +211,7 @@

            When a client attempts to communicate with another entity through a gateway, it needs to know which encoding mechanism to use. A client MUST assume that the gateway does not support the JID escaping mechanism unless it explicitly discovers support for the jid\20escaping [sic] feature via Service Discovery as shown above. If there any errors in the service discovery exchange or if support for JID escaping is not discovered, the client SHOULD proceed as follows:

              -
            1. If the gateway supports the 'jabber:iq:gateway' protocol (as specified in &jep0100;), use that protocol.
            2. +
            3. If the gateway supports the 'jabber:iq:gateway' protocol (as specified in &xep0100;), use that protocol.
            4. If the gateway does not support the 'jabber:iq:gateway' protocol, use customary escaping mechanisms (such as transformation of the @ character to the % character).
            @@ -332,7 +332,7 @@ here\27s_a_wild_\26_\2fcr%zy\2f_address_for\3a\3cwv\3e(\22IMPS\22)@example.com here's_a_wild_&_/cr%zy/_address_for:("IMPS")@example.com ]]>

            Unlike the foregoing address types, IMPS addresses are allowed to contain backslashes. This implies that it is possible for an IMPS address to contain a string that corresponds to one of the encoded character representations for code points that are disallowed in XMPP node identifiers. An example would be the IMPS address <wv:\3and\2is\5@example.com>, where the string "\3a" could be interpreted as the : character if that IMPS address is directly converted into a JID. Therefore, the leading \ character MUST be transformed to "\5c" in order to avoid possible ambiguity. Thus the transformed JID would be <\5c3and\2is\5@example.com>, which would be presented to a user as <\3and\2is\5@example.com>.

            -

            If an IMPS address contains a private resource, a gateway between XMPP and IMPS should process the resource and append it to the end of the JID; however, such gateway behavior is out of scope for this JEP.

            +

            If an IMPS address contains a private resource, a gateway between XMPP and IMPS should process the resource and append it to the end of the JID; however, such gateway behavior is out of scope for this document.

            The foregoing example showed how to transform a wv: URI into a JID. However, it also may be necessary to convert a JID into a wv: URI, as shown in the following example.

            ("IMPS")@example.com @@ -361,7 +361,7 @@ CN=D\27Artagnan\20Saint-Andr\E9,O=Example\20\26\20Company,\20Inc.,DC=example,DC= CN=D'Artagnan Saint-André,O=Example & Company, Inc.,DC=example,DC=com@st.example.com -

            Naturally, a more intelligent gateway could use the Domain Components to construct a more readable JID, such as <D\27Artagnan\20Saint-André@example.com>; however, such gateway behavior is out of scope for this JEP.

            +

            Naturally, a more intelligent gateway could use the Domain Components to construct a more readable JID, such as <D\27Artagnan\20Saint-André@example.com>; however, such gateway behavior is out of scope for this document.

            The foregoing example showed how to transform an LDAP distinguished name into a JID. However, it also may be necessary to convert a JID into an LDAP distinguished name, as shown in the following example.

            -

            This JEP requires no interaction with &IANA;.

            +

            This document requires no interaction with &IANA;.

            - +

            The ®ISTRAR; includes the jid\20escaping [sic] feature in its registry of service discovery features.

            - + diff --git a/xep-0107.xml b/xep-0107.xml index 6d99e330..d3adfd5a 100644 --- a/xep-0107.xml +++ b/xep-0107.xml @@ -1,10 +1,10 @@ - + %ents; ]> - - + +
            User Mood This JEP defines a protocol for communicating information about user moods. @@ -15,13 +15,13 @@ Standards JIG XMPP Core - JEP-0060 + XEP-0060 mood - http://jabber.org/protocol/mood/mood.xsd + http://www.xmpp.org/schemas/mood.xsd &stpeter; &ralphm; @@ -41,7 +41,7 @@ 0.5 2004-04-25 psa - Corrected several errors; added reference to JEP-0033. + Corrected several errors; added reference to XEP-0033. 0.4 @@ -91,7 +91,7 @@ ]]> -

            The <mood/> element SHOULD be communicated by means of &jep0060; but MAY be provided in a message as well. Because mood information is not pure presence information and can change independently of the user's availability, it SHOULD NOT be provided as an extension to &PRESENCE;.

            +

            The <mood/> element SHOULD be communicated by means of &xep0060; but MAY be provided in a message as well. Because mood information is not pure presence information and can change independently of the user's availability, it SHOULD NOT be provided as an extension to &PRESENCE;.

            If the user wishes to publish his mood to all of those who are subscribed to his mood information, the user SHOULD use publish-subscribe.

            -

            As mentioned in JEP-0060, the stanza containing the event notification or payload MAY also include 'replyto' data (as specified by the &jep0033; protocol) to provide an explicit association between the published data and the user:

            +

            As mentioned in XEP-0060, the stanza containing the event notification or payload MAY also include 'replyto' data (as specified by the &xep0033; protocol) to provide an explicit association between the published data and the user:

            ]]> -

            The <mood/> element could even contain a URL reference structured according to the &jep0066; protocol:

            +

            The <mood/> element could even contain a URL reference structured according to the &xep0066; protocol:

            Yay, the mood JEP has been published! - http://www.jabber.org/jeps/jep-0107.html + http://www.xmpp.org/extensions/xep-0107.html @@ -273,7 +273,7 @@

            This JEP requires no interaction with &IANA;.

            - +

            The ®ISTRAR; includes 'http://jabber.org/protocol/mood' in its registry of protocol namespaces.

            @@ -368,4 +368,4 @@ ]]>
            - + diff --git a/xep-0108.xml b/xep-0108.xml index 67945d67..800096b7 100644 --- a/xep-0108.xml +++ b/xep-0108.xml @@ -1,13 +1,13 @@ - + %ents; ]> - - + +
            User Activity - This JEP defines a protocol for communicating information about user activities. + This document defines an XMPP protocol extension for communicating information about user activities. &LEGALNOTICE; 0108 Draft @@ -15,13 +15,13 @@ Standards JIG XMPP Core - JEP-0060 + XEP-0060 activity - http://jabber.org/protocol/activity/activity.xsd + http://www.xmpp.org/schemas/activity/activity.xsd &ralphm; &stpeter; @@ -41,7 +41,7 @@ 0.3 2004-04-25 psa - Corrected several errors; added reference to JEP-0033. + Corrected several errors; added reference to XEP-0033. 0.2 @@ -57,7 +57,7 @@
            -

            This JEP defines an extension mechanism for capturing "extended presence" data about user activities, above and beyond availability as defined in &xmppim; (e.g., the 'away', 'extended away', and 'dnd' values of the <show/> child of the <presence/> stanza).

            +

            This document defines an extension mechanism for capturing "extended presence" data about user activities, above and beyond availability as defined in &xmppim; (e.g., the 'away', 'extended away', and 'dnd' values of the <show/> child of the <presence/> stanza).

            @@ -91,7 +91,7 @@

            In accordance with &xmppcore;, the receiving application MUST ignore a specific activity element or detailed activity element if it does not understand the namespace that qualifies the element.

            -

            The <activity/> element SHOULD be communicated by means of &jep0060;. Because activity information is not pure presence information and can change independently of the user's availability, it SHOULD NOT be provided as an extension to &PRESENCE;.

            +

            The <activity/> element SHOULD be communicated by means of &xep0060;. Because activity information is not pure presence information and can change independently of the user's availability, it SHOULD NOT be provided as an extension to &PRESENCE;.

            -

            As mentioned in JEP-0060, the stanza containing the event notification or payload MAY also include 'replyto' data (as specified by the &jep0033; protocol) to provide an explicit association between the published data and the user:

            +

            As mentioned in XEP-0060, the stanza containing the event notification or payload MAY also include 'replyto' data (as specified by the &xep0033; protocol) to provide an explicit association between the published data and the user:

            Because user activities may be published to a large number of pubsub subscribers, users should take care in approving subscribers and in characterizing their current activities.

            -

            This JEP requires no interaction with &IANA;.

            +

            This document requires no interaction with &IANA;.

            - +

            The ®ISTRAR; includes 'http://jabber.org/protocol/activity' in its registry of protocol namespaces.

            @@ -480,4 +480,4 @@ ]]>
            -
            + diff --git a/xep-0109.xml b/xep-0109.xml index f9076312..f100c4da 100644 --- a/xep-0109.xml +++ b/xep-0109.xml @@ -1,10 +1,10 @@ - + %ents; ]> - - + +
            Vacation Messages A protocol for setting up vacation messages in Jabber. @@ -13,7 +13,7 @@ Deferred Informational Standards JIG - JEP-0030, JEP-0082 + XEP-0030, XEP-0082 None None vacation @@ -60,7 +60,7 @@ -

            Before attempting to set or retrieve its current vacation settings, a user SHOULD first verify that their server supports vacation messages. To do this, the user makes a &jep0030; "#info" query to their server. If supported, the server includes a feature of "http://www.jabber.org/protocol/vacation" in the result.

            +

            Before attempting to set or retrieve its current vacation settings, a user SHOULD first verify that their server supports vacation messages. To do this, the user makes a &xep0030; "#info" query to their server. If supported, the server includes a feature of "http://www.jabber.org/protocol/vacation" in the result.

            @@ -102,7 +102,7 @@ ]]> -

            <start/> and <end/> define the times between which this vacation message is valid. These are in the format specified by &jep0082;.

            +

            <start/> and <end/> define the times between which this vacation message is valid. These are in the format specified by &xep0082;.

            <message/> contains the text of the message that will be sent to a remote user that sends the user a message while they have active vacation settings.

            If the user has no stored vacation settings, the user will receive a result like the following:

            @@ -166,10 +166,10 @@

            None yet defined.

            -

            This JEP requires no interaction with &IANA;.

            +

            This document requires no interaction with &IANA;.

            - -

            The 'http://jabber.org/protocol/vacation' namespace shall be registered with the ®ISTRAR; as a result of this JEP.

            + +

            The 'http://jabber.org/protocol/vacation' namespace shall be registered with the ®ISTRAR; as a result of this document.

            @@ -200,4 +200,4 @@ ]]> - +