Umgang mit eUICC API-Fehlern

Die eUICC-APIs enthalten Fehlercodes, die Apps und Nutzern bei der Behebung von Problemen im Zusammenhang mit dem Herunterladen, Aktivieren, Deaktivieren und Löschen von eSIM-Profilen helfen.

Fehler behandeln

Wenn beim Aufrufen der eUICC API ein Fehler auftritt, wird ein PendingIntent-Callback bereitgestellt und EXTRA_EMBEDDED_SUBSCRIPTION_DETAILED_CODE als Schlüssel für den detaillierten Fehlercode verwendet. Ab Android 11 sind die folgenden vier Schlüssel und Werte im resultierenden Intent enthalten:

Mithilfe dieser vier Werte kann der Aufrufer der eUICC-API bestimmte Fehler einzeln behandeln. Im Folgenden finden Sie ein Beispiel für den Umgang mit diesen Fehlern.

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.
}

Unterstützte Kombinationen aus Vorgang und Fehlercode

In der folgenden Tabelle werden die unterstützten Kombinationen von Vorgangs- und Fehlercodes beschrieben, die vom Assistenten für das lokale Profil (Local Profile Assistant, LPA) zurückgegeben werden.

Kombinationen aus Vorgangs- und Fehlercodes
Vorgangscode Fehlercode Beschreibung
OPERATION_SYSTEM Nicht zutreffend Es ist ein interner Fehler aufgetreten. Beispielsweise wurde der Thread unterbrochen oder es ist ein IOException-Fehler aufgetreten.
OPERATION_SIM_SLOT Nicht zutreffend Beim Ausführen eines SIM-Karten-Vorgangs ist ein interner Fehler aufgetreten.
ERROR_TIME_OUT Beim Ausführen eines SIM-Kartensteckplatzvorgangs ist eine Zeitüberschreitung aufgetreten.
ERROR_EUICC_MISSING Auf dem Gerät ist keine eUICC verfügbar oder aktiv.
OPERATION_EUICC_CARD Nicht zutreffend Beim Ausführen eines eUICC-Vorgangs ist ein interner Fehler aufgetreten.
ERROR_UNSUPPORTED_VERSION Die eUICC-Version (Chip) und die EuiccCard-Version (Software) sind nicht kompatibel.
ERROR_EUICC_MISSING Im Gerät ist keine SIM-Karte verfügbar. Beispielsweise kann die LPA die SIM-Karte nicht erkennen.
OPERATION_SMDX Nicht zutreffend Beim Ausführen eines SM-DP+/SM-DS-Vorgangs ist ein interner Fehler aufgetreten.
ERROR_ADDRESS_MISSING Keine SM-DP+-Adresse zum Herunterladen des Profils.
ERROR_INVALID_CONFIRMATION_CODE Beim Parsen des Aktivierungscodes ist ein Fehler aufgetreten (ungültiges Format).
ERROR_CERTIFICATE_ERROR Schlüsselspeicher- oder Zertifikatsfehler bei Verwendung in der TLS-Verbindung zur Überprüfung.
ERROR_NO_PROFILES_AVAILABLE Keine Profile von SM-DP+ verfügbar.
ERROR_CONNECTION_ERROR Es kann keine Verbindung zum Server hergestellt werden.
ERROR_INVALID_RESPONSE Ungültige Antwort vom SM-DP+/SM-DS-Server.
OPERATION_SWITCH Nicht zutreffend Beim Ausführen eines Schaltvorgangs ist ein interner Fehler aufgetreten.
ERROR_CARRIER_LOCKED Das Profil kann nicht gewechselt werden, da das Gerät an einen Mobilfunkanbieter gebunden ist (SIM-Lock).
OPERATION_DOWNLOAD Nicht zutreffend Beim Ausführen eines Downloadvorgangs ist ein interner Fehler aufgetreten.
ERROR_DISALLOWED_BY_PPR Die Autorisierungstabelle für Regeln auf der eUICC ist leer oder der Download ist durch die Profilrichtlinienregel nicht zulässig.
ERROR_INVALID_ACTIVATION_CODE Beim Parsen des Aktivierungscodes ist ein Fehler aufgetreten (ungültiges Format) oder es wurde versucht, ohne Aktivierungscode herunterzuladen.
ERROR_CARRIER_LOCKED Der Download ist nicht zulässig, da das Gerät an einen Mobilfunkanbieter gebunden ist (SIM-Lock).
ERROR_INCOMPATIBLE_CARRIER Der Mobilfunkanbieter steht auf der Sperrliste und das LPA kann kein Profil von SM-DP+/SM-DS herunterladen.
ERROR_OPERATION_BUSY Der Profil-Download läuft und es sind keine anderen Aktionen zulässig, die SIM-Statusänderungen auslösen könnten.
OPERATION_METADATA Nicht zutreffend Beim Ausführen des Metadatenvorgangs ist ein interner Fehler aufgetreten.
ERROR_INVALID_ACTIVATION_CODE Die Abonnementmetadaten sind leer oder der Aktivierungscode in den Abonnementmetadaten ist leer oder ungültig.
ERROR_INCOMPATIBLE_CARRIER Der Mobilfunkanbieter befindet sich auf der Sperrliste und die LPA kann das Profil dieses Mobilfunkanbieters nicht von SM-DP+/SM-DS herunterladen.
OPERATION_EUICC_GSMA Nicht zutreffend Beim Ausführen eines eUICC-GSMA-Vorgangs ist ein interner Fehler aufgetreten.
ERROR_INSTALL_PROFILE Fehler mit der eUICC beim Installieren des Profils. Das Profil ist beispielsweise bereits vorhanden oder die ICCID stimmt nicht überein.
ERROR_EUICC_INSUFFICIENT_MEMORY Fehler mit der eUICC beim Installieren des Profils. Nicht genügend Speicherplatz auf dem eUICC.
ERROR_DISALLOWED_BY_PPR Fehler mit der eUICC beim Installieren des Profils. Gemäß der Profilrichtlinienregel nicht zulässig.
OPERATION_APDU Nicht zutreffend Beim Ausführen eines APDU-Vorgangs ist ein interner Fehler aufgetreten.
OPERATION_HTTP 1-999 Der Fehlercode ist ein HTTP-Fehlerwert.
Vorgangscode Betreffcode Ursachencode Beschreibung
OPERATION_SMDX_SUBJECT_REASON_CODE Der String enthält drei Ziffern, die durch einen Punkt getrennt sind, ohne führende Nullen. Beispiel: 8.1.1 Der String enthält drei Ziffern, die durch einen Punkt getrennt sind, ohne führende Nullen. Beispiel: 3.8 SubjectCode[5.2.6.1] und ReasonCode[5.2.6.2] von der GSMA (SGP.22 v2.2). Beispiel: Ein SubjectCode von 8.1.1 und ein ReasonCode von 3.8 bedeuten, dass die EID an ein anderes Gerät gebunden ist.