ejabberd comes with a very powerful command-line tool that allows controlling most of the aspects of the server. Most common operations can be automated to make it a pleasure for admins to work with.
ejabberd offers many customization hooks to adapt it easily to various use cases. This makes it the server of choice no matter which area you are working in: mobile messaging, gaming, internet of things, it can do it all.
ejabberd code is extremely modular and can be extended through a powerful API. Contributors are using the API to provide tens of third-party extensions to ejabberd to enhance and tailor its behavior.
Everyone has the freedom to use and customize the ejabberd code, according to the GPLv2 license.
Best practices are baked right into the server. Secure code runs in a trusted environment, with all SSL / TLS encryption best practices.
ejabberd offers a full API to write your custom plugins and modify the server so that it works exactly as you wish, with a minimal amount of code.
ejabberd is compliant with the XMPP, MQTT and SIP standards and most of the available extensions. It can be leveraged with all the available XMPP, MQTT and SIP clients and libraries and can federate with other servers.
Professional release engineers manage the ejabberd release cycle, QA the full stack, and keep APIs stable. The core team has impressive credentials and 16 years of Erlang development under their belt.
ejabberd’s helpful, kind, and supportive community spans the globe. ejabberd’s mission is to empower everyone to use and build services on top of the XMPP, MQTT and SIP protocols.
Christophe Romain goes into the details of ejabberd Pubsub implementation. He explains the Pubsub plugin systems and how to leverage it to optimize ejabberd Pubsub for your own use cases.
The talk explains how Quickcheck testing approach can help find bugs in ejabberd and improved the range (and the creativity) of the test cases covered.
Christophe Romain talks about websockets at SeaBeyond 2014.