After trying all the remedies I could find on-line I finally came up with a real one working with a GREAT T-Mobile support person.
T-Mobile offers a CellSpot router (TM AC-1900) that will fix the problem.
I tried it and it did eliminate the problem.
It is basically a customized Asus RT AC68U.
The modification essentially gives WiFi calling the highest priority for bandwidth on the router.
I already had an AC68U and wanted to use it instead.
If you have an AC68U, N66U, or other router that has a Traffic Manager and/or QoS (Quality of Service) settings, you can do the same thing with your own router.
Go to your Traffic Manager.
Turn QoS on.
Go to User-defined QoS Rules.
Enter the following two rules giving them a meaningful name like "WiFi Calling", enter the MAC for your phone, enter at least 85% of your available bandwidth (e.g 0-42500 if your maximum transfer rate is 50 Meg), the highest priority and:
Rule 1: Destination port "4500" Protocol "UDP"
Rule 2: Destination port "5060, 5061" Protocol "TCP"
Doing this I went from very repeatable ER081/082 to no problems at all.
This does not really help if you need wi-fi calling outside home. I need it at work, can't play with the wifi there...
Enabling IPSec passthrough fixed this issue for me
Wi-Fi calling uses IP. Their engineering is of course ready to use and it doesn't get disconnected as long as you make persistence configuration from the router. And these protocols doesn't get bothered much so QoS isn't requiring. However this is very difficult to setup more than regular port forwarding.
If you are looking for permanent solution without any router configurations and want something works right after plug the cable in, use one of these.
50/50 shot. Works about half the time I am helping friends. Settings -General - System - Reset - Network Settings Reset - Reset Settings. re-enter WiFi password. Simple and effective about half the time.