Skip to content
ejabberd
Download

A ProcessOne product · since 2002

The messaging server that keeps real-time under your control.

Open standards, WhatsApp scale, running on hardware you own.

ejabberd is the open-source XMPP server, MQTT broker and SIP service built in Erlang by ProcessOne. It carries production traffic for organisations that would rather not hand their messaging to someone else.

ejabberd.yml
## 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 write messaging infrastructure for people who get paged when it stops. It has been open source and running in production since 2002, and it is the same server behind WhatsApp, Nintendo Switch and the BBC.

In production since
2002

24 years of continuous releases

Concurrent sessions
2M+

on a single node, measured in production

XMPP extensions
400+

with MUC, MAM, PubSub, OMEMO and more

Languages
28

for the web admin and client tooling

Powering real-time messaging at

  • WhatsApp
  • Nintendo
  • BBC
  • Facebook
  • Nokia
  • Riot Games
  • MLB
  • Yandex
  • Ubisoft

…and hundreds of organisations worldwide. See customers

Multi-protocol platform

Four protocols, one server to operate

Messaging, IoT telemetry, voice and federation, all speaking to the same auth, storage and clustering layer. One thing to upgrade, one thing to monitor.

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.

MQTT

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. Your devices and your users authenticate against the same backend.

SIP / WebRTC

Voice, video and peer-to-peer multimedia

Integrated SIP gateway and STUN/TURN support for WebRTC calls. Signalling, presence and media relay run inside the same deployment.

Matrix

Decentralised, federated messaging

Native Matrix support brings interoperability between Matrix homeservers and the XMPP federation. Bridge ecosystems without a separate stack.

What you get

Hard to knock over, easy to bend to your needs.

Modern

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

Fault-Tolerant

Built on Erlang/OTP's "let-it-crash" philosophy. Live upgrades without downtime, all-active clustering and end-to-end delivery acknowledgments, so messages survive a node going down mid-conversation.

Massively Scalable

Two million concurrent sessions on a single node. Consistent-hashing clustering, memory-efficient session model, PubSub broadcast optimisation across the cluster.

Manageable

ejabberdctl CLI, REST API and live web admin. Automate everything from user provisioning and module loading to backup and rolling cluster upgrades.

Versatile

Customisation hooks for messaging, gaming, healthcare, telecoms, IoT and AI agents. With MQTT and SIP built in, one deployment covers chat, telemetry and voice.

Modular

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

One platform. Three ways to run it.

Same server underneath. Download the Community release and run it yourself, buy support and LTS with Business, or let ProcessOne operate it for you.

Open source · GPLv2

Community Server

The full ejabberd server under GPLv2, on your own infrastructure. You run it, and the community helps when you get stuck.

Free self-hosted, forever
  • XMPP, MQTT, SIP, Matrix
  • Clustering & federation
  • REST API, CLI, web admin
  • PostgreSQL, MySQL, Redis, LDAP
  • Community support
Download ejabberd
Most popular Enterprise · LTS

Business Edition

Everything in Community, plus the performance modules, mobile push at scale, LTS releases supported for three years and an SLA with the people who wrote the code.

from €16,000 per year · 2-node cluster
  • All Community features
  • iOS / Android / WebPush at scale
  • Advanced clustering & monitoring
  • LTS releases (3-year support)
  • Direct ProcessOne support
Contact sales
Managed SaaS

Fluux

All Business Edition features, with ProcessOne running the servers, the upgrades and the backups. Custom domains and SLAs included.

from €200 per month
  • All Business features
  • Fully managed by ProcessOne
  • Custom domains
  • Automated upgrades & backups
  • Production SLAs
Visit fluux.io

Need a side-by-side comparison? Compare editions in detail

A solid choice

Six reasons teams pick ejabberd

  1. 01

    Fully Open Source

    Everyone has the freedom to use, audit and customise ejabberd, under the GPLv2 license. No vendor lock-in, and nothing phoning home.

  2. 02

    Secure by default

    TLS 1.3, modern cipher suites, SASL with SCRAM-SHA-256, end-to-end encryption via OMEMO. You get these on a fresh install, not after a hardening guide.

  3. 03

    Flexible

    A full module API to write custom plugins and change behaviour in very little code. You can hook into almost any event the server handles.

  4. 04

    Interoperable

    Compliant with XMPP, MQTT, SIP and Matrix standards and most extensions. Works with all major clients and federates with other servers.

  5. 05

    Professionally maintained

    ProcessOne handles release engineering, QA and API stability, and has been doing it in Erlang since 2002. Upgrades rarely surprise you.

  6. 06

    Welcoming

    A global community that answers questions on the mailing list, the chatroom and GitHub. We want people building on open real-time protocols, whether or not they ever pay us.

Get started

Ready to run your own messaging server?

Free, open source and already running at WhatsApp scale. Grab the latest release, read the docs or send us a patch on GitHub.