Impossible to end a call after switching to airplane mode

Bug #1445580 reported by Antoni
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
dialer-app (Ubuntu)
Invalid
Undecided
Unassigned
indicator-network (Ubuntu)
Invalid
Undecided
Unassigned
ofono (Ubuntu)
Fix Released
Medium
Alfonso Sanchez-Beato
telephony-service (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

As I described here
https://lists.launchpad.net/ubuntu-phone/msg12177.html
I accidentally switched the phone to the airplane mode while having an active incoming call. As a result it is impossible to end a call - the red button does not end the call.

The bug is easy to reproduce:
1. Make a call to your Ubuntu phone and answer it.
2. Switch on 'airplane mode'
3. As a result you get unusable phone.

Of course switching gsm off while having an active call is not a typical use of the phone, but still the phone should react to this situation differently.

Another thing is that I somehow switched gsm off while holding my phone to my ear (which may suggest some issue with the top panel) - but I don't know how to reproduce this, hence currently I treat this as an very unfortunate accident.

Workaround for ending the call: make another incoming call to your phone.

BQ (r21)

<https://wiki.ubuntu.com/Networking#flight-mode>: "When you turn on Flight Mode: 1. If a phone or Voip call is in progress, an alert should appear, “Turning on Flight Mode will end your call.”, with buttons “Cancel” and “End Call”. The alert should close automatically if the call finishes by itself."

Related branches

Revision history for this message
Jonathan Cave (jocave) wrote :

Version: ubuntu-touch/stable/bq-aquaris.en r21 krillin

Confirmed - the dial carries on as if the call hasn't ended (duration continues increasing).

Looks like dialer does realise call has been pulled from under it.

Changed in canonical-devices-system-image:
status: New → Confirmed
Changed in canonical-devices-system-image:
importance: Undecided → High
importance: High → Medium
assignee: nobody → Bill Filler (bfiller)
Revision history for this message
Jonathan Cave (jocave) wrote :

/usr/share/ofono/scripts/list-calls shows nothing active.

Revision history for this message
Tiago Salem Herrmann (tiagosh) wrote :

The modem goes to flight mode (online = 0), but never changes the state of the calls to "disconnected". Not sure what's the expected behavior here in ofono, but I belive ofono should set the State to "disconnected" and DisconnectReason to "network" in such case.

We could also force terminate the calls in tp-ofono when the modem goes offline as well.

Revision history for this message
Alfonso Sanchez-Beato (alfonsosanchezbeato) wrote :

I have been testing this, and it is racy: in some cases ofono drops the call (no output from list-calls) and in other cases it does not (list-calls shows calls even after with flight mode set). It depends on the order in which urfkill switches off the slots.

Changed in ofono (Ubuntu):
assignee: nobody → Alfonso Sanchez-Beato (alfonsosanchezbeato)
Revision history for this message
Alfonso Sanchez-Beato (alfonsosanchezbeato) wrote :

This PR fixes the issue on the ofono side:

https://github.com/rilmodem/ofono/pull/177

However, there is still some problem in telepathy/dialler even with the patched ofono. Doing:

1. Start call from dialler
2. Set flight mode (call is dropped)
3. Unset flight mode
4. Start a second call from dialler
5. Set flight mode (call is dropped)
6. Unset flight mode
7. I cannot start call from dialler: pressing the dial button does nothing.

I have checked that the disconnect events for the previous calls are generated and that I can start a call from the command line (activate-call).

Changed in ofono (Ubuntu):
status: New → In Progress
Revision history for this message
Tony Espy (awe) wrote :

I marked the dialer(app) task as Incomplete, as I'm not sure it requires a change.

I also added an indicator-network task as it's not clear the indicator should allow flight-mode to be enabled when an active call exists. This should absolutely be prevented during an emergency call, but I would argue that it should be prevented during any active calls.

I'm not sure if there's a separate Unity/framework mechanism which would prevent "ear-induced-flight-mode", but maybe this could be accomplished via the proximity sensor as an alternative ( only if foolproof ).

Changed in dialer-app (Ubuntu):
status: New → Incomplete
Revision history for this message
Antoni (wynajem-pn) wrote :

I agree that the 'flight mode' switch should be somehow disabled during active call, but I would not dismiss completely the need to fix the dialer app. I have no idea how exactly the communication between dialer and modem is organized, but I can imagine some other methods to fall into this bug - like accidentally removing sim card (for example by dropping the phone), or by losing gsm connection. The dialer app should be prepared for such cases.

Tony Espy (awe)
Changed in ofono (Ubuntu):
status: In Progress → Fix Committed
importance: Undecided → High
importance: High → Medium
Changed in canonical-devices-system-image:
status: Confirmed → In Progress
Revision history for this message
Alfonso Sanchez-Beato (alfonsosanchezbeato) wrote :

While testing the ofono landing that drops the call, I have seen many problems with dialler/telephony service after calling/setting FM/unsetting FM. If I do not re-start the dialler app, audio is not working when pressing buttons. I can dial, but I cannot drop the call (from the app, the ofono script works), and some random failures (see comment #5 too). I will add a telephony-service task.

Until it lands, the patched ofono is in silo 27:

https://launchpad.net/~ci-train-ppa-service/+archive/ubuntu/landing-027

in case somebody wants to use it for debugging dialler/telephony-service.

Revision history for this message
Matthew Paul Thomas (mpt) wrote :

The Phone app does need to handle cases that software can't, like ejecting the SIM or going out of range. But entering Flight Mode is something you do interactively, so likely mistakes should be handled interactively. And this exact case has been in the "Flight Mode" section of the Networking spec since April 2014. <https://wiki.ubuntu.com/Networking?action=diff&rev2=165&rev1=164>

(If the design is inappropriate, then let's change it, but that doesn't seem to be the issue here. If there's anything I can do to make it easier or more fun for engineers to ask "I wonder what the spec says about this?", please let me know.)

description: updated
Changed in indicator-network (Ubuntu):
status: New → Triaged
affects: telephony-service → telephony-service (Ubuntu)
Bill Filler (bfiller)
Changed in telephony-service (Ubuntu):
status: New → Incomplete
status: Incomplete → Invalid
Revision history for this message
Tim Peeters (tpeeters) wrote :

I just experienced the same with image r22, 20150508 on the bq ubuntu phone.

In the middle of a phone call, where I was holding the phone to my ear (so interaction should be blocked), the phone call finished (I could not hear the person at the other end of the line speaking any more), but pushing the hang-up button did not do anything.

I rebooted the phone, and both sim cards were not detected and then I saw that flight mode was on. After switching off flight mode I needed another reboot to get it to work again.

So there are two issues here:
1. Interaction was not blocked while I was in a phone call
2. Dialer app does not detect that flight mode gets enabled and the sim card is disabled.

Since then I have been trying to see if the proximity sensor works properly while in a phone call. Once I managed to push the hang-up button while the phone was on my ear (I couldn't see if the screen was on or off). But afterwards I have been testing and the proximity sensor seems fine now, the screen turns off and does not respond to touch when I hold my finger (or ear) close to the camera.

Revision history for this message
Tim Peeters (tpeeters) wrote :

So issue 2 of my previous comment is what is being tracked in this bug. For issue 1, I reported a new bug: https://bugs.launchpad.net/ubuntu/+source/telepathy-ofono/+bug/1454845

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ofono - 1.12.bzr6894+15.04.20150424.1-0ubuntu1

---------------
ofono (1.12.bzr6894+15.04.20150424.1-0ubuntu1) vivid; urgency=medium

  [ Tony Espy ]
  * rilmodem/gprs-context.c: notify if call-list is empty (LP: #1435328)

  [ Alfonso Sanchez-Beato ]
  * test/create-ia-context: new test script to create IA contexts
  * rilmodem/voicecall.c: drop call if radio is not available (LP: #1445580)
 -- CI Train Bot <email address hidden> Fri, 24 Apr 2015 10:18:19 +0000

Changed in ofono (Ubuntu):
status: Fix Committed → Fix Released
Bill Filler (bfiller)
Changed in canonical-devices-system-image:
assignee: Bill Filler (bfiller) → nobody
no longer affects: canonical-devices-system-image
Pete Woods (pete-woods)
Changed in indicator-network (Ubuntu):
status: Triaged → Invalid
Changed in dialer-app (Ubuntu):
status: Incomplete → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.