There is a reason this materialized with teams and not with any one of the 10's of thousands of other apps out there: Teams is by far the most invasive piece of shit there is, it tries to hook into everything it can get its grubby little endpoints into.
Both parties are to blame. Teams shouldn't have behaved the way it did, Android should have failsafes to prevent this from happening. A great example of not letting developers do what they want...
Sure, Android should absolutely not allow any apps to interfere with 911 calls, and so however Teams achieves this, should not be possible. But some blame certainly goes to Teams here as well for causing the situation by trying.
One thing I do want to point out is that "not allowing any apps to interfere with 911 calls" is much more complex than it sounds:
1. What about someone who has a tablet (with no cellular functionality) but has a VoIP app installed?
Clearly, the only way to call 911 on such a device would be for it to go through the VoIP app, so it seems like Android at the very least still needs VoIP apps to be able to handle 911 calls under certain circumstances, such as when there is no cellular functionality.
2. How about a situation where a cellular phone has no communication with any cell towers (for any network) but has a VoIP app installed and access to wifi?
Unlikely, to be sure, but possible. In this case, the only way for the phone to reach 911 would, again, be through the VoIP app. If 911 access must get through no matter what, Android would have to let the call go through the app, despite that the phone has cellular functionality.
Those are likely just a couple of instances and there's almost certainly others I haven't thought of.
A solution could be to give the Android system dialer first preference. If it fails to call the number (network issues, no signal) it could automatically pass off the call to the first registered VoIP app
That said, the Google Play store should also have more stringent reviews for apps that want dialer access. Their review should verify whether emergency services can be called regardless of signed-in status, and location
I would be happy to get that somewhere in Google someone is either signing off on such a review requirement right now or has done so in the last couple of days.
I suspect that this little tidbit here is the root cause:
"If a Teams client is not located at a tenant-defined dynamic emergency location, emergency calls from that client are screened by a national call center to determine the location of the caller before transferring the call to the PSAP serving that geographic location."
Also, "If a Teams client for a United States Calling Plan user doesn't dynamically acquire an emergency address within the United States, then the registered emergency address is used to help screen and route the call. However, the call will be screened to determine if an updated address is required before connecting the caller to the appropriate PSAP."
Which is a clear violation of Kari's Law. A business phone system in the US is absolutely not allowed to intercept and divert 911 calls.