Seriously. I hate that AT&T has always been so stubborn. Why not allow VoWiFi on any phone that will run on its network. Same thing with some exceptions on Verizon. Why make it so hard for people to want to sign up for service. Because they think locking people into carrier locked phones with gigabytes worth of bloatware will generate more revenue, is the real reason. Not "we want to ensure the best possible experience / certify that all phones will work on our network..." What a load of BS.
I would never consider T-Mobile if AT&T was more liberal with their unlocked phone policies. I'm betting several people are the same way.
Yeah, it's a lousy, customer-hostile decision to limit devices that can get VoLTE and VoWiFi. What's even weirder is that an occasional unlocked phone will slide through, like one of the HTCs, and the Amazon Prime Edition of the LG V35, but AT&T blocks the major phones that people actually want, i.e. the Pixel series, OnePlus series, and Moto E/G/X.
I think it's more for customer retention and lock-in on payment plans than anything else, but it just creates a crappy user experience, and it's extremely confusing for even the most hardcore phone geeks. I think they want to create fear and confusion, plush people back into the payment plans, and have them effectively in a sort of no-contract contract.
The problem is, I wouldn't consider T-Mobile with their current network, because AT&T's network has much better coverage, it's just AT&T is the new Verizon in terms of being hostile to unbranded/unlocked devices. The other issue is that T-Mobile has the same problem, except it's not their fault. USCC blocks unbranded devices on T-Mobile from VoLTE roaming, so you lose HUGE coverage areas in places like Maine and Wisconsin.
It doesn't really directly affect me, as I've been with AT&T for 14 years, and I'm not leaving anytime soon, but it's just frustrating that I can't have a clean, factory unlocked device, and I have to put up with AT&T bloatware, and go through the process every time I get a new phone to pay the device off and request unlock codes through AT&T. And now if I want to move my old device off to another carrier when I get my new one, I have to re-flash it with unlocked firmware, or the firmware of the carrier I want to move it to.
I love my Moto G6, as it's truly free and unlocked, but as a result, only T-Mobile will support VoLTE and VoWiFi on it, and only then on their native network. What I plan on doing when I get a new phone (most likely Note 9) is to flash my S7 over to Verizon, put it on XFinity Mobile when they allow BYOD Android, and then when my free year on Sprint runs out, put the Moto G6 on Project Fi, so that I will have access to all 5 major carriers. At some point, I'm hoping for a sub-$300 B71-capable Project Fi phone, but that may take another year or two. Sprint is great to have, since I get USCC CDMA roaming in addition to native Sprint.