I
eSIM
Verified@ivangdavila
npx machina-cli add skill @ivangdavila/esim --openclawFiles (1)
SKILL.md
2.7 KB
Critical Distinction
- Consumer RSP (SGP.22) and M2M RSP (SGP.02) are completely different architectures — not interchangeable, verify which applies before starting
Platform API Restrictions
- Apple eSIM APIs require carrier entitlements — third-party apps cannot access without carrier partnership agreement
- Android carrier privilege APIs require signing certificate match — must be signed with carrier's certificate
- No public API exists for arbitrary eSIM provisioning — apps suggesting otherwise will fail App Store/Play Store review
Activation Code Traps
- Format is
LPA:1$SMDP+address$MatchingId— parse carefully, some codes omit optional parts $1suffix means confirmation code required — flow differs, timeout is shorter- Codes are often one-time use — SM-DP+ rejects reused MatchingId, must generate new code
- QR code is just encoding — the activation code content is what matters
Certification Requirements
- GSMA SAS (Security Accreditation Scheme) mandatory for production SM-DP+ — cannot go live without it
- Use test eUICCs during development — production EIDs must not touch test environments
- GSMA TS.48 defines RSP test cases — certification testing follows this spec
- Entitlement server is separate from RSP — iOS carrier features require additional integration beyond profile provisioning
Consumer-Facing Pitfalls
- QR codes expire — typically 24-72 hours, carrier-dependent, users panic when "invalid"
- Deleting profile is permanent on device — must request new activation code from carrier, no local recovery
- Device lock status matters — locked devices reject profiles from non-native carriers
- Regional variants of same phone model may lack eSIM hardware — verify before promising compatibility
- Profile transfer between devices almost never works — expect new activation per device
Carrier Integration Reality
- MVNOs rarely operate own SM-DP+ — use MNO's infrastructure or aggregators (G+D, IDEMIA, Thales)
- Business agreements required before technical integration — ES2+ access isn't self-service
- Number porting complicates eSIM activation — may require physical SIM first depending on carrier process
Troubleshooting Specifics
- "Profile already exists" error — delete existing profile before retry, or request new MatchingId from SM-DP+
- Download fails mid-process — ES9+ requires stable HTTPS, retry on better connection, not a code issue
- Profile installed but no service — verify profile is enabled AND set as active line, restart radio
Overview
This skill covers implementing and troubleshooting eSIM across consumer activation, carrier integration, and RSP development. It highlights critical distinctions between Consumer RSP and M2M RSP, API restrictions, activation code handling, and GSMA certification requirements. Use it to avoid common pitfalls and speed up production readiness.
How This Skill Works
Technically, it emphasizes distinct RSP architectures (SGP.22 vs SGP.02), platform API restrictions (Apple and Android entitlements), and the absence of public eSIM provisioning APIs. It also details activation code formats (LPA:1$SMDP+address$MatchingId), how code suffixes affect flows, and the role of GSMA SAS and TS.48 in production testing.
When to Use It
- Before building an eSIM RSP, confirm whether you’re implementing Consumer RSP (SGP.22) or M2M RSP (SGP.02).
- During carrier integration, verify entitlements and certs (Apple/Android) before provisioning.
- When decoding activation codes, parse LPA:1$SMDP+address$MatchingId and handle optional parts.
- During development, use test eUICCs and follow GSMA SAS and TS.48 for certification tests.
- Troubleshoot activation flow: if download fails or profile exists errors, use the prescribed steps.
Quick Start
- Step 1: Determine RSP type (Consumer vs M2M) and confirm carrier requirements.
- Step 2: Configure entitlements, signing certs, and test eUICCs; parse activation code format.
- Step 3: Implement activation flow and run GSMA SAS/TS.48 tests before production deployment.
Best Practices
- Verify RSP type (Consumer vs M2M) before design and integration.
- Secure carrier entitlements and ensure device certificate matching on Android.
- Parse activation codes meticulously; watch for optional parts and one-time use.
- Use test eUICCs during development; keep production EIDs isolated.
- Follow GSMA SAS and TS.48 testing guidelines; maintain a separate entitlement server.
Example Use Cases
- MVNO uses a partner SM-DP+ via an aggregator (G+D, IDEMIA, Thales) for activation.
- Activation flow updated after carrier partnership; entitlements clarified.
- When 'Profile already exists' occurs, delete the existing profile and request a new MatchingId.
- QR codes expire within 24-72 hours; notify users and reissue activation content.
- Device lock status blocks non-native carrier profiles; regional hardware variations verified.
Frequently Asked Questions
Add this skill to your agents