-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Someone just poked me offlist about reliable messaging in XMPP. I
replied as follows. Perhaps it makes sense to write this up a bit more
formally?

***

Here's how the pieces fit together:

1. If I send a message to you but you have no online clients, your
server stores the message for delivery when you're online again:

http://xmpp.org/extensions/xep-0160.html

2. What if your client went offline but your server hasn't figured that
out yet? Your server can use whitespace pings over the XML stream to
figure out if you're online or offline:

http://tools.ietf.org/html/draft-ietf-xmpp-3920bis-00#section-5.7.3

3. What if whitespace pings are not reliable enough to determine if your
client is online or offline? Your server can use the new stream
management extension (this spec is in Last Call right now and is not yet
implemented or deployed, but several server codebases are building in
support even as we speak):

http://xmpp.org/extensions/xep-0198.html

4. What about server-to-server connections? Here again we can use
whitespace pings and stream management.

5. What about pinging end-to-end? My client can send an XMPP ping to
your client:

http://xmpp.org/extensions/xep-0199.html

6. What if I want to know if a specific message was delivered to your
client? My client can use message receipts (also not widely implemented
or deployed, but easy to add to existing clients):

http://xmpp.org/extensions/xep-0184.html

Hope that helps.

******

Peter

- --
Peter Saint-Andre
https://stpeter.im/

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.8 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAko4BMcACgkQNL8k5A2w/vw5zgCfYqypK3Wv/S2BMjO9aLIk0bz8
RJQAoK5goaQLBWD4UsKIv6aZcQKI5clJ
=aHff
-----END PGP SIGNATURE-----

Reply via email to