%ents; ]>
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; 0408 Experimental Standards Track Standards Council XMPP Core XMPP IM XEP-0004 XEP-0030 XEP-0054 XEP-0060 XEP-0084 XEP-0128 XEP-0198 XEP-0292 XEP-0297 XEP-0313 XEP-0372 MIX-MUC &ksmithisode; &skille; 0.1.0 2018-05-21 sek

Split out from MIX 0.10.0;

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.

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. 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 service that supports MIX and MUC in a fully integrated manner would respond following the specification of &xep0369;:

]]>

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 &xep0369;. If is not set, MUC room specific information is returned.

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. Note that MUC MUST NOT be advertized as a feature:

urn:xmpp:mix:muc:0#muc-mirror chat.shakespeare.example ]]>

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. Note that MIX MUST NOT be advertized as a feature

urn:xmpp:mix:muc:0#mix-mirror mix.shakespeare.example ]]>

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 &xep0369;. If the client supports MIX a MIX invite SHOULD be sent.

See considerations in &xep0369;.

See considerations in &xep0369;.

When converting a 1:1 conversation to a channel there is potential to expose sensitive information and to present invalid information.

None.

The urn:xmpp:mix namespace needs to be registered.

To be supplied when MIX progresses to proposed standard.

See &xep0369; for a list of contributors to the MIX Family of specifications.