[Standards-JIG] JEP-0045 (MUC) - IQ Stanza Semantics

Jacek Konieczny jajcus at bnet.pl
Thu Feb 19 07:38:05 UTC 2004

On Wed, Feb 18, 2004 at 11:41:13AM -0700, Peter Saint-Andre wrote:
> On Wed, 2004-02-18 at 00:57, Jacek Konieczny wrote:
> > IMHO if service sends available presence from a jid it should always
> > send unavailable presence from that jid at some time. MUC conference
> > sends available presence from all room occupants to the user entering
> > the room, but it is not required to send unavailable presences from
> > occupants left when user leaves the room. This could break any Jabber
> > entities (servers, gateways, clients) that do some kind of presence
> > tracking or caching.
> What ever gave you that idea? Section 6.4 says that the MUC service must
> reflect out the unavailable presence stanzas.

It is only says about reflecting unavailable presence of the occupant
leaving the room. I cannot see nothing there about unavailable presence
sent from all occupants left in the room to the one that has just left
the room. 

    In order to exit a multi-user chat room, an occupant sends a presence stanza of type
    "unavailable" to the room at service/nick it is currently using in the room.

    The service then sends presence stanzas of type "unavailable" from the departing occupant's
    room JID to the full JIDs of the departing occupant and of the remaining occupants:

When user enters the room he receives presences from hist and current
occupants' room JIDs:

<presence to="..." from='room at server/nick1'/>
<presence to="..." from='room at server/nick2'/>
<presence to="..." from='room at server/nick3'/>
<presence to="..." from='room at server/him'/>

When in the room he receives presences from users entering and leaving
the room:

<presence to="..." from='room at server/nick2' type='unavailable'/>
<presence to="..." from='room at server/nick4'/>

When it leaves the room he receives only his own unavailable presence:

<presence to="..." from='room at server/him' type='unavailable'/>

So his client or any entite in the middle may consider 'room at server/nick1',
'room at server/nick3', 'room at server/nick4' still online.


More information about the Standards mailing list