If I recall right, probe can be sent to a full jid in case a directed presence 
was received from it in the past - and the behavior would be different (return 
last presence stanza sent iirc).
Has that behavior changed or is the description below only for bare jid's ?


Regards,
Mridul

--- On Wed, 1/4/09, Peter Saint-Andre <stpe...@stpeter.im> wrote:

> From: Peter Saint-Andre <stpe...@stpeter.im>
> Subject: Re: [Standards] Inconsistent Subscriptions in XMPP
> To: "XMPP Standards" <standa...@xmpp..org>
> Date: Wednesday, 1 April, 2009, 11:19 PM
> On 3/5/09 5:37 AM, Pedro Melo wrote:
> > Hi,
> > 
> > On Feb 28, 2009, at 10:18 AM, Waqas Hussain wrote:
> >
> >> What action is appropriate is open for debate.
> What should the
> >> resulting state be? The lowest common permissions
> (possibly sending
> >> unsubscribe[d] to the contact or changing the
> user's subscription for
> >> contact)? The highest common permissions (possibly
> sending a
> >> subscrive[d] to the contact and changing the
> user's subscription for
> >> the contact)?
> > 
> > Highest common permissions, maybe. I've started a
> table below for some
> > cases, 
> 
> Yes, roster stuff always results in big tables. :)
> 
> > and I have some doubts. Should we upgrade the
> Receiver
> > subscription to a better state? For example: if you
> have a To
> > subscription to me and I have a None to you, should I
> be upgraded to a
> > From? Not sure yet. It can be used for presence spam.
> A more careful
> > approach would send a unsubscribe.
> > 
> > And we need to look this in the other direction. If
> the Receiver is 'To'
> > or 'Both' and the other side is 'None' or 'To', should
> we send a
> > 'subscribed'? It makes sense for the Receiver, but
> from the POV of the
> > Sender, you are modifying my own subscription status,
> upgrading it.
> 
> I prefer the terms "user" and "contact" to be consistent
> with RFC 3921.
> 
> > I wrote the following table of what I think are the
> most safe
> > transactions: none of the subscriptions are "upgraded"
> in any way.
> 
> I've annotated it with comments and pseudo-XMPP. Now it's
> even more
> verbose. :)
> 
> > (note: for each "Recv resets to 'X'" it is implied
> that a roster push
> > would be sent to all connected resources)
> > 
> > Sender: none
> > Recv: to
> > 
> >  => Recv resets to 'none'
> > 
> > 
> > Sender: none
> > Recv: from
> > 
> >  => Recv resets to 'none'
> > 
> > 
> > Sender: none
> > Recv: Both
> > 
> >  => Recv resets to 'none'
> 
> Why would the user's server send a probe to the contact if
> it thinks
> that the subscription state is none? (Granted, the user's
> client could
> generate a presence probe, but that's a different story.)
> 
> > Sender: To
> > Recv: none
> > 
> >  => Recv sends 'unsubscribe'
> 
> So: user's server thinks that user is sub'd to contact. It
> sends [probe
> state='both']. Contact's server thinks that user is not
> sub'd. Therefore
> I think contact's server would send [presence
> unsubscribed], i.e., "I am
> not going to send you contact's presence because you're not
> subscribed
> to his presence".
> 
> > Sender: To
> > Recv: To
> > 
> >  => Recv resets to 'none', sends
> 'unsubscribe'
> 
> As above, I think contact's server would send [presence
> unsubscribed].
> 
> > Sender: To
> > Recv: Both
> > 
> >  => Recv resets to 'From'
> 
> I think this is OK. I assume that after the roster push
> (state=from),
> the contact might send a new subscription request.
> 
> > Sender: From
> > Recv: none
> > 
> >  => Recv sends 'unsubscribed'
> > 
> > 
> > Sender: From
> > Recv: From
> > 
> >  => Recv resets to 'none', sends
> 'unsubscribed'
> > 
> > 
> > Sender: From
> > Recv: Both
> > 
> >  => Recv resets to 'To'
> 
> As above for none, why would the user's server send a probe
> to the
> contact if it thinks that the subscription state is from
> (i.e., the user
> has a subscription from the contact but not to the
> contact)?
> 
> > Sender: Both
> > Recv: none
> > 
> >  => Recv sends 'unsubscribe' and
> 'unsubscribed'
> 
> Right.
> 
> > Sender: From
> > Recv: From
> > 
> >  => Recv resets to 'none', sends
> 'unsubscribed'
> 
> IMHO user's server would not probe in this case.
> 
> > Sender: From
> > Recv: Both
> > 
> >  => Recv resets to 'To'
> 
> IMHO user's server would not probe in this case.
> 
> >> From an IM user's point of view, trying to settle
> on the highest
> >> common permissions seems more appropriate (and
> less confusing).
> > 
> > Well, the fact that we have asymmetrical states is a
> source of some
> > confusion. If you want to eliminate that, then you
> should have 'none'
> > and 'both' only.
> > 
> > But asymmetrical presences are very useful on some IM
> scenarios, like
> > transports.
> 
> Agreed.
> 
> Peter
> 
> -- 
> Peter Saint-Andre
> https://stpeter.im/
> 
> 


      Add more friends to your messenger and enjoy! Go to 
http://messenger.yahoo.com/invite/

Reply via email to