Server-to-Server Stream Management Support

Last week we presented the first ejabberd project that participated in this year’s Google Summer of Code (GSoC) through the BEAM Community. Now let’s look at the second one.

This project aimed at implementing XEP-0198 for “Server-to-Server Stream Management Support” in ejabberd. It is developed by Anna Muharram, with Holger Weiß as the mentor. Reliability is essential for communication using XMPP. This extension allows to request stanza acknowledgement and quickly resume session. Any messages that were not delivered over previous connection will be retransmitted during session resumption without duplication.

Anna’s pull request is available on GitHub. It was a good experience for me, she says, and at the moment there are some issues that should be solved for the full functionality of server-to-server part of XEP-0198. I want to solve these problems.

The code will require some additional work before it can be merged, Holger acknowledges, but I’d say it’s a success. I’m interested in this feature and I want to see it completed.

Anna hopes this project will be useful for the community, and plans to be involved with it more. It’s not her first time with ejabberd and GSoC. Last year, she implemented “Privileged Entity Support to Write Powerful External Components” for ejabberd.

ejabberd is the first open source project I have been involved with. Furthermore, it is my first real world Erlang project. Both these projects are important to me.

ProcessOne is happy to support the Erlang & ejabberd development community. We are glad to see developers take on difficult issues, gain experience and solve problems for the benefit of all ejabberd supporters. We hope the next GSoC edition will bring even more ejabberd-related implementations.