Device Testing using Amarisoft eSIM version 2024-10-29*This document is based on the latest test release.
Features may not be present in your current installed software. You may check their availability in your release documentation.
If you require an up to date release, ask for it in a ticket.
Features may not be present in your current installed software. You may check their availability in your release documentation.
If you require an up to date release, ask for it in a ticket.
Table of Contents
1 Introduction
This application note gives you a brief background on eSIM followed by an overview of Amarisoft eSIM profile. It explains how to activate eSIM in your device and how to start testig with Amarisoft eSIM.
1.1 Background
eSIM stands for Embedded SIM which is a digital version of the physical SIM card. There are multiple differences between a physical SIM and an eSIM. The most obvious one is that a physical SIM is a removable chip while an eSIM is a chip built into a device. Yet, the main difference is the number of profiles that the SIM can handle. A profile is essentially a combination of data and applications such as the IMSI (International Mobile Subscriber Identifier), which enables the device to connect to the operatorâs network.
Traditional UICC (Universal Integrated Circuit Card) SIMs store a profile from a single network operator. Each physical SIM card has a single ICCID (Integrated Circuit Card Identifier) which is a unique identifier of the physical SIM and is determined by the SIM supplier. The ICCID helps operators to identify and track SIMs and subscribers; it is typically linked to subscriber information and is part of the SIM profile.
An eSIM, however, is capable of storing multiple network profiles thanks to the eUICC (embedded Universal Integrated Circuit Card) component. The term eUICC is often used to mean the whole physical card or chip but it is also a secure element capable of management of multiple network profiles in an eSIM. In case of eUICC SIM, each profile acts as a virtual SIM within the physical SIM container and has its own ICCID. As a result, the ICCID can no longer be used as a unique identifier of an eUICC SIM as there will be as many ICCIDs as the number of profiles.
In order to resolve this issue, a new identifier EID (eUICC Identifier) has been introduced. The main purpose of the EID is to provide a unique global serial number for eUICC SIMs which is not related to service subscriptions. It is a 32-digit number set during the manufacturing process.
The following image captures the different notions explained above.
Before using your device, an eSim should be provisioned. eSIM provisioning is the process of remotely activating an eSIM in a device, allowing it to connect to a mobile network or service provider.
A simple eSIM provisioning architecture is depicted in the following:
The different entities are:
- SM-DP+ Server:
SM-DP (Subscription Manager Data Preparation) Server is essentially a platform for storing and delivering digital eSIM Profiles. The platform prepares the Profile Packages and secures each one of the profiles by an individual key called Profile Activation Key. These Profile activation keys, along with the Protected Profile Packages, are stored in a secure manner in a repository. Whenever a profile is downloaded and activated by a device, the SM-DP+ binds the Profile to the EID of the device.
- LPA:
The LPA (Local Profile Assistant) is a functional element in a device that provides 3 main functions:
- LPD (Local Profile Download),
- LDS (Local Discovery Server),
- LUI (Local User Interface).
Management of the profiles on the eSIM is generally done by the LPA, as it serves as a bridge between the SM-DP+ and the eUICC SIM.
In Android devices, LPA is typically a standalone system app that is included in the Android build image.
- eUICC SIM: eUICC SIM is an embedded SIM card running eUICC software that allows remote SIM provisioning and handling of multiple network profiles.
2 Amarisoft eSIM
2.1 eSIM Profile
Amarisoft eSIM contains a test profile matching the default configurtion available in ue_db-ims.cfg which is located under mme/config
directory.
ue_db: [{ sim_algo: "xor", /* USIM authentication algorithm: xor, milenage or tuak */ imsi: "001010123456789", amf: 0x9001, /* Authentication Management Field */ sqn: "000000000000", /* Sequence Number */ K: "00112233445566778899aabbccddeeff", impi: "001010123456789@ims.mnc001.mcc001.3gppnetwork.org", impu: ["001010123456789", "tel:0600000000", "tel:600"], domain: "ims.mnc001.mcc001.3gppnetwork.org", multi_sim: true, /* Experimental */ }
All eSIMs have the same IMSI and K as above in order to provide seamless operation with Amarisoft Core Network. The authentication algorithm is XOR and the home PLMN is set to test PLMN with MCC of 001 and MNC of 01.
Unlike the physical SIM card, the Amarisoft eSIM is not configurable. |
2.2 eSIM Activation
The eSIM of your device could be activated in 2 ways:
- Using a QR code:
Enabling the eSIM via QR code is the recommended way if the device under test is a smartphone with a camera. The menu for adding an eSIM varies depending on the phone and the OS used. On a Samsung Galaxy phone, this is available under Settings/Connections/SIM manager/Add eSIM/Scan QR code.
- Using a LPA String:
IoT devices or modules do not have a camera to scan a QR code. Hence, the information inside the QR code should be entered manually. The information inside a QR code is actually a LPA string allowing the communication between the LPA entity of your device and the SM-DP+ server. The string below is an example of such a string:
LPA:1$esim.prod.com$4147494C454E542054454348
where
LPA:1 is the registration protocol
esim.prod.com is the address of the SM-DP+ server
4147494C454E542054454348 is the Activation Key
Module makers such as Quectel and Telit have some specific AT commands to enable LPA and add a profile manually. As an example
AT+QESIM
AT command series manages eSIM and profile downloads in eSIM capable Quectel modules.
2.3 eSIM states
An eSIM could be in 2 different states in the device:
- Enabled: This state means that the eSIM has been downloaded in a device and is actively used.
- Disabled: it means the eSIM has been downloaded in a device but not used currently, or temporarily disabled. This will allow switching between different profiles without requiring a profile download each time.
An eSIM can also be deleted from the device. In this case, the eSIM profile becomes available for download on other devices.
The eSIM enabling/disabling/delete requires access to the Internet. So please make sure that your device has internet access via another SIM card or WIFI. |
2.4 Network Configuration
As mentioned above, Amarisoft eSIM contains a test profile matching the default configuration available in ue_db-ims.cfg file. As a result, any device with Amarisoft eSIM can register to Amarisoft network without requiring any configuration change. Some devices, however, use a 16 byte response during authentication while Amarisoft core network expectes an 8 byte response. If the registrayion fails, checking the core network logs allows to verify if the authentication failure is due to the lenght of the UE authentication response. If this is the case, follow these guidelines:
- Edit the UE database file mme/config/ue_db-ims.cfg.
- Add
res_len: 16
to the UE entry as below:ue_db: [{ sim_algo: "xor", /* USIM authentication algorithm: xor, milenage or tuak */ imsi: "001010123456789", amf: 0x9001, /* Authentication Management Field */ sqn: "000000000000", /* Sequence Number */ K: "00112233445566778899aabbccddeeff", impi: "001010123456789@ims.mnc001.mcc001.3gppnetwork.org", impu: ["001010123456789", "tel:0600000000", "tel:600"], domain: "ims.mnc001.mcc001.3gppnetwork.org", multi_sim: true, /* Experimental */ res_len: 16, }
3 Additional Information
This document is copyright (C) 2012-2024 Amarisoft. Its redistribution without authorization is prohibited.
This document is available without any express or implied warranty and is subject to change without notice. In no event will Amarisoft be held liable for any damages arising from the use of this document.
For any technical issue, please raise a ticket from our support site at https://support.amarisoft.com/.
To learn more about our technology and solutions, e-mail us at customer@amarisoft.com or visit https://www.amarisoft.com.