ejabberd logo

ejabberd

Scalable real-time messaging platform with XMPP, MQTT, and SIP

ejabberd delivers a robust, extensible messaging server supporting XMPP, MQTT, and SIP, with flexible deployment via source, packages, Homebrew, and Docker for enterprises and developers.

ejabberd banner

Overview

Overview

ejabberd is a high‑performance messaging platform built on Erlang/OTP, designed for developers and organizations that need reliable real‑time communication. It serves as a unified server for XMPP chat, MQTT IoT messaging, and SIP voice/video, making it suitable for a wide range of applications.

Capabilities

the server implements many XMPP Extension Protocols (XEPs), offers a native MQTT broker, and includes SIP handling, all within a modular architecture that scales horizontally. Its fault‑tolerant Erlang core ensures continuous operation even under heavy load.

Deployment

Installation can be performed by compiling from source, using OS package managers, Homebrew on macOS, or pulling official Docker images (ecs and ejabberd). Comprehensive documentation, community chatrooms, and commercial support options are available for both on‑premises and cloud deployments.

Highlights

Native XMPP server with extensive XEP support
Built-in MQTT broker for IoT messaging
Integrated SIP service for voice and video
Modular Erlang/OTP architecture for fault‑tolerance and horizontal scaling

Pros

  • Proven scalability for millions of concurrent connections
  • Multi‑protocol support (XMPP, MQTT, SIP) in a single binary
  • Flexible deployment: source, OS packages, Homebrew, Docker
  • Active community and commercial support options

Considerations

  • Requires Erlang knowledge for deep customization
  • GPLv2 license may restrict proprietary integration
  • Configuration can be complex for beginners
  • Limited built-in UI compared to some modern alternatives

Managed products teams compare with

When teams consider ejabberd, these hosted platforms usually appear on the same shortlist.

Chanty logo

Chanty

Team chat and collaboration with channels, audio/video calls, and task management

Discord logo

Discord

Voice, video, and chat communities for groups and teams

Mattermost logo

Mattermost

Secure collaboration and messaging for mission-critical teams

Looking for a hosted option? These are the services engineering teams benchmark against before choosing open source.

Fit guide

Great for

  • Enterprises needing a unified messaging backbone across chat, IoT, and VoIP
  • Developers building real‑time applications on XMPP, MQTT, or SIP
  • Organizations preferring on‑premises deployment with fine‑grained control
  • Projects that benefit from Erlang’s fault‑tolerant runtime

Not ideal when

  • Teams without Erlang expertise looking for quick plug‑and‑play solutions
  • SaaS products requiring a permissive license like MIT or Apache
  • Small hobby projects that need a lightweight, single‑protocol server
  • Environments where a graphical admin console is a primary requirement

How teams use it

Corporate instant messaging and presence

Provides secure, federated chat with XMPP, supporting millions of users and integration with existing directories.

IoT telemetry collection

Leverages the built‑in MQTT broker to ingest sensor data at scale, forwarding to downstream processing pipelines.

VoIP call routing for call centers

Uses the SIP service to manage call setup, enabling seamless integration with PSTN gateways.

Hybrid communication platform

Combines XMPP chat, MQTT device messaging, and SIP voice/video in a single, centrally managed server.

Tech snapshot

Erlang95%
Shell2%
Elixir1%
TSQL1%
Perl1%
Makefile1%

Tags

chatejabberdmqttjabberxmppmatrixsippubsubiotturnvoipgroupchatserverstunmessagingerlang

Frequently asked questions

What protocols does ejabberd support?

ejabberd includes native servers for XMPP, MQTT, and SIP, and implements many XEP extensions for XMPP.

How can I install ejabberd on my system?

Installation options include compiling from source, OS package managers, Homebrew on macOS, and official Docker images (ecs and ejabberd).

Is there commercial support available?

ProcessOne offers a Business Edition and the Fluux cloud service, providing professional support and additional features.

What licensing applies to ejabberd?

The core server is released under the GNU GPL v2; translation files are under the MIT License.

Where can I find documentation and community help?

Comprehensive docs are at docs.ejabberd.im, and community channels include the ejabberd XMPP chatroom, GitHub Discussions, and Stack Overflow.

Project at a glance

Active
Stars
6,526
Watchers
6,526
Forks
1,538
Repo age15 years old
Last commityesterday
Primary languageErlang

Last synced yesterday