Matrix protocol added to ejabberd

ejabberd is already the most versatile and scalable messaging server. In this post, we are giving a sneak peak at what is coming next.

ejabberd just get new ace in it sleeve – you can now use ejabberd to talk with other Matrix servers, a protocol sometimes used for small corporate server messaging.

Of course, you all know ejabberd supports the XMPP instant messaging protocol with hundreds of XMPP extensions, this is what it is famous for.

The second major protocol in ejabberd is MQTT. ejabberd support MQTT 5 with clustering, and is massively scalable. ejabberd can be used to implement Internet of Things projects, using either XMPP or MQTT and it also supports hybrid workflow, where you can mix humans and machines exchanging messages on the same platform.

It also supports SIP, as you can connect to ejabberd with a SIP client, so that you can use a softphone directly with ejabberd for internal calls.

So far, so good, ejabberd leading both in terms of performance and number of messaging protocol it supports.

We always keep an eye on new messaging protocol. Recently, the Matrix protocol emerged as a new way to implement messaging for the small corporate servers.

ejabberd adds support for Matrix protocol

Of course, by design, the Matrix protocol cannot scale as well as XMPP or MQTT protocols. At the heart of Matrix protocol, you have a kind of merging algorithm that reminds a bit of Google Wave. It means that a conversation is conceptually represented as a sort document you constantly merge on the server. This is a consuming process that is happening on the server for each message received in all conversations. That’s why Matrix has the reputation to be so difficult to scale.

Even if it is not as scalable as XMPP, we believe that we can make Matrix much more scalable than what it is now. That’s what we are doing right now.

As a first step, we have been working on implementing a large subset of the Matrix protocol as a bridge in ejabberd.

It means that an ejabberd server will be able to act as a Matrix server in the Matrix ecosystem. XMPP users will be able to exchange messages with Matrix users, transparently.

To do that, we implemented the Matrix protocol for conversations and the server-to-server protocol to allow interop between XMPP and Matrix protocol.

This feature coming first for our customers, in the coming weeks, whether they are using ejabberd Business Edition internally or on Fluux ejabberd SaaS platform. It will come later to ejabberd Community Edition.

Interested? Let’s talk! Contact us.


Let us know what you think 💬


14 thoughts on “Matrix protocol added to ejabberd

  1. “The second major protocol in XMPP is MQTT” -> “The second major protocol in ejabberd is MQTT”?

  2. > to talk with other Matrix servers, a protocol sometimes used for small corporate server messaging

    This is sort of a disingenuous thing to say.

    • Yeah. Not to mention the governments of France and Germany, and at least one US government organization. “Some few small corporate servers,” indeed.

      • Indeed, but organisation servers are always small compared to services deployed for end-users that target tens or even hundreds of millions of users.

  3. I am more excited for this than I should be. I think having matrix support is a great idea, and will help support making decentralized chat more available to people, even more so since synapse (matrix backend) is difficult to setup/maintain/scale, but ejabbered is light weight, and significantly more accessible for most people to be able to setup.

    Just curious, how are you planning on handling encryption. Will there not be encryption support? Will encryption only work between XMPP only and Matrix only?

    • Hello,

      Thanks for your feedback !

      In the first iteration, we focus on the message flow, as encryption may require client cooperation.

      In a next release, we will check if it is possible to leverage and bridge XMPP omemo encryption with Matrix encryption transparently or if it requires small changes in the omemo or Matrix workflow.

  4. Hey this is great. I’m a single developer building a proof of concept. Is there a way for me to get access to the matrix protocol functionality without going Enterprise?

  5. I know it’s been almost a year, but I am still exited for this.
    Will it be added to community version before Debian 13 has a package freeze?
    If yes, then it probably needs to be released by the end of this year.

    I assume 2 years delay for community edition is reasonable.

    • The Matrix gateway is now included in the git repository of the ejabberd Community Server. The next ejabberd release will include it, hopefully that is next week. Of course it will still take some time for the Debian packagers to manage it and publish in Debian. I don’t know if that is in time for the Debian package freeze that you mentioned.

Leave a Comment


This site uses Akismet to reduce spam. Learn how your comment data is processed.