XMPP
The open standard for real-time messaging
Full XMPP Core & IM support with 400+ extensions: MUC, MAM, PubSub, Carbons, Push, OMEMO and more. Federate with the global XMPP network out of the box.
A ProcessOne product · since 2002
Built on open standards. Proven at WhatsApp scale. Sovereign by design.
ejabberd is the open-source XMPP server, MQTT broker and SIP service built in Erlang by ProcessOne, carrying mission-critical messaging for organisations that can't afford to lose control of their communications.
## Listen on the standard XMPP ports
listen:
- port: 5222
module: ejabberd_c2s
- port: 5269
module: ejabberd_s2s_in
- port: 1883
module: mod_mqtt
## Storage and modules
default_db: sql
modules:
mod_mam: # message archive
mod_push: # mobile push
mod_pubsub: # publish-subscribe
mod_muc: # multi-user chat We build the messaging infrastructure organisations rely on when downtime is not an option. Open source, open standards and twenty-two years of running in production. The same platform behind WhatsApp, Nintendo Switch and the BBC.
22 years of mission-critical messaging
on a single node, measured in production
with MUC, MAM, PubSub, OMEMO and more
for the web admin and client tooling
Powering real-time messaging at
…and hundreds of organisations worldwide. See customers
Multi-protocol platform
One server, one operations story. Four interoperable protocols for messaging, IoT, voice and decentralised federation.
The open standard for real-time messaging
Full XMPP Core & IM support with 400+ extensions: MUC, MAM, PubSub, Carbons, Push, OMEMO and more. Federate with the global XMPP network out of the box.
Lightweight pub/sub for IoT at scale
Built-in MQTT 3.1.1 and 5.0 broker, sharing the same auth, persistence and clustering layer as the XMPP server. One platform, one operations story.
Voice, video and peer-to-peer multimedia
Integrated SIP gateway and STUN/TURN support for WebRTC calls. Combine signalling, presence and media relay in a single deployable platform.
Decentralised, federated messaging
Native Matrix support brings interoperability between Matrix homeservers and the XMPP federation. Bridge ecosystems without a separate stack.
Built to survive anything
Multi-protocol XMPP, MQTT and SIP, with REST API, command-line tooling and mobile or web client libraries for iOS, Android and Web (Strophe, XMPPFramework, Smack).
Built on Erlang/OTP's “let-it-crash” philosophy. Live upgrades without downtime, all-active clustering and end-to-end delivery acknowledgments. No message left behind.
Two million concurrent sessions on a single node. Consistent-hashing clustering, memory-efficient session model, PubSub broadcast optimisation across the cluster.
ejabberdctl CLI, REST API and live web admin. Automate everything from user provisioning and module loading to backup and rolling cluster upgrades.
Customisation hooks for messaging, gaming, healthcare, telecoms, IoT and AI agents. With built-in MQTT and SIP, ejabberd is a true real-time platform.
An extensible module API and hundreds of community contributions. Swap storage backends (PostgreSQL, MySQL, Redis, LDAP) and bolt on what you need.
Choose your deployment
From a free open-source download to a fully managed cloud. Start with the Community release, scale with Business, or have ProcessOne run it for you.
The full ejabberd platform under GPLv2. Self-host on your own infrastructure, with the global community behind you.
Everything in Community, plus enterprise-grade performance modules, mobile push at scale, LTS releases with 3-year support and direct ProcessOne SLAs.
All Business Edition features, fully managed by ProcessOne. No servers to run, no ops team needed. Custom domains, SLAs included.
Need a side-by-side comparison? Compare editions in detail
A solid choice
Everyone has the freedom to use, audit and customise ejabberd, under the GPLv2 license. No vendor lock-in, no telemetry, no surprises.
TLS 1.3, modern cipher suites, SASL with SCRAM-SHA-256, end-to-end encryption via OMEMO. Security best practices baked into every release.
A full module API to write custom plugins and modify behaviour, with a minimal amount of code. Hook into virtually any event in the server.
Compliant with XMPP, MQTT, SIP and Matrix standards and most extensions. Works with all major clients and federates with other servers.
Release engineering, QA and API stability handled by ProcessOne, with over 20 years of Erlang and real-time messaging expertise.
A helpful, kind, global community. Our mission: help anyone use and build services on top of open real-time protocols.
Get started
Free, open source and running in production at WhatsApp scale. Grab the latest release, browse the docs or contribute on GitHub.