For the last month, I’ve been using XMPP (using Snikket) for every call and chat between me and my wife Sandra, at least.
Sandra and I switched from using Matrix to using XMPP a while back. Matrix was pretty good for messaging, although quite a few encryption-related issues, but it - or my installation of it, possibly - was unreliable for audio and video. Sometimes it would work, sometimes it would not.
Moving to XMPP - using prosody - worked really well for messaging, but the lack of real-time notifications on Sandra’s iPhone was sub-optimal, and the lack of any notifications for incoming XMPP calls on her phone was really undesirable.
I installed Snikket, a self-contained XMPP distribution just over a month ago and, since then, we’ve tried to use that for every call and message.
And we have very nearly succeeded - I can think of only two times where I fell back on using a cellular call instead of an XMPP call: