9 ms·
They need to release more technical details on this to restore confidence. How can a sandboxed user installed app with limited permissions cause dialing 911 to
by bit_logic 5y ago
They need to release more technical details on this to restore confidence. How can a sandboxed user installed app with limited permissions cause dialing 911 to fail? How do they know other apps won't cause the same issue?
And they mentioned an Android update, but what about the millions of Android phones that aren't getting regular updates? Does that mean there's potentially millions of phones that can't dial 911?
I like Pixel and Android, but am seriously thinking of switching to iphone because I really need a phone I can trust will dial 911 when I need it.
- judge2020 5y agoIt sounds like the issue is that Google didn't specifically exclude the emergency number for {user's country/province} from being sent to third-party calling apps. These apps can register to handle calls for legitimate reasons.
- sorenjan 5y agoBut Android has a list of emergency numbers you can dial without unlocking the phone, why wouldn't they use that?
- jeffbee 5y agoShipping the org chart. One team writes the Lock Screen dialer, some other people wrote the message bus thing that allows apps to intercept calls.
- hef19898 5y agoWhy on earth would you want apps to be able to intercept calls on a phone?
- throwaway744678 5y agoOn Android, you can replace the default phone app. That's by design.
- hef19898 5y agoAh, so MS Teams is a phone app and Android couldn't decide which of the installed phone apps has precedence. Are there similar issues around WhatsApp, Signal,...?
- Arnt 5y agoAssuming that your hypothesis is correct: No. Signal doesn't have that permission and I think whatsapp doesn't either, and neither signal nor whatsapp can be signed out in the first place.
- hef19898 5y agoI wouldn't go so far as calling my post a hypothesis, it was like a guess. Another guess, wouldn't the fact that neither WhatsApp nor Signal are causing the same issues hint at MS Teams being the culprint?
- Arnt 5y agoTeams does the wrong thing, there's no question about that. But it's not clear to me that the Android core is unable to check that the phone app does the job, and has to trust it blindly.
- Fradow 5y agoAndroid use the default "Calling app" when the user wants to make a call. MS Teams is one such "Calling app": the first time you install any other than the default shipped with your phone, you (the user) are presented a choice to choose which one you want to use. After that, Android remembers your choice. This means in this case, MS Teams was configured as the default "Calling app" and the issue could have been prevented at 2 level: - at the Android level, if the user dials an emergency number, don't use the default "Calling app" and use a special "safe" calling app to ensure the call succeed even if a user-installed app is misbehaving. - at the MS Teams level, allow emergency calls to succeed even if the user isn't logged in (or any other reason that could prevent an emergency call to be made, really). As for WhatsApp, at least on my device, it's not a "Calling app", and as such cannot override the default calling app. I don't have Signal installed to check.
- dotancohen 5y ago> Why on earth would you want apps to be able to intercept calls on a phone? My daughter enlightened me to this recently. Android devices are not phones. They are computers that come preinstalled with some apps, one of which is a phone app. Importantly: They are not marketed as PHONES. They are marked as "Smartphones". Just search for the word "phone" on the websites of any major Android device manufacturers. The distinction is important. Be careful when punishing children from "using the phone". Today, this means that they cannot use the app called "phone". This incident is a stark reminder that "phone" is an app today, not a physical device.
- hulitu 5y agoAndroid devices are more like appliances than computers. C compilers ? No. Shells ? No. There are some BASIC interpreters thoght, which is a start.
- HPsquared 5y agoTermux lets you run a sandboxed Linux system (can even include a desktop environment, rendered via VNC). You can run C compilers and whatever else.
- dotancohen 5y agoSure, I'll accept that. But the point isn't that the devices _are_ something specific, rather, the point was that the device _isn't_ considered a phone by the manufacturers. "Phone" is one function of the device, but no even its major selling point.
- dragonwriter 5y ago> Android devices are more like appliances than computers. C compilers ? No. Yes, actually. > Shells ? No. Also, yes. > There are some BASIC interpreters thoght, which is a start. There are also Java, etc., IDEs with which you can develop full Android apps. And have been for nearly a decade, at least.
- hef19898 5y agoI think you are right! Also thanks for reminding me that I'm pushing forty!
- izacus 5y ago> Why on earth would you want apps to be able to intercept calls on a phone? Because there are housands of users even on HN that WANT apps like Signal to be able to manage secure encrypted calls like a first-party app with the same rights. Basic software freedom and all that.
- rekoil 5y agoYes, but, in addition to not instead of... right? I want Signal, Slack, Teams, my apartment buildings intercom system, etc, to be able to present their own native incoming calls through the same dialogs that regular calls come through. But not at the cost of potentially not being able to call emergency services...
- iggldiggl 5y agoIncoming calls or manually dialling a number directly through the respective app is a different matter, but when you click a stored number in your contacts list, or a phone link in your browser or another app, or anything like that, that app just hands the number to the OS and basically says "please call this number for me". If you want to allow alternative VOIP apps and things like that to exist, at that point the OS must allow routing that number to any app that claims it can handle (outgoing) phone calls.
- rekoil 5y agoYeah sure, and for most things it's fine if things break, irritating and bad press, but fine. Things like calling emergency services can never be allowed to break. It must have fallbacks, if it even needs to be allowed to be overridden in the first place.
- iggldiggl 5y agoAccording to this old bit of documentation (https://android-developers.googleblog.com/2013/05/handling-phone-call-requests-right-way.html https://android-developers.googleblog.com/2013/05/handling-p...), the usual way of intercepting call requests should already handle emergency calls ("Note that the system broadcasts NEW_OUTGOING_CALL only for numbers that are not associated with core dialing capabilities such as emergency numbers."), so it'd be interesting to know what went wrong in this case (and why only on Android 10 and newer), but until then it's hard to say more and it's all just speculation…
- numpad0 5y agoThere is a fallback call flow for emergency calls in cases where the phone cannot register properly but it would be nice to be able to overlook missing bureaucratic elements and just save lives, and that’s what “Emergency Calls Only” signifies, but it probably only activates when normal flow fails.
- sorenjan 5y ago> And they mentioned an Android update, but what about the millions of Android phones that aren't getting regular updates? That's my concern as well. My phone stopped getting updates from the manufacturer after getting Android 10, which is affected by this bug according to the linked comment. How are they going to get this update out to phones that the manufacturers has abandoned after the usual two years of updates?
- floxy 5y agoOn the plus side, can a two year old phone even run the bloatware that is Teams?
- NikolaNovak 5y agoFwiw my galaxy note 8 runs it perfectly. I think my iPhone xr is also more than 2 years and no issues. I'm not saying I love the tool, but phone performance itself is not the reason for me. YMMV.
- Semaphor 5y agoEasily. My mid-range phone (OnePlus 5) is 4.5 years old, phones are powerful and have been for a long time.
- throwaway946513 5y agoMy iPhone 6s runs Teams just fine. Granted notifications continue to display on my phone, even when I'm on the desktop or using Teams directly - but nonetheless it still works when I need it to (on iOS, can't say the same for the Android fellows rn)
- awill 5y agoI have always had Pixels which get monthly updates, but this is a crucial point. Even if Google says "hey guys, we fixed it in AOSP, aren't you proud of us?" No Google, we're not. This AOSP fix won't come to millions and millions of users.
- Spivak 5y agoI mean if it will never be updated again how could you fix any issue ever? Like yeah this one is particularly severe but any resolution will be an update of some kind to the software.
- awill 5y agoWhat's really terrible here is that Google are saying they won't fix this until their regularly scheduled January release. SERIOUSLY..... They won't rush a fix out for this? Not even for this??? Unbelievable.
- raverbashing 5y agoIsn't the workaround to uninstall Teams?
- Arnt 5y agoNo, to uninstall and reinstall.
- awill 5y agoI suspect millions of Android/Teams users will never hear of this bug. They won't realize there's action they could take.
- laumars 5y agoAnd what if there is another app that causes the same bug? Teams doesn’t have any special permissions so one has to assume there are more apps out there that could be a problem.
- gotbeans 5y ago> teams doesn't have any special permissions Is that really true though? Scrolling through the permission list on teams, there's a whole bunch I don't usually expect on most apps, ie. "Route calls through the system" (id imagine this is the one needed to implement voip service on top of android). And it gets even worse for apps that can create corporate profiles so they can be administratively controlled remotely by the corp. That's next level of permission bs one has to give up to.
- laumars 5y ago
- xg15 5y ago> How can a sandboxed user installed app with limited permissions cause dialing 911 to fail? No idea about this particular problem, but my takeaway was that Android apps are more similar to web extensions with service workers than to traditional executables. An app can register itself for all kinds of OS hooks during install. When a hook is triggered, the OS will send an event to the appropriate process of that app. If no process is running, the OS will launch one. This means there is not a lot of meaningful distinction between "running" and "not running" on Android: As long as the app is installed, the OS may run code from that app at any time. (This is why you can have half a dozen messenger apps running "in the background" without draining your battery: There is no actual background process for each messenger, just entries in a database somewhere. When a new message comes in, the OS receives a push notification, displays a message to the user styled according to the app's configuration - and might eventually launch a process for the app if the user interacts with the message.) So it's quite possible that the Teams app registers itself for some kind of "outgoing phone call" hook, and there was a bug in Teams' handling of that.
- avsteele 5y agoSo, this implies that a serious bug in any program with the 'call' hook could prevent your phone from making a call, even 911? Seems like a big deal! In software I write, the logic for 'emergency' priority events doesn't go through the same call chain for this reason.
- xg15 5y agoNot an Android expert, but this is how it seems to me. It's Google's responsibility to implement the hooks in a secure way, so that an app that is registered e.g. for the "call" hook cannot prevent the call from taking place. Seems that somewhere in there, someone messed up.
- kuschku 5y agoThe issue is that you might have a device where emergency calls have to be routed through a VoIP app, per legal requirements, e.g. if no cellular emergency calling is available (e.g. on voip-enabled wifi-only devices, or on voip-enabled devices in locations without cellular signal))