Closed Bug 890820 Opened 11 years ago Closed 11 years ago

[User story][CDMA] OTA service provisioning

Categories

(Firefox OS Graveyard :: RIL, defect, P1)

x86
macOS
defect

Tracking

(blocking-b2g:koi+, firefox26 fixed)

RESOLVED FIXED
blocking-b2g koi+
Tracking Status
firefox26 --- fixed

People

(Reporter: khu, Unassigned)

References

()

Details

(Whiteboard: [ucid:CDMA8, FT:RIL, KOI:P1], [Test case: ETA 9/10], [No test environment])

Attachments

(3 files)

User story: "As a user, I should be able to use CDMA OTASP - over the air service provisioning. (Gaia needs to listen to the events from RIL regarding OTASP and launch a new CDMA OTASP UI to enable users to provision the phone.) The phone UI should also have a dialer to press the keys as instructed on the OTASP call." Acceptance criteria: User should be able to use over the air service provisioning.
blocking-b2g: --- → koi+
Depends on: 891734
Depends on: 882983
Flags: in-moztrap?
QA Contact: echu
Hi Sandip, Could you provide more detail acceptance criteria for following items? 1. What are items that will be provisioned? 2. What is the UI flow from OTASP triggering to process ended? 3. Before OTASP is done, user can still dial out emergency call. Thanks, Enpei
Flags: needinfo?(skamat)
This feature comes from CDMA phones without SIM cards, at the beginning. The purpose for this feature is to allow carriers to deploy configurations to CDMA phones. For example, preferred roaming list will be deployed via OTASP. It can be triggered by dialer or SMS, or others. So, we need to design the result message(successful or failed) But, how to trigger OTASP depends on carriers. Since we don't have clear views on carriers, should we remove this user stories for now? We don't know how to trigger OTASP. Thank you.
blocking-b2g: koi+ → koi?
Anshul, is there some generic UI implementation we could do without specific carrier requirements?
Flags: needinfo?(anshulj)
Flags: needinfo?(skamat)
Sandip, below is what I think a generic UX that we can implement in FFOS until we have specific OEM/Carrier requirements. OTA can be started in the following ways. 1. OTA can be launched automatically upon boot if the device thinks it needs to be provisioned; this information is sent by RIL. 2. By manually making an outgoing call to a special OTASP number like "*228" or "*22899" When an OTASP call is started we can keep showing a regular Dialer like we do today and preferably it should show a label for OTA call just like we have for emergency call and voice mail call. The call is ended by the network automatically when the OTA is done (success/failure) and dialer can go away like usual based on call state change event notified by RIL. In addition to that, we should also show if the OTA was successful or there was an error. So we would need a way to pass in the following information from RIL to the dialer. 1. RIL needs a way to tell the UI that OTA is needed for the case #1. The UI should show a dialog box asking user to confirm if they want to continue with the activation. If user clicks yes, the Dialer should make an OTA call to a predetermined OTA number and the rest is like a regular call. We can introduce a system message like "telephony-ota-needed" or whatever Moz decides to choose. 2. Need a way to report OTA status information, specifically if it was successful or failed. In case of success the network disconnects the call so dialer would go away but it would be preferred to show a OTA success message on the UI like "Your phone is now activated. It may take up to 15 minutes for service to start.". In case of error, we can report it using the already existing RILCallError message with the introduction of new error codes for OTA like below. - "Programming unsuccessful" - "Excess SPC failures" Will upload the Android snapshots for OTA shortly.
Flags: needinfo?(anshulj)
(In reply to Anshul from comment #4) Hi Anshul, Do you have any idea to do this test when we finish this implementation? I am not sure if we can do this test in real network.
Need info from Anshul.
Flags: needinfo?(anshulj)
blocking-b2g: koi? → koi+
Priority: -- → P1
Ken, you could at least do the test where you manually start the OTA by dialing an OTA number. For the case where RIL tells you that the OTA is needed, you actually need a SIM card that is not provisioned yet. I can test that case for you when you have a patch. I am attaching couple of snapshots from Android for OTA.
Flags: needinfo?(anshulj)
Attachment #780485 - Attachment description: Android Needs OTA screen in response to a message sent by RIL → Android's Needs OTA screen in response to a message sent by RIL
Attached image Android's OTA in progress screen (deleted) —
Attached image Android's OTA Failed screen (deleted) —
Flags: in-moztrap? → in-moztrap?(echu)
> 1. RIL needs a way to tell the UI that OTA is needed for the case #1. The UI > should show a dialog box asking user to confirm if they want to continue > with the activation. If user clicks yes, the Dialer should make an OTA call > to a predetermined OTA number and the rest is like a regular call. We can > introduce a system message like "telephony-ota-needed" or whatever Moz > decides to choose. Anshul, In what conditions does ril send out the message like "telephony-ota-needed". We have to implement the logic for this part in reference-ril then work on the whole flow of passing the infomation to gaia. I expect that there should be an unsolicited responsed from RILD or some criteria to check. Would you provide the detail. Thanks.
Flags: needinfo?(anshulj)
> 2. Need a way to report OTA status information, specifically if it was > successful or failed. In case of success the network disconnects the call so > dialer would go away but it would be preferred to show a OTA success message > on the UI like "Your phone is now activated. It may take up to 15 minutes > for service to start.". In case of error, we can report it using the already > existing RILCallError message with the introduction of new error codes for > OTA like below. > > - "Programming unsuccessful" > - "Excess SPC failures" Hi Anshul, How could we know the OTASP is successful or failed?
Whiteboard: [ucid:CDMA8] → [ucid:CDMA8], [FT:RIL]
Whiteboard: [ucid:CDMA8], [FT:RIL] → [ucid:CDMA8, FT:RIL, KOI:P1]
Whiteboard: [ucid:CDMA8, FT:RIL, KOI:P1] → [ucid:CDMA8, FT:RIL, KOI:P1], [Test case: ETA 9/10]
Update test case URL but only very draft version. Need to clarify how to verify the user story.
Flags: in-moztrap?(echu) → in-moztrap+
Whiteboard: [ucid:CDMA8, FT:RIL, KOI:P1], [Test case: ETA 9/10] → [ucid:CDMA8, FT:RIL, KOI:P1], [Test case: ETA 9/10], [No test environment]
Flags: needinfo?(anshulj)
Since OTA mechanism is a little different in different carrier, I suggest to remove the Gaia implementation from this user story. We can start Gaia's implementation after we know the exactly information form our carrier partner.
Flags: needinfo?(skamat)
Hi Anshul, Can you comment on #11 and 12? If there is a minimal implementation possible without the carrier requirements (stub/emulation), we can try to aim for it. Depending on this, I can respond on #14. Thx
Flags: needinfo?(skamat) → needinfo?(anshulj)
(In reply to Sandip Kamat from comment #15) > Hi Anshul, Can you comment on #11 and 12? If there is a minimal > implementation possible without the carrier requirements (stub/emulation), > we can try to aim for it. Depending on this, I can respond on #14. Thx Hi Anshul, For comment 12, "How could we know the OTASP is successful or failed?" According to our previous study, Gaia could listen to the otastatuschange event. A typical successful OTA session is ended by a |commit| status, that means the data is correctly write into the nvram of modem. In addition, OTASP procedure is just a normal call. Thus, Gaia could check whether it reach the |commit| status after call disconnected. If yes, the process is successful. Otherwise, it fails. Does the above solution make sense?
Syzu-Yu, yes it makes sense.
Flags: needinfo?(anshulj)
QA can start to verify now.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Ken, What's the results for Comment 15? Do we still need the gaia implementation for ota_needed? If not, what are we going to verify now? Currently, gaia has a test app to show the update of ota_status. So, if we dial the ota number (ex: *228) in dialer and follow the operation, we should see the status change in that test app.
Flags: needinfo?(kchang)
(In reply to Szu-Yu Chen [:aknow] from comment #19) > Ken, > > What's the results for Comment 15? Do we still need the gaia implementation > for ota_needed? If not, what are we going to verify now? > > Currently, gaia has a test app to show the update of ota_status. So, if we > dial the ota number (ex: *228) in dialer and follow the operation, we should > see the status change in that test app. Actually, we don't know the detail, since what we can do now is just to make sure the ota_status is changed when we trigger a OTA.
Flags: needinfo?(kchang)
QA cannot verify this at current stage since there is no target carrier so with no target UIM to do the activation.
Component: General → RIL
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: