Tech pages/Core

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")

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


 * RFC 3920: XMPP Core
 * RFC 3921: XMPP IM

These RFCs are currently undergoing revision based on implementation and deployment experience since 2004. The revised versions are available at .

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


 * Clients
 * Servers
 * Code Libraries

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.


 * Info page and subscription information
 * Subscribe via email
 * Discussion archives