Consider XMPP Bindings

From Direct Project
Jump to navigation Jump to search
Content originally from this discussion thread



Below I have listed some basic information on Jabber/XMPP, which is an instant messaging protocol for which there are many products, open source, and reference implementations. It is supported on a broad number of clients and servers. This is for the purpose of addressing (finding the right peer and assigning certificates through peer introduction) not content. The content could be XML or other documents.

XMPP Technologies: Overview
XMPP is the Extensible Messaging and Presence Protocol, a set of open technologies for instant messaging, presence, multi-party chat, voice and video calls, collaboration, lightweight middleware, content syndication, and generalized routing of XML data.

XMPP was originally developed in the Jabber open-source community to provide an open, secure, spam-free, decentralized alternative to the closed instant messaging services at that time. XMPP offers several key advantages over such services:

•Open -- the XMPP protocols are free, open, public, and easily understandable; in addition, multiple implementations exist in the form clients, servers, server components, and code libraries.
•Standard -- the Internet Engineering Task Force (IETF) has formalized the core XML streaming protocols as an approved instant messaging and presence technology. The XMPP specifications were published as RFC 3920 and RFC 3921 in 2004, and the XMPP Standards Foundation continues to publish many XEP series.
•Proven -- the first Jabber/XMPP technologies were developed by Jeremie Miller in 1998 and are now quite stable; hundreds of developers are working on these technologies, there are tens of thousands of Jabber servers running on the Internet today, and millions of people use XMPP for instant messaging through public services such as Google Talk and XMPP deployments at organizations worldwide.
•Decentralized -- the architecture of the XMPP network is similar to email; as a result, anyone can run their own XMPP server, enabling individuals and organizations to take control of their communications experience.
•Secure -- any XMPP server may be isolated from the public network (e.g., on a company intranet), robust security using SASL and TLS has been built into the core XMPP specifications, and the XMPP network is virtually spam-free. In addition, some clients support end-to-end encryption to raise the security bar even further.
•Extensible -- using the power of XML, anyone can build custom functionality on top of the core protocols; to maintain interoperability, common extensions are published in the XEP series, but such publication is not required and organizations can maintain their own private extensions if so desired.
•Flexible -- XMPP applications beyond IM include network management, content syndication, collaboration tools, file sharing, gaming, remote systems monitoring, web services, lightweight middleware, cloud computing, and much more.
•Diverse -- a wide range of companies and open-source projects use XMPP to build and deploy real-time applications and services; you will never get "locked in" when you use XMPP technologies.