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

Peter Saint-Andre stpeter at jabber.org
Tue Feb 24 21:55:54 UTC 2004


On Thu, Feb 19, 2004 at 08:38:05AM +0100, Jacek Konieczny wrote:
> 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.

The JEP states (Section 6.4):

   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.

   [Example 34]

   The service MUST then send 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:

That seems pretty clear to me.

/psa




More information about the Standards mailing list