Good old XMPP. If it wasn't so intimidating to setup from a layman's perspective, I'd probably run my own relay(?) at home and use it for direct communication with close family/friends.
Take a look at this up-to-date howto for Prosody: https://homebrewserver.club/configuring-a-modern-xmpp-server...