Umgang mit eUICC-API-Fehlern

Die eUICC-APIs stellen Fehlercodes bereit, um Apps und Benutzern bei der Behebung von Problemen im Zusammenhang mit dem Herunterladen, Aktivieren, Deaktivieren und Löschen von eSIM-Profilen zu helfen.

Umgang mit Fehlern

Wenn beim Aufrufen der eUICC-API ein Fehler auftritt, wird ein ausstehender Intent-Callback bereitgestellt und EXTRA_EMBEDDED_SUBSCRIPTION_DETAILED_CODE als Schlüssel zum Abrufen des detaillierten Fehlercodes verwendet. Ab Android 11 sind die folgenden vier Schlüssel und Werte im resultierenden Intent enthalten:

Diese vier Werte ermöglichen es dem Aufrufer der eUICC-API, bestimmte Fehler individuell zu 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 Betriebs- und Fehlercodekombinationen

Die folgende Tabelle beschreibt die unterstützte Kombination von Betriebs- und Fehlercodes, die vom lokalen Profilassistenten (LPA) zurückgegeben werden.

Kombinationen von Betriebs- und Fehlercodes
Operationscode Fehlercode Beschreibung
OPERATION_SYSTEM Unzutreffend Ein interner Fehler ist aufgetreten. Beispielsweise wurde der Thread unterbrochen oder es ist ein IOException Fehler aufgetreten.
OPERATION_SIM_SLOT Unzutreffend Beim Ausführen eines SIM-Slot-Vorgangs ist ein interner Fehler aufgetreten.
ERROR_TIME_OUT Beim Versuch, einen SIM-Slot-Vorgang durchzuführen, ist eine Zeitüberschreitung aufgetreten.
ERROR_EUICC_MISSING Auf dem Gerät ist kein eUICC verfügbar oder aktiv.
OPERATION_EUICC_CARD Unzutreffend Beim Ausführen einer eUICC-Operation 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 vorhanden. Beispielsweise kann der LPA die SIM-Karte nicht erkennen.
OPERATION_SMDX Unzutreffend Beim Ausführen einer SM-DP+/SM-DS-Operation 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 Keystore- oder Zertifikatsfehler bei Verwendung in einer TLS-Verbindung zur Überprüfung.
ERROR_NO_PROFILES_AVAILABLE Von SM-DP+ sind keine Profile 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 Unzutreffend Beim Ausführen einer Schaltoperation ist ein interner Fehler aufgetreten.
ERROR_CARRIER_LOCKED Profilwechsel nicht zulässig, da das Gerät vom Netzbetreiber gesperrt ist (SIM-gesperrt).
OPERATION_DOWNLOAD Unzutreffend Beim Ausführen eines Download-Vorgangs ist ein interner Fehler aufgetreten.
ERROR_DISALLOWED_BY_PPR Die Regelautorisierungstabelle im eUICC ist null oder der Download ist durch die Profilrichtlinienregel nicht zulässig.
ERROR_INVALID_ACTIVATION_CODE Beim Parsen des Aktivierungscodes (ungültiges Format) oder beim Versuch, ihn ohne Aktivierungscode herunterzuladen, ist ein Fehler aufgetreten.
ERROR_CARRIER_LOCKED Der Download ist nicht erlaubt, da das Gerät vom Netzbetreiber gesperrt ist (SIM-gesperrt).
ERROR_INCOMPATIBLE_CARRIER Der Netzbetreiber steht auf der Blacklist und die 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 Änderungen des SIM-Status auslösen könnten.
OPERATION_METADATA Unzutreffend 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 Netzbetreiber steht auf der schwarzen Liste und die LPA kann das Profil dieses Netzbetreibers nicht von SM-DP+/SM-DS herunterladen.
OPERATION_EUICC_GSMA Unzutreffend Beim Ausführen einer eUICC GSMA-Operation ist ein interner Fehler aufgetreten.
ERROR_INSTALL_PROFILE Fehler mit eUICC beim Versuch, das Profil zu installieren. Beispielsweise existiert das Profil bereits oder die ICCID stimmt nicht überein.
ERROR_EUICC_INSUFFICIENT_MEMORY Fehler mit eUICC beim Versuch, das Profil zu installieren. Nicht genügend Speicher auf dem eUICC.
ERROR_DISALLOWED_BY_PPR Fehler mit eUICC beim Versuch, das Profil zu installieren. Durch die Profilrichtlinienregel nicht zulässig.
OPERATION_APDU Unzutreffend Beim Ausführen einer APDU-Operation ist ein interner Fehler aufgetreten.
OPERATION_HTTP 1-999 Fehlercode ist ein HTTP-Fehlerwert.
Operationscode Betreffcode Ursachencode Beschreibung
OPERATION_SMDX_SUBJECT_REASON_CODE Die Zeichenfolge enthält 3 durch einen Punkt getrennte Ziffern ohne führende Nullen. Zum Beispiel 8.1.1 . Die Zeichenfolge enthält 3 durch einen Punkt getrennte Ziffern ohne führende Nullen. Zum Beispiel 3.8 . SubjectCode[5.2.6.1] und ReasonCode[5.2.6.2] von GSMA (SGP.22 v2.2). Beispielsweise bedeutet ein SubjectCode von 8.1.1 und ein ReasonCode von 3.8 , dass die EID an ein anderes Gerät gebunden ist.