I’ve been wanting to do this for years, and I finally got around to it.
I have ported my personal phone number over to JMP.chat.
Basically this means I can access all of my calls, texts, and video chats from
any device using entirely free software that is under my direct control.
It also means that my phone bill is paid using Monero.
If you don’t feel like setting up/maintaining your own XMPP server, they’ll host a complimentary Snikket instance for you.
But honestly setting up ejabberd on a Debian server isn’t all that difficult, and there’s even a Landchad tutorial.