The numerical approach to status codes is ugly:

<presence
    from='[email protected]/thirdwitch'
    to='[email protected]/pda'>
  <x xmlns='http://jabber.org/protocol/muc#user'>
    <item affiliation='member' role='participant'/>
    <status code='110'/>
  </x>
</presence>

I think it could be easily extended as we did for core XMPP stanza errors:

<presence
    from='[email protected]/thirdwitch'
    to='[email protected]/pda'>
  <x xmlns='http://jabber.org/protocol/muc#user'>
    <item affiliation='member' role='participant'/>
    <status code='110'>
      <self-presence/>
    <status>
  </x>
</presence>

The question is: should the new child elements be qualified by a
namespace other than muc#user? I think that would be cleaner and less
likely to cause problems, because XMPP implementations ignore data from
unknown namespaces. So I propose this:

<presence
    from='[email protected]/thirdwitch'
    to='[email protected]/pda'>
  <x xmlns='http://jabber.org/protocol/muc#user'>
    <item affiliation='member' role='participant'/>
    <status code='110'>
      <self-presence xmlns='urn:xmpp:muc-status:0'/>
    <status>
  </x>
</presence>

If that approach seems sensible, I will define appropriate child
elements for the existing status codes. Naturally, the <status/> element
could be extended with other child elements, too. I'll copy appropriate
text about application-specfic child elements from RFC 3920.

Peter

-- 
Peter Saint-Andre
https://stpeter.im/



Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to