xmpp

Difference between version 30 and 31 - Previous - Next
'''[http://xmpp.org/%|%XMPP]''', an acronym for e'''X'''tensible
'''M'''essaging and '''P'''resence '''P'''rotocol, is the generalized [XML]
streaming protocol that underlies [Jabber].


** See Also **

   [Steps to connect to Tcler's Wiki chat with Jabber]:   

   [Coccinella]:   XMPP-based messaging program and whiteboard 

   [jabberlib]:   an independent module for [Tcl] that provides an [XMPP] implementation

   [tkabber]:   an [XMPP] implementation in [Tcl]. Uses [tclxmpp].  Previousy used [jabberlib].  [PT] The jabberlib that comes with [tkabber] is a fork of an earlier version of jabberlib. There are some similarities between the two but the code has diverged quite a lot.

   [tkchat]:   in instant messaging client that uses [XMPP], intended specifically for [The Next Generation Tcl Chatroom].

   [tclxmpp]:   a client library for accessing [XMPP] services

   [tclxmppd]:   a server daemon for XMPP-based services

   [http://incubator.apache.org/wave/%|%Apache Wave] (previously "Google Wave"):   a distributed, near-real-time rich collaboration platform that allows users to work together in new and exiting ways.


** Press **

   [http://windowspbx.blogspot.com/2013/05/hangouts-wont-hangout-with-other.html%|%Hangouts Won’t Hangout With Other Messaging Vendors: Google’s New Unified Messaging Drops Open XMPP/Jabber Interop], Matt Landis, 2013-05-16:   

   [http://www.elasticvapor.com/2009/05/google-jump-into-cloud-wave-ajax-over.html%|%Google Jumps into the Cloud Wave (AJAX over XMPP)], Reuven Cohen, 2009-05-28:   
   [https://wusspuss.neocities.org/xmpp.html%|%Is xmpp any good? Also, let's write a client in tcl, maybe]:   


** Systems that Support XMPP **

XMPP-enabled clients include:

   [ICQ]:   

   Google Wave:   XMPP supports k


** Transports **

Transports are software libraries or applications that translate messages
between otherwise-incompatible systems There are transports for the following
systems:

   [AOL Instant Messenger]:   
   
   [IRC]:   
   
   [MSN Messenger]:   
   
and other instant messaging protocols.


** Reference **

   [http://xmpp.org/xmpp-protocols/rfcs/%|%list of XMPP-related] [RFC]'s:   

   [http://en.wikipedia.org/wiki/XMPP%|%Wikipedia]:   

   [RFC] [http://www.ietf.org/rfc/rfc3920.txt%|%3920]:   Extensible Messaging and Presence Protocol (XMPP): Core]

   [RFC] [http://www.ietf.org/rfc/rfc3921.txt%|%3921]:   Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence



** Description **

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 [http://www.xmpp.org/extensions] 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".



** Discussion **


[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.


** Historical **

   [http://jabbertcl.sf.net/%|%jabbertcl (defunct)]:   written by Kerem Hadimli, later maintained by Todd Bradley, was a Jabber Client Library (JabberLib (some relation to the other jabberlib?)) and a Tcl/Tk Jabber Client (zABBER).


<<categories>> Internet | Glossary | Protocol