Over-the-Air Updates
Learn when, how and why KORE pushes updates to the settings and applets stored on every Super SIM.
Last updated
Was this helpful?
Learn when, how and why KORE pushes updates to the settings and applets stored on every Super SIM.
Last updated
Was this helpful?
From time to time, KORE will issue updates to Super SIMs to enable new features or to make adjustments to the SIMs' settings, such as which International Mobile Subscriber Identifier (IMSI) the should use in certain circumstances. These are called over-the-air updates (OTA) because they are sent conveniently via the cellular network rather than requiring physical access to the SIM.
The most frequent updates applied to a Super SIM make changes to its network settings. These settings include which IMSI is to be used in a given country, and which cellular network should be tried first when the host device is attempting to connect. We update these settings regularly as new networks become available and as our commercial partnerships evolve. This approach ensures that you always have the best experience using Super SIM.
As a result of new settings updates applied via OTA updates, the IMSIs on a given Super SIM may change over time. Consequently, it's critical that your devices do not depend on any specific IMSI or on the Mobile Country Code (MCC) and Mobile Network Code (MNC) values that make up the IMSI's prefix. Always stick with super
.
OTA updates are typically applied using a "pull" method. An applet running on the SIM will periodically establish a dedicated PDP context, and use it to contact the KORE cloud and to check if there are any updates pending. If we have staged an update, the applet will download and install it onto the SIM.
To establish this dedicated connection, the SIM will send the proactive command OPEN CHANNEL
to your device's cellular module. A dedicated APN, ota.super
, is used to reach the remote server. Once the check is complete, and any pending update has been retrieved, another proactive command, CLOSE CHANNEL
, is issued to the modem to instruct it to close the data connection.
When a cellular module fitted with a Super SIM is powered up, a period of a minute or two will elapse before the OTA update applet asks the modem to establish the data connection it requires to check for pending updates. If the modem sleeps or is powered down before this check is completed, the SIM won't be updated, even if an update is pending. If the module remains powered up, the applet will periodically repeat the checking process, typically about once a week. Power-cycling the modem will normally reset the timer maintained by the applet and cause the applet to contact the server a minute or two after the restart. Power-cycling a device in order to force a update check is not always practical, so a better approach is to force the applet itself to initiate the checking process.
You can use a local AT+CSIM
command issued to the SIM via your modem to trigger the OTA update applet. It instructs the module to relay to the SIM an embedded Application Protocol Data Unit (APDU) ENVELOPE
command. This, in turn, contains proprietary instructions for the SIM.
As of April 2025, we are in the process of updating our SIM applets. Later in 2025, we will begin producing SIM hardware and SIM profiles with new applets. Additionally, we intend to over-the-air (OTA) update existing SIMs with the new applets. The new applets will have different AT commands. Be sure to take this into consideration before implementing any regular use of these AT commands in your device's firmware.
To learn about other planned changes to the SIM hardware and applets as part of this initiative, see our .
The table below documents both the current SIM applet command and new command that will be needed to trigger the action in the new applet to be released later in 2025.
Check for OTA Update
Triggers the Super SIM to open a connection and check-in with the over-the-air update service to see if there are pending updates for it.
AT+CSIM=30,"80C200000AFD08020282814F020900"
Request: AT+CSIM=28,"80C2000009CF0702028281A001000"
Response:
+CSIM: 4,"9000"
or
+CSIM: 4,"6109"
if there is a response with 9 byte
Manually triggering a check for a pending OTA update this way can be especially useful for devices with limited battery life. This is because this type of device typically transmits in short bursts: it aims to wake up, transmit, and return to sleep as quickly as possible, to preserve its charge. Such approach to transmission is power efficient, but it may not give the SIM time to check for updates.
To allow it to do so, your application can issue the command above to the SIM and set a timer to allow time for the data connection to the ota.super
APN to be established and for any updates to be installed. When the timer fires, the device can return to sleep.
Some updates may open the ota.super
context multiple times, usually to update different services or if the size of the data being pushed to the card requires the update is dispatched in multiple blocks. These subsequent updates are opened almost immediately after the first one closes. Your timer setting should allow for any such follow-on connections.
This check does not not need to be made every time the devices wakes, but can be scheduled periodically — once a week, for example — to avoid the cost of bringing up and maintaining the connection for the duration of the timer when there are no updates staged.
This technique allows you to manage your application's power usage — there's no need to leave devices connected for prolonged periods of time — while also ensuring that your SIMs always remain up to date.