So, you can write a SIM application, but all it can actually do
is manipulate files stored on the card. To create proper
applications, you will need some sort of user interface, and
without any kind of screen or input device, that's a challenge!
Obviously, the easiest way to do this is to make use of the
screen and keypad on the mobile phone. This is what Phase II+ is
designed to facilitate. Basically, if a handset supports Phase II+,
then you can send it commands from the SIM to make it perform user
interaction on behalf of your application. While the range of
commands you can send to the handset is limited, the potential
applications aren't.
The process is actually very simple: if a handset supports Phase
II+, it sends a bit mask to the SIM indicating which of the
following commands it will support. The SIM can then make use of
those commands to interact with the user. Phase II+ is documented
completely in the GSM 11.14 specification.
|
Phase II+ Command
|
Description
|
|
Display text
|
Display text on user screen.
|
|
Get inkey
|
Get a key press: used for dialogs.
|
|
Get input
|
Get string.
|
|
More time
|
Wait, SIM still processing.
|
|
Play tone
|
Play a tone - from headset if during call, otherwise from
ringer.
|
|
Poll interval
|
Set interval for terminal to poll SIM. Too short an interval can
drain battery.
|
|
Phase II+ Command
|
Description
|
|
Reset
|
Reset SIM, rebooting OS.
|
|
Set up menu
|
Create a menu.
|
|
Select Item
|
Select an item on a menu.
|
|
Send short message
|
Send SMS, with no user involvement.
|
|
Send SS
|
Send supplementary service message.
|
|
Set up call
|
Create a call.
|
|
Polling off
|
Stop polling. Can save battery life.
|
|
SMS PP
|
Get an SMS message. This will be downloaded to the SIM without
user involvement.
|
|
Cell broadcast download
|
Get cell broadcast information. Again, this is done without user
involvement.
|
If the SIM wants the handset (known as a "terminal" in this
context) to perform an action, it responds to any command with the
syntax 91,xx, where "xx" indicates the amount of data that is going
to be sent. It is then up to the terminal to make a "fetch" request
of the SIM to collect the command and action it, returning any
results to the SIM. While this level of interaction is very basic,
it still allows fairly complex applications to be developed.
Phase II+ Case Study: Telia and Postgirot Bank
Postgirot is part of Sweden Post. The MobilSmart brand was
launched in 1997, and one of its main functions was paying bills
through the user's mobile phones. It is in extensive use today, and
has a security system involving encryption that's limited to GSM.
This is how the system works, in a typical round of use:
Ø PIN code entered, to start
application
Ø Postgirot account number
entered
Ø SIM creates SMS message
Ø User adds comment
Ø Signature created on
SIM
Ø Sent to Telia
Phase II+: Why Have WAP?
At first glance, it would appear that Phase II+ could provide
much of the functionality available with WAP and WML, with the
additional advantages of not replacing the handset or requiring new
standards. However, there are a couple of areas where Phase II+ is
distinctly lacking, and only WAP can be used.
The main point is that Phase II+ applications are written to the
SIM before being distributed to customers, so that all
functionality has to be decided on well before the service is
launched, and it can't be changed later. This is in stark contrast
to WAP/WML, where applications are always dynamically loaded, and
new functions are easily added.
The makers of SIM cards are keen to promote the use of
dynamically loaded applications, and this functionality is promised
for the next version of all three of the operating systems in
common use. However, this is an old promise, and the problems with
the security of such a system continue to lead to delays.
Phase II with WML
So, is it possible to write a WML browser on a Phase II+ SIM?
Well, almost. Obviously, you will need a very powerful SIM (with an
associated cost impediment), and you're not going to be able to
support graphics, but it's certainly possible to provide basic WML
browsing using SMS as the carrier and the SIM to process and
display the content.
This would mean that non-WAP compliant handsets would still be
able to browse the Internet, simply by replacing the SIM. Several
telecom companies have already undertaken research into this
possibility, but the speed with which WAP handsets are being
produced may remove the market for such a product.
Deploying Phase II+ Applications
Because Phase II+ applications have to be written to the SIM
before the SIM is in the hands of the customer, it is necessary to
make an arrangement with the telecom company that will be
distributing the SIMs. (Alternatively, you can be the
telecom company!) There is no way (or at least, there shouldn't be
a way) of adding applications to a SIM once it is in the hands of
the customer.
Having said that, telecom companies are generally very keen to
add to their offerings, and are eager to talk to companies who can
provide new applications. But it is important to remember that
every SIM issued will carry the application, so it will need to
appeal to a serious percentage of the customer base to be
worthwhile.