Hi,

I've been reviewing the code in the branch for MUC client support in
Wokkel against XEP-0045. I noticed that the examples for error
conditions in reply to room join and status and nick change presences
are sent from the room JID, instead from the occupant JID the presence
(change) was sent to. There are many different error conditions, so I
pick one possible exchange here:

Example 18. User Seeks to Enter a Room (Multi-User Chat):

  <presence
      from='ha...@shakespeare.lit/pda'
      to='co...@chat.shakespeare.lit/thirdwitch'>
    <x xmlns='http://jabber.org/protocol/muc'/>
  </presence>

Example 29. Service Denies Access Because of Nick Conflict
  <presence
      from='co...@chat.shakespeare.lit'
      to='ha...@shakespeare.lit/pda'
      type='error'>
    <x xmlns='http://jabber.org/protocol/muc'/>
    <error type='cancel'>
      <conflict xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
    </error>
  </presence>

Anecdotal evidence from different service implementations seems to
support my expectation that they are sent from the JID the original
presence was sent to. That'd mean that either the spec is wrong or all
implementations are.

I can see arguments for both, but I personally prefer getting a 'reply'
from the JID sent to, as it eases response checking a bit. I.e. how
implementations are doing it now. I suggest we fix the examples in
XEP-0045 to that effect.

Comments?

--
ralphm

Reply via email to