[jdev] XMPP vs SIMPLE
Dave Cridland
dave at cridland.net
Mon Sep 29 12:43:05 CDT 2008
On Mon Sep 29 17:46:30 2008, aragalo at cs.uct.ac.za wrote:
> I am working on a masters project that compares XMPP and SIMPLE for
> the
> conveyance of presence information. My question is very specific:
And although well-put, I'll skip it for brevity.
SIMPLE does presence confirmations for two reasons.
Firstly and most crucially, SIMPLE exchanges presence information in
what are essentially VOIP signalling patterns, and as such are
required by the transport-like layer that SIP provides to have a
confirmation response - it's simply not a choice the SIMPLE folk had.
Secondly, SIP is, as you say, designed to involve a multi-hop
scenario often involving UDP hops, whereas XMPP presence messages are
exchanged across a maximum of three links, C2S-S2S-S2C, all of which
are TCP, rather than UDP.
So to get to the core question of whether XMPP ought to [be capable
of] sending confirmation of receipt of presence, that's probably a
waste of time. More important would be checking the validity of each
link, since TCP can go into a rather annoying blackhole state.
For the latter, XMPP does already have a technology in the
Experimental stage, XEP-0198, which is not yet deployed anywhere (but
if PSA updates the namespace to something stable, I might implement
it).
Moreover, XMPP has a system of error responses for any stanza, so
lack of error can be used to assume the other end got it - assuming
each link is verified with XEP-0198.
There's several other advantages of the XMPP architecture here, too -
such as by restricting the paths used and using a streaming protocol
istead of a packetized one, we can take advantage of stream based
compression across many presence (and other) stanzas, which itself
leads to very efficient transmission compared to SIMPLE.
HTH,
Dave.
--
Dave Cridland - mailto:dave at cridland.net - xmpp:dwd at dave.cridland.net
- acap://acap.dave.cridland.net/byowner/user/dwd/bookmarks/
- http://dave.cridland.net/
Infotrope Polymer - ACAP, IMAP, ESMTP, and Lemonade
More information about the JDev
mailing list