Home · All Namespaces · All Classes · Grouped Classes · Modules · Functions codeless banner

Communications: Telephony: SIM Toolkit
Functional Description

The SIM Toolkit allows service providers to develop phone applications without modifying or installing software on the phone with the SIM toolkit application providing the user-interface for this functionality.

Qt Extended provides only basic SIM toolkit functionality as the major part of the work to support SIM Toolkit is in the modem or vendor plug-in. There are no standard AT commands within the GSM specifications for SIM Toolkit and each modem has its own proprietary commands.

The SIM Toolkit provides features such as a display menu, display text and single character and string user input. Input may be numeric and the entered text may be echoed or hidden (as for password text). Play Tones are available for applications to use to indicate events such as call waiting, busy signal or errors etc.

See 3GPP TS 11.14

Features

Call Control By SIM

Some SIMs can control the dialing process to change the way things work.
We need to support this on modems that have it (e.g. Greenphone).

Call Set-up

The SIM toolkit application can set-up a call on behalf of the user. In this case
the user must be asked for authorization before the call is initiated. If the
user agrees, then the Qt Extended Dialer service is directed to initiate the dial request.

This feature handles SET UP CALL (3GPP TS 11.14, section 6.4.13).

Display Menu

Displays a menu from which the user can choose an option. It is possible
to select an item from the menu or press Back to move to the previous
menu. Pressing Back at the main menu exits the application. This feature
handles SET UP MENU (GSM TS 11.14, section 6.4.8) and SELECT ITEM (3GPP
TS 11.14, section 6.4.9).

Display Text

Displays text to the user. The text can be displayed until dismissed by the
user or for a short delay. This feature handles DISPLAY TEXT (3GPP TS 11.14,
section 6.4.1).

Get User Input

The user can be prompted for input of the following types:

The entered text can be echoed or hidden as for password input.

Icon Support

Newer versions of the SIM toolkit specification have support for icons.
Almost every command that can show a text string (menus, display text,
send sms, setup idle mode text, etc) can now have an icon associated
with it. The icon can either be displayed next to the text string, or as
a replacement for the text string if it is marked as "self-explainatory".

Idle Mode String (Operator)

The idle mode text string is displayed on the home screen
whenever QSimToolkit::command is emitted with the command type SetupIdleModeText.

Actual display also depends on Themes.

Internationalization

The SIM toolkit application can request the language that the surrounding system
is running in so that it can adapt its text message's to the user's language. This
feature handles PROVIDE LOCAL INFORMATION (3GPP TS 11.14, section 6.4.15).

It is expected that the modem vendor plug-in will intercept the =PROVIDE LOCAL
INFORMATION= message, call Qt Extended::languageList(), and pass the user's
language back to the SIM automatically. No other interaction is required.

The SIM toolkit application can inform the user as to the current language that
it is using with the feature LANGUAGE NOTIFICATION (3GPP TS 11.14, section 6.4.25).
This information is passed to the Qt Extended application layer for applications that
wish to display it.

Launch Browser

The SIM toolkit application can request that the Web browser be launched with a
specific URL. This feature handles LAUNCH BROWSER (3GPP TS 11.14, section
6.4.26) and the information is passed to the Qt Extended WebAccess service.

The 3GPP specification lists some requirements on the modem. For example, if the
modem is busy, not available, or processing a supplementary service request, it must
notify the SIM application that the operation cannot be performed. It is expected that the
modem or vendor plug-in to handle this detail, as there is no way for Qt Extended
to determine this information.

Other Commands

There are a number of other pro-active SIM commands that are sent from the SIM
to the modem, according to 3GPP TS 11.14. We expect these to be handled by the
modem itself, or the vendor plug-in - any responses that need to be sent to the
modem are sent by the vendor plug-in. They are of no interest to Qt Extended's
application layer and so do not appear in the SIM toolkit API.

Command Reference
CLOSE CHANNEL 3GPP TS 11.14, section 6.4.28
GET CHANNEL STATUS 3GPP TS 11.14, section 6.4.31
GET READER STATUS 3GPP TS 11.14, section 6.4.20
LANGUAGE NOTIFICATION 3GPP TS 11.14, section 6.4.25
MORE TIME 3GPP TS 11.14, section 6.4.4
OPEN CHANNEL 3GPP TS 11.14, section 6.4.27
PERFORM CARD APDU 3GPP TS 11.14, section 6.4.17
POLL INTERVAL 3GPP TS 11.14, section 6.4.6
POLLING OFF 3GPP TS 11.14, section 6.4.14
POWER OFF CARD 3GPP TS 11.14, section 6.4.18
POWER ON CARD 3GPP TS 11.14, section 6.4.19
PROVIDE LOCAL INFORMATION 3GPP TS 11.14, section 6.4.15
RECEIVE DATA 3GPP TS 11.14, section 6.4.29
RUN AT COMMAND 3GPP TS 11.14, section 6.4.23
SEND DATA 3GPP TS 11.14, section 6.4.30

Play Tone

The SIM toolkit application can request that the application play a short tone
from the following list:

This feature handles PLAY TONE (3GPP TS 11.14, section 6.4.5).

Refresh

This feature handles REFRESH (3GPP TS 11.14, section 6.4.7). It is assumed that the modem performs the refresh. Applications are notified of the refresh however at present, Qt Extended applications are not required to action the notification, and simply ignore it.

Refresh Applications

As per Features descriptions above, applications are notified of the refresh however at present, Qt Extended applications are not required to action the notification, and simply ignore it. The must however do some things - eg. re-read phone book?

Send Messages

SIM toolkit applications can send various message types to the network via
SMS, Supplementary Services (SS) or Unstructured Supplementary Services Data (USSD).

It is assumed that the modem or the vendor plug-in performs the send
operation, and all that is required by Qt Extended is to display a user-visible text string
while the send is in progress.

This feature handles SEND SHORT MESSAGE (3GPP TS 11.14, section 6.4.10),
SEND SS (3GPP TS 11.14, section 6.4.11), and SEND USSD (3GPP TS 11.14,
section 6.4.12).

Set-up Event List

The SIM toolkit application can request that it be notified when the system
is idle or there is user activity. This features handles SET UP EVENT LIST
(3GPP TS 11.14, section 6.4.16). The application layer is notified
of the event request, and there is an API for sending events.

The server intercepts the message from QSimToolkit and then responds to
the requested events as they occur. The two main events of interest are
IdleScreen and UserActivity, which indicate when the screen is idle, and when the
user starts performing some activity again.

Many events, particularly call-related events, are handled internally by the modem
and so Qt Extended does not have any special handling for them. If the modem does not
handle these events, the modem vendor plug-in is expected to handle them.

Set-up Idle Mode Text

The SIM toolkit application can request that a particular text string be
displayed on the phone's home screen whenever the system is idle. This
feature handles SET UP IDLE MODE TEXT (3GPP TS 11.14, section 6.4.22).
There is an API to send this text string to the application layer but
no Qt Extended applications currently display the string.

SIM Commands

The following SIM commands are supported:

Command Toolkit Feature Reference
DISPLAY TEXT Display Text 3GPP TS 11.14, section 6.4.1
GET INKEY Get User Input 3GPP TS 11.14, section 6.4.2
GET INPUT Get User Input 3GPP TS 11.14, section 6.4.3
LAUNCH BROWSER Launch Browser 3GPP TS 11.14, section 6.4.26
PLAY TONE Play Tone 3GPP TS 11.14, section 6.4.5
REFRESH Refresh 3GPP TS 11.14, section 6.4.7
SELECT ITEM Display Menu 3GPP TS 11.14, section 6.4.9
SEND SHORT MESSAGE Send Messages 3GPP TS 11.14, section 6.4.10
SEND SS Send Messages 3GPP TS 11.14, section 6.4.11
SEND USSD Send Messages 3GPP TS 11.14, section 6.4.12
SET UP CALL Call Setup 3GPP TS 11.14, section 6.4.13
SET UP EVENT LIST Setup Event List 3GPP TS 11.14, section 6.4.16
SET UP IDLE MODE TEXT Setup Idle Mode Text 3GPP TS 11.14, section 6.4.22
SET UP MENU Display Menu GSM TS 11.14, section 6.4.8

SIM Toolkit extensions for USAT

Introduction

USAT contains some extensions to basic SAT:

New Commands for USAT

The following new commands from ETSI TS 102 223 are supported in the SIM toolkit API's. Whether these commands are supported on a specific Qt Extended device or not depends upon the GSM or 3G modem that the device is using. Older modems may not support these commands.

SERVICE SEARCH

This command is used to search for the availability of a service in the environment of the terminal. This is typically used to access the services on devices that are connected using Bluetooth or IrDA.

GET SERVICE INFORMATION

This command is used to look for the complete service record related to a service. By service record, it is meant all information that allows the SIM to precisely define the service. This is typically used to get information about services on devices that are connected using Bluetooth or IrDA.

DECLARE SERVICE

This command allows the SIM to download the services that the card provides as a server into the terminal's service database. The declaration is to be made on a service by service basis, at set up time (e.g. after the profile download). The SIM indicates whether the terminal is required to add a new service in the terminal service database or to remove a service from the terminal service database. This is typically used by SIM's that wish to provide services to other devices that are connected using Bluetooth or IrDA.

SET FRAMES

This command instructs the terminal to divide the terminal's screen into multiple, scrollable rectangular regions called frames in order to present multiple information at once. Other USAT commands have a frame identifier associated with them that indicates which frame to display the information within.

GET FRAME STATUS

This command instructs the terminal to provide status information on its support for frames.

RETRIEVE MULTIMEDIA MESSAGE

This command retrieves a multimedia MMS message and returns it to the SIM.

SUBMIT MULTIMEDIA MESSAGE

This command allows a SIM to submit a multimedia MMS message to the network.

DISPLAY MULTIMEDIA MESSAGE

This command instructs the terminal to display a specific multimedia MMS message on the terminal's display.

New Attributes for USAT

Commands that involve the display of text can have a Text Attribute block associated with them according to ETSI TS 102 223. This is now supported by the SIM toolkit API for all relevant commands. Because text attributes can be difficult to decode, helper functions are provided to convert the text strings into HTML for easier display in the user interface.

Commands that interact with the user can now have a frame identifier associated with them, to allow multiple commands to be presented to the user in different parts of the screen. This information can be accessed via the SIM toolkit API using the extension data mechanism and a tag value of 0x68 or 0xE8 (hexadecimal).

User Interface Support for USAT

Text attributes are supported for all relevant commands.

Frame identifiers are not currently supported in the user interface. It is assumed that there is a single frame for the display of all SIM toolkit commands. It is possible for an alternative user interface to be written that supports frames using the provided API's, but it has not been done at this time.

Service and multimedia message commands are supported in the API, but there is no user interface support for these features in this version.

Standards


Copyright © 2009 Trolltech Trademarks
Qt Extended 4.4.3