diff --git a/xep-0100.xml b/xep-0100.xml index 2ab15ed0..723e9411 100644 --- a/xep-0100.xml +++ b/xep-0100.xml @@ -29,10 +29,10 @@ &stpeter; &dizzyd; - 1.1pre2 - 2007-08-15 + 1.1pre3 + 2007-11-19 psa - Clarified that username used for registration is legacy user address; added optional support for specifying roster group name for contact list items sent via roster item exchange. + Clarified that username used for registration is legacy user address; added optional support for specifying roster group name for contact list items sent via roster item exchange, either directly for legacy services that do not support groups or indirectly via a group name modifier and location (prefix or suffix) for legacy services that support groups. 1.0 @@ -163,7 +163,7 @@

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

@@ -171,7 +171,7 @@ ]]> @@ -184,7 +184,7 @@ @@ -218,7 +218,7 @@

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

@@ -230,7 +230,7 @@ @@ -246,7 +246,7 @@

Jabber User sends IQ-set qualified by the 'jabber:iq:register' namespace to Gateway, containing information required to register.

@@ -262,7 +262,7 @@ ]]> @@ -271,7 +271,7 @@

Optionally, Jabber User sends IQ-set qualified by the 'jabber:iq:roster' namespace to its server (see &rfc3921;), containing a roster item for Gateway.

@@ -280,7 +280,7 @@ ]]> ]]> @@ -289,14 +289,14 @@ + to='romeo@montague.lit'/> ]]>
  • Jabber User's client SHOULD approve the subscription request (i.e., by sending a presence stanza of type "subscribed" to Gateway).

    ]]>

    Note: As specified in RFC 3921, Jabber User's server will generate a "roster push" at this point if client did not previously perform a roster set to add Gateway to user's roster (as mentioned above).

    @@ -305,7 +305,7 @@

    Jabber User sends subscription request to Gateway (i.e., by sending a presence stanza of type "subscribe" to Gateway).

    ]]>
  • @@ -314,7 +314,7 @@ + to='romeo@montague.lit'/> ]]>
  • Execute "Log In" use case.

  • @@ -331,7 +331,7 @@ RomeoMyRomeo @@ -358,7 +358,7 @@

    Jabber User sends IQ-get qualified by the 'jabber:iq:register' namespace to Gateway.

    @@ -370,7 +370,7 @@ @@ -384,7 +384,7 @@

    Jabber User sends IQ-set qualified by the 'jabber:iq:register' namespace to Gateway, containing all information (i.e., not just the "delta").

    @@ -399,7 +399,7 @@ ]]> @@ -414,7 +414,7 @@ RomeoMyRomeo @@ -441,7 +441,7 @@

    Jabber User sends IQ-set in 'jabber:iq:register' namespace to Gateway, containing empty <remove/> element.

    @@ -457,7 +457,7 @@ ]]> @@ -466,11 +466,11 @@ + to='romeo@montague.lit'/> + to='romeo@montague.lit'/> ]]>
  • @@ -478,7 +478,7 @@ + to='romeo@montague.lit'/> ]]>
  • Jabber User's client SHOULD delete from the user's roster (1) the gateway itself, and (2) all legacy Contacts associated with the gateway.

  • @@ -499,9 +499,9 @@ ]]>
    - ... ]]> @@ -511,7 +511,7 @@

    Gateway sends presence stanza to Jabber User expressing availability.

    + to='romeo@montague.lit'/> ]]>
  • Optionally, Gateway handles Legacy Service contact list; see the Contact Lists section of this document.

  • @@ -519,7 +519,7 @@

    Gateway forwards current presence information from Legacy Users to Jabber User, if possible mapping availability status (e.g., "away").

    + to='romeo@montague.lit'> away ]]> @@ -528,7 +528,7 @@
  • Gateway forwards all subsequent presence stanzas to Legacy Users (except those of type "probe" and those addressed to the Gateway itself).

    dnd Wooing Juliet @@ -572,7 +572,7 @@ ]]> ]]>
  • @@ -583,7 +583,7 @@ + to='romeo@montague.lit/orchard'/> ]]>
  • Use Case Ends.

  • @@ -597,7 +597,7 @@

    Gateway passes through directed unavailable presence to Legacy User.

    ]]> @@ -615,7 +615,7 @@

    Jabber User sends presence stanza of type "subscribe" to Legacy User.

    ]]>

    Note: As specified in RFC 3921, sending this packet will result in a "roster push" from the Server to all of the Jabber User's available resources.

    @@ -626,14 +626,14 @@ + to='romeo@montague.lit'/> ]]>
  • Gateway sends available presence stanza to Jabber User on behalf of Legacy User.

    + to='romeo@montague.lit/orchard'/> ]]>
  • @@ -641,14 +641,14 @@ + to='romeo@montague.lit'/> ]]>
  • Jabber User sends presence stanza of type "subscribed" to Legacy User.

    ]]>
  • @@ -665,7 +665,7 @@ + to='romeo@montague.lit'/> ]]>
  • Use Case Ends unsuccessfully.

  • @@ -682,7 +682,7 @@

    Jabber User sends IQ-set qualified by the 'jabber:iq:roster' namespace, containing subscription attribute with value of "remove".

    Server sends normal "roster push" to Jabber User (see RFC 3921) and sends presence stanzas of type "unsubscribe", "unsubscribed", and "unavailable" to Legacy User.

    ]]> @@ -722,7 +722,7 @@
  • Jabber User sends message stanza to Legacy User.

    Neither, fair saint, if either thee dislike. @@ -761,14 +761,14 @@ + to='romeo@montague.lit'/> ]]>
  • Jabber User approves subscription request by sending presence stanza of type "subscribed" to Legacy User [A1].

    ]]>
  • @@ -777,7 +777,7 @@

    Jabber User's Client sends presence stanza of type "subscribe" to Legacy User.

    ]]> @@ -786,14 +786,14 @@ + to='romeo@montague.lit'/> ]]>
  • Gateway sends Legacy User's presence information to Jabber User.

    + to='romeo@montague.lit/orchard'/> ]]>
  • Use Case Ends.

  • @@ -807,7 +807,7 @@

    Jabber User sends presence stanza of type "unsubscribed" to Legacy User.

    ]]> @@ -828,15 +828,15 @@ + to='romeo@montague.lit'/> + to='romeo@montague.lit'/> + to='romeo@montague.lit/orchard'/> ]]>
  • Jabber User's server performs defined functionality for handling presence stanzas of type "unsubscribe" and "unsubscribed" (see RFC 3921).

  • @@ -856,7 +856,7 @@

    Gateway transforms message and routes to Jabber User.

    + to='romeo@montague.lit'> Art thou not Romeo, and a Montague? ]]> @@ -960,11 +960,51 @@ -

    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.

    -

    In order to inform the gateway of the user's desired roster group for the contacts to be sent, the user's client MAY include a field of "group" in the data form it sends when registering with the gateway (if the gateway provides a data form in the registration requirements stanza).

    - +

    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.

    + + + + + + ]]> + + +

    There are two scenarios for gateway handling of roster groups: either (1) the legacy service does not support groups or (2) the legacy service supports groups.

    +

    If the legacy service does not support categorization of contact list items into groups (equivalent to XMPP roster groups), then a gateway that handles communications with such a legacy service SHOULD enable the user to specify his or her desired roster group for those items by providing a field of "group" in the data form it provides to the user on registration.

    + + + + Use the enclosed form to register. If your Jabber client does + not support Data Forms, visit http://www.shakespeare.lit/ + + + + Please provide the following information + to register with the AIM gatway. + + + jabber:iq:register + + + + + + + + + + + + ]]> + @@ -978,13 +1018,98 @@ ILoveJuliet - - AIM (Work) + + AIM (Home) - ]]> + ]]>
    +

    When the gateway sends roster items to the user, it SHOULD then include the specified group.

    + + + + AIM (Home) + + + + ]]> +

    However, if the legacy service supports groups, then a gateway that handles communications with such a legacy service SHOULD enable the user to specify his or her desired roster group prefix or suffix for those items by providing fields of both "group" and "groupmodify" in the data form it provides to the user on registration.

    + + + + Use the enclosed form to register. If your Jabber client does + not support Data Forms, visit http://www.shakespeare.lit/ + + + + Please provide the following information + to register with the MSN gateway. + + + jabber:iq:register + + + + + + + + + + + + + + + + ]]> + + + + + jabber:iq:register + + + RomeoMyRomeo + + + ILoveJuliet + + + (MSN Home) + + + suffix + + + + + ]]> +

    When the gateway sends roster items to the user, it SHOULD then include the group name from the legacy service, prepended or appended with the groupmodify value.

    + + + + Servants (MSN Home) + + + + ]]> +

    The following business rules apply:

    @@ -1024,6 +1149,32 @@

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

    + +

    The following fields shall be added to the "jabber:iq:register" FORM_TYPE originally created per XEP-0077.

    + + jabber:iq:register + + + + + + + + ]]> +