[Standards] MIX: Join protocol flow

Jonas Schäfer jonas at wielicki.name
Mon Sep 16 12:03:18 UTC 2019

Hi folks,

I have some time at my hands, and with the MIX implementation in recent 
ejabberds, I thought I’d give it a shot.

However, I’m already running into issues with the join flow. The specification 
is inconsistent there between different examples in XEP-0369, between XEP-0369 
and XEP-0405, and between different examples in XEP-0405, unfortunately.

Here’s the questions:

1. XEP-0405 was bumped to :pam:1, XEP-0369 was bumped to :core:1, but XEP-0405 
still uses :core:0 inside the client-join. Is that intentional?

2. XEP-0369 uses the @id attribute and the @jid attribute on <join/>. The text 
only talks about @id, which seems to be a string, while at least one example  
in XEP-0369 (in 0.13.0 [2] which still has :core:0, which I have to use for 
current PAM apparently) shows @jid which contains the @id from another example 
as a substring. ISTM that @id is the intended thing to do given that XEP-0369 
has been updated (with the bump to :core:1) to only use @id. Is that correct?

3. The embedding of <{:core:Y}join/> inside <{:pam:X}client-join/> seems 
error-prone to me at least specification-wise. We’d have to bump :pam:X to 
:pam:X+1 whenever we change anything in :core:Y+1, or we have to keep old 
versions of the schema of :core:Y around so that implementors can look at it 
easily (the attic is no such place because it’s hard to find the correct 
version of a document for a given namespace there).

  One way to work around this would be to re-define the <{:pam:X+1}client-
join/> on its own without relying on elements from :core:Y. The user’s server 
is then responsible for translating the {:pam:X+1} contents to the correct(!) 
version of {:core:Y}. This has the obvious problem that the PAM needs to 
discover the correct version of :core:Y to use for the join to the channel.

  I’m not really fond of that, but the current state isn’t good either. Anyone 
got better ideas?

kind regards,

   [1]: https://xmpp.org/extensions/attic/xep-0369-0.13.0.html#example-19 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.jabber.org/pipermail/standards/attachments/20190916/c771d1de/attachment.sig>

More information about the Standards mailing list