XMPP

Daniele Ricci edited this page Sep 27, 2016 · 5 revisions

What is XMPP?

The Extensible Messaging and Presence Protocol (XMPP) is an open technology for real-time communication, which powers a wide range of applications including instant messaging, presence, multi-party chat, voice and video calls, collaboration, lightweight middleware, content syndication, and generalized routing of XML data.

Shortly, XMPP is a protocol for routing XML messages. It's extensible, it's standard, and it's widely supported by the community and industry.

Why XMPP?

Mainly because it's a standard and easily extensible: this will bring many benefits, one of them is clients will be easier to develop. It will also be possible to chat with other Jabber users (e.g. GTalk).

100% XMPP compliant (plus a few extensions)

Because of the nature of the protocol, we had to add a few extensions to XMPP for some features, such as message encryption, lookup of registered users, media upload and a few others. However, Kontalk it's 100% compatible with all XMPP clients.

We are developing some extensions to the XMPP protocol that we needed for Kontalk. We really need help for those, even just improvement ideas.

Security

Many XMPP extensions are defined for various aspects of chat security: message encryption, encrypted channels, and so on. All of them requires client-side setup by the user and some prior information exchange between clients in order to work. Our XMPP extensions define some simple methods, safe enough for messaging.