ESim Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
A class that represents an embedded SIM (eSIM, or eUICC). An eSIM stores one or more identities (eSIM profiles) belonging to one or more mobile network operators (MNOs). An eSIM is not a form factor; it's a way to manage SIM profiles.
Note
This functionality is available only to mobile operator apps and UWP apps given privileged access by mobile network operators.
If you want to use this API and publish your app to the Microsoft Store, then you'll need to request special approval to use the custom capability Microsoft.eSIMManagement_8wekyb3d8bbwe. For more info, see Custom capabilities.
public ref class ESim sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 393216)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class ESim final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 393216)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class ESim final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 393216)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class ESim
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 393216)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class ESim
Public NotInheritable Class ESim
- Inheritance
- Attributes
Windows requirements
Device family |
Windows 10, version 1803 (introduced in 10.0.17134.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduced in v6.0)
|
App capabilities |
Microsoft.eSIMManagement_8wekyb3d8bbwe
|
Remarks
A traditional SIM card stores a single identity that the modem can use to register onto a mobile network operator's (MNO's) network, and provide cellular service (the card is usually distributed by the MNO). But an eSIM stores one or more identities (eSIM profiles) belonging to one or more mobile operators. An eSIM switches identities by enabling and disabling the eSIM profiles saved on the card. Once an eSIM profile is enabled, the eSIM appears and functions as if it were a traditional SIM card from the MNO that distributed the profile. In this way, the end-user can easily switch between MNOs without changing the physical card.
There are several steps in the process of installing a profile onto an eSIM. The end-user provides an activation code, which is a string that contains the uniform resource location (URL) of a profile-distributing server together with some identifying information. Next, the eSIM-capable device uses the data in the activation code to contact the server. The server returns the metadata for a specific profile, together with information that's then presented to the user asking for consent to download the profile. Having received consent, the eSIM-capable device downloads the profile and sends the profile binary blob to the eSIM. Lastly, the profile is ready to be activated when the profile is successfully written to the eSIM. LpaSvc is a service for handling all eSIM-related operation requests. For end-users, there is a Managing eSIM profiles page in Settings to provide a UI for managing the eSIM.
Version history
Windows version | SDK version | Value added |
---|---|---|
1903 | 18362 | Discover |
1903 | 18362 | Discover(String,String) |
1903 | 18362 | DiscoverAsync |
1903 | 18362 | DiscoverAsync(String,String) |
Properties
AvailableMemoryInBytes |
Gets the available memory on the SIM card in whole bytes. Note This functionality is available only to mobile operator apps and UWP apps given privileged access by mobile network operators. If you want to use this API and publish your app to the Microsoft Store, then you'll need to request special approval to use the custom capability Microsoft.eSIMManagement_8wekyb3d8bbwe. For more info, see Custom capabilities. |
Eid |
Gets the eSIM ID (EID). Note This functionality is available only to mobile operator apps and UWP apps given privileged access by mobile network operators. If you want to use this API and publish your app to the Microsoft Store, then you'll need to request special approval to use the custom capability Microsoft.eSIMManagement_8wekyb3d8bbwe. For more info, see Custom capabilities. |
FirmwareVersion |
Gets the eSIM firmware version. Note This functionality is available only to mobile operator apps and UWP apps given privileged access by mobile network operators. If you want to use this API and publish your app to the Microsoft Store, then you'll need to request special approval to use the custom capability Microsoft.eSIMManagement_8wekyb3d8bbwe. For more info, see Custom capabilities. |
MobileBroadbandModemDeviceId |
Gets the device identifier, or DeviceInformation Id, of the network MobileBroadbandModem device that carries the eSIM. Note This functionality is available only to mobile operator apps and UWP apps given privileged access by mobile network operators. If you want to use this API and publish your app to the Microsoft Store, then you'll need to request special approval to use the custom capability Microsoft.eSIMManagement_8wekyb3d8bbwe. For more info, see Custom capabilities. |
Policy |
Gets the policy for the eSIM, regarding whether the eSIM should be shown on the Local User Interface (LUI) for eSIM management. Note This functionality is available only to mobile operator apps and UWP apps given privileged access by mobile network operators. If you want to use this API and publish your app to the Microsoft Store, then you'll need to request special approval to use the custom capability Microsoft.eSIMManagement_8wekyb3d8bbwe. For more info, see Custom capabilities. |
SlotIndex |
Gets the 0-based slot index (slot number) that the eSim corresponds to. ESim.SlotIndex matches the Index property of the corresponding MobileBroadbandSlotInfo object. Note This functionality is available only to mobile operator apps and UWP apps given privileged access by mobile network operators. If you want to use this API and publish your app to the Microsoft Store, then you'll need to request special approval to use the custom capability Microsoft.eSIMManagement_8wekyb3d8bbwe. For more info, see Custom capabilities. |
State |
Gets the state of the eSIM, which indicates the presence and working status of the eSIM. Note This functionality is available only to mobile operator apps and UWP apps given privileged access by mobile network operators. If you want to use this API and publish your app to the Microsoft Store, then you'll need to request special approval to use the custom capability Microsoft.eSIMManagement_8wekyb3d8bbwe. For more info, see Custom capabilities. |
Methods
DeleteProfileAsync(String) |
Asynchronously deletes the specified eSIM profile. Note This functionality is available only to mobile operator apps and UWP apps given privileged access by mobile network operators. If you want to use this API and publish your app to the Microsoft Store, then you'll need to request special approval to use the custom capability Microsoft.eSIMManagement_8wekyb3d8bbwe. For more info, see Custom capabilities. |
Discover() |
Performs an eSIM profile discovery operation using the default SMDS address. Note This functionality is available only to mobile operator apps and UWP apps given privileged access by mobile network operators. If you want to use this API and publish your app to the Microsoft Store, then you'll need to request special approval to use the custom capability Microsoft.eSIMManagement_8wekyb3d8bbwe. For more info, see Custom capabilities. |
Discover(String, String) |
Performs an eSIM profile discovery operation for the supplied RSP server address and matching ID. Note This functionality is available only to mobile operator apps and UWP apps given privileged access by mobile network operators. If you want to use this API and publish your app to the Microsoft Store, then you'll need to request special approval to use the custom capability Microsoft.eSIMManagement_8wekyb3d8bbwe. For more info, see Custom capabilities. |
DiscoverAsync() |
Asynchronously performs an eSIM profile discovery operation using the default SMDS address. Note This functionality is available only to mobile operator apps and UWP apps given privileged access by mobile network operators. If you want to use this API and publish your app to the Microsoft Store, then you'll need to request special approval to use the custom capability Microsoft.eSIMManagement_8wekyb3d8bbwe. For more info, see Custom capabilities. |
DiscoverAsync(String, String) |
Asynchronously performs an eSIM profile discovery operation for the supplied RSP server address and matching ID. Note This functionality is available only to mobile operator apps and UWP apps given privileged access by mobile network operators. If you want to use this API and publish your app to the Microsoft Store, then you'll need to request special approval to use the custom capability Microsoft.eSIMManagement_8wekyb3d8bbwe. For more info, see Custom capabilities. |
DownloadProfileMetadataAsync(String) |
Asynchronously downloads installation metadata for the eSIM profile that corresponds to the specified activation code. Note This functionality is available only to mobile operator apps and UWP apps given privileged access by mobile network operators. If you want to use this API and publish your app to the Microsoft Store, then you'll need to request special approval to use the custom capability Microsoft.eSIMManagement_8wekyb3d8bbwe. For more info, see Custom capabilities. |
GetProfiles() |
Gets the set of profiles stored on the eSIM. Note This functionality is available only to mobile operator apps and UWP apps given privileged access by mobile network operators. If you want to use this API and publish your app to the Microsoft Store, then you'll need to request special approval to use the custom capability Microsoft.eSIMManagement_8wekyb3d8bbwe. For more info, see Custom capabilities. |
ResetAsync() |
Asynchronously resets the eSIM. Note This functionality is available only to mobile operator apps and UWP apps given privileged access by mobile network operators. If you want to use this API and publish your app to the Microsoft Store, then you'll need to request special approval to use the custom capability Microsoft.eSIMManagement_8wekyb3d8bbwe. For more info, see Custom capabilities. |
Events
ProfileChanged |
Occurs when the collection of eSIM profiles changes, or when a property of one of the profiles in the collection changes. Note This functionality is available only to mobile operator apps and UWP apps given privileged access by mobile network operators. If you want to use this API and publish your app to the Microsoft Store, then you'll need to request special approval to use the custom capability Microsoft.eSIMManagement_8wekyb3d8bbwe. For more info, see Custom capabilities. |