diff --git a/xep-0369.xml b/xep-0369.xml index 9f3b8251..7748fab4 100644 --- a/xep-0369.xml +++ b/xep-0369.xml @@ -2092,16 +2092,80 @@ A client creates a channel by sending a simple request to the MIX service. A c Messages from a MIX channel will usually go to the participant's server. The only exception to this is where the MIX channel is responding directly to messages from the client. Messages and presence distributed but a MIX channel will always be sent to the participant's server. The participant's server will simply send on the messages from the channel to each of the user's clients which have activated the channel. If there are no clients activated, the message is dropped.
- Messages sent to the participant's sever will always be addressed to the user's bare JID. The participant’s server will modify the recipient to the full JID of each client to which the message is forwarded. The participant's server MUST NOT make any other modifications to each message. + Messages sent to the participant's sever will always be addressed to the user's bare JID. The participant’s server will modify the recipient to the full JID of each client to which the message is forwarded. The participant's server MUST NOT make any other modifications to each message. The following example, repeated from earlier, shows a message distributed by a MIX channel and directed to the participant’s server with the participant's bare JID.
++ The following example shows how the participant's server modifies the inbound message to replace the bare JID in the 'to' with a full JID for each of two active MIX clients. +
+ +- The MIX specification requires that some messages MUST or MAY come from the participant's server, and that the MIX client sends these messages to the local server rather than directly to the MIX channel. - This enables the participant's server to use information from the client to improve the service provided to the client. The client addresses these messages by sending them to the user's own bare JID, indicating the channel with the channel attribute. This is illustrated below. +
+ Messages sent by a MIX channel participant to the MIX channel are always sent from a MIX client directly to the channel. The participant's server relays the message but does not modify the messages. +
++ The MIX specification requires that some IQ messages MUST or MAY come from the participant's server, and not directly from the client. + This indirect operation enables the participant's server to use information from the client to improve the service provided to the client. + The following table shows which IQs are direct from client, indirect through the local server or may be either.
+ +Action | Direct or Indirect |
---|---|
MIX Service Discovery | Direct |
MIX Service Information Discovery | Direct |
MIX Channel Discovery | Either |
Discovering Channel Information | Indirect |
Discovering Channel Nodes | Indirect |
Determining Channel Information from Information Node | Either |
Determining Channel Participants | Either |
Joining a Channel | Indirect |
Preference Setting | Indirect |
Leaving MIX Channel | Indirect |
Nick Setting | Indirect |
Nick Registration | Indirect |
+ The rest of this section describes how indirect discovery is achieved, using channel join as an example. + + The client addresses indirect messages to the user's own bare JID, indicating the channel with the channel attribute. This is illustrated below. + +
This is then modified by the local server and sent to the MIX channel as shown earlier in the core MIX specification. This is shown again in the following example.
+This is then modified by the local server and sent to the MIX channel. This is shown in the following example, repeated from the earlier specification of channel behaviour.
+ The MIX service will send the IQ response to indirect messages to the user's server using the user's bare JID. The user's server will then route the response back to the user's client. +