Matrix works, but it's way harder and more expensive to selfhost than for example XMPP, which can be hosted even on cheapest VPS or first RPi. I would definitely take the cost and "how hard is it to maintain in the long run" into consideration.
Mattermost also works and is pretty easy to selfhost, but it doesn't have federation.
Another option is always an email with delta.chat - I don't think it offers voice calling, but email is one of the most basic services one can host, and many automated solutions to help with that exist.