This can be accomplished in two different ways. The SIM card gets locked onto one specific device using its IMEI number. Popular applets for IoT/M2M use cases IMEI Lock For many uBlox modules, the Toolkit is activated with AT+CFUN=6 command (enabling the SIM-toolkit interface in dedicated mode and fetching of proactive commands by SIM-APPL from the SIM-card). If not, enabling is usually done by a simple AT command. SAT is supported by 99% of today's cellular hardware and is most often also enabled by default. This is done using predefined and standardized commands in the SIM Application Toolkit (SAT).įor a cellular module to understand and accept these commands, it needs to support SAT commands. Are there any hardware requirements for running applets?įor an applet to be able to carry out specific actions, it needs to be able to communicate outside of the secure SIM element. Soon you will be able to change the profile without having to think about what happens to your applets.
It is not suitable for all applets, but there can be certain use cases where this approach might be needed.
This increases the OS size and comes with OTA update restrictions and needs to be done while manufacturing the cards.
There are different possibilities where and how to store the applets - each with its own advantages and disadvantages.įirstly, applet functions can be embedded into the OS itself. An OTA Server uses a variation of either SMS or HTTPS messages for the update process. Depending on the applet and available infrastructure, loading can be done Over The Air via an OTA server or at the time of manufacturing. cap output file that can be loaded onto the SIM or carrier profile using commands detailed in the Global Platform Card specification. The OS is the first and most important SIM Applet.Īfter compiling the code, you will end up with a. The SIM cards operating system (OS) is similarly written in Java Card. With the increasing demand for M2M/IoT, the need for different SIM apps has become a hot topic once again.Īpplets are based on Java Card, a limited subset of Java language. Applets can be useful for consumer value-added services like mobile banking or ID verification, but they can be even more useful for IoT/M2M devices.Ī SIM applet can report diagnostic data about network quality, device status, or even fulfill the tasks of a microcontroller. Simply speaking, SIM applets provide a way to talk to the SIM card directly and build features independent from the standard carrier offerings. SIM applets are small programs inside your UICC or eUICC dedicated to fulfilling a particular task. Therefore extra features and services were moved to standalone units called SIM applets. As the value-added services were highly customized to a specific carrier's use case, the SIM manufacturers had to figure out how to offer such services on top of the basic features. However, with the growing need for retaining subscribers, carriers have begun offering additional value-added services.
Historically, the SIM Operating System (OS) contained all the functionality and essential services.