Closed Bug 846403 Opened 11 years ago Closed 6 years ago

(meta) Need more localized error messages in shared/dialer/js/telephony_messages.js

Categories

(Firefox OS Graveyard :: Gaia::Dialer, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: djf, Unassigned)

References

Details

(Keywords: meta)

apps/commuications/dialer/telephony_helper.js has code for displaying error messages to the user if a number cannot be called for some reason.

It includes code to handle 'BadNumberError' and 'DeviceNotAcceptedError' with localized error messages but for any other error, it just prints an error to the console and the user does not see anything.

If the user wants to make a call and the phone cannot make that call, we should tell the user that the call failed. At a minimum we need a localized generic 'call failed: $reason' error message that we can display in this case.  Possibly we would want different localized error messages for different cases.

See the GECKO_CALL_ERROR_* constants in dom/system/gonk/ril_consts.js  It is not clear to me which of these many possible error codes could actually occur in practice.
Errors we're not taking care of at the moment:
"GenericFailure"       => ex: modem dial fail
"InvalidAccessError"   => ex: serviceId param error
"InvalidStateError"    => ex: there is already a dialing call
This bug is out of date and we suspect that it's no longer valid. If you think this is in error, please reopen it.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → WORKSFORME
Nope, this is not :)
Status: RESOLVED → REOPENED
Resolution: WORKSFORME → ---
Depends on: 1042484
In bug 1042484, it was made clear that we have several messages like this that we're currently not handling. We're going to use this as a meta-bug for tracking these issues.

Here is the list of messages that the RIL can currently pass to us:
http://dxr.mozilla.org/mozilla-central/source/dom/system/gonk/ril_consts.js#2621
http://dxr.mozilla.org/mozilla-central/source/dom/system/gonk/ril_consts.js#225
http://dxr.mozilla.org/mozilla-central/source/dom/telephony/gonk/TelephonyService.js#42

Here's the list of messages that TelephonyMessages (the Gaia-side handler) currently handles:
https://github.com/mozilla-b2g/gaia/blob/1a85a538cb0a860b3dc75513fd876b8452d917c5/shared/js/dialer/telephony_messages.js#L85

It looks to me like we're currently missing the following, though there could be more:
NormalCallClearingError
NoUserRespondingError (bug 1042484 handles this)
UserAlertingNoAnswerError
CallRejectedError
NumberChangedError
PreEmptionError
DestinationOutOfOrderError
InvalidNumberFormatError
FacilityRejectedError
CongestionError
NetworkOutOfOrderError
NetworkTempFailureError
BarredError
SubscriberUnknownError
InvalidStateError
GenericFailure

It's not clear to me which ones we should handle, how frequently they occur, and what each of them exactly mean. Hsin-Yi, are there any docs on these? Could you some information on how we can go about handling these?
Status: REOPENED → NEW
Flags: needinfo?(htsai)
Keywords: meta
OS: Mac OS X → All
Hardware: x86 → All
Summary: Need more localized error messages in dialer/js/telephony_helper.js → (meta) Need more localized error messages in shared/dialer/js/telephony_messages.js
(In reply to Doug Sherk (:drs) (use needinfo?) from comment #4)
> In bug 1042484, it was made clear that we have several messages like this
> that we're currently not handling. We're going to use this as a meta-bug for
> tracking these issues.
> 
> Here is the list of messages that the RIL can currently pass to us:
> http://dxr.mozilla.org/mozilla-central/source/dom/system/gonk/ril_consts.
> js#2621
> http://dxr.mozilla.org/mozilla-central/source/dom/system/gonk/ril_consts.
> js#225
> http://dxr.mozilla.org/mozilla-central/source/dom/telephony/gonk/
> TelephonyService.js#42
> 
> Here's the list of messages that TelephonyMessages (the Gaia-side handler)
> currently handles:
> https://github.com/mozilla-b2g/gaia/blob/
> 1a85a538cb0a860b3dc75513fd876b8452d917c5/shared/js/dialer/telephony_messages.
> js#L85
> 
> It looks to me like we're currently missing the following, though there
> could be more:
> NormalCallClearingError

Means call is released normally. Not an error.

For the definitions of the rest error, please refer to Annex. H of the spec [1]. I cannot explain well than the spec itself ;) One thing to note, I didn't remember I've seen most of them reported.

> NoUserRespondingError (bug 1042484 handles this)

Frequency: sometimes and depends on vendor.

> UserAlertingNoAnswerError
> CallRejectedError

Have seen before.

> NumberChangedError
> PreEmptionError
> DestinationOutOfOrderError
> InvalidNumberFormatError
> FacilityRejectedError
> CongestionError
> NetworkOutOfOrderError
> NetworkTempFailureError
> BarredError
> SubscriberUnknownError
> InvalidStateError

Means, a) another call is being in dialing process, b) already has 2 calls (including conference call) on line, cannot serve a new dial request now, and c) No service is available for an emergency call.

> GenericFailure

Frequency: See this one very often. Could happen in any case...

> 
> It's not clear to me which ones we should handle, how frequently they occur,
> and what each of them exactly mean. Hsin-Yi, are there any docs on these?
> Could you some information on how we can go about handling these?

I still think it is valuable to have bug 1043165 fixed first. In this way, Gaia could tell from a dial promise reject error and a call disconnected reason. And then the generic error message "Cannot make a call. If you already dialing, please hang up first" should be displayed only when it's a dial promise reject error. With the new API, even we miss handling for some specific errors, we at least won't display weird messages to user, especially in the situation that a call has already made successfully. I believe it could greatly reduce much confusion. The other thing I'd like to suggest is the generic error message be changed as a much more general one, e.g. "Cannot make a call. Please try again later."

[1] http://www.qtc.jp/3GPP/Specs/24008-930.pdf
Flags: needinfo?(htsai)
(In reply to Hsin-Yi Tsai [:hsinyi] from comment #5)
> (In reply to Doug Sherk (:drs) (use needinfo?) from comment #4)
> > In bug 1042484, it was made clear that we have several messages like this
> > that we're currently not handling. We're going to use this as a meta-bug for
> > tracking these issues.
> > 
> > Here is the list of messages that the RIL can currently pass to us:
> > http://dxr.mozilla.org/mozilla-central/source/dom/system/gonk/ril_consts.
> > js#2621
> > http://dxr.mozilla.org/mozilla-central/source/dom/system/gonk/ril_consts.
> > js#225
> > http://dxr.mozilla.org/mozilla-central/source/dom/telephony/gonk/
> > TelephonyService.js#42
> > 
> > Here's the list of messages that TelephonyMessages (the Gaia-side handler)
> > currently handles:
> > https://github.com/mozilla-b2g/gaia/blob/
> > 1a85a538cb0a860b3dc75513fd876b8452d917c5/shared/js/dialer/telephony_messages.
> > js#L85
> > 
> > It looks to me like we're currently missing the following, though there
> > could be more:
> > NormalCallClearingError
> 
> Means call is released normally. Not an error.

Gecko doesn't report this as an error to gaia. Gaia shouldn't get this type. If there is, please file a bug that we need to fix it.
Depends on: 1052784
Firefox OS is not being worked on
Status: NEW → RESOLVED
Closed: 10 years ago6 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.