[jdev] Presence hiccups

Ernest Nova ennova2005-jabber at yahoo.com
Thu Oct 2 13:04:33 CDT 2008




--- On Wed, 10/1/08, Adam Pisoni <apisoni at geni.com> wrote:

> 
> Most xmpp servers we send to send back a 503 if we send a
> message to a  
> user who is offline.   When we get a 503 we mark that JID
> as offline  
> so we do not continue sending them messages.  The real
> issue is gtalk,  
> which supports offline messaging and never tells you
> whether a JID is  
> offline.   A few of our users have complained that
> they're still  
> getting messages from us when they're offline, which
> gtalk them emails  
> them.   I know the rabbiter guys have talked about having
> the same  
> problems.  What is the best practice as far as how to deal
> with this.   
> Do you expire resources eventually?    Or probe if a
> resource hasn't  
> been updated in some amount of time?
> 
> Any ideas?
> 
> Thanks,
> adam

Adam

No immediate suggestions - just some thoughts for the future.


1. Periodic Probes for Presence Freshness =~ SIP presence subscriptions with expiry/TTL

(ducking for cover... )

2. Presence may also be stale within the TCP timeout or XMPP keep alive interval or the presence probe interval before an XMPP server detects the remote client has disappeared, or your outbound message and the inbound presence update may cross paths.. so you would always have offline delivery in some boundary conditions. We see this in networks that do not offer offline delivery.

3. I believe the specific remedy for your situation and of similar other alerting bots would be to define an XMPP extension / message attribute that would instruct the remote server to deliver a message only if it thinks the user is in a certain presence state. (Whether or not Gtalk will implement it is another matter).  This could be part of extensions defining delivery instructions in general.






More information about the JDev mailing list