Android support for eSIMs

Google fully released version 9 of their Android OS on 6th August. They have called this ‘Pie’ or ‘p version’ and has level API 28. For the first time Android have included API’s to manage eUICCs whereas there is currently no support for eUICCs in IOS.

The Pixel 2 phone from Google can be upgraded to Pie and has an eUICC built-in. The Pixel 3 is expected to be shipped in October already loaded with Pie. Project Fi ( Google’s mobile service ) makes use of the eUICC, but is currently only available for USA customers.

Support for eUICC’s in a handset requires some software in the phone called a Local Profile Assistant ( LPA ).  The LPA in Pie comes in the form of a ‘back end LPA’ which is built into the OS and a separate front end LPA or ‘Carrier App’. The back end LPA communicates with the eUICC and Subscription Manager ( SM-DP+ ) while the Carrier App provides the User Interface ( UI ) to allow the subscriber to request profile downloads and switch between them. The Carrier App is normally supplied by the mobile operator that is offering their profiles to provide service to the subscriber and can be branded accordingly. It communicates with the back end API through a series of API’s supported by Pie’s SDK. Service is normally sold to the subscriber by providing them with an Activation Code. This can either be a plain text code or a QR code and is entered into the Carrier App usually by the subscriber.

Carrier Apps require special permissions, called Carrier Privileges which were introduced in Android 5.5. This requires signing the App with a certificate and a key provided by the Mobile Operator and then loading the ‘fingerprint’ produced by the signing mechanism onto the SIM card or eUICC. This ensures that only Apps produced by a specific carrier can control information on their SIMs.

In older versions of Android it was possible to download an App from the Google Play store called eSIM Manager but this is now built into Pie and no longer required.