Menangani error eUICC API

Tujuan eUICC API memberikan kode error untuk membantu aplikasi dan pengguna memecahkan masalah yang terkait dengan mendownload, mengaktifkan, menonaktifkan, dan menghapus profil eSIM.

Menangani error

Jika terjadi error saat memanggil eUICC API, callback intent yang tertunda akan yang Anda sediakan EXTRA_EMBEDDED_SUBSCRIPTION_DETAILED_CODE digunakan sebagai kunci untuk mendapatkan kode {i>error<i} yang terperinci. Mulai dari Android 11, empat kunci dan nilai berikut adalah disertakan dalam intent yang dihasilkan:

Keempat nilai ini memungkinkan pemanggil eUICC API menangani error tertentu satu per satu. Berikut adalah contoh cara menangani error ini.

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

Kombinasi kode error dan operasi yang didukung

Tabel berikut menjelaskan kombinasi operasi yang didukung dan kode error yang ditampilkan dari asisten profil lokal (LPA).

Kombinasi kode operasi dan error
Kode operasi Kode error Deskripsi
OPERATION_SYSTEM Tidak berlaku Terjadi error internal. Misalnya, thread terputus atau Terjadi IOException error.
OPERATION_SIM_SLOT Tidak berlaku Terjadi error internal saat melakukan operasi slot SIM.
ERROR_TIME_OUT Waktu habis saat mencoba melakukan operasi slot SIM.
ERROR_EUICC_MISSING Tidak ada eUICC yang tersedia atau aktif di perangkat.
OPERATION_EUICC_CARD Tidak berlaku Terjadi error internal saat menjalankan operasi eUICC.
ERROR_UNSUPPORTED_VERSION Versi eUICC (chip) dan versi EuiccCard (software) bukan yang kompatibel.
ERROR_EUICC_MISSING Tidak ada kartu SIM yang tersedia di perangkat. Misalnya, LPA tidak dapat mendeteksi kartu SIM.
OPERATION_SMDX Tidak berlaku Terjadi error internal saat melakukan operasi SM-DP+/SM-DS.
ERROR_ADDRESS_MISSING Tidak ada alamat SM-DP+ untuk mendownload profil.
ERROR_INVALID_CONFIRMATION_CODE Terjadi error saat mengurai kode aktivasi (format tidak valid).
ERROR_CERTIFICATE_ERROR Error sertifikat atau keystore saat digunakan di koneksi TLS untuk verifikasi.
ERROR_NO_PROFILES_AVAILABLE Tidak ada profil yang tersedia dari SM-DP+.
ERROR_CONNECTION_ERROR Tidak dapat membuat koneksi ke server.
ERROR_INVALID_RESPONSE Respons tidak valid dari server SM-DP+/SM-DS.
OPERATION_SWITCH Tidak berlaku Terjadi error internal saat melakukan operasi switch.
ERROR_CARRIER_LOCKED Tidak diizinkan beralih profil karena perangkat dikunci oleh operator (SIM) terkunci).
OPERATION_DOWNLOAD Tidak berlaku Terjadi error internal saat melakukan operasi download.
ERROR_DISALLOWED_BY_PPR Tabel Otorisasi Aturan pada eUICC adalah {i>null<i} atau hasil download adalah tidak diizinkan oleh aturan kebijakan profil.
ERROR_INVALID_ACTIVATION_CODE Terjadi error saat mengurai kode aktivasi (format tidak valid) atau mencoba mengunduh tanpa kode aktivasi.
ERROR_CARRIER_LOCKED Tidak diizinkan untuk mendownload karena perangkat dikunci oleh operator (SIM) terkunci).
ERROR_INCOMPATIBLE_CARRIER Operator ada dalam daftar yang tidak diizinkan dan LPA tidak dapat mendownload profil dari SM-DP+/SM-DS.
ERROR_OPERATION_BUSY Download profil sedang berlangsung dan tidak ada tindakan lain yang dapat memicu SIM perubahan status diizinkan.
OPERATION_METADATA Tidak berlaku Terjadi error internal saat menjalankan operasi metadata.
ERROR_INVALID_ACTIVATION_CODE Metadata langganan kosong atau kode aktivasi di dalam metadata langganan kosong atau tidak valid.
ERROR_INCOMPATIBLE_CARRIER Operator ada dalam daftar yang tidak diizinkan dan LPA tidak dapat mendownload dari SM-DP+/SM-DS.
OPERATION_EUICC_GSMA Tidak berlaku Terjadi error internal saat melakukan operasi GSMA eUICC.
ERROR_INSTALL_PROFILE Terjadi error dengan eUICC saat mencoba menginstal profil. Misalnya, profil sudah ada atau ICCID tidak cocok.
ERROR_EUICC_INSUFFICIENT_MEMORY Terjadi error dengan eUICC saat mencoba menginstal profil. Memori tidak cukup eUICC.
ERROR_DISALLOWED_BY_PPR Terjadi error dengan eUICC saat mencoba menginstal profil. Tidak diizinkan oleh aturan kebijakan profil.
OPERATION_APDU Tidak berlaku Terjadi error internal saat melakukan operasi APDU.
OPERATION_HTTP 1-999 Kode error berupa nilai error HTTP.
Kode operasi Kode subjek Kode alasan Deskripsi
OPERATION_SMDX_SUBJECT_REASON_CODE String berisi 3 digit yang dipisahkan dengan titik, tanpa angka nol di depan. Sebagai contoh, 8.1.1. String berisi 3 digit yang dipisahkan dengan titik tanpa angka nol di depan. Sebagai contoh, 3.8. SubjectCode[5.2.6.1] dan reasonCode[5.2.6.2] dari GSMA (SGP.22 v2.2). Sebagai contoh, SubjectCode 8.1.1 dan reasonCode dari 3.8 berarti EID terikat ke perangkat lain.