[Standards-JIG] JEP 60: Resource Based Subscription problem

Bob Wyman bob at wyman.us
Wed May 25 18:38:20 UTC 2005


Chris Mullins wrote:
> If user1 has a resource based subscription to a node, but is logged
> in with a different resource, what is the behavior?
	We ran into this problem when we first implemented JEP-0060 at
PubSub.com. What we've done is diverged from the spec (my apologies...) in
order to make the system work. We make all subscriptions JID specific -- not
JID + resource. Also, we permit a single JID to have multiple connections
and we deliver all PubSub messages to all attached instances of the JID.
Thus, you can have a connection on multiple machines and all will receive
the same messages. (Note: This "broadcast" policy only applies to messages
which are delivered as the result of subscriptions. It does not apply to
messages which are part of point-to-point exchanges such as those involved
in creating subscriptions, modifying subs, etc.)
	I realize that the policy outlined above is not what one would
expect from a normal Jabber/XMPP service, however, we find it necessary in
order to provide the kind of service that users demand from us. It should
also be noted that this is one of many reasons why we haven't been able to
hook PubSub's Jabber/XMPP service up to others via Server-To-Server
protocols. We have a different model of "session" than is normal in
Jabber/XMPP networks.

		bob wyman

-----Original Message-----
From: standards-jig-bounces at jabber.org
[mailto:standards-jig-bounces at jabber.org] On Behalf Of Chris Mullins
Sent: Sunday, May 22, 2005 11:31 PM
To: Jabber protocol discussion list
Subject: [Standards-JIG] JEP 60: Resource Based Subscription problem

PubSub subscriptions can be from a particular resource, and this brings
up a question:

If user1 has a resource based subscription to a node, but is logged in
with a different resource, what is the behavior?

What we have today would be:
1 - Publisher published new data to the node
2 - Server looks up the subscriptions and finds "user at server/One"
3 - Server (following standard XMPP message processing rules) checks to
see if this resource is online. 
4 - The resource is not online, but the user is online with a different
resource ("Two") that has a positive presence priority.
5 - Server sends PubSub notification to user at server/Two.

>From the user perspective, this doesn't seem like what was intended. If
the user subscribed using a resource, does it make sense for the
notifications to go to a different place? 

The case for "user is not online at all" is equally non-obvious. 
1 - Publisher published new data to the node
2 - Server looks up the subscriptions and finds "user at server/One"
3 - Server (following standard XMPP message processing rules) checks to
see if this resource is online. 
4 - The resource is not online, and the user does not have any positive
priority resources logged in. 
5 - Server queues the message for offline delivery.
6 - User logs in later with "Two" and has a positive presence priority,
and gets the delayed notifications. 

(I sure wish we could disallow resource based subscriptions.)

-- 
Chris Mullins
_______________________________________________
Standards-JIG mailing list
Standards-JIG at jabber.org
http://mail.jabber.org/mailman/listinfo/standards-jig





More information about the Standards mailing list