Bug 793178 (MMI)

[meta] B2G RIL: Support MMI codes

RESOLVED FIXED

Status

()

Core
DOM: Device Interfaces
RESOLVED FIXED
6 years ago
5 years ago

People

(Reporter: ferjm, Unassigned)

Tracking

Trunk
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 obsolete attachment)

(Reporter)

Description

6 years ago
Currently we only support USSD codes as specified in 3GPP TS 22.090[1], while we should also be supporting the more general MMI codes spec at 3GPP TS 22.030[2].

"As far as I can tell, MMI codes seems not being correctly handled.
See https://android.googlesource.com/platform/frameworks/opt/telephony/+/master/src/java/com/android/internal/telephony/gsm/GsmMmiCode.java for Android.

Some examples:

    *#6# is expected to return the IMEI
    *#21# is expected to return the call forwarding status

Currently, it seems all those codes are sent as USSDs which is invalid.

For example, Android 4.1.1 on Nexus S, when sendind MMI code #21#, |logcat -b radio| shows:
D/GSM ( 479): dialing w/ mmi 'GsmMmiCode {State=PENDING action=# sc=21 poundString=*#21#}'...

This behavior is explained as of https://android.googlesource.com/platform/frameworks/opt/telephony/+/master/src/java/com/android/internal/telephony/gsm/GSMPhone.java in method dial(), which calls processCode() of the GsmMmiCode class. One can see that all MMI codes defined in this GsmMmiCode have specific handling.

Following the call forwarding status example, we can see that it finally calls a phone.mCM.queryCallForwardStatus(), which is defined in https://android.googlesource.com/platform/frameworks/opt/telephony/+/master/src/java/com/android/internal/telephony/RIL.java which clearly does not looks like a USSD request."

The device certification requirements that depends on MMI codes and that we should take care of are related to:
- SIM/USIM interface via MMI codes (entry, change and unlock of PIN and PIN2).
- Presentation of IMEI.
- Call forwarding.

I'll be filling bugs blocking this one related to each of this features along with other work required for implementing MMI code support.

[1] http://www.quintillion.co.jp/3GPP/Specs/22090-a00.pdf
[2] http://www.quintillion.co.jp/3GPP/Specs/22030-800.pdf
(Reporter)

Updated

6 years ago
Blocks: 710489
(Reporter)

Updated

6 years ago
Depends on: 793186
(Reporter)

Updated

6 years ago
Depends on: 793187
(Reporter)

Updated

6 years ago
Depends on: 793189
(Reporter)

Updated

6 years ago
Depends on: 793192
If required for device certification, this should block. Fernando, can you link to the certification requirements?
blocking-basecamp: --- → ?
(Reporter)

Comment 2

6 years ago
(In reply to Dietrich Ayala (:dietrich) from comment #1)
> If required for device certification, this should block. Fernando, can you
> link to the certification requirements?

I am afraid that the docs that I have regarding certification requirements are TEF property and I am not sure that I am allowed to make them public. I can ask for it though (Daniel Coloma, in CC, might know). Anyway, if I am not wrong MOZ and TEF are already sharing this docs.

BTW, should we block on meta bugs?
(In reply to Fernando Jiménez Moreno [:ferjm] from comment #2)
> BTW, should we block on meta bugs?

No :)
blocking-basecamp: ? → ---

Comment 4

6 years ago
Fernando told me that this is required for device certification. So, in this case, I think it should block.
blocking-basecamp: --- → +

Comment 5

6 years ago
(In reply to Fernando Jiménez Moreno [:ferjm] from comment #0)
> Currently we only support USSD codes as specified in 3GPP TS 22.090[1],
> while we should also be supporting the more general MMI codes spec at 3GPP
> TS 22.030[2].
> 
> "As far as I can tell, MMI codes seems not being correctly handled.
> See
> https://android.googlesource.com/platform/frameworks/opt/telephony/+/master/
> src/java/com/android/internal/telephony/gsm/GsmMmiCode.java for Android.
> 
> Some examples:
> 
>     *#6# is expected to return the IMEI
I think it should be *#06#. 
>     *#21# is expected to return the call forwarding status
> 
> Currently, it seems all those codes are sent as USSDs which is invalid.

Comment 6

6 years ago
Since this is a meta bug, I will remove the basecamp+ flag and flag all depending bugs on(793186, 793187, 793189, and 793192).
blocking-basecamp: + → ---
(In reply to khu from comment #5)
> (In reply to Fernando Jiménez Moreno [:ferjm] from comment #0)
> > Currently we only support USSD codes as specified in 3GPP TS 22.090[1],
> > while we should also be supporting the more general MMI codes spec at 3GPP
> > TS 22.030[2].
> > 
> > "As far as I can tell, MMI codes seems not being correctly handled.
> > See
> > https://android.googlesource.com/platform/frameworks/opt/telephony/+/master/
> > src/java/com/android/internal/telephony/gsm/GsmMmiCode.java for Android.
> > 
> > Some examples:
> > 
> >     *#6# is expected to return the IMEI
> I think it should be *#06#. 
> >     *#21# is expected to return the call forwarding status
> > 
> > Currently, it seems all those codes are sent as USSDs which is invalid.

Yes it's *#06#, ferjm copied my original bug and I did not noticed that github fucked up this string :)
(Reporter)

Updated

6 years ago
Depends on: 794011
(Reporter)

Updated

6 years ago
Blocks: 796657
(Reporter)

Updated

6 years ago
Depends on: 805789
(Reporter)

Comment 8

6 years ago
Created attachment 678477 [details]
Pointer to Github pull request: https://github.com/mozilla-b2g/gaia/pull/6179

Pointer to Github pull-request
(Reporter)

Updated

6 years ago
Attachment #678477 - Flags: review?(francisco.jordano)
(Reporter)

Comment 9

6 years ago
Comment on attachment 678477 [details]
Pointer to Github pull request: https://github.com/mozilla-b2g/gaia/pull/6179

Sorry, wrong bug... :\
Attachment #678477 - Attachment is obsolete: true
Attachment #678477 - Flags: review?(francisco.jordano)
(Reporter)

Updated

6 years ago
Status: NEW → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
(Reporter)

Updated

6 years ago
Alias: MMI
(Reporter)

Updated

6 years ago
Depends on: 810178
(Reporter)

Updated

6 years ago
No longer depends on: 810178
(Reporter)

Updated

6 years ago
Depends on: 813679
(Reporter)

Updated

6 years ago
Depends on: 823890
(Reporter)

Updated

6 years ago
Depends on: 823892
(Reporter)

Updated

5 years ago
Depends on: 879032
(Reporter)

Updated

5 years ago
Depends on: 883048
(Reporter)

Updated

5 years ago
Depends on: 889737

Updated

5 years ago
Depends on: 899400

Updated

5 years ago
Depends on: 891242
You need to log in before you can comment on or make changes to this bug.