Prepare your device for Advanced eSIM
Under SGP.32, the eUICC starts every profile operation. The eUICC has no radio of its own, so it asks your device to open an IP connection. The eUICC also sends your device instructions to run. Your device supplies both.
This page lists what that takes, and how to check each item before you build at volume.
This page isn’t a certification, and it isn’t a compatibility list. Nearly every IoT module released in the past five years can do what SGP.32 needs. The question is whether the function is switched on in the firmware build you ship. Two devices with the same part number often answer that differently, so the only reliable check is a test on your own hardware.
How to use this page
Settle the three design decisions first, because they change which checks apply to you.
The connection checks decide whether the eUICC can reach the emnify eIM at all. The profile switch checks decide whether an operation completes once the eUICC can reach the eIM. The recommended checks don’t stop your device from working. They decide how fast anyone can help you when something goes wrong.
Settle these three before you design
Which IPA runs
The IoT Profile Assistant (IPA) runs either in the eUICC (IPAe) or in your device operating system (IPAd). Almost every device sends the TERMINAL CAPABILITY command to the SIM, and Tag ‘84’ inside that command is optional. The eUICC reads Tag ‘84’ to decide which IPA runs.
If you plan to implement IPAd, your device must send TERMINAL CAPABILITY with Tag ‘84’. Without that tag, the eUICC keeps IPAe active and the ES10 functions your IPAd needs stay disabled. Tell emnify which mode you intend to use early, because a fixed configuration is also an option.
Buffer size
Size your Bearer Independent Protocol (BIP) buffers before you commit the firmware build. See check 6 below. No AT command reports this value back, so you can’t discover it later on a bench.
The buffer carries the IPAe data trunk, so it matters wherever the eUICC keeps IPAe active. Where your device runs its own working IPAd, the IPAd manages the data flow instead.
Poll timers
The eUICC schedules its own next poll using your device’s timers, and it needs at least five of them. By default, the eUICC polls the eIM at every device restart and every 24 hours.
Checks that decide whether the eUICC can poll the eIM
Miss any of these and the eUICC never polls. Your device looks healthy on the network and does nothing with its profiles.
Checks that decide whether a profile switch completes
Your device polls the eIM, and a profile operation doesn’t take effect.
Recommended checks
These checks don’t stop your device from working.
If emnify triggers a poll by SMS
Where you agree with emnify to trigger a poll by SMS, your device also needs SMS management, SMS-PP MT, and ENVELOPE (SMS-PP DOWNLOAD). Confirm your module passes SMS-PP to the SIM instead of consuming it. Otherwise the eUICC polls on its own timer, and your device doesn’t need any of this.
If your device doesn’t poll the eIM
Open a support ticket with these six facts. The last one decides where your case goes, so include it even if the others take longer to gather.
- Your account reference
- Device make and model
- Modem or radio module make and model, which is often not the device brand
- Modem firmware version, if your device exposes it
- The EID of the affected eUICC, and the ICCID of the profile
- Whether the eUICC is polling the eIM, which you can see as the last eUICC poll time on the eSIM tab in Connected Devices
Standards referenced
- GSMA SGP.32, Annex A
- ETSI TS 102 221, terminal requirements and TERMINAL CAPABILITY
- ETSI TS 102 223, SIM Toolkit and BIP
- ETSI TS 124 008
- 3GPP TS 23.003, IMEI format
- 3GPP TS 31.111, USIM Application Toolkit
- GSMA-EICTA, Security Principles Related to Handset Theft
Test early, on the hardware you ship. A firmware gap costs an afternoon on a bench and a redesign in the field.
For what you can do with the profiles once your device polls the eIM, see Advanced eSIM.