[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [xmpp] 3921bis: probe to full JID?



On Thursday 28 January 2010 19:06:54 Peter Saint-Andre wrote:
> On 1/28/10 7:43 PM, Justin Karneges wrote:
> > On Thursday 28 January 2010 15:04:12 Peter Saint-Andre wrote:
> >> I have heard arguments in favor of probing full JIDs (e.g., to help
> >> prevent ghost occupants in chatrooms), but I think there are better ways
> >> to solve the problems driving those arguments than to probe full JIDs.
> >
> > What alternative did you have in mind for solving stale directed
> > presence? Probes make the most sense to me, as it is the same approach
> > you'd use to fix stale normal presence.
>
> My concern is that people will start polling for stale directed
> presence. For instance, if you're in a chatroom and the chat service
> tries to send you a message, it will perhaps receive an error stanza
> from your server. Would we rather have the chat service poll your server
> every minute to see if you're still online? That doesn't seem like a
> good idea.

Any sent stanza acts as a probe here, at least for discovering s2s connection 
errors.  If enough time passes in a room and nobody has joined, changed 
status, left, or sent a message, then it's probably not unreasonable to 
suggest that all of the participants be sent /something/ to induce a bounce.  
At least in terms of outbound MUC processing and traffic, sending probes is 
not any worse than if a participant simply acted.  Unfortunately there is a 
higher cost in that all the remote servers have to respond to the probe.  It 
might be interesting if there were a way to just send a harmless stanza out 
to all participants without expecting a reply.

That said, discovering s2s trouble is only part of the problem.  If my server 
reboots when I'm in a MUC, then it is entirely possible that the MUC might 
not try to contact me during the 2 minutes the server was down.  Even if the 
MUC were probing on an interval, it may miss this window.  I believe all 
joins, leaves, status changes, and messages will then still be sent to me 
without any error.  Messages might even be stored offline (ick).  One 
solution would be for these stanzas to be bounced by my server, if it does 
not believe the remote entity has my presence.  I think this would be a cool 
privacy solution in general, for pretty much all stanzas.  A probe, however, 
would work regardless of that presence-as-firewall policy.

I agree polling sucks, but I don't think it's any worse here than polling 
broadcast presence, and there's a lot more of that.

-Justin

Note Well: Messages sent to this mailing list are the opinions of the senders and do not imply endorsement by the IETF.