eUICC API hatalarını işleme

eUICC API'leri, uygulamaların ve kullanıcıların eSIM profillerinin indirilmesi, etkinleştirilmesi, devre dışı bırakılması ve silinmesiyle ilgili sorunları gidermesine yardımcı olmak için hata kodları sağlar.

Hataları işleme

eUICC API çağrılırken bir hata oluştuğunda bekleyen amaç geri çağrısı sağlanır ve ayrıntılı hata kodunu almak için anahtar olarak EXTRA_EMBEDDED_SUBSCRIPTION_DETAILED_CODE kullanılır. Android 11'den itibaren, sonuçtaki amaçta aşağıdaki dört anahtar ve değer yer alır:

Bu dört değer, eUICC API'yi çağıranın belirli hataları ayrı ayrı işlemesine olanak tanır. Aşağıda, bu hataların nasıl ele alınacağına dair bir örnek verilmiştir.

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

Desteklenen işlem ve hata kodu kombinasyonları

Aşağıdaki tabloda, yerel profil asistanından (LPA) döndürülen desteklenen işlem ve hata kodu kombinasyonu açıklanmaktadır.

İşlem ve hata kodu kombinasyonları
İşlem kodu Hata kodu Açıklama
OPERATION_SYSTEM Geçerli değil Dahili bir hata oluştu. Örneğin, ileti dizisi kesintiye uğramış veya IOException hatası oluşmuş olabilir.
OPERATION_SIM_SLOT Geçerli değil SIM yuvası işlemi gerçekleştirilirken dahili bir hata oluştu.
ERROR_TIME_OUT SIM kart yuvası işlemi gerçekleştirilmeye çalışılırken zaman aşımı oluştu.
ERROR_EUICC_MISSING Cihazda eUICC yok veya eUICC etkin değil.
OPERATION_EUICC_CARD Geçerli değil eUICC işlemi gerçekleştirilirken dahili bir hata oluştu.
ERROR_UNSUPPORTED_VERSION eUICC (çip) sürümü ve EuiccCard (yazılım) sürümü uyumlu değil.
ERROR_EUICC_MISSING Cihazda SIM kart yok. Örneğin, LPA, SIM kartı algılayamaz.
OPERATION_SMDX Geçerli değil SM-DP+/SM-DS işlemi gerçekleştirilirken dahili bir hata oluştu.
ERROR_ADDRESS_MISSING Profili indirmek için SM-DP+ adresi yok.
ERROR_INVALID_CONFIRMATION_CODE Etkinleştirme kodu ayrıştırılırken bir hata oluştu (geçersiz biçim).
ERROR_CERTIFICATE_ERROR Doğrulama için TLS bağlantısında kullanıldığında anahtar deposu veya sertifika hatası.
ERROR_NO_PROFILES_AVAILABLE SM-DP+ tarafından sunulan profil yok.
ERROR_CONNECTION_ERROR Sunucuya bağlantı oluşturulamıyor.
ERROR_INVALID_RESPONSE SM-DP+/SM-DS sunucusundan geçersiz yanıt alındı.
OPERATION_SWITCH Geçerli değil Anahtarlama işlemi gerçekleştirilirken dahili bir hata oluştu.
ERROR_CARRIER_LOCKED Cihaz, operatör tarafından kilitlendiği (SIM kilitli) için profil değiştirmenize izin verilmiyor.
OPERATION_DOWNLOAD Geçerli değil İndirme işlemi gerçekleştirilirken dahili bir hata oluştu.
ERROR_DISALLOWED_BY_PPR eUICC'deki Kurallar Yetkilendirme Tablosu boş veya indirmeye profil politikası kuralı tarafından izin verilmiyor.
ERROR_INVALID_ACTIVATION_CODE Etkinleştirme kodu ayrıştırılırken (geçersiz biçim) veya etkinleştirme kodu olmadan indirmeye çalışılırken bir hata oluştu.
ERROR_CARRIER_LOCKED Cihaz, operatör kilidiyle (SIM kilidi) kullanıldığı için indirmeye izin verilmiyor.
ERROR_INCOMPATIBLE_CARRIER Operatör kara listede olduğundan LPA, SM-DP+/SM-DS'den profil indiremiyor.
ERROR_OPERATION_BUSY Profil indirme işlemi devam ediyor ve SIM durumu değişikliklerini tetikleyebilecek başka bir işleme izin verilmiyor.
OPERATION_METADATA Geçerli değil Meta veri işlemi gerçekleştirilirken dahili bir hata oluştu.
ERROR_INVALID_ACTIVATION_CODE Abonelik meta verileri boş veya abonelik meta verilerindeki etkinleştirme kodu boş ya da geçersiz.
ERROR_INCOMPATIBLE_CARRIER Operatör kara listede olduğundan LPA, bu operatörün profilini SM-DP+/SM-DS'den indiremiyor.
OPERATION_EUICC_GSMA Geçerli değil Bir eUICC GSMA işlemi gerçekleştirilirken dahili bir hata oluştu.
ERROR_INSTALL_PROFILE Profil yüklenmeye çalışılırken eUICC ile ilgili hata oluştu. Örneğin, profil zaten vardır veya ICCID eşleşmiyordur.
ERROR_EUICC_INSUFFICIENT_MEMORY Profil yüklenmeye çalışılırken eUICC ile ilgili hata oluştu. eUICC'de yeterli bellek yok.
ERROR_DISALLOWED_BY_PPR Profil yüklenmeye çalışılırken eUICC ile ilgili hata oluştu. Profil politikası kuralı nedeniyle izin verilmiyor.
OPERATION_APDU Geçerli değil APDU işlemi gerçekleştirilirken dahili bir hata oluştu.
OPERATION_HTTP 1-999 Hata kodu, bir HTTP hata değeridir.
İşlem kodu Konu kodu Neden kodu Açıklama
OPERATION_SMDX_SUBJECT_REASON_CODE Dize, başında sıfır olmayan ve nokta ile ayrılmış 3 basamaklı sayılar içerir. Örneğin, 8.1.1. Dize, başında sıfır olmayan ve nokta ile ayrılmış 3 rakam içeriyor. Örneğin, 3.8. GSMA'dan (SGP.22 v2.2) SubjectCode[5.2.6.1] ve ReasonCode[5.2.6.2]. Örneğin, 8.1.1 SubjectCode'u ve 3.8 ReasonCode'u, EID'nin başka bir cihaza bağlı olduğu anlamına gelir.