[jdev] Reliable presence

Nolan Eakins sneakin at semanticgap.com
Wed Aug 11 01:11:17 CDT 2004

On the standards-jig list there's been a discussion on reliable XMPP going
on, and I wanted to bring up point #2 Justin made in
since I saw happen for the first time last night. While I was in jdev there
happened to be a 6 hour ghost due to a server's connection being broken.
That was due to an unavailable presence never being sent. The same could
happen if one of my contacts was online. He'd still appear online if his
server's connection to the outside world vanished.

This could be a real problem if you take the case that St. Peter wrote on
his blog of giving a router presence. If it goes down and the monitor's
Jabber server is on the other side of the break, two hops away, then the
monitor wouldn't know that it went down.

The network looks something like this, with \/\ being the break:
   Monitor <---> S1 <-\/\--> S2 <---> Router

The break might get noticed if a message is sent using JEP-0022 or AMP, but
there would still be the router's phantom presence. Justin suggested that
server's should cache available presences that get routed through it, and
if the s2s connection isn't there the server would try to connect
periodically to make sure the server was still reachable. If it wasn't then
the server would generate unavailable presence stanzas for all JIDs for
that server.

That would solve the phantom presence problem. If anyone has a better
solution, add on to this thread. Hopefully a future historical JEP can be
writen describing this problem and solution once jabberd is fixed.

Semantic Gap Solutions

More information about the JDev mailing list