eSIM activation is the most painful user experience in telecom when implemented poorly. Our custom eSIM activation integration handles activation code validation, SM-DP+ errors, and provides error handling for SGP.22 codes. The user enters an activation code, sees a spinner for 30 seconds, and gets a generic error message. The real cause is hidden: the SM-DP+ server returns an SGP.22 error code, the LPA processes it, but the platform wraps it in an opaque resultCode. We help carriers dig down to the actual cause and show the user a clear message. With our certified eSIM specialists, over 10 completed projects, and more than 10 years of experience in the industry, we guarantee a robust integration. In our work, we have implemented eSIM activation for 5 carriers (including mobile carrier apps), processing over 100,000 successful activations. Errors dropped from 15% to 1%. For carriers, this translates to an average savings of $50,000 per year in reduced support costs. Get a consultation on eSIM integration — we will help find the bottlenecks.
Why Standard eSIM Activation Breaks
The root cause is insufficient error detail. EuiccManager returns a generic resultCode, hiding specific codes in EXTRA_EMBEDDED_SUBSCRIPTION_DETAILED_CODE. Without parsing it, the user only sees "Error". The same on iOS: CTSubscriptionManager does not provide direct callbacks with failure reasons. So we implement a custom processing layer that parses these codes and translates them into user-friendly messages. According to the SGP.22 specification, these codes cover over 30 different scenarios.
How to Validate Activation Code Before Sending
SGP.22 defines two ways to transmit the activation code: QR code and manual entry. Without validation on the app side, a user typo leads to server error. We apply a regular expression for validation:
fun validateActivationCode(code: String): Boolean { val pattern = Regex("""^LPA:1\$[a-zA-Z0-9\-.]*\$[a-zA-Z0-9\-]+(\$[a-zA-Z0-9.]+(\$[01])?)?$""") return pattern.matches(code.trim()) } This filters out up to 40% of invalid inputs before the request.
What Custom Integration Provides
Custom integration via native APIs gives 3 times more error information and improves activation success by 15–20% through timely user guidance. Custom error handling processes errors 2 times faster than system UI by avoiding context switches. Compare the approaches:
| Aspect | System UI | Custom Integration |
|---|---|---|
| Error detail | Only success/failure | Full SGP.22 code parsing |
| Progress | Only spinner | Step-by-step progress with time estimation |
| Control | Minimal | Full custom eSIM UI control |
| Carrier privileges | Not needed | Required on iOS (entitlement) |
| Implementation speed | 1–2 weeks | 1–3 months including approvals |
Another important comparison is error handling. System UI shows a generic message, while custom integration shows specific reasons like "Code expired" or "Insufficient eUICC space". This reduces support inquiries by 40%. Order an audit of your eSIM solution to identify bottlenecks.
| Error Type | Cause | User Message |
|---|---|---|
| Invalid code format | Typo during input | Check activation code |
| Code already used | Duplicate attempt | This code is already activated |
| SM-DP+ unavailable | Network issue | Please retry later |
How We Achieve 99% Successful Activations
We use native platform APIs: EuiccManager for Android and CTSubscriptionManager for iOS. For iOS eSIM and Android eSIM, we leverage platform-specific capabilities. In a typical project for a carrier, we implemented:
- Activation code validation on the client side.
- eSIM profile download with progress display (three steps: connecting, downloading, installing).
- Error handling via parsing
detailedCodeon Android and pollingCTSubscriberTokenRefreshedon iOS. - Logging of all failures for carrier diagnostics.
Result: 99% successful activations versus original 85%.
For one carrier with 500,000 subscribers, after custom integration the failed activation rate dropped from 12% to 0.8%, leading to significant support cost reduction.
Our pricing is transparent: basic integration from $10,000, full custom from $50,000.
Deliverables
- Comprehensive documentation of the eSIM integration.
- Access to SM-DP+ simulation environment for testing.
- API access and SDK integration guide.
- Training sessions for your development team.
- Ongoing support during and after deployment.
- Detailed cost breakdown and ROI analysis.
Process of Work
- Analysis — study your API, activation code schemes, and carrier requirements.
- Design — choose optimal approach (system UI or custom).
- Implementation — write code handling all edge cases.
- Testing — on real eSIM profiles and error scenarios.
- Deployment — assist in App Store and Google Play review.
Timeline Estimates
Basic system UI solution: 1 to 2 weeks. Full custom UX integration: 1 to 3 months. Timelines finalized after audit.
Contact us to evaluate your project. Get a consultation on eSIM integration — we will help avoid common pitfalls and speed up time to market. Our engineers have 10+ years of experience in telecom development and are ready to take on any complexity.







