Home · All Classes · Grouped Classes · Annotated · Functions

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.

Qtopia 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 (QTOPIA-1551)

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 (QTOPIA-1532)

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 Qtopia 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 (QTOPIA-1526)

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 (QTOPIA-1527)

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 (QTOPIA-1528)

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 (QTOPIA-1547)

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".

Qtopia 4.2 has API support for reading icons from the SIM, with some support
for displaying menu icons in simapp, but it isn't perfect. Qtopia 4.3 needs to add
proper icon display support to simapp and the server wherever appropriate.

Idle Mode String (Operator) (QTOPIA-1543)

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 (QTOPIA-1536)

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 Qtopia::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 Qtopia application layer for applications that
wish to display it.

Launch Browser (QTOPIA-1535)

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 Qtopia 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 Qtopia
to determine this information.

Other Commands (QTOPIA-1537)

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 Qtopia'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 (QTOPIA-1539)

Tones are not currently played in response to PLAY TONE. To implement this,
requires a database of standard tones that can be consulted and configured.
Other programs require these tones also; the standard tones that SIM Toolkit
requires are listed above in the Features section.

Update: it doesn't make much sense to allow these tones to be configured by the user.
Systems integrators may want to change the standard tones to local equivalents,
but there isn't that many alternatives to "dial tone", "busy", etc, and the GSM specs
are fairly insistent as to the specific tones to use.

Play Tone (QTOPIA-1529)

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 (QTOPIA-1530)

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, Qtopia applications are not required to action the notification, and simply ignore it.

Refresh Applications (QTOPIA-1538)

As per Features descriptions above, applications are notified of the refresh however at present, Qtopia 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 (QTOPIA-1531)

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 Qtopia 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 (QTOPIA-1533)

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 Qtopia 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 (QTOPIA-1534)

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 Qtopia applications currently display the string.

SIM Commands (QTOPIA-1525)

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

Copyright © 2008 Nokia Trademarks
Qtopia 4.3.3