OTA console: tasks with tested values
The hands-on companion to the OTA console guide. Every result
below was produced on 4 October 2026 by a principal holding ota: maintain —
no admin — on a lab M2M card it created itself.
Before you start
| Address | ota.rsplab.click/console |
| Role needed | ota: read to look: SIMs, key set descriptions, counters, history, SIM profiles, applets and demos. ota: maintain for every task here: add a SIM, key a simulated SIM, send, install and uninstall an applet, refresh from the SIM, set a status, resync a counter. ota: admin to create or change a SIM profile, store, rotate or delete a key, register, upload or delete an applet, list an install’s APDUs (Show APDUs, Build the script) and bulk import |
| You need | a simulated card of your own — the quickest is New lab M2M card in the SM-SR console |
Overview for a new maintainer reads status UP, persistence UP. SIMs starts empty: you only see SIMs you registered.
The lab’s SIM profile for simulated cards is lab-simulated-aes: RFM TAR
B00010, RAM TAR 000000, SPI 12 01, AES-CBC ciphering, AES-CMAC checksum of 8
octets, counter must increase.
1. Register a SIM
SIMs → Add a SIM:
| Field | Value |
|---|---|
| ICCID | 89882930000000000158 (a profile on your lab card) |
| IMSI | 001010000000158 |
| SIM profile | lab-simulated-aes |
Choose Add SIM.
Expected result. Saved, with profile lab-simulated-aes and a card id. The SIM
appears in the list as ACTIVE.
2. Key the simulated SIM
SIMs → Key a simulated SIM:
| Field | Value |
|---|---|
| ICCID | 89882930000000000158 |
| Lab EID | your card’s EID, e.g. 89049032202600000200000000058866 |
| Key version | 1 |
Key the SIM.
Expected result. Key version 1 (AES) is on card … and recorded for 89882930000000000158. KIc …, KID …. TARs: B00010. — with two check values. Key sets shows version 1 with AES-CBC and AES-CMAC, two slots, complete.
| If you see | It means |
|---|---|
| A refusal naming the lab EID | The EID is not one of your simulated cards |
| a card with ICCID … is already registered (409) | Another SIM already uses that ICCID |
3. Read EF(ICCID) over SMS
Send for the SIM, three commands:
| CLA | INS | P1 | P2 | Data | Le |
|---|---|---|---|---|---|
00 | A4 | 00 | 0C | 3F00 | |
00 | A4 | 00 | 0C | 2FE2 | |
00 | B0 | 00 | 00 | 00 |
Or open Demos → RFM over SMS — read EF(ICCID), which builds the same script.
Build only first (in a demo: Build the packet). Expected result: one
segment, TAR B00010, counter 1, and a command packet starting 0029151201… —
nothing is sent and the counter does not move.
Then Send (in a demo: Send it). Expected result:
| Field | Value |
|---|---|
| Status | DELIVERED, Sent as SMS |
| Proof of Receipt | POR_OK, 3 commands executed |
| Last status word | 9000 |
| Response data | 98889203000000001085 — the ICCID, nibble-swapped |
4. Ask the card what is installed (RAM)
Demos → RAM over SMS — ask the card what is installed: TAR 000000, GET
STATUS 80 F2 40 02, data 4F00, Le 00.
Expected result. POR_OK, last status word 6A88 — the registry has nothing
in that scope yet. An empty answer, not a failure.
5. The same read over HTTPS (SCP81)
Demos → RFM over HTTPS — read EF(ICCID).
Expected result.
| Field | Value |
|---|---|
| Trigger | a secured packet to TAR 000000, POR_OK |
| Session | COMPLETED — the server had nothing further |
| Script status | ok, last status word 9000 |
| Answer | 988892030000000010859000 |
The timeline has 22 steps: trigger, terminal profile, OPEN CHANNEL to
ota.rsplab.click:443, the TLS-PSK handshake, POST /admin, HTTP 200 with a
29-octet script, the card reporting 3 commands run, HTTP 204, CLOSE CHANNEL.
6. Install an applet over the air
Applets lists the registered applets — in the lab, cardreader 1.0 with a
2213-octet CAP. Choose it and your SIM.
| Step | Result |
|---|---|
| Dry run | 14 commands, TAR 000000, about 18 SMS segments |
| Install | DELIVERED, POR_OK, 14 executed, last status word 9000; recorded, life cycle SELECTABLE |
| Refresh from SIM | the card reports A00000015141434C0102, SELECTABLE, privileges 00, matched to cardreader 1.0; nothing unknown, nothing removed |
| Uninstall (with the package) | POR_OK, 9000, one record removed |
| Refresh from SIM again | no applets |
Show APDUs needs admin; a maintainer gets forbidden. So does Build the script in the install demo. As admin it lists the 14 APDUs, 2336 octets, LOAD blocks of 200, estimated 18 segments.
7. Read the history and the counter
SIM history for the ICCID lists every send with transport SMS, SPI 12 01,
the command packet, the card’s raw answer and both verdicts — for the first read
above: POR_OK and 9000.
Counters → Read counter shows the counter for an ICCID. A SIM’s own
Counters tab lists it per key version. After the tasks above it was 8.
A resync sets the server’s value. The console has no button for it; it is the
API’s POST /counter-resync. Only do it after the card has answered with a
counter Proof of Receipt; in this run, setting 14 answered from 8 to 14.
8. Suspend and reactivate
The console has no button for this; it is the API’s POST /card-status. Set the
SIM’s status to SUSPENDED and back to ACTIVE; each answers with the new
status. The Status filter on SIMs then finds it.
9. Watch a session explained
Demos → Run a session on RAM over HTTPS replays a session with no card of yours involved: 9 events, from TLS-PSK server ready to the administration session is over; the card will close the channel. Bench and SMS-PP flows are described but not traceable from here.
Not yet verified
| Capability | Why |
|---|---|
| Creating SIM profiles, Provision a key, rotation, Register an applet, upload and delete, bulk import | Admin only; not changed on a shared lab |
| A real SIM over real SMS | Needs a physical card and handset |
| The other demos (SMSP update, inbox write, key template) | Not run in this pass |