On Sun, 2011-08-07 at 09:31 +0100, Kevin Smith wrote: > > 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. > > 100% of the servers that I tested this against (sample size: 1) are > sending the join error from the room JID as per the spec, so it's > certainly not the case that all implementations aren't compliant. > > The examples seem to be logically correct to me - > jab...@conference.jabber.org/Kev (i.e. me) is not sending you an > error, jab...@conference.jabber.org is.
Hmm, I though I checked this one, but I hadn't looked carefully enough: got a server-not-found error (from the JID I sent the presence to!) due to some s2s issues. I just tested again by joining with the same nick from two JIDs, and it seems that my own servers (Openfire and Prosody) reply from the JID the presence was sent to, as do muc.xmpp.org (Prosody, again) and conference.process-one.net (ejabberd). Indeed, conference.jabber.org doesn't (M-Link). I think clients get around this by tracking presences by id. This does seem a bit tricky, too, as I don't really expect presence 'replies' other than errors (i.e. when a join succeeds) to have the same id. -- ralphm