reversion

git-svn-id: file:///home/ksmith/gitmigration/svn/xmpp/trunk@1462 4b5297f7-1745-476d-ba37-a9c6900126ab
This commit is contained in:
Peter Saint-Andre 2007-12-07 02:44:02 +00:00
parent 2258275fef
commit 15242bc938
1 changed files with 1 additions and 156 deletions

View File

@ -28,12 +28,6 @@
</schemaloc> </schemaloc>
&stpeter; &stpeter;
&dizzyd; &dizzyd;
<revision>
<version>1.1pre3</version>
<date>2007-11-19</date>
<initials>psa</initials>
<remark>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.</remark>
</revision>
<revision> <revision>
<version>1.0</version> <version>1.0</version>
<date>2005-10-05</date> <date>2005-10-05</date>
@ -960,156 +954,7 @@
</section2> </section2>
</section1> </section1>
<section1 topic='Contact Lists' anchor='rosters'> <section1 topic='Contact Lists' anchor='rosters'>
<section2 topic='Adding Items by the Gateway' anchor='rosters-add'> <p>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., &lt;LegacyUser@gateway.jabberserver.com&gt;) to the Jabber user; unfortunately, this behavior violates the presence stanza handling rules specified in <cite>RFC 3921</cite>. Therefore, a gateway SHOULD instead send the legacy contact list items to the Jabber User via the &xep0144; protocol.</p>
<p>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., &lt;LegacyUser@gateway.jabberserver.com&gt;) to the Jabber user; unfortunately, this behavior violates the presence stanza handling rules specified in <cite>RFC 3921</cite>. Therefore, a gateway SHOULD instead send the legacy contact list items to the Jabber User via the &xep0144; protocol.</p>
<example caption='Suggesting Addition of a Roster Item'><![CDATA[
<message from='aim.shakespeare.lit' to='romeo@montague.lit'>
<x xmlns='http://jabber.org/protocol/rosterx'>
<item action='add' jid='CapuletNurse@aim.shakespeare.lit'/>
</x>
</message>
]]></example>
</section2>
<section2 topic='Group Names' anchor='rosters-groups'>
<p>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.</p>
<p>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.</p>
<example caption="Gateway Provides Registration Form With Group Name Field"><![CDATA[
<iq from='aim.shakespeare.lit'
id='reg1'
to='romeo@montague.lit/orchard'
type='result'>
<query xmlns='jabber:iq:register'>
<instructions>
Use the enclosed form to register. If your Jabber client does
not support Data Forms, visit http://www.shakespeare.lit/
</instructions>
<x xmlns='jabber:x:data' type='form'>
<instructions>
Please provide the following information
to register with the AIM gatway.
</instructions>
<field type='hidden' var='FORM_TYPE'>
<value>jabber:iq:register</value>
</field>
<field type='text-single' label='AIM User Name' var='username'>
<required/>
</field>
<field type='text-private' label='Password' var='password'>
<required/>
</field>
<field type='text-single' label='Roster Group Name' var='groupname'/>
</x>
</query>
</iq>
]]></example>
<example caption="User Provides Registration Information With Group Name Field"><![CDATA[
<iq type='set'
from='romeo@montague.lit/orchard'
to='aim.shakespeare.lit'
id='reg2'>
<query xmlns='jabber:iq:register'>
<x xmlns='jabber:x:data' type='submit'>
<field var='FORM_TYPE'>
<value>jabber:iq:register</value>
</field>
<field var='username'>
<value>RomeoMyRomeo</value>
</field>
<field var='password'>
<value>ILoveJuliet</value>
</field>
<field var='groupname'>
<value>AIM (Home)</value>
</field>
</x>
</query>
</iq>
]]></example>
<p>When the gateway sends roster items to the user, it SHOULD then include the specified group.</p>
<example caption='Suggesting Addition of a Roster Item'><![CDATA[
<message from='aim.shakespeare.lit' to='romeo@montague.lit'>
<x xmlns='http://jabber.org/protocol/rosterx'>
<item action='add' jid='CapuletNurse@aim.shakespeare.lit'>
<group>AIM (Home)</group>
</item>
</x>
</message>
]]></example>
<p>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.</p>
<example caption="Gateway Provides Registration Form With Group Name and Group Modify Fields"><![CDATA[
<iq from='msn.shakespeare.lit'
id='reg3'
to='romeo@montague.lit/orchard'
type='result'>
<query xmlns='jabber:iq:register'>
<instructions>
Use the enclosed form to register. If your Jabber client does
not support Data Forms, visit http://www.shakespeare.lit/
</instructions>
<x xmlns='jabber:x:data' type='form'>
<instructions>
Please provide the following information
to register with the MSN gateway.
</instructions>
<field type='hidden' var='FORM_TYPE'>
<value>jabber:iq:register</value>
</field>
<field type='text-single' label='AIM User Name' var='username'>
<required/>
</field>
<field type='text-private' label='Password' var='password'>
<required/>
</field>
<field type='text-single' label='Roster Group Modifier' var='groupmodifier'/>
<field type='list-single' label='Location of Roster Group Modifier' var='groupmodifylocation'>
<option label='Prefix'>
<value>prefix</value>
</option>
<option label='Suffix'>
<value>suffix</value>
</option>
</field>
</x>
</query>
</iq>
]]></example>
<example caption="User Provides Registration Information With Group Name and Group Modify Fields"><![CDATA[
<iq type='set'
from='romeo@montague.lit/orchard'
to='msn.shakespeare.lit'
id='reg2'>
<query xmlns='jabber:iq:register'>
<x xmlns='jabber:x:data' type='submit'>
<field var='FORM_TYPE'>
<value>jabber:iq:register</value>
</field>
<field var='username'>
<value>RomeoMyRomeo</value>
</field>
<field var='password'>
<value>ILoveJuliet</value>
</field>
<field var='groupmodifier'>
<value>(MSN Home)</value>
</field>
<field var='groupmodifylocation'>
<value>suffix</value>
</field>
</x>
</query>
</iq>
]]></example>
<p>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.</p>
<example caption='Suggesting Addition of a Roster Item'><![CDATA[
<message from='msn.shakespeare.lit' to='romeo@montague.lit'>
<x xmlns='http://jabber.org/protocol/rosterx'>
<item action='add' jid='CapuletNurse@msn.shakespeare.lit'>
<group>Servants (MSN Home)</group>
</item>
</x>
</message>
]]></example>
</section2>
</section1> </section1>
<section1 topic='Business Rules' anchor='bizrules'> <section1 topic='Business Rules' anchor='bizrules'>
<p>The following business rules apply:</p> <p>The following business rules apply:</p>