Mix element in message

This commit is contained in:
Steve Kille 2017-06-13 12:18:39 +01:00
parent 30e7f4f9d2
commit b9cd664a77
1 changed files with 35 additions and 15 deletions

View File

@ -42,6 +42,7 @@
<initials>sek</initials>
<remark><p>
Remove Legacy MIX Namespace;
Add mix element in message to hold MIX additional information;
</p></remark>
</revision>
<revision>
@ -1652,8 +1653,15 @@ This approach enables flexible support of multiple clients for a MIX channel pa
<body>Harpier cries: 'tis time, 'tis time.</body>
</message>
]]></example>
<p>
The MIX channel then adds information to the message using a &lt;mix&gt; element. This element contains two elements:
</p>
<ol>
<li>A &lt;nick&gt; element that contains the Nick of the message sender, taken from the Participants Node.</li>
<li>A &lt;jid&gt; element containing the full proxy JID of the sender.</li>
</ol>
<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 local server. The message from value is the JID of the channel. To enable sender identification, the Nick and bare proxy JID of the sender are included in the message as MIX parameters. The id of the message is the ID from the MAM archive and NOT the id used by the sender. The message placed in the MAM archive is the reflected message without a 'to' element.</p>
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 local server. The message from value is the JID of the channel. The id of the message is the ID from the MAM archive and NOT the id used by the sender. The message placed in the MAM archive is the reflected message without a 'to' element.</p>
<example caption="Channel Puts Message in MAM Archive"><![CDATA[
@ -1661,8 +1669,10 @@ This approach enables flexible support of multiple clients for a MIX channel pa
id='77E07BB0-55CF-4BD4-890E-3F7C0E686BBD'
type='groupchat'>
<body>Harpier cries: 'tis time, 'tis time.</body>
<nick xmlns='urn:xmpp:mix:0'>thirdwitch</nick>
<jid xmlns='urn:xmpp:mix:0'>123456#coven@mix.shakespeare.example</jid>
<mix xmlns='urn:xmpp:mix:0'>
<nick>thirdwitch</nick>
<jid>123456#coven@mix.shakespeare.example</jid>
</mix>
</message>
]]></example>
@ -1672,12 +1682,14 @@ This approach enables flexible support of multiple clients for a MIX channel pa
id='77E07BB0-55CF-4BD4-890E-3F7C0E686BBD'
type='groupchat'>
<body>Harpier cries: 'tis time, 'tis time.</body>
<nick xmlns='urn:xmpp:mix:0'>thirdwitch</nick>
<jid xmlns='urn:xmpp:mix:0'>123456#coven@mix.shakespeare.example</jid>
<mix xmlns='urn:xmpp:mix:0'>
<nick>thirdwitch</nick>
<jid>123456#coven@mix.shakespeare.example</jid>
</mix>
</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.
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 &lt;submission-id&gt; element in the &lt;mix&gt; element of the message copy going back to the originator's bare JID. The &lt;submission-id&gt; element holds the original id provided by the sender. 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@mix.shakespeare.example'
@ -1685,9 +1697,11 @@ This approach enables flexible support of multiple clients for a MIX channel pa
id='77E07BB0-55CF-4BD4-890E-3F7C0E686BBD'
type='groupchat'>
<body>Harpier cries: 'tis time, 'tis time.</body>
<nick xmlns='urn:xmpp:mix:0'>thirdwitch</nick>
<jid xmlns='urn:xmpp:mix:0'>123456#coven@mix.shakespeare.example</jid>
<submission-id xmlns='urn:xmpp:mix:0'>92vax143g</submission-id>
<mix xmlns='urn:xmpp:mix:0'>
<nick>thirdwitch</nick>
<jid>123456#coven@mix.shakespeare.example</jid>
<submission-id>92vax143g</submission-id>
</mix>
</message>
]]></example>
</section3>
@ -2399,8 +2413,10 @@ This approach enables flexible support of multiple clients for a MIX channel pa
id='77E07BB0-55CF-4BD4-890E-3F7C0E686BBD'
type='groupchat'>
<body>Harpier cries: 'tis time, 'tis time.</body>
<nick xmlns='urn:xmpp:mix:0'>thirdwitch</nick>
<jid xmlns='urn:xmpp:mix:0'>123456#coven@mix.shakespeare.example</jid>
<mix xmlns='urn:xmpp:mix:0'>
<nick>thirdwitch</nick>
<jid>123456#coven@mix.shakespeare.example</jid>
</mix>
</message>
]]></example>
@ -2414,8 +2430,10 @@ This approach enables flexible support of multiple clients for a MIX channel pa
id='77E07BB0-55CF-4BD4-890E-3F7C0E686BBD'
type='groupchat'>
<body>Harpier cries: 'tis time, 'tis time.</body>
<nick xmlns='urn:xmpp:mix:0'>thirdwitch</nick>
<jid xmlns='urn:xmpp:mix:0'>123456#coven@mix.shakespeare.example</jid>
<mix xmlns='urn:xmpp:mix:0'>
<nick>thirdwitch</nick>
<jid>123456#coven@mix.shakespeare.example</jid>
</mix>
</message>
<message from='coven@mix.shakespeare.example'
@ -2423,8 +2441,10 @@ This approach enables flexible support of multiple clients for a MIX channel pa
id='77E07BB0-55CF-4BD4-890E-3F7C0E686BBD'
type='groupchat'>
<body>Harpier cries: 'tis time, 'tis time.</body>
<nick xmlns='urn:xmpp:mix:0'>thirdwitch</nick>
<jid xmlns='urn:xmpp:mix:0'>123456#coven@mix.shakespeare.example</jid>
<mix xmlns='urn:xmpp:mix:0'>
<nick>thirdwitch</nick>
<jid>123456#coven@mix.shakespeare.example</jid>
</mix>
</message>
]]></example>