6.3.1 Minimum Handler Availability

3GPP51.013Release 17Test specification for Subscriber Identity Module (SIM) Application Programming Interface (API) for Java CardTS

This test area tests the rules that define the minimum requirements for the availability of the system handlers.

6.3.1.1 ProactiveHandler

Test Area Reference: FWK_MHA_PAHD

6.3.1.1.1 Conformance Requirement

6.3.1.1.1.1 Normal Execution

  • CRRN1: If a proactive session is not ongoing the ProactiveHandler is available from the invocation to the termination of the processToolkit method for the following events:

EVENT_FORMATTED_SMS_PP_ENV

EVENT_UNFORMATTED_SMS_PP_ENV

EVENT_FORMATTED_SMS_PP_UPD

EVENT_UNFORMATTED_SMS_PP_UPD

EVENT_FORMATTED_SMS_CB

EVENT_UNFORMATTED_SMS_CB

EVENT_MENU_SELECTION

EVENT_MENU_SELECTION_HELP_REQUEST

EVENT_TIMER_EXPIRATION

EVENT_EVENT_DOWNLOAD_MT_CALL

EVENT_EVENT_DOWNLOAD_CALL_CONNECTED

EVENT_EVENT_DOWNLOAD_CALL_DISCONNECTED

EVENT_EVENT_DOWNLOAD_LOCATION_STATUS

EVENT_EVENT_DOWNLOAD_USER_ACTIVITY

EVENT_EVENT_DOWNLOAD_IDLE_SCREEN_AVAILABLE

EVENT_EVENT_DOWNLOAD_CARD_READER_STATUS

EVENT_EVENT_DOWNLOAD_LANGUAGE_SELECTION

EVENT_EVENT_DOWNLOAD_BROWSER_TERMINATION

EVENT_UNRECOGNIZED_ENVELOPE

EVENT_STATUS_COMMAND

EVENT_CALL_CONTROL

EVENT_SMS_MO_CONTROL

EVENT_PROFILE_DOWNLOAD

EVENT_EVENT_DOWNLOAD_DATA_AVAILABLE

EVENT_EVENT_DOWNLOAD_CHANNEL_STATUS

6.3.1.1.1.2 Parameters error

No requirements.

6.3.1.1.1.3 Context errors

  • CRRC1: The ProactiveHandler and its content are not available for any toolkit applet triggered from the invocation to the termination of their processToolkit method for the following events:

EVENT_FIRST_COMMAND_AFTER_SELECT

6.3.1.1.2 Test Suite Files

Test Script: FWK_MHA_PAHD_1.scr

Test Applet: FWK_MHA_PAHD_1.java

FWK_MHA_PAHD_2.java

Load Script: FWK_MHA_PAHD_1.ldr

Cleanup Script: FWK_MHA_PAHD_1.clr

Parameter File: FWK_MHA_PAHD_1.par

Test Procedure

Id

Description

API /Framework Expectation

APDU Expectation

1

Applets registration to all events and Proactive Handler availability with EVENT_FIRST_COMMAND_AFTER_SELECT

Applet1 is registered to all events defined in TS 43.019 [7].

Using the methods initMenuEntry() for EVENT_MENU_SELECTION, requestPollInterval() for EVENT_STATUS_COMMAND, allocateTimer() for EVENT_TIMER_EXPIRATION and setEventList() for the rest of the events.

Applet2 is registered to all events defined in TS 43.019 [7], EVENT_CALL_CONTROL_BY_SIM and EVENT_MO_SHORT_MESSAGE_CONTROL_BY_SIM.

Using the methods initMenuEntry() for EVENT_MENU_SELECTION, requestPollInterval() for EVENT_STATUS_COMMAND, allocateTimer() for EVENT_TIMER_EXPIRATION and setEventList() for the rest of the events.

The priority of applet1 is higher than priority of applet2

1- Select MF

2- Applet1 gets the Proactive Handler.

Applet1 is deregistered from EVENT_FIRST_COMMAND_AFTER_SELECT.

3- Applet2 gets the Proactive Handler

Applet2 is deregistered to EVENT_FIRST_COMMAND_AFTER_SELECT.

1- Applet1 is triggered by EVENT_FIRST_COMMAND_AFTER_SELECT

2- A Toolkit Exception HANDLER_NOT_AVAILABLE is thrown.

Applet1 finalizes

Applet2 is triggered by EVENT_FIRST_COMMAND_AFTER_SELECT

3- A Toolkit Exception HANDLER_NOT_AVAILABLE is thrown.

Applet2 finalizes

2

Proactive Handler availability with EVENT_PROFILE_DOWNLOAD

1- Terminal Profile command is sent to the SIM without the facility of SET_EVENT_LIST, POLL_INTERVAL,SET UP IDLE MODE TEXT and SET UP MENU.

2- Applet1 gets the Proactive Handler

Applet1 is deregistered to EVENT_PROFILE_DOWNLOAD

3- Applet2 gets the Proactive Handler

Applet2 is deregistered to EVENT_PROFILE_DOWNLOAD

1- Applet1 is triggered by EVENT_PROFILE_DOWNLOAD

2- No exception is thrown.

Applet1 finalizes.

Applet2 is triggered by EVENT_PROFILE_DOWNLOAD

3- No exception is thrown

3

Proactive Handler availability with EVENT_MENU_SELECTION_HELP_REQUEST

Perform SIM initialization with all the facilities supported

1- Envelope menu selection with help request is sent to the SIM

2- Applet1 gets the Proactive Handler

1- Applet1 is triggered

2- No exception is thrown

Applet1 finalizes

4

Proactive Handler availability with EVENT_MENU_SELECTION

1- Envelope menu selection is sent to the SIM

2- Applet1 gets the Proactive Handler

1- Applet1 is triggered

2- No exception is thrown.

Applet1 finalizes

5

Proactive Handler availability with EVENT_FORMATTED_SMS_PP_ENV

1- Envelope dataDownLoad formatted is sent to the SIM

2- Applet1 gets the Proactive Handler

1- Applet1 is triggered

2- No exception is thrown.

Applet1 finalizes

6

Proactive Handler availability with EVENT_UNFORMATTED_SMS_PP_ENV

1- Envelope dataDownLoad unformatted is sent to the SIM

2- Applet1 gets the Proactive Handler

3- Applet2 gets the Proactive Handler

1- Applet1 is triggered

2- No exception is thrown.

Applet1 finalizes

Applet2 is triggered

3 No exception is thrown.

7

Proactive Handler availability with EVENT_FORMATTED_CELL_BROADCAST

1- Envelope cell broadcast formatted is sent to the SIM

2- Applet1 gets the Proactive Handler

1- Applet1 is triggered

2-No exception is thrown

Applet1 finalizes

8

Proactive Handler availability with EVENT_UNFORMATTED_CELL_BROADCAST

1- Envelope cell broadcast unformatted is sent to the SIM

2- Applet1 gets the Proactive Handler

3- Applet2 gets the Proactive Handler

1- Applet1 is triggered

2- No exception is thrown

Applet1 finalizes

Applet2 is triggered

3 No exception is thrown

9

Proactive Handler availability with EVENT_TIMER_EXPIRATION

1- Timer Id =1

Envelope Timer Expiration is sent to the SIM

2- Applet1 gets the Proactive Handler

1- Applet1 is triggered

2- No exception is thrown.

Applet1 finalizes

10

Proactive Handler availability with EVENT_CALL_CONTROL_BY_SIM

1- Envelope call control by SIM is sent to the SIM

2- Applet1 gets the Proactive Handler

1- Applet1 is triggered

2- No exception is thrown.

11

Proactive Handler availability with EVENT_MO_SHORT_MESSAGE_CONTROL

1- Envelope mo short message control by SIM is sent to the SIM

2- Applet1 gets the Proactive Handler

1- Applet1 is triggered

2- No exception is thrown

12

Proactive Handler availability with EVENT_EVENT_DOWNLOAD_MT_CALL

1- Envelope event download mt call is sent to the SIM

2- Applet1 gets the Proactive Handler

3- Applet2 gets the Proactive Handler

1- Applet1 is triggered

2- No exception is thrown.

Applet1 finalizes

Applet2 is triggered

3-No exception is thrown

13

Proactive Handler availability with EVENT_EVENT_DOWNLOAD_CALL_CONNECTED

1- Envelope event download call connected is sent to the SIM

2- Applet1 gets the Proactive Handler

3- Applet2 gets the Proactive Handler

1- Applet1 is triggered

2- No exception is thrown.

Applet1 finalizes

Applet2 is triggered

3- No exception is thrown

14

Proactive Handler availability with EVENT_EVENT_DOWNLOAD_CALL_DISCONNECTED

1- Envelope event download call disconnected is sent to the SIM

2- Applet1 gets the Proactive Handler

3- Applet2 gets the Proactive Handler

1- Applet1 is triggered

2- No exception is thrown.

Applet1 finalizes

Applet2 is triggered

3- No exception is thrown.

15

Applets triggering with EVENT_EVENT_LOCATION_STATUS

1- Envelope event download location status is sent to the SIM

2- Applet1 gets the Proactive Handler

3- Applet2 gets the Proactive Handler

1- Applet1 is triggered

2- No exception is thrown.

Applet1 finalizes

Applet2 is triggered

3- No exception is thrown

16

Proactive Handler availability with EVENT_EVENT_DOWNLOAD_USER_ACTIVITY

1- Envelope event download user activity is sent to the SIM

2- Applet1 gets the Proactive Handler

3- Applet2 gets the Proactive Handler

1- Applet1 is triggered

2- No exception is thrown

Applet1 finalizes

Applet2 is triggered

3- No exception is thrown

17

Proactive Handler availability with EVENT_EVENT_DOWNLOAD_IDLE_SCREEN_AVAILABLE

1- Envelope event download idle screen available is sent to the SIM

2- Applet1 gets the Proactive Handler

3- Applet2 gets the Proactive Handler

1- Applet1 is triggered

2- No exception is thrown.

Applet1 finalizes

Applet2 is triggered

3- No exception is thrown

18

Proactive Handler availability with EVENT_EVENT_DOWNLOAD_CARD_READER_STATUS

1- Envelope event download card reader status is sent to the SIM

2- Applet1 gets the Proactive Handler

3- Applet2 gets the Proactive Handler

1- Applet1 is triggered

2- No exception is thrown.

Applet1 finalizes

Applet2 is triggered

3- No exception is thrown

19

Proactive Handler availability with EVENT_EVENT_DOWNLOAD_LANGUAGE_SELECTION

1- Envelope event download language selection is sent to the SIM

2- Applet1 gets the Proactive Handler

3- Applet2 gets the Proactive Handler

1- Applet1 is triggered

2-No exception is thrown.

Applet1 finalizes

Applet2 is triggered

3-No exception is thrown

20

Proactive Handler availability with EVENT_EVENT_DOWNLOAD_BROWSER_TERMINATION

1- Envelope event download browser termination is sent to the SIM

2- Applet1 gets the Proactive Handler

3- Applet2 gets the Proactive Handler

1- Applet1 is triggered

2-No exception is thrown.

Applet1 finalizes

Applet2 is triggered

3-No exception is thrown

21

Proactive Handler availability with EVENT_STATUS_COMMAND

1- Status command is sent to the SIM

2- Applet1 gets the Proactive Handler

3- Applet2 gets the Proactive Handler

1- Applet1 is triggered

2- No exception is thrown.

Applet1 finalizes

Applet2 is triggered

3- No exception is thrown.

22

Proactive Handler availability with EVENT_EVENT_DOWNLOAD_DATA_AVAILABLE

1- Applet1 builds a proactive command OPEN CHANNEL proactiveHandler.send() method is called.

2- An Envelope Event Download Data Available is sent to the SIM, with channelId=01.

3- Applet1 gets the Proactive Handler

2-Applet1 is triggered

3-No exception is thrown.

Applet1 finalizes

1- OPEN CHANNEL proactive Command is fetched

TERMINAL RESPONSE is issued with Channel Id = 01

23

Proactive Handler availability with EVENT_EVENT_DOWNLOAD_CHANNEL_STATUS

1- An Envelope Event Download Channel Status is sent to the SIM, with ChannelId=01

2- Applet1 gets the Proactive Handler

1- Applet1 is triggered

2- No exception is thrown.

Applet1 finalizes

24

Proactive Handler availability with UNRECOGNIZED_ENVELOPE

1- An unrecognized Envelope (BER TLV Tag unrecognized) is sent to the SIM

2- Applet1 gets the Proactive Handler

3-Applet2 gets the Proactive Handler

1- Applet1 is triggered

2- No exception is thrown.

Applet1 finalizes

Applet2 is triggered

3- No exception is thrown

25

Proactive Handler availability with EVENT_FORMATTED_SMS_PP_UPD

1- Update Record EFsms instruction formatted is sent to the SIM

2- Applet1 gets the Proactive Handler

1- Applet1 is triggered

2- No exception is thrown.

Applet1 finalizes

26

Proactive Handler availability with EVENT_UNFORMATTED_SMS_PP_UPD

1- Update Record EFsms instruction unformatted is sent to the SIM

  1. Applet1 gets the Proactive Handler
  2. Applet2 gets the Proactive Handler

1- Applet1 is triggered

2- No exception is thrown.

Applet1 finalizes

3- Applet2 is triggered

4- No exception is thrown.

6.3.1.1.4 Test Coverage

CRR Number

Test Case Number

CRRN1

2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26

CRRC1

1

6.3.1.2 ProactiveResponseHandler

Test Area Reference: FWK_MHA_PRHD

6.3.1.2.1 Conformance Requirement

6.3.1.2.1.1 Normal Execution

  • CRRN1: The ProactiveResponseHandler is available after the first call to the ProactiveHandler.send() method to the termination of the processToolkit method for the following events:

EVENT_FORMATTED_SMS_PP_ENV

EVENT_UNFORMATTED_SMS_PP_ENV

EVENT_FORMATTED_SMS_PP_UPD

EVENT_UNFORMATTED_SMS_PP_UPD

EVENT_FORMATTED_SMS_CB

EVENT_UNFORMATTED_SMS_CB

EVENT_MENU_SELECTION

EVENT_MENU_SELECTION_HELP_REQUEST

EVENT_TIMER_EXPIRATION

EVENT_EVENT_DOWNLOAD_MT_CALL

EVENT_EVENT_DOWNLOAD_CALL_CONNECTED

EVENT_EVENT_DOWNLOAD_CALL_DISCONNECTED

EVENT_EVENT_DOWNLOAD_LOCATION_STATUS

EVENT_EVENT_DOWNLOAD_USER_ACTIVITY

EVENT_EVENT_DOWNLOAD_IDLE_SCREEN_AVAILABLE

EVENT_EVENT_DOWNLOAD_CARD_READER_STATUS

EVENT_EVENT_DOWNLOAD_LANGUAGE_SELECTION

EVENT_EVENT_DOWNLOAD_BROWSER_TERMINATION

EVENT_UNRECOGNIZED_ENVELOPE

EVENT_STATUS_COMMAND

EVENT_CALL_CONTROL

EVENT_SMS_MO_CONTROL

EVENT_PROFILE_DOWNLOAD

EVENT_EVENT_DOWNLOAD_DATA_AVAILABLE

EVENT_EVENT_DOWNLOAD_CHANNEL_STATUS

6.3.1.2.1.2 Parameters error

No requirements.

6.3.1.2.1.3 Context errors

  • CRRC1: The ProactiveResponseHandler and its content are not available for any toolkit applet triggered from the invocation to the termination of their processToolkit method for the following events:

EVENT_FIRST_COMMAND_AFTER_SELECT

6.3.1.2.2 Test Suite Files

Test Script: FWK_MHA_PRHD_1.scr

Test Applet: FWK_MHA_PRHD_1.java

FWK_MHA_PRHD_2.java

Load Script: FWK_MHA_PRHD_1.ldr

Cleanup Script: FWK_MHA_PRHD_1.clr

Parameter File: FWK_MHA_PRHD_1.par

6.3.1.2.3 Test Procedure

Id

Description

API/Framework Expectation

APDU Expectation

1

Applets registration to all events and Proactive Response Handler availability with EVENT_PROFILE_DOWNLOAD

Applet1 is registered to all events defined in TS 43.019 [7] except EVENT_FIRST_COMMAND_AFTER_SELECT,

Applet2 is registered to all events defined in TS 43.109[7] except EVENT_FIRST_COMMAND_AFTER_SELECT, EVENT_CALL_CONTROL_BY_SIM and EVENT_MO_SMS_CONTROL_BY_SIM.

Using the methods initMenuEntry() for EVENT_MENU_SELECTION, requestPollInterval() for EVENT_STATUS_COMMAND, allocateTimer() for EVENT_TIMER_EXPIRATION and setEventList() for the rest of the events.

1-Terminal Profile command is sent to the SIM without the facility of SET_EVENT_LIST, POLL_INTERVAL,SET UP IDLE MODE TEXT and SET UP MENU.

2- Applet1 builds a proactive command DISPLAY TEXT.

3- ProactiveHandler.send() method is called

4- ProactiveResponseHandler.getTheHandler() method is called

Applet1 is deregistered to EVENT_PROFILE_DOWNLOAD

5- Applet2 builds a proactive command DISPLAY TEXT.

6- ProactiveHandler.send() method is called

7- ProactiveResponseHandler.getTheHandler() method is called

Applet1 is deregistered to EVENT_PROFILE_DOWNLOAD

1-Applet1 is triggered by EVENT_PROFILE_DOWNLOAD

No exception is thrown

4- No exception is thrown

Applet1 finalizes

Applet2 is triggered by EVENT_PROFILE_DOWNLOAD

7- No exception is thrown

3- The proactive command

DISPLAY TEXT is fetched

TERMINAL RESPONSE

6- The proactive command

DISPLAY TEXT is fetched

TERMINAL RESPONSE

2

Proactive Response Handler availability with EVENT_MENU_SELECTION_HELP_REQUEST

Perform SIM initialization with all the facilities supported

1-Envelope menu selection with help request is sent to the SIM

Applet1 builds a proactive command DISPLAY TEXT

2- ProactiveHandler.send() method is called

3- ProactiveResponseHandler.getTheHandler() method is called

1- Applet1 is triggered

3- No exception is thrown

2- A proactive command DISPLAY TEXT is fetched

TERMINAL RESPONSE

3

Proactive Response Handler availability with EVENT_MENU_SELECTION

1-Envelope menu selection is sent to the SIM

Applet1 builds a proactive command DISPLAY TEXT

2- ProactiveHandler.send() method is called

3-ProactiveResponseHandler.getTheHandler() method is called

1- Applet1 is triggered

3- No exception is thrown

2- A proactive command DISPLAY TEXT is fetched

TERMINAL RESPONSE

4

Proactive Response Handler availability with EVENT_FORMATTED_SMS_PP_ENV

1-Envelope dataDownLoad formatted is sent to the SIM

Applet builds a proactive command DISPLAY TEXT

2-ProactiveHandler.send() method is called

3-ProactiveResponseHandler.getTheHandler() method is called

1- Applet1 is triggered

3- No exception is thrown

2- A proactive command DISPLAY TEXT is fetched

TERMINAL RESPONSE

5

Proactive Response Handler availability with EVENT_UNFORMATTED_SMS_PP_ENV

1-Envelope dataDownLoad unformatted is sent to the SIM

Applet1 builds a proactive command DISPLAY TEXT

2- ProactiveHandler.send() method is called

3- ProactiveResponseHandler.getTheHandler() method is called

Applet2 builds a proactive command DISPLAY TEXT

4- ProactiveHandler.send() method is called

5- ProactiveResponseHandler.getTheHandler() method is called

1- Applet1 is triggered

3- No exception is thrown

Applet1 finalizes

Applet2 is triggered

5- No exception is thrown

2- A proactive command DISPLAY TEXT is fetched

TERMINAL RESPONSE

4- A proactive command DISPLAY TEXT is fetched

TERMINAL RESPONSE

6

Proactive Response Handler availability with EVENT_FORMATTED_SMS _CB

1-Envelope cell broadcast formatted is

sent to the SIM

Applet1 builds a proactive command DISPLAY TEXT

2- ProactiveHandler.send() method is called

3-ProactiveResponseHandler.getTheHandler() method is called.

1- Applet1 is triggered

3- No exception is thrown

2- A proactive command DISPLAY TEXT is fetched

TERMINAL RESPONSE

7

Proactive Response Handler availability with EVENT_UNFORMATTED_SMS _CB

1-Envelope call broadcast unformatted is

sent to the SIM

Applet1 builds a proactive command DISPLAY TEXT

2- ProactiveHandler.send() method is called

3-ProactiveResponseHandler.getTheHandler() method is called.

Applet2 builds a proactive command DISPLAY TEXT

4- ProactiveHandler.send() method is called

5- ProactiveResponseHandler.getTheHandler() method is called

1- Applet1 is triggered

3- No exception is thrown

Applet1 finalizes

Applet2 is triggered

5- No exception is thrown

2- A proactive command DISPLAY TEXT is fetched

TERMINAL RESPONSE

4- A proactive command DISPLAY TEXT is fetched

TERMINAL RESPONSE

8

Proactive Response Handler availability with EVENT_TIMER_EXPIRATION

Timer id=1

1-Envelope Timer Expiration is sent to the SIM

Applet builds a proactive command DISPLAY TEXT

2-ProactiveHandler.send() method is called

3-ProactiveResponseHandler.getTheHandler() method is called

1- Applet1 is triggered

3- No exception is thrown

2- A proactive command DISPLAY TEXT is fetched

TERMINAL RESPONSE

9

Proactive Response Handler availability with EVENT_CALL_CONTROL_BY_SIM

1-Envelope call control by sim is sent to the SIM

Applet builds a proactive command DISPLAY TEXT

2-ProactiveHandler.send() method is called

3-ProactiveResponseHandler.getTheHandler() method is called

1- Applet1 is triggered

3- No exception is thrown

2- A proactive command DISPLAY TEXT is fetched

TERMINAL RESPONSE

10

Proactive Response Handler availability with _ MO_SHORT_MESSAGE_CONTROL_BY_SIM

1-Envelope mo short message control by sim is sent to the SIM

Applet builds a proactive command DISPLAY TEXT

2-ProactiveHandler.send() method is called

3-ProactiveResponseHandler.getTheHandler() method is called

1- Applet1 is triggered

3- No exception is thrown

2- A proactive command DISPLAY TEXT is fetched

TERMINAL RESPONSE

11

Proactive Response Handler availability with EVENT_EVENT_DOWNLOAD_MT_CALL

1-Envelope event download mt call is sent to the SIM

Applet1 builds a proactive command DISPLAY TEXT

2-ProactiveHandler.send() method is called

3-ProactiveResponseHandler.getTheHandler() method is called.

Applet2 builds a proactive command DISPLAY TEXT

4- ProactiveHandler.send() method is called

5- ProactiveResponseHandler.getTheHandler() method is called

1- Applet1 is triggered

3- No exception is thrown

Applet1 finalizes

Applet2 is triggered

5- No exception is thrown

2- A proactive command DISPLAY TEXT is fetched

TERMINAL RESPONSE

4- A proactive command DISPLAY TEXT is fetched

TERMINAL RESPONSE

12

Proactive Response Handler availability with EVENT_EVENT_DOWNLOAD_CALL_CONNECTED

1-Envelope event download call connected is sent to the SIM

Applet1 builds a proactive command DISPLAY TEXT

2-ProactiveHandler.send() method is called

3-ProactiveResponseHandler.getTheHandler() method is called

Applet builds a proactive command DISPLAY TEXT

4- ProactiveHandler.send() method is called

5- ProactiveResponseHandler.getTheHandler() method is called

1- Applet1 is triggered

3- No exception is thrown

Applet1 finalizes

Applet2 is triggered

5- No exception is thrown

2- A proactive command DISPLAY TEXT is fetched

TERMINAL RESPONSE

4- A proactive command DISPLAY TEXT is fetched

TERMINAL RESPONSE

13

Proactive Response Handler availability with EVENT_EVENT_DOWNLOAD_CALL_DISCONNECTED

1-Envelope event download call disconnected is sent to the SIM

Applet1 builds a proactive command DISPLAY TEXT

2-ProactiveHandler.send() method is called

3-ProactiveResponseHandler.getTheHandler() method is called

Applet2 builds a proactive command DISPLAY TEXT

4- ProactiveHandler.send() method is called

5- ProactiveResponseHandler.getTheHandler() method is called

1- Applet1 is triggered

3- No exception is thrown

Applet1 finalizes

Applet2 is triggered

5- No exception is thrown

2- A proactive command DISPLAY TEXT is fetched

TERMINAL RESPONSE

4- A proactive command DISPLAY TEXT is fetched

TERMINAL RESPONSE

14

Proactive Response Handler availability with EVENT_EVENT_DOWNLOAD_LOCATION_STATUS

1-Envelope event download location status is sent to the SIM

Applet1 builds a proactive command DISPLAY TEXT

2-ProactiveHandler.send() method is called

3-ProactiveResponseHandler.getTheHandler() method is called

Applet2 builds a proactive command DISPLAY TEXT

4- ProactiveHandler.send() method is called

5- ProactiveResponseHandler.getTheHandler() method is called

1- Applet1 is triggered

3- No exception is thrown

Applet1 finalizes

Applet2 is triggered

5- No exception is thrown

2-A proactive command DISPLAY TEXT is fetched

TERMINAL RESPONSE

4- A proactive command DISPLAY TEXT is fetched

TERMINAL RESPONSE

15

Proactive Response Handler availability with EVENT_EVENT_DOWNLOAD_USER_ACTIVITY

1-Envelope event download user activity is sent to the SIM

Applet1 builds a proactive command DISPLAY TEXT

2-ProactiveHandler.send() method is called

3-ProactiveResponseHandler.getTheHandler() method is called

Applet2 builds a proactive command DISPLAY TEXT

4- ProactiveHandler.send() method is called

5- ProactiveResponseHandler.getTheHandler() method is called

1- Applet1 is triggered

3- No exception is thrown

Applet1 finalizes

Applet2 is triggered

5- No exception is thrown

2-A proactive command DISPLAY TEXT is fetched

TERMINAL RESPONSE

4- A proactive command DISPLAY TEXT is fetched

TERMINAL RESPONSE

16

Proactive Response Handler availability with EVENT_EVENT_DOWNLOAD_IDLE_SCREEN_AVAILABLE

1-Envelope event download idle screen available is sent to the SIM

Applet1 builds a proactive command DISPLAY TEXT

2-ProactiveHandler.send() method is called

3-ProactiveResponseHandler.getTheHandler() method is called

Applet2 builds a proactive command DISPLAY TEXT

4- ProactiveHandler.send() method is called

5- ProactiveResponseHandler.getTheHandler() method is called

1- Applet1 is triggered

3- No exception is thrown

Applet1 finalizes

Applet2 is triggered

5- No exception is thrown

2- A proactive command DISPLAY TEXT is fetched

TERMINAL RESPONSE

4- A proactive command DISPLAY TEXT is fetched

TERMINAL RESPONSE

17

Proactive Response Handler availability with EVENT_EVENT_DOWNLOAD_CARD_READER_STATUS

1-Envelope event download card reader status is sent to the SIM

Applet1 builds a proactive command DISPLAY TEXT

2-ProactiveHandler.send() method is called

3-ProactiveResponseHandler.getTheHandler() method is called

Applet2 builds a proactive command DISPLAY TEXT

4- ProactiveHandler.send() method is called

5- ProactiveResponseHandler.getTheHandler() method is called

1- Applet1 is triggered

3- No exception is thrown

Applet1 finalizes

Applet2 is triggered

5- No exception is thrown

2-A proactive command DISPLAY TEXT is fetched

TERMINAL RESPONSE

4- A proactive command DISPLAY TEXT is fetched

TERMINAL RESPONSE

18

Proactive Response Handler availability with EVENT_EVENT_DOWNLOAD_LANGUAGE_

SELECTION

1-Envelope event download language selection is sent to the SIM

Applet1 builds a proactive command DISPLAY TEXT

2-ProactiveHandler.send() method is called

3-ProactiveResponseHandler.getTheHandler() method is called

Applet2 builds a proactive command DISPLAY TEXT

4- ProactiveHandler.send() method is called

5- ProactiveResponseHandler.getTheHandler() method is called

1- Applet1 is triggered

3-No exception is thrown

Applet1 finalizes

Applet2 is triggered

5-No exception is thrown

2-A proactive command DISPLAY TEXT is fetched

TERMINAL RESPONSE

4-A proactive command DISPLAY TEXT is fetched

TERMINAL RESPONSE

19

Proactive Response Handler availability with EVENT_EVENT_DOWNLOAD_BROWSER_

TERMINATION

1-Envelope event download Browser termination is sent to the SIM

Applet1 builds a proactive command DISPLAY TEXT

2-ProactiveHandler.send() method is called

3-ProactiveResponseHandler.getTheHandler() method is called

Applet2 builds a proactive command DISPLAY TEXT

4- ProactiveHandler.send() method is called

5- ProactiveResponseHandler.getTheHandler() method is called

1- Applet1 is triggered

3-No exception is thrown

Applet1 finalizes

Applet2 is triggered

5-No exception is thrown

2-A proactive command DISPLAY TEXT is fetched

TERMINAL RESPONSE

4-A proactive command DISPLAY TEXT is fetched

TERMINAL RESPONSE

20

Proactive Response Handler availability with EVENT_STATUS_COMMAND

1-Status command is sent to the SIM

Applet1 builds a proactive command DISPLAY TEXT

2-ProactiveHandler.send() method is called

3-ProactiveResponseHandler.getTheHandler() method is called

Applet2 builds a proactive command DISPLAY TEXT

4- ProactiveHandler.send() method is called

5- ProactiveResponseHandler.getTheHandler() method is called

1- Applet1 is triggered

3- No exception is thrown

Applet1 finalizes

Applet2 is triggered

5- No exception is thrown

2- A proactive command DISPLAY TEXT is fetched

TERMINAL RESPONSE

4- A proactive command DISPLAY TEXT is fetched

TERMINAL RESPONSE

21

Proactive Handler availability with EVENT_EVENT_DOWNLOAD_DATA_AVAILABLE

1- Applet1 builds a proactive command OPEN CHANNEL.

proactiveHandler.send() method is called

2- An Envelope Event Download Data Available is sent to the SIM, with ChannelId=01.

3-Applet1 builds a proactive command DISPLAY TEXT

4- ProactiveHandler.send() method is called

5- ProactiveResponseHandler.getTheHandler() method is called

1- Applet1 is registered to EVENT_EVENT_DOWNLOAD_DATA_AVAILABLE and EVENT_EVENT_DOWNLOAD_CHANNEL_STATUS

2- Applet1 is triggered

5- No exception is thrown

1- OPEN CHANNEL proactive command is fetched

TERMINAL RESPONSE is issued with Channel Id = 01

4- A proactive command DISPLAY TEXT is fetched

TERMINAL RESPONSE

22

Proactive Handler availability with EVENT_EVENT_DOWNLOAD_CHANNEL_STATUS

1-An Envelope Event Download Channel Status is sent to the SIM with ChannelId=01.

Applet1 builds a proactive command DISPLAY TEXT

2- ProactiveHandler.send() method is called

3- ProactiveResponseHandler.getTheHandler() method is called

1- Applet1 is triggered

3- No exception is thrown

2- A proactive command DISPLAY TEXT is fetched

TERMINAL RESPONSE

23

Proactive Response Handler availability with UNRECOGNIZED_ENVELOPE

1-An unrecognized Envelope is sent to the SIM

Applet1 builds a proactive command DISPLAY TEXT

2-ProactiveHandler.send() method is called

3-ProactiveResponseHandler.getTheHandler() method is called

Applet2 builds a proactive command DISPLAY TEXT

4- ProactiveHandler.send() method is called

5- ProactiveResponseHandler.getTheHandler() method is called

1- Applet1 is triggered

3- No exception is thrown

Applet1 finalizes

Applet2 is triggered

5- No exception is thrown

2- A proactive command DISPLAY TEXT is fetched

TERMINAL RESPONSE

4- A proactive command DISPLAY TEXT is fetched

TERMINAL RESPONSE

24

Proactive Response Handler availability with EVENT_FORMATTED_SMS_PP_UPD

1- Update Record EFsms instruction formatted is sent to the SIM

Applet builds a proactive command DISPLAY TEXT

2-ProactiveHandler.send() method is called

3-ProactiveResponseHandler.getTheHandler() method is called

1- Applet1 is triggered

3- No exception is thrown

2- A proactive command DISPLAY TEXT is fetched

TERMINAL RESPONSE

25

Proactive Response Handler availability with EVENT_UNFORMATTED_SMS_PP_UPD

1- Update Record EFsms instruction unformatted is sent to the SIM

Applet1 builds a proactive command DISPLAY TEXT

2- ProactiveHandler.send() method is called

3- ProactiveResponseHandler.getTheHandler() method is called

Applet2 builds a proactive command DISPLAY TEXT

4- ProactiveHandler.send() method is called

5- ProactiveResponseHandler.getTheHandler() method is called

1- Applet1 is triggered

3- No exception is thrown

Applet1 finalizes

Applet2 is triggered

5- No exception is thrown

2- A proactive command DISPLAY TEXT is fetched

TERMINAL RESPONSE

4- A proactive command DISPLAY TEXT is fetched

TERMINAL RESPONSE

6.3.1.2.4 Test Coverage

CRR Number

Test Case Number

CRRN1

1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25

CRRC1

Not testable

6.3.1.3 EnvelopeHandler

Test Area Reference: FWK_MHA_ENHD

6.3.1.3.1 Conformance Requirement

6.3.1.3.1.1 Normal Execution

  • CRRN1: The EnvelopeHandler and its content are available for all toolkit applets triggered from the invocation to the termination of their processToolkit method for the following events:

EVENT_FORMATTED_SMS_PP_ENV

EVENT_UNFORMATTED_SMS_PP_ENV

EVENT_FORMATTED_SMS_PP_UPD

EVENT_UNFORMATTED_SMS_PP_UPD

EVENT_FORMATTED_SMS_CB

EVENT_UNFORMATTED_SMS_CB

EVENT_MENU_SELECTION

EVENT_MENU_SELECTION_HELP_REQUEST

EVENT_TIMER_EXPIRATION

EVENT_EVENT_DOWNLOAD_MT_CALL

EVENT_EVENT_DOWNLOAD_CALL_CONNECTED

EVENT_EVENT_DOWNLOAD_CALL_DISCONNECTED

EVENT_EVENT_DOWNLOAD_LOCATION_STATUS

EVENT_EVENT_DOWNLOAD_USER_ACTIVITY

EVENT_EVENT_DOWNLOAD_IDLE_SCREEN_AVAILABLE

EVENT_EVENT_DOWNLOAD_CARD_READER_STATUS

EVENT_EVENT_DOWNLOAD_LANGUAGE_SELECTION

EVENT_EVENT_DOWNLOAD_BROWSER_TERMINATION

EVENT_UNRECOGNIZED_ENVELOPE

EVENT_CALL_CONTROL

EVENT_SMS_MO_CONTROL

EVENT_EVENT_DOWNLOAD_DATA_AVAILABLE

EVENT_EVENT_DOWNLOAD_CHANNEL_STATUS

6.3.1.3.1.2 Parameters error

No requirements.

6.3.1.3.1.3 Context Errors

  • CRRC1: The EnvelopeHandler and its content are not available for any toolkit applet triggered from the invocation to the termination of their processToolkit method for the following events:

EVENT_STATUS_COMMAND

EVENT_PROFILE_DOWNLOAD

EVENT_FIRST_COMMAND_AFTER_SELECT

6.3.1.3.2 Test Suite Files

Test Script: FWK_MHA_ENHD_1.scr

Test Applet: FWK_MHA_ENHD_1.java

FWK_MHA_ENHD_2.java

Load Script: FWK_MHA_ENHD_1.ldr

Cleanup Script: FWK_MHA_ENHD_1.clr

Parameter File: FWK_MHA_ENHD_1.par

6.3.1.3.3 Test Procedure

Id

Description

API/Framework Expectation

APDU Expectation

1

Applet1 and Applet2 registration and Envelope Handler availability with EVENT_FIRST_COMMAND_AFTER_SELECT

1.Applet1 is registered to all events defined TS 43.019 [7].

The registration is done using the methods initMenuEntry() for EVENT_MENU_SELECTION, requestPollInterval() for EVENT_STATUS_COMMAND, allocateTimer() for EVENT_TIMER_EXPIRATION and setEventList() for the rest of the events.

Applet2 is registered to all events defined TS 43.019 [7] except EVENT_PROFILE_DOWNLOAD, EVENT_CALL_CONTROL_BY_SIM and EVENT_MO_SHORT_MESSAGE_CONTROL_BY_SIM.

The registration is done using the methods initMenuEntry() for EVENT_MENU_SELECTION, requestPollInterval() for EVENT_STATUS_COMMAND, allocateTimer for EVENT_TIMER_EXPIRATION and setEventList for the rest of the events.

2- Select MF.

3-EnvelopeHandler.getTheHandler() method is called by Applet1

Applet1 is deregistered from EVENT_FIRST_COMMAND_AFTER_SELECT.

4-EnvelopeHandler.getTheHandler() method is called by Applet2

Applet2 is deregistered to EVENT_FIRST_COMMAND_AFTER_SELECT.

1- No exception is thrown

2- Applet1 is triggered by EVENT_FIRST_COMMAND_AFTER_SELECT

3- A Toolkit exception HANDLER_NOT_AVAILABLE is thrown

Applet1 finalizes

Applet2 is triggered

4- A Toolkit exception HANDLER_NOT_AVAILABLE is thrown

2

Handler availability with EVENT_PROFILE_DOWNLOAD

1- Terminal Profile command is sent to the SIM without the facility of SET_EVENT_LIST, SETUP_IDLE_MODE_TEXT, POLL_INTERVAL and SETUP MENU

2- EnvelopeHandler.getTheHandler() method is called by Applet1

Applet1 is deregistered to EVENT_PROFILE_DOWNLOAD

3-EnvelopeHandler.getTheHandler() method is called by Applet2

Applet2 is deregistered to EVENT_PROFILE_DOWNLOAD

1- Applet1 is triggered by EVENT_PROFILE_DOWNLOAD

2- A Toolkit exception HANDLER_NOT_AVAILABLE is thrown

Applet1 finalizes

Applet2 is triggered by EVENT_PROFILE_DOWNLOAD

3- A Toolkit exception HANDLER_NOT_AVAILABLE is thrown

3

Envelope Handler availability with EVENT_MENU_SELECTION_HELP_REQUEST

Perform SIM initialization with all the facilities supported

Envelope menu selection with help request is sent to the SIM

1-EnvelopeHandler.getTheHandler() method is called by Applet1

1- Applet1 is triggered

2- No exception is thrown.

4

Envelope Handler availability with EVENT_MENU_SELECTION

1-Envelope menu selection is sent to the SIM

2-EnvelopeHandler.getTheHandler() method is called by Applet1

1- Applet1 is triggered

2- No exception is thrown.

5

Envelope Handler availability with EVENT_FORMATTED_SMS_PP_ENV

1-A EVENT_FORMATTED_SMS_PP_ENV envelope is sent to the SIM

2-EnvelopeHandler.getTheHandler() method is called by Applet1

1- Applet1 is triggered

2- No exception is thrown.

6

Envelope Handler availability with EVENT_UNFORMATTED_SMS_PP_ENV

1-An unformatted sms pp envelope is sent to the SIM

2-EnvelopeHandler.getTheHandler() method is called by Applet1

3-EnvelopeHandler.getTheHandler() method is called by Applet2

1- Applet1 is triggered

2- No exception is thrown.

Applet1 finalizes

3- Applet2 is triggered

4- No exception is thrown.

7

Envelope Handler availability with EVENT_FORMATTED_CB

1-Envelope cell broadcast formatted is sent to the SIM

2-EnvelopeHandler.getTheHandler() method is called by Applet1

1- Applet1 is triggered

2-No exception is thrown

8

Envelope Handler availability with EVENT_UNFORMATTED_CB

1-Envelope cell broadcast unformatted is sent to the SIM

2-EnvelopeHandler.getTheHandler() method is called by Applet1

3-EnvelopeHandler.getTheHandler() method is called by Applet2

1- Applet1 is triggered

2- No exception is thrown

Applet1 finalizes

3- Applet2 is triggered

4- No exception is thrown

9

Envelope Handler availability with EVENT_TIMER_EXPIRATION

Timer id=1

1-Envelope Timer Expiration is sent to the SIM

2-EnvelopeHandler.getTheHandler() method is called by Applet1

1- Applet1 is triggered

2- No exception is thrown.

10

Envelope Handler availability with EVENT_CALL_CONTROL_BY_SIM

1-Envelope call control by sim is sent to the SIM

2-EnvelopeHandler.getTheHandler() method is called by Applet1

1- Applet1 is triggered

2- No exception is thrown.

11

Envelope Handler availability with EVENT_MO_SHORT_MESSAGE_CONTROL_BY_SIM

1-Envelope mo short message control by sim is sent to the SIM

2-EnvelopeHandler.getTheHandler() method is called by Applet1.

1- Applet1 is triggered

2- No exception is throw

12

Envelope Handler availability with EVENT_EVENT_DOWNLOAD_MT_CALL

1-Envelope event download mt call is sent to the SIM

2-EnvelopeHandler.getTheHandler() method is called by Applet1

3-EnvelopeHandler.getTheHandler() method is called by Applet2

1- Applet1 is triggered

2- No exception is thrown.

Applet1 finalizes

3- Applet2 is triggered

4- No exception is thrown.

13

Envelope Handler availability with EVENT_EVENT_DOWNLOAD_CALL_CONNECTED

1-Envelope event download call connected is sent to the SIM

2-EnvelopeHandler.getTheHandler() method is called by Applet1

3-EnvelopeHandler.getTheHandler() method is called by Applet2

1- Applet1 is triggered

2- No exception is thrown.

Applet1 finalizes

3- Applet2 is triggered

4- No exception is thrown.

14

Envelope Handler availability with EVENT_EVENT_DOWNLOAD_CALL_DISCONECTTED

1-Envelope event download call disconnected is sent to the SIM

2-EnvelopeHandler.getTheHandler() method is called by Applet1

3-EnvelopeHandler.getTheHandler() method is called by Applet2

1- Applet1 is triggered.

2- No exception is thrown.

Applet1 finalizes

3- Applet2 is triggered

4- No exception is thrown.

15

Envelope Handler availability with EVENT_EVENT_DOWNLOAD_LOCATION_STATUS

1-Envelope event download location status is sent to the SIM

2-EnvelopeHandler.getTheHandler() method is called by Applet1

3-EnvelopeHandler.getTheHandler() method is called by Applet2

1- Applet1 is triggered

2- No exception is thrown.

Applet1 finalizes

3- Applet2 is triggered

4- No exception is thrown.

16

Envelope Handler availability with EVENT_EVENT_DOWNLOAD_USER_ACTIVITY

1-Envelope event download user activity is sent to the SIM

2-EnvelopeHandler.getTheHandler() method is called by Applet1

3-EnvelopeHandler.getTheHandler() method is called by Applet2

1- Applet1 is triggered

2- No exception is thrown

Applet1 finalizes

3- Applet2 is triggered

4- No exception is thrown

17

Envelope Handler availability with EVENT_EVENT_DOWNLOAD_IDLE_SCREEN_AVAILABLE

1-Envelope event download idle screen available is sent to the SIM

2-EnvelopeHandler.getTheHandler() method is called by Applet1

3-EnvelopeHandler.getTheHandler() method is called by Applet2

1- Applet1 is triggered

2- No exception is thrown.

Applet1 finalizes

3- Applet2 is triggered

4- No exception is thrown.

18

Envelope Handler availability with EVENT_EVENT_DOWNLOAD_CARD_READER_STATUS

1-Envelope event download card reader status is sent to the SIM

2-EnvelopeHandler.getTheHandler() method is called by Applet1

3-EnvelopeHandler.getTheHandler() method is called by Applet2

1- Applet1 is triggered

2- No exception is thrown.

Applet1 finalizes

3- Applet2 is triggered

4- No exception is thrown.

19

Envelope Handler availability with EVENT_EVENT_DOWNLOAD_LANGUAGE_

SELECTION

1-Envelope event download language selection is sent to the SIM

2-EnvelopeHandler.getTheHandler() method is called by Applet1

Applet1 finalizes.

3-EnvelopeHandler.getTheHandler() method is called by Applet2

1- Applet1 is triggered

2-No exception is thrown.

Applet1 finalizes.

Applet2 is triggered

3-No exception is thrown.

20

Envelope Handler availability with EVENT_EVENT_DOWNLOAD_BROWSER_

TERMINATION

1-Envelope event download browser termination is sent to the SIM

2-EnvelopeHandler.getTheHandler() method is called by Applet1

3-EnvelopeHandler.getTheHandler() method is called by Applet2

1- Applet1 is triggered

2-No exception is thrown.

Applet1 finalizes.

Applet2 is triggered

3-No exception is thrown.

21

Envelope Handler availability with EVENT_STATUS_COMMAND

1-Status command is sent to the SIM

2-EnvelopeHandler.getTheHandler() method is called by Applet1

3-EnvelopeHandler.getTheHandler() method is called by Applet2

1- Applet1 is triggered

2- A Toolkit exception HANDLER_NOT_AVAILABLE is thrown

Applet1 finalizes.

3- Applet2 is triggered

4- A Toolkit exception HANDLER_NOT_AVAILABLE is thrown

22

Envelope Handler availability with EVENT_EVENT_DOWNLOAD_DATA_AVAILABLE

1- Applet1 builds a proactive command OPEN CHANNEL.

proactiveHandler.send() method is called

2-Envelope event download data available is sent to the SIM with ChannelId=01.

3-EnvelopeHandler.getTheHandler() method is called by Applet1

1- Applet1 is registered to EVENT_EVENT_DOWNLOAD_DATA_AVAILABLE and EVENT_EVENT_DOWNLOAD_CHANNEL_STATUS

2- Applet1 is triggered

3-No exception is thrown.

1- OPEN CHANNEL proactive command is fetched

TERMINAL RESPONSE is issued with Channel Id = 01

23

Envelope Handler availability with EVENT_EVENT_DOWNLOAD_CHANNEL_STATUS

1-Envelope event download channel status is sent to the SIM with ChannelId=01.

2-EnvelopeHandler.getTheHandler() method is called by Applet1

1- Applet1 is triggered

2-No exception is thrown.

24

Envelope Handler availability with EVENT_ UNRECOGNIZED_ENVELOPE

1-An unrecognized Envelope is sent to the SIM

2-EnvelopeHandler.getTheHandler() method is called by Applet1

3-EnvelopeHandler.getTheHandler() method is called by Applet2

1- Applet1 is triggered

2- No exception is thrown.

Applet1 finalizes

Applet2 is triggered

3- No exception is thrown.

25

Envelope Handler availability with EVENT_FORMATTED_SMS_PP_UPD

1- A formatted Update Record EFsms instruction is sent to the SIM

2-EnvelopeHandler.getTheHandler() method is called by Applet1

1- Applet1 is triggered

2- No exception is thrown.

26

Envelope Handler availability with EVENT_UNFORMATTED_SMS_PP_UPD

1-An unformatted Update Record EFsms instruction is sent to the SIM

2-EnvelopeHandler.getTheHandler() method is called by Applet1

3-EnvelopeHandler.getTheHandler() method is called by Applet2

1- Applet1 is triggered

2- No exception is thrown.

Applet1 finalizes

Applet2 is triggered

3- No exception is thrown.

6.3.1.3.4 Test Coverage

CRR Number

Test Case Number

CRRN1

3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25, 26

CRRC1

1, 2, 21

6.3.1.4 EnvelopeResponseHandler

Test Area Reference: FWK_MHA_ERHD

6.3.1.4.1 Conformance Requirement

6.3.1.4.1.1 Normal Execution

  • CRRN1: The handler is available for all triggered toolkit applets from the invocation of the processToolkit method of the toolkit applet until a toolkit applet has posted an envelope response or the first invocation of the ProactiveHandler.send method for the following events:

EVENT_FORMATTED_SMS_PP_ENV

EVENT_UNFORMATTED_SMS_PP_ENV

EVENT_CALL_CONTROL

EVENT_SMS_MO_CONTROL

EVENT_UNRECOGNIZED_ENVELOPE

  • CRRN2: After a call to the post method the handler is not longer available.
  • CRRN3: After a call to the send method the handler is not longer available.

6.3.1.4.1.2 Parameters error

No requirements.

6.3.1.4.1.3 Context Errors

  • CRRC1: The handler is not available for the following events:

EVENT_FORMATTED_SMS_CB

EVENT_UNFORMATTED_SMS_CB

EVENT_MENU_SELECTION

EVENT_MENU_SELECTION_HELP_REQUEST

EVENT_TIMER_EXPIRATION

EVENT_EVENT_DOWNLOAD_MT_CALL

EVENT_EVENT_DOWNLOAD_CALL_CONNECTED

EVENT_EVENT_DOWNLOAD_CALL_DISCONNECTED

EVENT_EVENT_DOWNLOAD_LOCATION_STATUS

EVENT_EVENT_DOWNLOAD_USER_ACTIVITY

EVENT_EVENT_DOWNLOAD_IDLE_SCREEN_AVAILABLE

EVENT_EVENT_DOWNLOAD_CARD_READER_STATUS

EVENT_EVENT_DOWNLOAD_LANGUAGE_SELECTION

EVENT_EVENT_DOWNLOAD_BROWSER_TERMINATION

EVENT_STATUS_COMMAND

EVENT_PROFILE_DOWNLOAD

EVENT_FIRST_COMMAND_AFTER_SELECT

EVENT_EVENT_DOWNLOAD_DATA_AVAILABLE

EVENT_EVENT_DOWNLOAD_CHANNEL_STATUS

EVENT_FORMATTED_SMS_PP_UPD

EVENT_UNFORMATTED_SMS_PP_UPD

6.3.1.4.2 Test Suite Files

Test Script: FWK_MHA_ERHD_1.scr

Test Applet: FWK_MHA_ERHD_1.java

FWK_MHA_ERHD_2.java

Load Script: FWK_MHA_ERHD_1.ldr

Cleanup Script: FWK_MHA_ERHD_1.clr

Parameter File: FWK_MHA_ERHD_1.par

6.3.1.4.3 Test Procedure

Id

Description

API/Framework Expectation

APDU Expectation

1

Toolkit Applet1 and Toolkit Applet2 registration and Envelope Response Handler availability with EVENT_FIRST_COMMAND_AFTER_SELECT

1- Applet1 is registered to all events defined in TS 43.019 [7].

Using the methods initMenuEntry() for EVENT_MENU_SELECTION, requestPollInterval() for EVENT_STATUS_COMMAND, allocateTimer() for EVENT_TIMER_EXPIRATION and setEventList() for the rest of the events.

Applet2 is registered to

EVENT_UNFORMATTED_SMS_PP_ENV and EVENT_UNRECOGNIZED_ENVELOPE.

  1. Select MF.

3-EnvelopeResponseHandler.getTheHandler() method is called by Applet1

Applet1 is deregistered to EVENT_FIRST_COMMAND_AFTER_SELECT.

1- No exception is thrown

2- Applet1 is triggered by EVENT_FIRST_COMMAND_AFTER_SELECT

3- A Toolkit exception HANDLER_NOT_AVAILABLE is thrown

2

Handler availability with EVENT_PROFILE_DOWNLOAD

1- Terminal Profile command is sent to the SIM without the facility of SET_EVENT_LIST, SETUP_IDLE_MODE_TEXT, SETUP_MENU and POLL_INTERVAL.

2- EnvelopeResponseHandler.getTheHandler() method is called by Applet1

Applet1 is deregistered to EVENT_PROFILE_DOWNLOAD

1- Applet1 Is Triggered By EVENT_PROFILE_DOWNLOAD

2- A Toolkit exception HANDLER_NOT_AVAILABLE is thrown

3

Envelope Response Handler availability with EVENT_MENU_SELECTION_HELP_REQUEST

Perform SIM initialization with all the facilities supported

1-Envelope menu selection with help request is sent to the SIM

2-EnvelopeResponseHandler.getTheHandler() method is called by Applet1

1- Applet1 is triggered.

2- A Toolkit exception HANDLER_NOT_AVAILABLE is thrown

4

Envelope Response Handler availability with EVENT_MENU_SELECTION

1-A envelope menu selection is sent to the SIM

2-EnvelopeResponseHandler.getTheHandler() method is called by Applet1

1- Applet1 is triggered

2- A Toolkit exception HANDLER_NOT_AVAILABLE is thrown

5

Envelope Response Handler availability with EVENT_FORMATTED_CB

1-Envelope cell broadcast formatted is sent to the SIM

2-EnvelopeResponseHandler.getTheHandler() method is called by Applet1

1- The applet1 is triggered.

2-A Toolkit exception HANDLER_NOT_AVAILABLE is thrown

6

Envelope Response Handler availability with EVENT_UNFORMATTED_CB

1-Envelope cell broadcast unformatted is sent to the SIM

2-EnvelopeResponseHandler.getTheHandler() method is called by Applet1

1- Applet1 is triggered.

2- A Toolkit exception HANDLER_NOT_AVAILABLE is thrown

7

Envelope Response Handler availability with EVENT_TIMER_EXPIRATION

1-Envelope Timer Expiration is sent to the SIM

2-EnvelopeResponseHandler.getTheHandler() method is called by Applet1

1- Applet1 is triggered.

2- A Toolkit exception HANDLER_NOT_AVAILABLE is thrown

8

Envelope Response Handler availability with EVENT_EVENT_DOWNLOAD_MT_CALL

1-Envelope event download mt call is sent to the SIM

2-EnvelopeResponseHandler.getTheHandler() method is called by Applet1

1- Applet1 is triggered.

2 -A Toolkit exception HANDLER_NOT_AVAILABLE is thrown

9

Envelope Response Handler availability with EVENT_EVENT_DOWNLOAD_CALL_CONNECTED

1-Envelope event download call connected is sent to the SIM

2-EnvelopeResponseHandler.getTheHandler() method is called by Applet1

1- Applet1 is triggered.

2- A Toolkit exception HANDLER_NOT_AVAILABLE is thrown

10

Envelope Response Handler availability with EVENT_EVENT_DOWNLOAD_CALL_DISCONNECTED

1-Envelope event download call disconnected is sent to the SIM

2-EnvelopeResponseHandler.getTheHandler() method is called by Applet1

1- Applet1 is triggered.

2- A Toolkit exception HANDLER_NOT_AVAILABLE is thrown

11

Envelope Response Handler availability with EVENT_EVENT_DOWNLOAD_LOCATION_STATUS

1-Envelope event download location status is sent to the SIM

2-Applet1 obtains the Envelope Response Handler

1- Applet1 is triggered.

2- A Toolkit exception HANDLER_NOT_AVAILABLE is thrown

12

Envelope Response Handler availability with EVENT_EVENT_DOWNLOAD_USER_ACTIVITY

1-Envelope event download user activity is sent to the SIM

2-EnvelopeResponseHandler.getTheHandler() method is called by Applet1

1- Applet1 is triggered.

2- A Toolkit exception HANDLER_NOT_AVAILABLE is thrown

13

Envelope Response Handler availability with EVENT_EVENT_DOWNLOAD_IDLE_SCREEN_AVAILABLE

1-Envelope event download idle screen available is sent to the SIM

2-EnvelopeResponseHandler.getTheHandler() method is called by Applet1

1- Applet1 is triggered.

2- A Toolkit exception HANDLER_NOT_AVAILABLE is thrown

14

Envelope Response Handler availability with EVENT_EVENT_DOWNLOAD_CARD_READER_STATUS

1-Envelope event download card reader status is sent to the SIM

2-EnvelopeResponseHandler.getTheHandler() method is called by Applet1

1- Applet1 is triggered

2- A Toolkit exception HANDLER_NOT_AVAILABLE is thrown

15

Envelope Response Handler availability with EVENT_EVENT_DOWNLOAD_LANGUAGE_

SELECTION

1-Envelope event download language selection is sent to the SIM

2-EnvelopeResponseHandler.getTheHandler() method is called by Applet1

1- Applet1 is triggered

2-A Toolkit exception HANDLER_NOT_AVAILABLE is thrown

16

Envelope Response Handler availability with EVENT_EVENT_DOWNLOAD_BROWSER_

TERMINATION

1-Envelope event download browser termination is sent to the SIM

2-EnvelopeResponseHandler.getTheHandler() method is called by Applet1

1- Applet1 is triggered

2-A Toolkit exception HANDLER_NOT_AVAILABLE is thrown

17

Envelope Response Handler availability with EVENT_STATUS_COMMAND

1-Status command is sent to the SIM

2-EnvelopeResponseHandler.getTheHandler() method is called by Applet1

1- Applet1 is triggered

2- A Toolkit exception HANDLER_NOT_AVAILABLE is thrown

18

Envelope Response Handler availability with EVENT_EVENT_DOWNLOAD_DATA_AVAILABLE

1- Applet1 initialises a proactive command OPEN CHANNEL and calls the send() method.

2- Envelope event download data avalaible is sent to the SIM with channelId=01

3-EnvelopeResponseHandler.getTheHandler() method is called by Applet1

2- Applet1 is triggered

3- A Toolkit exception HANDLER_NOT_AVAILABLE is thrown

  1. The OPEN CHANNEL command is fetched.

TERMINAL RESPONSE IS SENT TO THE SIM with channelId=01

19

Envelope Response Handler availability with EVENT_EVENT_DOWNLOAD_CHANNEL_STATUS

1- Envelope event download channel status is sent to the SIM with channelId=01

2-EnvelopeResponseHandler.getTheHandler() method is called by Applet1

1- Applet1 is triggered

2- A Toolkit exception HANDLER_NOT_AVAILABLE is thrown

20

Envelope Response Handler availability with EVENT_FORMATTED_SMS_PP_UPD

1- Update Record EFsms instruction formatted is sent to the SIM

2-EnvelopeResponseHandler.getTheHandler() method is called by Applet1

1- The applet1 is triggered.

2-A Toolkit exception HANDLER_NOT_AVAILABLE is thrown

21

Envelope Response Handler availability with EVENT_UNFORMATTED_SMS_PP_UPD

1- Update Record EFsms instruction unformatted is sent to the SIM

2-EnvelopeResponseHandler.getTheHandler() method is called by Applet1

1- Applet1 is triggered.

2- A Toolkit exception HANDLER_NOT_AVAILABLE is thrown

22

Envelope Response Handler availability with EVENT_FORMATTED_SMS_PP_ENV

1-A formatted sms pp envelope is sent to the SIM

2-EnvelopeResponseHandler.getTheHandler() method is called by Applet1

3-Applet1 builds an additional information for response packet and it calls the post method

4-Applet1 calls all methods of the Envelope Response Handler (including the inherited method)

5-A EVENT_FORMATTED_SMS_PP_ENV envelope is sent to the SIM

6-EnvelopeResponseHandler.getTheHandler() method is called by Applet1

7-Applet1 builds a proactive command and it calls the send() method

8-Applet1 calls all methods of the Envelope Response Handler (including the inherited method)

1- Applet1 is triggered

2- No exception is thrown.

4- A Toolkit exception HANDLER_NOT_AVAILABLE is thrown for each method

Applet1 finalizes

5- Applet1 is triggered

6- No Exception is thrown

8- Toolkit exception HANDLER_NOT_AVAILABLE is thrown for each method

3- The response packet is sent

7- The proactive command is sent

23

Envelope Response Handler availability with EVENT_UNFORMATTED_SMS_PP_ENV

1-An unformatted sms pp envelope is sent to the SIM

2-EnvelopeResponseHandler.getTheHandler() method is called by Applet1

3-Applet1 builds the envelope response and it calls the post() method

4- Applet1 calls all methods of the Envelope Response Handler (including the inherited method)

5-EnvelopeResponseHandler.getTheHandler() method is called

6-An unformatted sms pp envelope is sent to the SIM

7-EnvelopeResponseHandler.getTheHandler() method is called.

8-Applet1 builds a proactive command and it calls the send() method

9-Applet1 calls all methods of the Envelope Response Handler (including the inherited method)

10-EnvelopeResponseHandler.getTheHandler() method is called by Applet2

1- Applet1 is triggered

2- No exception is thrown.

4- A Toolkit exception HANDLER_NOT_AVAILABLE is thrown for each method

Applet1 finalizes

5- Applet2 is triggered.

A Toolkit exception HANDLER_NOT_AVAILABLE is thrown.

Applet2 finalizes

6- Applet1 is triggered.

7- No exception is thrown.

9- A Toolkit exception HANDLER_NOT_AVAILABLE is thrown for each method.

Applet1 finalizes

10- Applet2 is triggered.

A Toolkit exception HANDLER_NOT_AVAILABLE is thrown.

3- The envelope response is sent

9- The proactive command is fetched and the Terminal response is issued.

24

Envelope Response Handler availability with EVENT_CALL_CONTROL_BY_SIM

1-Envelope call control by sim is sent to the SIM

2-EnvelopeResponseHandler.getTheHandler() method is called by Applet1

3-Applet1 builds the envelope response and it calls the postAsBERTLV() method

4-Applet1 calls all methods of the Envelope Response Handler (including the inherited method)

5-Envelope call control by sim is sent to the SIM

6-EnvelopeResponseHandler.getTheHandler() method is called by Applet1

7-Applet1 builds a proactive command and it calls the send() method

8-Applet1 calls all methods of the Envelope Response Handler (including the inherited method)

1- Applet1 is triggered

2- No exception is thrown.

4- Toolkit exception HANDLER_NOT_AVAILABLE is thrown for each method

Applet1 finalizes

5- Applet1 is triggered

6- No Exception is thrown

8- A Toolkit exception HANDLER_NOT_AVAILABLE is thrown for each method

3- The envelope response is sent

7- The proactive command is fetched and the Terminal response is issued

25

Envelope Response Handler availability with EVENT_MO_SHORT_MESSAGE_CONTROL_BY_SIM

1-Envelope mo short message control by sim is sent to the SIM

2-EnvelopeResponseHandler.getTheHandler() method is called by Applet1

3-Applet1 builds the envelope response and it calls the postAsBERTLV() method

4-Applet1 calls all methods of the Envelope Response Handler (including the inherited method)

5-Envelope mo short message control by sim is sent to the SIM

6-EnvelopeResponseHandler.getTheHandler() method is called by Applet1

7-Applet1 builds a proactive command and it calls the send method

8-Applet1 calls all methods of the Envelope Response Handler (including the inherited method)

1- Applet1 is triggered

2- No exception is thrown.

4- A Toolkit exception HANDLER_NOT_AVAILABLE is thrown for each method

Applet1 finalizes

5- Applet1 is triggered

6- No exception is thrown

8- A Toolkit exception HANDLER_NOT_AVAILABLE is thrown for each method

3-The envelope response is sent

7- The proactive command is fetched and the Terminal Response is issued

26

Envelope Response Handler availability with EVENT_UNRECOGNIZED_ENVELOPE

1-An unrecognized Envelope is sent to the SIM

2-EnvelopeResponseHandler.getTheHandler() method is called by Applet1

3-Applet1 builds the envelope response and it calls the postAsBERTLV() or post method

4-Applet1 calls all methods of Envelope Response Handler (including the inherited method)

5-EnvelopeResponseHandler.getTheHandler() method is called

6-An unrecognized Envelope is sent to the SIM

7-EnvelopeResponseHandler.getTheHandler() method is called

8-Applet1 builds a proactive command and it calls the send() method

9-Applet1 calls all methods of the Envelope Response Handler (including the inherited method)

10-EnvelopeResponseHandler.getTheHandler() method is called by Applet2

1- Applet1 is triggered

2- No exception is thrown.

4- A Toolkit exception HANDLER_NOT_AVAILABLE is thrown for each method

Applet1 finalizes

5- Applet2 is triggered.

A Toolkit exception HANDLER_NOT_AVAILABLE is thrown.

Applet2 finalizes

6- Applet1 is triggered.

7- No exception is thrown.

9- A Toolkit exception HANDLER_NOT_AVAILABLE is thrown for each method

Applet1 finalizes

10- Applet2 is triggered

A Toolkit exception HANDLER_NOT_AVAILABLE is thrown.

3- The envelope response is sent

9- The proactive command is fetched and the Terminal response is issued

27

The envelope response is sent when a proactive session is ongoing

1-A formatted SMS PP envelope is sent to the SIM.

2-Proactive command DISPLAY TEXT is built and it calls the send() method.

3-A call control by sim envelope is sent to the SIM.

4-EnvelopeResponseHandler.getTheHandler() method is called by Applet1

5-Applet1 builds the envelope response and it calls the postAsBERTLV

1- Applet1 is triggered.

3- Applet1 is triggered

4- No exception is thrown

2- 91 XX

5-The envelope response is sent

9F YY

GET RESPONSE

Data

91 XX

Fetch DISPLAY TEXT

Terminal Response DISPLAY TEXT

28

Envelope Response Handler availability with EVENT_UNFORMATTED_SMS_PP_ENV in case of multi-triggering

1-A unformatted sms pp envelope is sent to the SIM

2-EnvelopeResponseHandler.getTheHandler() method is called by Applet1

5-EnvelopeResponseHandler.getTheHandler() method is called by Applet 2

6- Applet2 calls the post( ) method

1- Applet1 is triggered

2- No exception is thrown.

3- Applet1 finalizes

4- Applet2 is triggered.

5- No Exception is thrown

Applet2 finalizes

6. The response is checked.

29

Envelope Response Handler availability with EVENT_UNRECOGNIZED_ENVELOPE in case of multi-triggering

1-An unrecognized Envelope is sent to the SIM

2-EnvelopeResponseHandler.getTheHandler() method is called by Applet1

5-EnvelopeResponseHandler.getTheHandler() method is called by Applet 2

6- Applet2 calls the post( ) method

1- Applet1 is triggered

2- No exception is thrown.

3- Applet1 finalizes

4- Applet2 is triggered.

5- No Exception is thrown

Applet2 finalizes

6- The response is checked

6.3.1.4.4 Test Coverage

CRR Number

Test Case Number

CRRN1

20, 21, 22, 23, 24, 25,26,27

CRRN2

20, 21, 22, 23, 24, 25

CRRN3

20, 21, 22, 23, 24, 25

CRRC1

1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 28, 29