WebAPI/WebSTK: Difference between revisions

no edit summary
No edit summary
Line 5: Line 5:
* These interface will be added in WebMobileConnection
* These interface will be added in WebMobileConnection


== Event handlers for receiving messages from SIM to ME ==
== Event handlers for receiving messages from ICC to ME ==
These event handlers will be invoked when there are proactive commands or session end notification sent from SIM.
These event handlers will be invoked when there are proactive commands or session end notification sent from ICC.


=== Proactive Command ===
=== Proactive Command ===
Line 26: Line 26:
</pre>
</pre>


== Send Message from ME to SIM ==
== Send Message from ME to ICC ==
There are two kinds of messages will be sent from ME to SIM
There are two kinds of messages will be sent from ME to ICC
* Terminal Response  
* Terminal Response  
** Once the ME has made its attempt to execute a proactive command from the SIM, the ME shall inform the SIM of the success or otherwise of that command, by using TERMINAL RESPONSE.
** Once the ME has made its attempt to execute a proactive command from the ICC, the ME shall inform the ICC of the success or otherwise of that command, by using TERMINAL RESPONSE.
* Envelope command
* Envelope command
** Envelope command is used to transfer STK information from ME to ICC.
** Envelope command is used to transfer STK information from ME to ICC.
Line 59: Line 59:


= STK message format =
= STK message format =
The specification of the message received from SIM and sent to SIM.
The specification of the message received from ICC and sent to ICC.


== From SIM to ME ==
== From ICC to ME ==
* See TS 102.223, Annex C for the structure of STK communications
* See TS 102.223, Annex C for the structure of STK communications
Basically, a Proactive command is a BER-TLV object, which contains several Comprehension-TLV objects
Basically, a Proactive command is a BER-TLV object, which contains several Comprehension-TLV objects
Line 136: Line 136:


   /**
   /**
   * One of nsIDOMMozStkCmd*Param.
   * The parameter of this proactive command issued by ICC.
   */  
   */  
   readonly attribute nsIDOMMozStkCmdParameter param;
   readonly attribute nsIDOMMozStkCmdParameter param;
Line 219: Line 219:
   *
   *
   * @see TS 11.14, clause 12.6, Command Qualifier, Display Text, bit 1.
   * @see TS 11.14, clause 12.6, Command Qualifier, Display Text, bit 1.
  *
  * High priority text shall be displayed on the screen immediately, except if
  * there is a conflict of priority level of alerting such as incoming calls
  * or a low battery warning. In that situation, the resolution is left to
  * the terminal. If the command is rejected in spite of the high priority,
  * the terminal shall inform the ICC with resultCode is
  * TERMINAL_CRNTLY_UNABLE_TO_PROCESS in MozStkResponse.
  *
   * true: high priority
   * true: high priority
   * false: normal priority
   * false: normal priority
Line 228: Line 236:
   *
   *
   * @see TS 11.14, clause 12.6, Command Qualifier, Display Text, bit 8.
   * @see TS 11.14, clause 12.6, Command Qualifier, Display Text, bit 8.
  *
  * If this attribute is true, but user doesn't give any input within a period
  * of time(said 30 secs), the terminal shall inform the ICC with resultCode
  * is NO_RESPONSE_FROM_USER in MozStkResponse.
   *
   *
   * true: Wait for user to clear message.
   * true: Wait for user to clear message.
Line 238: Line 250:
   *
   *
   * @see TS 11.14, clause 12.43, Immediate response.
   * @see TS 11.14, clause 12.43, Immediate response.
  *
  * When this attribute is true, the terminal shall immediately send
  * MozStkResponse with resultCode is OK.
  *
  * true: The terminal shall send response immediately.
  * false: otherwise.
   */
   */
   readonly attribute boolean responseNeeded;
   readonly attribute boolean responseNeeded;
Line 292: Line 310:
   */  
   */  
   readonly attribute unsigned short defaultItem;
   readonly attribute unsigned short defaultItem;
  /**
  * Selection preference.
  *
  * @see TS 11.14, clause 12.6, Command Qualifier, SET UP MENU, bit 1.
  *
  * true: selection using soft key preferred.
  * false: no selection preference.
  */
  readonly attribute boolean isSoftKeyPreferred;


   /**
   /**
Line 335: Line 343:
   /**
   /**
   * Text for the ME to display, corresponds to a default text string offered  
   * Text for the ME to display, corresponds to a default text string offered  
   * by the SIM.
   * by the ICC.
   */  
   */  
   readonly attribute DOMString defaultText;
   readonly attribute DOMString defaultText;
Line 401: Line 409:
</pre>
</pre>


== From ME to SIM ==  
== From ME to ICC ==  
* Terminal Response
* Terminal Response
* Envelope Command
* Envelope Command
Line 474: Line 482:
  * @see TS 11.14, clause 13.4
  * @see TS 11.14, clause 13.4
  */
  */
[scriptable, uuid(2d442d8b-2d5f-40b6-833c-a4406abc3917)]
interface nsIDOMMozStkProactiveCommand : nsISupports
interface nsIDOMMozStkProactiveCommand : nsISupports
{
{
Line 497: Line 504:
  * @see TS 11.14, clause 12.12
  * @see TS 11.14, clause 12.12
  */
  */
[scriptable, uuid(791bdec9-ea35-429d-8673-7f352e57ce15)]
interface nsIDOMMozStkResultCode : nsISupports
interface nsIDOMMozStkResultCode : nsISupports
{
{
  /**
  * Results '0X' and '1X' indicate that the command has been performed.
  */
  /** Command performed successfully */
   const unsigned short OK                                = 0x00;
   const unsigned short OK                                = 0x00;
  /** Command performed with partial comprehension */
   const unsigned short PRFRMD_WITH_PARTIAL_COMPREHENSION = 0x01;
   const unsigned short PRFRMD_WITH_PARTIAL_COMPREHENSION = 0x01;
  /** Command performed, with missing information */
   const unsigned short PRFRMD_WITH_MISSING_INFO          = 0x02;
   const unsigned short PRFRMD_WITH_MISSING_INFO          = 0x02;
  /** REFRESH performed with additional EFs read */
   const unsigned short PRFRMD_WITH_ADDITIONAL_EFS_READ  = 0x03;
   const unsigned short PRFRMD_WITH_ADDITIONAL_EFS_READ  = 0x03;
   const unsigned short PRFRMD_ICON_NOT_DISPLAYED        = 0x04;
 
   /** Command performed, but modified by call control by NAA */
   const unsigned short PRFRMD_MODIFIED_BY_NAA            = 0x05;
   const unsigned short PRFRMD_MODIFIED_BY_NAA            = 0x05;
  /** Command performed successfully, limited service */
   const unsigned short PRFRMD_LIMITED_SERVICE            = 0x06;
   const unsigned short PRFRMD_LIMITED_SERVICE            = 0x06;
  /** Command performed with modification */
   const unsigned short PRFRMD_WITH_MODIFICATION          = 0x07;
   const unsigned short PRFRMD_WITH_MODIFICATION          = 0x07;
  /** REFRESH performed but indicated NAA was not active */
   const unsigned short PRFRMD_NAA_NOT_ACTIVE            = 0x08;
   const unsigned short PRFRMD_NAA_NOT_ACTIVE            = 0x08;
   const unsigned short PRFRMD_TONE_NOT_PLAYED            = 0x09;
 
   /** Proactive UICC session terminated by the user */
   const unsigned short UICC_SESSION_TERM_BY_USER        = 0x10;
   const unsigned short UICC_SESSION_TERM_BY_USER        = 0x10;
  /** Backward move in the proactive UICC session requested by the user */
   const unsigned short BACKWARD_MOVE_BY_USER            = 0x11;
   const unsigned short BACKWARD_MOVE_BY_USER            = 0x11;
  /** No response from user */
   const unsigned short NO_RESPONSE_FROM_USER            = 0x12;
   const unsigned short NO_RESPONSE_FROM_USER            = 0x12;
  /** Help information required by the user */
   const unsigned short HELP_INFO_REQUIRED                = 0x13;
   const unsigned short HELP_INFO_REQUIRED                = 0x13;
  /** USSD or SS transaction terminated by the user */
   const unsigned short USSD_SS_SESSION_TERM_BY_USER      = 0x14;
   const unsigned short USSD_SS_SESSION_TERM_BY_USER      = 0x14;
  /*
  * Results '2X' indicate to the UICC that it may be worth re-trying the
  * command at a later opportunity.
  */
  /** Terminal currently unable to process command */
   const unsigned short TERMINAL_CRNTLY_UNABLE_TO_PROCESS = 0x20;
   const unsigned short TERMINAL_CRNTLY_UNABLE_TO_PROCESS = 0x20;
  /** Network currently unable to process command */
   const unsigned short NETWORK_CRNTLY_UNABLE_TO_PROCESS  = 0x21;
   const unsigned short NETWORK_CRNTLY_UNABLE_TO_PROCESS  = 0x21;
  /** User did not accept the proactive command */
   const unsigned short USER_NOT_ACCEPT                  = 0x22;
   const unsigned short USER_NOT_ACCEPT                  = 0x22;
  /** User cleared down call before connection or network release */
   const unsigned short USER_CLEAR_DOWN_CALL              = 0x23;
   const unsigned short USER_CLEAR_DOWN_CALL              = 0x23;
  /** Action in contradiction with the current timer state */
   const unsigned short CONTRADICTION_WITH_TIMER          = 0x24;
   const unsigned short CONTRADICTION_WITH_TIMER          = 0x24;
  /** Interaction with call control by NAA, temporary problem */
   const unsigned short NAA_CALL_CONTROL_TEMPORARY        = 0x25;
   const unsigned short NAA_CALL_CONTROL_TEMPORARY        = 0x25;
  /** Launch browser generic error code */
   const unsigned short LAUNCH_BROWSER_ERROR              = 0x26;
   const unsigned short LAUNCH_BROWSER_ERROR              = 0x26;
   const unsigned short MMS_TEMPORARY                    = 0x27;
 
   /*
  * Results '3X' indicate that it is not worth the UICC re-trying with an
  * identical command, as it will only get the same response. However, the
  * decision to retry lies with the application.
  */
  /** Command beyond terminal's capabilities */
   const unsigned short BEYOND_TERMINAL_CAPABILITY        = 0x30;
   const unsigned short BEYOND_TERMINAL_CAPABILITY        = 0x30;
 
  /** Command type not understood by terminal */
   const unsigned short CMD_TYPE_NOT_UNDERSTOOD          = 0x31;
   const unsigned short CMD_TYPE_NOT_UNDERSTOOD          = 0x31;
  /** Command data not understood by terminal */
   const unsigned short CMD_DATA_NOT_UNDERSTOOD          = 0x32;
   const unsigned short CMD_DATA_NOT_UNDERSTOOD          = 0x32;
  /** Command number not known by terminal */
   const unsigned short CMD_NUM_NOT_KNOWN                = 0x33;
   const unsigned short CMD_NUM_NOT_KNOWN                = 0x33;
  /** SS Return Error */
   const unsigned short SS_RETURN_ERROR                  = 0x34;
   const unsigned short SS_RETURN_ERROR                  = 0x34;
  /** SMS RP-ERROR */
   const unsigned short SMS_RP_ERROR                      = 0x35;
   const unsigned short SMS_RP_ERROR                      = 0x35;
  /** Error, required values are missing */
   const unsigned short REQUIRED_VALUES_MISSING          = 0x36;
   const unsigned short REQUIRED_VALUES_MISSING          = 0x36;
  /** USSD Return Error */
   const unsigned short USSD_RETURN_ERROR                = 0x37;
   const unsigned short USSD_RETURN_ERROR                = 0x37;
  /** MultipleCard commands error */
   const unsigned short MULTI_CARDS_CMD_ERROR            = 0x38;
   const unsigned short MULTI_CARDS_CMD_ERROR            = 0x38;
  /**
  * Interaction with call control by USIM or MO short message control by
  * USIM, permanent problem
  */
   const unsigned short USIM_CALL_CONTROL_PERMANENT      = 0x39;
   const unsigned short USIM_CALL_CONTROL_PERMANENT      = 0x39;
  /** Bearer Independent Protocol error */
   const unsigned short BIP_ERROR                        = 0x3a;
   const unsigned short BIP_ERROR                        = 0x3a;
  /** Access Technology unable to process command */
   const unsigned short ACCESS_TECH_UNABLE_TO_PROCESS    = 0x3b;
   const unsigned short ACCESS_TECH_UNABLE_TO_PROCESS    = 0x3b;
  /** Frames error */
   const unsigned short FRAMES_ERROR                      = 0x3c;
   const unsigned short FRAMES_ERROR                      = 0x3c;
  const unsigned short MMS_ERROR                        = 0x3d;
};
};


</pre>
</pre>
Confirmed users
266

edits