Looking for self-hosted instant messaging software with mobile apps and calling

I’m evaluating self-hosted instant messaging software for a project.

The basic requirements are fairly simple: private chat, group messaging, file sharing, Android/iOS support and voice calling. We don’t necessarily need all the collaboration features found in Slack or Teams.

I’ve been looking at Matrix, Rocket.Chat, Mattermost and MirrorFly, but I’m having trouble deciding which direction makes sense.

For people who have deployed something similar, what would you choose today and why?

Have you tried Nextcloud? Can deploy free or cheap in Europe. Federated.computer will deploy for you and manage updates (this is the biggest headache with self-hosted) – they even have an enterprise plan where you can deploy on your own server / VPS and they manage updates. I like their deployment of N8N & Vaultwarden & some others.
I believe Ionos and Hetzner may also have some managed Nextcloud deployments. It’s basically a full-featured replacement of Teams or Slacks (of course, with its own quirks as all do).
You could also look at Element/Matrix – Federated has that too.
(BTW - I don’t make any money from Federated just a happy customer because maintaining self-hosted software was killing my time).