Skip to content


XMPP Technologies: Core

  1. Overview
  2. Specifications
  3. Implementations
  4. Discussion Venues

1. Overview

At its core, XMPP is a technology for streaming XML over a network. The protocol, which emerged from the Jabber open-source community in 1999, was originally designed to provide an open, secure, decentralized alternative to consumer-oriented instant messaging (IM) services like ICQ, AIM, and MSN. The core technologies were formalized under the name Extensible Messaging and Presence Protocol (XMPP) at the IETF in 2004. These core technologies include:

  • The base XML streaming layer
  • Channel encryption using Transport Layer Security (TLS)
  • Strong authentication using the Simple Authentication and Security Layer (SASL)
  • Use of UTF-8 for complete Unicode support, including fully internationalized addresses
  • Built-in information about network availability (“presence”)
  • Presence subscriptions for two-way authorization
  • Presence-enabled contact lists (“rosters”)

2. Specifications

The core XMPP technologies are defined in two RFCs published by the IETF:

The first XMPP RFCs (RFC 3920 and  RFC 3921) were produced by the IETF’s XMPP Working Group in October 2004. In 2011 they were revised, resulting in the current specifications.

 

Other Internet draft, attics and extensions can be found at <http://xmpp.org/protocols/internet-drafts/>.

3. Implementations

There are many implementations of the core XMPP specifications. See the following pages for details:

4. Discussion Venues

The XMPP Standards Foundation maintains several email discussion lists about the core XMPP technologies. The primary list is the “standards@xmpp.org” list. As with all XSF technology lists, the standards@xmpp.org list is open to all interested individuals.