1
0
mirror of https://github.com/moparisthebest/xeps synced 2024-11-22 01:02:17 -05:00

Add MIX extension to Roster Get

This commit is contained in:
Steve Kille 2017-06-15 13:18:08 +01:00
parent 5d1cd5b69d
commit da21b29348

View File

@ -45,6 +45,7 @@
Add mix element in message to hold MIX additional information; Add mix element in message to hold MIX additional information;
Roster Update Clarifications; Roster Update Clarifications;
Clarify when messages are delivered to clients; Clarify when messages are delivered to clients;
Extend Roster Get to select format;
</p></remark> </p></remark>
</revision> </revision>
<revision> <revision>
@ -2523,13 +2524,23 @@ This approach enables flexible support of multiple clients for a MIX channel pa
</section2> </section2>
<section2 topic="MIX Roster Item Capability Sharing" anchor="mix-roster-capability-sharing"> <section2 topic="MIX Roster Item Capability Sharing" anchor="mix-roster-capability-sharing">
<p>It is useful for a MIX client to know which roster members are MIX channels, as this will facilitate convenient presentation of subscribed MIX channels to the user. A standard roster item is encoded as follows.</p> <p>It is useful for a MIX client to know which roster members are MIX channels, as this will facilitate convenient presentation of subscribed MIX channels to the user. A MIX client MAY request that the server return this additional information. The server MUST return the additional information. The request is made by adding to the standard roster get request and element &lt;mix-info-request/&gt; qualified by the urn:xmpp:mix:0' namespace.</p>
<example caption="Roster Get Requesting MIX Information"><![CDATA[
<iq from='juliet@example.com/balcony'
id='bv1bs71f'
type='get'>
<query xmlns='jabber:iq:roster'/>
<mix-info-request xmlns=urn:xmpp:mix:0'/>
</iq>
]]></example>
<p>A standard roster item is encoded as follows.</p>
<example caption="Standard Roster Item Encoding"><![CDATA[ <example caption="Standard Roster Item Encoding"><![CDATA[
<item jid='romeo@example.net'/> <item jid='romeo@example.net'/>
]]></example> ]]></example>
<p> <p>
MIX channels in the roster have an element 'channel' included in the roster item. MIX channels in the roster information returned in response to a request for this additional MIX information MUST have an element &lt;channel/&gt; qualified by the urn:xmpp:mix:0' namespace included in the roster item, as shown inf the following example.
</p> </p>
<example caption="Roster Item Encoding of a MIX Channel"><![CDATA[ <example caption="Roster Item Encoding of a MIX Channel"><![CDATA[
@ -2538,18 +2549,7 @@ This approach enables flexible support of multiple clients for a MIX channel pa
</item> </item>
]]></example> ]]></example>
<p>
A server following the MIX specification MUST determine whether or not a client supports MIX. If the server does not have this information it MUST use service discovery to determine it before providing roster information.
When sending roster information to a client that advertises MIX capability, the server MUST return all MIX channels and MUST use this encoding. Presence of MIX roster items MUST be set to offline (unavailable).
</p>
<p>
Where a client does not advertise MIX capability, the server MAY choose to not return MIX channels as roster items. If this is done care needs to be taken, in particular around support of roster versioning &xep0237;.
</p>
<p>
When a client adds MIX capability, additional information needs to be provided by the server. To support this, a server MUST maintain information about client MIX support status. When a server detects this change it needs to update the roster which it MAY do incrementally or by sending all of the roster.
</p>
</section2> </section2>
<section2 topic="MAM Archive Support" anchor="proxy-mam"> <section2 topic="MAM Archive Support" anchor="proxy-mam">