I think ejabberd is ok (provides all server functions we need) but it lacks a web client to use it without installing software on the client.
Here are some candidates including a howto.
An XMPP alternative would be openfire, it has an admin interface and plugins (like webclient) but not more functions on server side than ejabberd. Another approach is the federated matrix-synapse.
Webtop already integrates all services (audio/video chat in beta but I never tested) but it’s always good to have alternatives.
SOGo doesn’t support it so we have Nextcloud that provides groupware and UC but I didn’t test the UC functions yet.
That’s right, it’s a mess with mobile client apps. Mail, calendar, IM, voice, video, many apps supporting different protocols.
Maybe we could do some client testing to find good clients (supporting more functions/protocols) to not need a bunch of apps and improve the user experience.