ejabberd Community 14.05

ejabberd Community 14.05: the culmination of a year of change

Jérôme Sautret
· 2 min read
Send by email

Before getting into technical details of version 14.05 changes, let’s summarize an amazing year of ejabberd development.

Last year we made major changes in our development, release and support process.

ejabberd now has two faces:

  • ejabberd community is now improving at a very fast pace with changes coming from the community. That version improved a lot over the year. It has a lower memory footprint, gained many new features and several XEP support. We switched to modular rebar build system. Documentation has been improved. Overall, it is a great basis to build innovative solutions.
  • ejabberd commercial is more stable and scalable than ever and we have pushed its scalability both in term of number of supported nodes than in term of users supported on a single machine. ProcessOne is managing more and more deployments for our customers with it, and that kind of partnership with our customer just works, making every one happier. Rock solid platform managed by a team of experts.

For this latest release, we are very happy to see two new major contributors, Holger Weiß and Tsukasa Hamano. Congratulations!

Now, we are going further, exploring the realm of Voice Over IP and SIP. ejabberd was the reference on messaging and now if can help you place calls over SIP. Please, read that again :)

We have integrated a SIP proxy / Registrar in ejabberd that makes possible, using the same credentials, to pass SIP calls with a SIP client as well (for example your Android phone). We had a STUN service and integrated TURN to make VoIP easier in most contexts. This is just the beginning and we are waiting for your feedback to make things even simpler.

Note: ejabberd is also still compliant with Jingle pure-XMPP VoIP. It is just a matter of choice. We let you use the protocol you prefer in to pass your call. However, we do not bridge SIP and Jingle. This is a pain and in most deployments only one protocol will be used.

And finally, in a world where security is critical, we tightened our security to increase the default level of robustness of crypto algorithm used.

Enjoy!

ejabberd Community 14.05 has great new features, several improvements and many bugfixes over the previous 13.12 release:

ejabberd now includes support for:
– XEP-0198: Stream Management (EJAB-532)
– XEP-0321: Remote Roster Management (EJAB-1381)
– RFC-3261: SIP proxy/registrar
– RFC-5766: TURN: Traversal Using Relays around NAT (EJAB-1017)

There are several improvements regarding encryption:
– Add option to specify openssl options
– Fix extraction of host names from certificates
– Fix certificate authentication for incoming s2s connections
– Fix handling of certificate verification errors for incoming s2s
– Handle “s2s_use_starttls: required_trusted” the same way for outgoing
– Support certificate verification for outgoing s2s connections
– Check TLS state before requesting SASL EXTERNAL
– Log TLS status for outgoing s2s with SASL EXTERNAL
– Verify host name before offering SASL EXTERNAL

Just to mention other improvements:
– New ejabberd command: disconnect_user/2
– New Bash completion script for ejabberdctl, experimental (EJAB-1042)
– Don’t provide current password in webinterface
– mod_register_web: check same acl as mod_register.
– Document and enable mod_carboncopy (XEP-0280) by default
– Make it possible to get/set vCards for MUC rooms
– Add Travis CI configuration file

And many many bugfixes all over the source code, most of them were introduced when ejabberd was updated to use binaries.

We would like to thank specially Holger Weiß for his XEP-0198 feature and varied bugfixing, and Tsukasa Hamano for his bugfixes.

This release requires at least Erlang/OTP R15, and works perfectly with R16B03. It should work correctly also with the new R17.

As usual, the release is tagged in the Git source code repository on:
https://github.com/processone/ejabberd

The source package and binary installers are available at ProcessOne:
https://www.process-one.net/en/ejabberd/downloads/

If you suspect you found a bug, search or fill a bug report in Jira:
https://support.process-one.net/browse/EJAB