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

Kevin Smith kevin at kismith.co.uk
Tue May 24 13:47:45 UTC 2005

Hash: SHA1

Kevin Smith wrote:
> On 24 May 2005, at 00:33, Peter Millard wrote:
>>> Dude... it's simple:
>>> Pubsub sends a notification to the subscribed JID. Period. Pubsub MUST
>>> NOT make any assumptions about how that notification will be
>>> delivered. Period.
>>> If it so happens, that an IM user subcribes with a full JID, I agree
>>> that what happens will probably not be what they wanted. Thats life,
>>> but it's outside the scope of Pubsub.
> If I'm to read this as meaning that my assertion about delivery is
> correct then I couldn't disagree more about it being outside the scope.
> If I say "I want my notifications to *this full jid*" and notifications
> should only be sent when I'm online, I don't think it's acceptable at
> all to say that it's "not what they wanted" if they never receive a
> notification, or if they receive a notification to other resources. I
> think it's a clearly broken specification if this is the mandated
> behaviour.
As my over-enthusiastic response on this matter seems to have put
everyone off replying, although it wasn't what I was originally posting
about, and I'm very keen to see this through to the end, I'll clarify
what I was actually saying.

I realise that actual delivery will be done according to the long-since
defined rules, if the service sends to an n at d jid, it'll be delivered
correctly to the highest priority n at d/r jid, that's fine and it's out of
the scope of pubsub I agree. I think the result of n at d/r1 reaching
n at d/r2 is quite horrible but it's not what I'm concerned with.

The problem I perceive is with the "presence-based delivery of events".
If the notification should not be sent to an offline jid, how is this
When I read the JEP last night I'm fairly certain it said the service
should subscribe to the user's presence.
So, if I subscribe from n at d/r, that's fine, because the service can
subscribe to the presence of the full jid. Notifications will only be
sent when the full jid is online and as they'll be sent to the full jid,
they'll be routed in the obvious way.

The problem is that, as Peter said, it's not ok (for the service) to
make assumptions about the n at d <-> n at d/r mapping. So if the user
subscribes from a bare jid, the service will subscribe to presence at
the base jid. All good so far. The service will then receive presence
notifications from a n at d/r jid. Since the service cannot make an
assumption about this being the same as n at d, it can never make a
notification to this jid (although, if it did, it would be routed to a
resource in the obviously correct way).

As I've said earlier, I may be being dense, and from pgm's "Dude: It's
simple" comment, I believe I probably am. Please share why I'm wrong
though, at this moment I'm really convinced I'm not and I'd like to know
one way or the other.


- --
Kevin Smith
Psi Jabber client maintainer (http://psi.affinix.com/)
Taekwon-do club captain (outgoing), University of Exeter
Postgraduate Research Student, Computer Science, University Of Exeter
Version: GnuPG v1.2.5 (GNU/Linux)


More information about the Standards mailing list