What is Extensible Messaging and Presence Protocol (XMPP)?

The Extensible Messaging and Presence Protocol (XMPP) is a technology for the near-real-time exchange of messages and presence notifications, where data is exchanged over Extensible Markup Language (XML) streams. [XML is the language that defines a set of rules for encoding documents in a format that is both readable by humans and machines. Examples of XML-based formats include Microsoft Office and iWork.]

Unlike most instant messaging protocols, XMPP is defined in an open standard and uses an open systems approach of development and application, by which anyone may implement an XMPP service and interoperate with other organizations' implementations.

Because XMPP is an open protocol, implementations can be developed using any software license; although many server, client, and library implementations are distributed as free and open-source software, numerous freeware and commercial software implementations also exist.

The protocol was originally named Jabber, and was developed by the Jabber open-source community in 1999 for near real-time, instant messaging (IM), presence information, and contact list maintenance.

Designed to be extensible, the protocol has also been used for publish-subscribe systems; signaling for VoIP, video, and file transfer; gaming; Internet of Things applications such as the smart grid; and Social networking services.