From c39dc20e9615b8a42bd7402d5098e2ed249d49cf Mon Sep 17 00:00:00 2001 From: Steve Kille Date: Mon, 21 May 2018 10:38:59 +0100 Subject: [PATCH] Editorial --- xep-0408.xml | 79 ++++++++++++++++++++++++++++++++-------------------- 1 file changed, 49 insertions(+), 30 deletions(-) diff --git a/xep-0408.xml b/xep-0408.xml index d8a71490..e6088b02 100644 --- a/xep-0408.xml +++ b/xep-0408.xml @@ -7,10 +7,10 @@
- Mediated Information eXchange (MIX): C0-existence with MUC + Mediated Information eXchange (MIX): Co-existence with MUC This document defines an extension to Mediated Information eXchange (MIX) specified in XEP-0369. It specifies how MIX and MUC can be operated together. &LEGALNOTICE; - 0404 + 0408 Experimental Standards Track Standards @@ -37,7 +37,7 @@ &skille; 0.1.0 - 2018-05-14 + 2018-05-21 sek

Split out from MIX 0.10.0; @@ -46,31 +46,36 @@

-

The Mediated Information eXchange (MIX) protocol framework and core capbilities are specified in &xep0369; (MIX-CORE). - +

The Mediated Information eXchange (MIX) protocol framework and core capabilities are specified in &xep0369; (MIX-CORE). + MIX can be used independently of &xep0045; (MUC).

- +

+ It may be desirable to operate a service that provides MIX and MUC together. This specification specifies three options for achieving this. +

- -

- -

- MIX is specified as a service that can be used independent of MUC and a MIX service MAY be implemented without MUC. If both MIX and MUC are implemented, three approaches are noted. + If both MIX and MUC are implemented, three approaches are noted.

  1. Entirely separate MIX and MUC implementation, with MIX and MUC using separate domains and MIX channels being completely separate from MUC rooms.
  2. Fully integrated MIX and MUC implementation, with MIX and MUC sharing a single domain and rooms/channels equivalent.
  3. -
  4. Partially integrated MIX and MUC implementation, with MIX and MUC using separate domains, but rooms/channel are common. This means that each MIX channel will have MUC room of the same name and same participants.
  5. +
  6. Partially integrated MIX and MUC implementation, with MIX and MUC using separate domains, but all rooms/channel are common. This means that each MIX channel will have MUC room of the same name and same participants.
-

The fully integrated approach would be transparent to clients. The following example shows how a MIX service that also supported MUC would respond:

- The fully integrated approach would be transparent to clients. The following example shows how a service that supports MIX and MUC in a fully integrated manner would respond following the specification of MIX-CORE:

+ + + + - + - - - urn:xmpp:mix:1#serviceinfo - - + ]]> -

In the fully integrated service item discovery on the MIX/MUC service determines a list of channels. The protocol used for this is the same in MUC and MIX. Discovery actions on a channel in MIX MUST use 'node=mix' attribute in the discovery which will lead to the return of MIX channel specific information, as mandated for this discovery in MIX. If is not set, MUC room specific information is returned. +

In the fully integrated service item discovery on the MIX/MUC service determines a list of channels. The protocol used for this is the same in MUC and MIX. Discovery actions on a channel in MIX MUST use 'node=mix' attribute in the discovery which will lead to the return of MIX channel specific information, as mandated for this discovery in MIX-CORE. If is not set, MUC room specific information is returned.

-

For the partially integrated service, it will be useful for clients that support both MIX and MUC to be able to determine that the server supports both protocols. For a MIX client, it will be useful to know the MUC service, so that this information can be shared with a MUC client invitation. This information is provided by the initial service discovery:

- For the partially integrated service, MIX servers will reference the associated MUC server and MUC servers will reference the associated MIX service. This will allow a client that only support MUC or only supports MIX to find the right server if it is given a reference to the other one. For a client that supports both MUC and MIX, it will enable the client to select its preferred service. + For a MIX client, it will also be useful to know the MUC service, so that this information can be shared with a MUC client invitation. + The following example shows how a MIX server identifies the associated MUC server: + +

+ + + + - urn:xmpp:mix:1#serviceinfo + urn:xmpp:mix:muc:0#muc-mirror ]]> -

The result is returned in an extended disco results in a form whose type value is 'urn:xmpp:mix:1#serviceinfo'. The field with var='muc-mirror' is the value of which is the mirrored MUC domain's JID.

-

Where a client supporting both MIX and MUC is given a reference to a MUC room, it is desirable that the client can determine the MIX channel and join using MIX. This is achieved by an equivalent extension to MUC service discover.

- The result is returned in an extended disco results in a form whose type value is 'urn:xmpp:mix:muc:0#muc-mirror'. The field with var='muc-mirror' is the value of which is the mirrored MUC domain's JID.

+

Similarly, a MUC service can advertise an associated MIX doming. The following example shows discovery of a MUC domain.

+ + + + - urn:xmpp:mix:1#serviceinfo + urn:xmpp:mix:muc:0#mix-mirror ]]> -

The result is returned in an extended disco results in a form whose type value is 'urn:xmpp:mix:1#serviceinfo'. The field with var='mix-mirror' is the value of which is the mirrored MIX domain's JID.

+

The result is returned in an extended disco results in a form whose type value is 'urn:xmpp:mix:muc:0#mux-mirror'. The field with var='mix-mirror' is the value of which is the mirrored MIX domain's JID.

Where a client supports MUC and MIX and has determined that for a channel that the server also supports a MUC room, the client has a choice as to which type of invite to send. This SHOULD be done by determining if the client support MIX using the mechanism specified in - Discovering Client MIX Capability. If the client supports MIX a MIX invite SHOULD be sent. + MIX-CORE. If the client supports MIX a MIX invite SHOULD be sent.