XMPP , an acronym for eXtensible Messaging and Presence Protocol, is the generalized XML streaming protocol that underlies Jabber.
XMPP-enabled clients include:
Transports are software libraries or applications that translate messages between otherwise-incompatible systems There are transports for the following systems:
and other instant messaging protocols.
XMPP, the only standardized IM protocoal, was created with the idea of implementing an extensive and complete system for exchanging messages and presense information. It is multilevel; IM-facilities themselves actually aren't even in the core of the XMPP spec.
there are a vast number of [L1 ] to XMPP which add support for such things like multi-user chat (think of "IRC 2.0"), which powers the Tcl chatroom, file transfers, and even VoIP calls and video conferencing. Gateways to various legacy proprietary IM systems have been created as a measure to help converting people to XMPP and to alleviate for XMPP users the problem of contacting the proprietary IM networks. These gateways are not part of the XMPP specs; the only thing which is defined regarding this is the protocol for services that extend XMPP servers (that's how these gateways are implemented). Such gateways still suffer on a regular basis from changes made by the owners of the legacy IM networks to their IM protocols.
The set of protocols known as Jabber was renamed to XMPP after it was standardized by IETF. The term "Jabber" is now often used to refer explicitly to this precursor of XMPP. Since some core XMPP facilities differ from that of Jabber in some respects, it's better to refer to this set of protocols as "XMPP".
DKF: XMPP can also be used as a transport protocol for SOAP, which is helpful for when you have long-lived webservice communications between two parties (especially when one party doesn't want to open incoming ports in their firewall).
I don't know if any Tcl SOAP package supports this transport protocol.