Hello,
While working on XEP-0033 testing, we found an interesting edge case
that would probably need to require a clarification in the extension.
Suppose that you want to use the multicast service to send multiple
directed presence stanzas to multiple users as BBC. This becomes
directed presence through the mediation of the multicast service.
So, when you update your presence, especially when broadcasting
unavailable presence, your client XMPP server is supposed to pass it to
the multicast service.
What happens next is unspecified, but I think it should be as follow:
- When you send an extended addressing presence stanza through a
multicast service, the multicast service MUST keep track of the entities
that have received the the individual directed presence packet.
- When the multicast service receive an unavailable presence stanza
without extended addresses, it MUST broadcast the updated presence to
all the JID that have received a directed presence previously (if the
multicast service has not yet sent unavailable presence to that entity,
through a previous extended stanza presence).
If this is not done, the entities that have received that your presence
through extended Stanza addressing will keep seeing you as online. This
problem is particularly important if you had previously joined MUC rooms
through and multicast service.
How does it sounds ?
If this make sense and can help I can submit a PR for XEP-0033 to
emphasize that new rule.
I need to practice my XEP writing style :)
--
Mickaël Rémond
http://www.process-one.net