I just went for prosody, though after a few months ejabberd looks nice as well, with built-in turnserver and irc transport. In Prosody, those are external, coturn and biboumi.
Rather than trying to reimplement stuff that other projects have done quite nicely, we're focusing on trying to grow the community, network and ecosystem with projects like easy onboarding[1] and Snikket[2].
[1]: https://blog.prosody.im/great-invitations/ [2]: https://snikket.org/