Add information on original id to message reflected back to sender

This commit is contained in:
Steve Kille 2016-10-05 13:58:42 +01:00
parent a439fb13e2
commit c37550fff8
1 changed files with 23 additions and 3 deletions

View File

@ -1204,7 +1204,7 @@ the participant is not be subscribed to all nodes associated with the channel (i
<section3 topic='Sending a Message' anchor='usecase-user-message'>
<p>A user sends a message to a MIX channel as a standard groupchat message, in exactly the same way as for &xep0045;. </p>
<p>A client sends a message directly to a MIX channel as a standard groupchat message, in exactly the same way as for &xep0045;. Messages are sent directly to the channel and do not use the MIX Proxy. </p>
<example caption="User Sends Message to Channel"><![CDATA[
<message from='hag66@shakespeare.example/pda'
to='coven@mix.shakespeare.example'
@ -1213,8 +1213,11 @@ the participant is not be subscribed to all nodes associated with the channel (i
<body>Harpier cries: 'tis time, 'tis time.</body>
</message>
]]></example>
<p>The message comes from the channel as a standard groupchat message, compatible with MUC. Messages are sent directly to the channel and do not use the MIX Proxy. Messages reflected back by the channel are addressed to the user's MIX Proxy, coming from the Full Proxy JID of the message sender.</p>
<p>AUTHOR NOTE AND QUESTION: Message id coming back is different in example. This is because the reflected message uses MAM ID, which seems helpful. However, it makes it harder for sender to correlate reflections. Need to be explicit as to compliant behaviour. Input as to whether the ID should change is solicited. A more complex option would be to include both IDs in some way.</p>
<p>The MIX channel then puts a copy of the message into the MAM archive for the channel and sends a copy of the message to each participant in
standard groupchat format. These messages sent by the channel are addressed to the bare JID of each participant and this will be handled by the participant's MIX Proxy. The message from value is the full Proxy JID of the message sender. The id of the message is the ID from the MAM archive.</p>
<example caption="Channel Reflects Message to Participants"><![CDATA[
<message from='coven+12345@mix.shakespeare.example/678'
to='hecate@shakespeare.example'
@ -1223,6 +1226,23 @@ the participant is not be subscribed to all nodes associated with the channel (i
<body>Harpier cries: 'tis time, 'tis time.</body>
</message>
]]></example>
<p>
The messages sent to participants have a different message id to the originally submitted message. This does not impact most recipients, but it does not allow the message originator to correlate the message with the submitted message. To address this the MIX channel MUST include an additional element of the message copy going back to the originator's bare JID that includes the original id. This enables the originator to correlate the received message with the message submitted.
</p>
<example caption="Channel Reflects Message back to Originator"><![CDATA[
<message from='coven+12345@mix.shakespeare.example/678'
to='hag66@shakespeare.example'
id='77E07BB0-55CF-4BD4-890E-3F7C0E686BBD'
type='groupchat'>
<body>Harpier cries: 'tis time, 'tis time.</body>
<submission-id xmlns='urn:xmpp:mix:0'>92vax143g</submission-id>
</message>
]]></example>
</section3>
<section3 topic="Retracting a Message" anchor="usecase-retract">