[Standards] MIX Addressing
kevin.smith at isode.com
Fri Jun 1 15:57:10 UTC 2018
On 1 Jun 2018, at 16:47, Florian Schmaus <flo at geekplace.eu> wrote:
> On 31.05.2018 13:45, Kevin Smith wrote:
>> We’ve had some discussions recently about whether presence should come from the channel’s JID, the user’s proxy JID, or be encoded in pubsub. Similarly whether messages should be coming from the channel’s JID or the user’s proxy JID. I think the argument that things should come from the user’s in-channel JID rather than the channel’s is reasonable - this is also what happens already in MUC and is familiar.
>> The reason for the proxy JIDs is that we need a stable identifier for the user in the channel,
>> and we need it to be addressable per client.
> Why was that again? Do we really need to encode four bits of information
> in a single JID?
IQs, mostly, they need to be address translated to the user’s full JID, which means encoding the full JID and the channel into the initial ‘to’.
> Otherwise we could go with channel at service/user and, possibly
> optionally, put the (pseudo) resource as metadata into an extension
> element. And if a client really wants to enumerate all resources/clients
> of a remote MIX user, he could look at the presence node of the user.
> That is essentially jonas's proposal:
> <message type="groupchat"
> from="4973d5d365f8 at mixservice.domain.example/client-resource"
> to="user at other.example">
> <mix channel="some-channel"/>
> with the channel, resource and user swapped. So you end up with:
> <message from="channel at mixservice.domain.example/user"
> to="user at other.example" …>
> <mix-message sender-resource="b481e03f-c633-4704-a877-f8222eb02bc7"/>
That looks rather like option 2, with the added resource payload (which is probably not needed?). Option 2 sees messages sent from channel at domain/user. Presence is different (but you note looking at the presence node for full-JID information here as well).
More information about the Standards