Communications protocol for apps and devices to exchange presence and messages in real-time.

XMPP (Extensible Messaging and Presence Protocol) streams XML (Extensible Markup Language) over a network. It is an open standard published by the IETF.

XMPP Core RFC 6120
XMPP Messaging and Presence RFC 6121
XMPP Addressing RFC 6122


Each XMPP user is identified by a unique address, called a JID (Jabber ID).  A JID is formatted like an email address, for example:


When the same user uses more than one app or device (e.g. a PC app, a phone app, and an IP camera), a JID includes a “resource name”, which uniquely identifies the app or device by adding “/“ [resource name], for example:


  • XML streaming
  • Contact Lists / Rosters
  • Presence
  • Encryption using TLS (Transport Layer Security)
  • Strong authentication using SASL (Simple Authentication and Security Layer)


BOSH (Bidirectional-streams Over Synchronous HTTP) enables XMPP communication over HTTP (Hypertext Transfer Protocol). BOSH supports both “push” and “pull” communications, and enables XMPP for Web applications and for devices on intermittent mobile networks.

BOSH (Bidirectional-streams Over Synchronous HTTP)
XMPP over BOSH XEP-0206

Jingle – XMPP for Multimedia

Jingle is a set of XEPs to support multimedia sessions, including file sharing, streaming, VoIP, and video telephony.

Jingle XEP-0166
Jingle RTP SessionsXEP-0167
Jingle ICE-UDP TransportXEP-0176
Jingle DTMFXEP-0181
Jingle File SharingXEP-0234

Multi-user Chat

MUC (Multi-User Chat) is a set of XEPs which enable multiple XMPP users to exchange presence and messages in the context of a room or channel.

Multi-User Chat XEP-0045
MUC Invitations XEP-0249
Multiparty Jingle XEP-0272


PubSub enables XMPP users to create and subscribe to pubsub nodes.  When information is published to a PubSub node, a notification is sent to every XMPP user that has subscribed to the node.  PubSub serves as the foundation for applications that require event notification, including data syndication, geolocation, and rich presence.

Publish Subscribe XEP-0060
PubSub Collection Nodes XEP-0248

XMPP and IoT

XMPP core features such as federation across domains, publish-subscribe, authentication, and security are being extended to implement the Internet of Things.

EXI (Efficient XML Interchange) Format XEP-0322
IoT Sensor Data XEP-0323
IoT Provisioning XEP-0324
IoT Control XEP-0325
IoT Discovery XEP-0347

Related products

Compliant with industry standards

  • Internet Engineering Task Force (IETF)
  • XMPP Standards Foundation (XSF)
  • Open Interconnect Consortium (OIC)

100+ M

Apps, devices, and things using AnyConnect software