Gérer les erreurs de l'API eUICC

La API eUICC fournissent des codes d'erreur pour aider les applications et les utilisateurs à résoudre les problèmes liés à télécharger, activer, désactiver et supprimer des profils eSIM.

Gérer les erreurs

Lorsqu'une erreur se produit lors de l'appel de l'API eUICC, un rappel d'intent en attente est fournis et EXTRA_EMBEDDED_SUBSCRIPTION_DETAILED_CODE est utilisé comme clé pour obtenir le code d'erreur détaillé. À partir de Android 11, les quatre clés et valeurs suivantes sont inclus dans l'intent obtenu:

Ces quatre valeurs permettent à l'appelant de l'API eUICC de gérer des erreurs spécifiques individuellement. L'exemple suivant montre comment gérer ces erreurs.

int operationCode = intent.get(EXTRA_EMBEDDED_SUBSCRIPTION_OPERATION_CODE)
int errorCode = intent.get(EXTRA_EMBEDDED_SUBSCRIPTION_OPERATION_CODE)
String smdxSubjectCode = intent.get(EXTRA_EMBEDDED_SUBSCRIPTION_SMDX_SUBJECT_CODE)
String smdxReasonCode = intent.get(EXTRA_EMBEDDED_SUBSCRIPTION_SMDX_REASON_CODE)

if (operationCode == OPERATION_DOWNLOAD && errorCode == ERROR_CARRIER_LOCKED) {
  // handle specific error i.e. tries to download but the device is carrier locked
} else if (operationCode == OPERATION_SMDX) {
  // handle all SM-DP+/SM-DS errors
} else if (errorCode == ERROR_TIME_OUT) {
  // handle all types of time out issues, regardless of operation.
} else if ("8.1".equals(smdxSubjectCode) && "3.1".equals(smdxReasonCode)) {
  // handle specific subject code and reason code: 8.1 and 4.1 means insufficient memory.
}

Combinaisons d'opérations et de codes d'erreur compatibles

Le tableau suivant décrit les combinaisons possibles entre opérations et codes d'erreur renvoyés par l'assistant de profil local (LPA).

Combinaisons d'opérations et de codes d'erreur
<ph type="x-smartling-placeholder"></ph> Code d'opération <ph type="x-smartling-placeholder"></ph> Code d'erreur Description
OPERATION_SYSTEM Non applicable Une erreur interne s'est produite. Par exemple, le thread a été interrompu ou une IOException erreur s'est produite.
OPERATION_SIM_SLOT Non applicable Une erreur interne s'est produite lors de l'opération de l'emplacement de la carte SIM.
ERROR_TIME_OUT Expiration du délai lors de la tentative d'opération sur un emplacement SIM.
ERROR_EUICC_MISSING Aucun eUICC n'est disponible ni actif sur l'appareil.
OPERATION_EUICC_CARD Non applicable Une erreur interne s'est produite lors de l'exécution d'une opération eUICC.
ERROR_UNSUPPORTED_VERSION Les versions eUICC (chip) et EuiccCard (logicielles) ne sont pas compatibles.
ERROR_EUICC_MISSING Aucune carte SIM n'est disponible dans l'appareil. Par exemple, le LPA ne peut pas détecter la carte SIM.
OPERATION_SMDX Non applicable Une erreur interne s'est produite lors de l'exécution d'une opération SM-DP+/SM-DS.
ERROR_ADDRESS_MISSING Aucune adresse SM-DP+ pour télécharger le profil.
ERROR_INVALID_CONFIRMATION_CODE Une erreur s'est produite lors de l'analyse du code d'activation (format non valide).
ERROR_CERTIFICATE_ERROR Erreur de keystore ou de certificat lorsqu'elle est utilisée dans une connexion TLS pour la validation.
ERROR_NO_PROFILES_AVAILABLE Aucun profil disponible depuis SM-DP+.
ERROR_CONNECTION_ERROR Impossible de créer une connexion au serveur.
ERROR_INVALID_RESPONSE Réponse non valide du serveur SM-DP+/SM-DS.
OPERATION_SWITCH Non applicable Une erreur interne s'est produite lors de l'exécution d'une opération de commutateur.
ERROR_CARRIER_LOCKED Non autorisé à changer de profil, car l'appareil est verrouillé par l'opérateur (carte SIM) verrouillé).
OPERATION_DOWNLOAD Non applicable Une erreur interne s'est produite lors d'un téléchargement.
ERROR_DISALLOWED_BY_PPR Le tableau d'autorisation des règles sur l'eUICC est nul ou le téléchargement est par la règle de stratégie du profil.
ERROR_INVALID_ACTIVATION_CODE Une erreur s'est produite lors de l'analyse du code d'activation (format non valide) ou sans code d'activation.
ERROR_CARRIER_LOCKED Téléchargement non autorisé, car l'appareil est verrouillé par l'opérateur (carte SIM) verrouillé).
ERROR_INCOMPATIBLE_CARRIER L'opérateur est sur la liste noire et l'application LPA ne peut pas télécharger de profil depuis SM-DP+/SM-DS.
ERROR_OPERATION_BUSY Le téléchargement du profil est en cours et aucune autre action susceptible de déclencher la carte SIM les changements d'état sont autorisés.
OPERATION_METADATA Non applicable Une erreur interne s'est produite lors de l'opération de métadonnées.
ERROR_INVALID_ACTIVATION_CODE Les métadonnées de l'abonnement sont vides ou le code d'activation dans le Les métadonnées de l'abonnement sont vides ou incorrectes.
ERROR_INCOMPATIBLE_CARRIER L'opérateur figure sur la liste noire et l'outil LPA ne peut pas télécharger ses de SM-DP+/SM-DS.
OPERATION_EUICC_GSMA Non applicable Une erreur interne s'est produite lors de l'exécution d'une opération eUICC GSMA.
ERROR_INSTALL_PROFILE Erreur eUICC lors de la tentative d'installation du profil. Par exemple, le profil existe déjà ou l'ICCID ne correspond pas.
ERROR_EUICC_INSUFFICIENT_MEMORY Erreur eUICC lors de la tentative d'installation du profil. Mémoire insuffisante sur le eUICC.
ERROR_DISALLOWED_BY_PPR Erreur eUICC lors de la tentative d'installation du profil. Non autorisé par le Règle de stratégie du profil.
OPERATION_APDU Non applicable Une erreur interne s'est produite lors de l'exécution d'une opération APDU.
OPERATION_HTTP 1-999 Le code d'erreur est une valeur d'erreur HTTP.
<ph type="x-smartling-placeholder"></ph> Code d'opération <ph type="x-smartling-placeholder"></ph> Code du sujet <ph type="x-smartling-placeholder"></ph> Code du motif Description
OPERATION_SMDX_SUBJECT_REASON_CODE La chaîne contient trois chiffres séparés par un point, sans zéros au début. Pour Exemple : 8.1.1. La chaîne contient trois chiffres séparés par un point, sans zéro au début. Pour Exemple : 3.8. SubjectCode[5.2.6.1] et ReasonCode[5.2.6.2] de GSMA (SGP.22 v2.2). Pour exemple, un SubjectCode de 8.1.1 et un ReasonCode de 3.8 signifie que l'EID est lié à un autre appareil.