[jdev] XMPP Ping method?

Kevin Smith kevin at kismith.co.uk
Thu Nov 2 05:05:05 CST 2006

Off-topic: I'm cross-posting this again, since this seems to be a  
debate about whether this is a protocol or implementation issue (It's  
a protocol issue by the way ;))


On 2 Nov 2006, at 10:27, Bruce Campbell wrote:
>> Hop-by-hop tests are quite easy, too, but there's a gotcha - when  
>> they fail, you want to know which stanzas you need to resend. And  
>> XMPP does not provide any mechanism for that, and nor do pings.
> If you can be assured of whitespace pings between the client and  
> the server, the server can simply queue up all stanzas as received  
> and forwarded, and delete from the queue any stanzas sent between  
> successful receipt of whitespace pings.  Without protocol changes,  
> the odd duplicated stanza is probably the best of a known evil.

We discussed this idea the last time the reliable delivery discussion  
came around. Unfortunately, you can't do that because you have no  
idea what stanzas the other end received before they sent the  
whitespace ping, only what stanzas you had sent.

For what it's worth, I very much want to get some ack system into  
widespread use. For some people, with reliable server software,  
hardware, network infrastructure and clients, XMPP seems to be  
reliable already but it's really just good fortune. Once one of these  
starts becoming a problem, reliability goes out of the window. Since  
the networking team at the site my primary account is hosted have  
been having problems over the last couple of weeks, I've lost count  
of the number of people I've sent messages to only for them to never  
be received (and for me to not know this until I speak to the person  
out-of-band). As such, I'm really suffering from the current lack of  
reliable delivery. Per-hop acks would guarantee end-to-end delivery  
and would strengthen xmpp considerably. Details, such as a new TLE,  
or <iq> are worth discussing, but this is the moment for finally  
making xmpp reliable.


Kevin Smith
Psi XMPP Client Project Leader (http://psi-im.org)

More information about the JDev mailing list