If you think a bug might affect users in the 57 release, please set the correct tracking and status flags for Release Management.

[User Story] [Suplementary Services] Permanent MMI codes: support calling line identification restriction (+CLIR)

VERIFIED FIXED in Firefox 26

Status

()

Core
DOM: Device Interfaces
VERIFIED FIXED
4 years ago
4 years ago

People

(Reporter: jaoo, Assigned: jaoo)

Tracking

Trunk
mozilla25
ARM
Gonk (Firefox OS)
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(blocking-b2g:koi+, firefox26 fixed)

Details

(Whiteboard: [TEF][UCID:Comms30, FT:comms, KOI:P1][Sprint 1][Status: under development] u=commsapps-user c=dialer p=0)

Attachments

(1 attachment, 2 obsolete attachments)

Handle support calling line identification restriction feature through MMI codes.
(Assignee)

Comment 1

4 years ago
Created attachment 774610 [details] [diff] [review]
WIP v1

WIP. MMI codes: CLIR (non-temporary ones)
(Assignee)

Comment 2

4 years ago
Created attachment 775584 [details] [diff] [review]
WIP v2

Carol, since CLIR feature handled by MMI codes is already supported by commercial RIL could you take a look at how we have implemented it please? We still need to figure out how to implement the *31#<number> case.
Attachment #774610 - Attachment is obsolete: true
Attachment #775584 - Flags: feedback?(cyang)

Comment 3

4 years ago
(In reply to José Antonio Olivera Ortega [:jaoo] from comment #2)
> Created attachment 775584 [details] [diff] [review]
> WIP v2
> 
> Carol, since CLIR feature handled by MMI codes is already supported by
> commercial RIL could you take a look at how we have implemented it please?
> We still need to figure out how to implement the *31#<number> case.

Yeah, looks about right here.

Updated

4 years ago
Attachment #775584 - Flags: feedback?(cyang)

Updated

4 years ago
Summary: MMI codes: support calling line identification restriction (+CLIR) → Permanent MMI codes: support calling line identification restriction (+CLIR)

Updated

4 years ago
blocking-b2g: --- → koi?

Updated

4 years ago
Summary: Permanent MMI codes: support calling line identification restriction (+CLIR) → [User Story] [Suplementary Services] Permanent MMI codes: support calling line identification restriction (+CLIR)
(Assignee)

Comment 4

4 years ago
Created attachment 777395 [details] [diff] [review]
MMI codes: support CLIR. v1

Fernando, this patch adds support for calling line identification restriction feature through MMI codes. Could you take a look please? Thanks!
Attachment #775584 - Attachment is obsolete: true
Attachment #777395 - Flags: review?(ferjmoreno)
Blocks: 887455
Whiteboard: u=commsapps-user c=dialer p=0 → [UCID:Comms30, FT:comms, KOI:P1] u=commsapps-user c=dialer p=0
blocking-b2g: koi? → koi+

Updated

4 years ago
Whiteboard: [UCID:Comms30, FT:comms, KOI:P1] u=commsapps-user c=dialer p=0 → [TEF][UCID:Comms30, FT:comms, KOI:P1] u=commsapps-user c=dialer p=0

Comment 5

4 years ago
Comment on attachment 777395 [details] [diff] [review]
MMI codes: support CLIR. v1

Review of attachment 777395 [details] [diff] [review]:
-----------------------------------------------------------------

Thanks jaoo!

r=me with the nits addressed, please.

::: dom/system/gonk/ril_consts.js
@@ +2600,5 @@
> +this.MMI_SM_CLIR_PERMANENT = "smClirPermanent";
> +this.MMI_SM_CLIR_DEFAULT_ON_NEXT_CALL_ON = "smClirDefaultOnNextCallOn";
> +this.MMI_SM_CLIR_DEFAULT_ON_NEXT_CALL_OFF = "smClirDefaultOnNextCallOff";
> +this.MMI_SM_CLIR_DEFAULT_OFF_NEXT_CALL_ON = "smClirDefaultOffNextCallOn";
> +this.MMI_SM_CLIR_DEFAULT_OFF_NEXT_CALL_OFF = "smClirDefaultOffNextCallOff";

Use the same nomenclature as the rest of the status message key strings: MMI_SM_KS_*, please.

::: dom/system/gonk/ril_worker.js
@@ +5003,5 @@
>    options.n = Buf.readUint32(); // Will be TS 27.007 +CLIR parameter 'n'.
>    options.m = Buf.readUint32(); // Will be TS 27.007 +CLIR parameter 'm'.
> +
> +  if (options.rilMessageType === "sendMMI") {
> +    var statusMessage;

s/var/let

@@ +5005,5 @@
> +
> +  if (options.rilMessageType === "sendMMI") {
> +    var statusMessage;
> +    // TS 27.007 +CLIR parameter 'm'.
> +    switch (options.m) {

In general, add a default case for switch statements where possible. In this case unexpected n or m parameter should probably trigger a generic error.

@@ +5024,5 @@
> +      case 3:
> +        // TS 27.007 +CLIR parameter 'n'.
> +        switch (options.n) {
> +          // Default.
> +          case 0:

Is it possible to use the consts that you declared in ril_consts.js for the case conditions?

CLIR_DEFAULT = 0;
CLIR_INVOCATION = 1;
CLIR_SUPPRESSION = 2;

@@ +5030,5 @@
> +            break;
> +          // CLIR invocation.
> +          case 1:
> +            statusMessage = MMI_SM_CLIR_DEFAULT_ON_NEXT_CALL_ON;
> +            break;

You don't need to dup the case handlers.

// Default.
case 0:
// CLIR invocation.
case 1:
  statusMessage = MMI_SM_CLIR_DEFAULT_ON_NEXT_CALL_ON;
  break;

@@ +5050,5 @@
> +          case 1:
> +            statusMessage = MMI_SM_CLIR_DEFAULT_OFF_NEXT_CALL_ON;
> +            break;
> +          // CLIR suppression.
> +          case 2:

Same as above, group the cases by handler.

@@ +5056,5 @@
> +            break;
> +        }
> +        break;
> +    }
> +    options.statusMessage = statusMessage;

This assignment will be done even if statusMessage is not valid as result of a previosly identified error. Could you just directly assign to options.statusMesssage instead of using the statusMessage variable?

@@ +5066,5 @@
>    options.success = (options.rilRequestError === 0);
>    if (!options.success) {
>      options.errorMsg = RIL_ERROR_TO_GECKO_ERROR[options.rilRequestError];
>    }
> +  if (options.success && options.rilMessageType === "sendMMI") {

This works but is more clear this way:

|if (options.success && (options.rilMessageType === "sendMMI"))|
Attachment #777395 - Flags: review?(ferjmoreno) → review+

Updated

4 years ago
Whiteboard: [TEF][UCID:Comms30, FT:comms, KOI:P1] u=commsapps-user c=dialer p=0 → [TEF][UCID:Comms30, FT:comms, KOI:P1][Sprint 1][Status: under development] u=commsapps-user c=dialer p=0
(Assignee)

Comment 6

4 years ago
https://hg.mozilla.org/projects/birch/rev/47affe620a93
Target Milestone: --- → mozilla25

Comment 7

4 years ago
https://hg.mozilla.org/mozilla-central/rev/47affe620a93
Status: NEW → RESOLVED
Last Resolved: 4 years ago
Resolution: --- → FIXED

Comment 8

4 years ago
The user story has been tested with satisfactory results. 

The tests have been executed with a SIM Tuenti. We tested several movistar SIMS, but we could not activating you supplementary services to this type of SIM.
Status: RESOLVED → VERIFIED

Updated

4 years ago
QA Contact: rafael.marquez
status-firefox26: --- → fixed
You need to log in before you can comment on or make changes to this bug.