Menangani error eUICC API

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

Menangani error

Saat terjadi error saat memanggil eUICC API, callback intent yang tertunda akan disediakan dan EXTRA_EMBEDDED_SUBSCRIPTION_DETAILED_CODE digunakan sebagai kunci untuk mendapatkan kode error yang mendetail. Mulai dari Android 11, empat kunci dan nilai berikut disertakan dalam intent yang dihasilkan:

Keempat nilai ini memungkinkan pemanggil eUICC API menangani error tertentu secara terpisah. 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 dan kode error yang didukung 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 terganggu atau terjadi error IOException.
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 melakukan operasi eUICC.
ERROR_UNSUPPORTED_VERSION Versi eUICC (chip) dan versi EuiccCard (software) tidak 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 dalam 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 tombol.
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 null atau download tidak diizinkan oleh aturan kebijakan profil.
ERROR_INVALID_ACTIVATION_CODE Terjadi error saat mengurai kode aktivasi (format tidak valid) atau mencoba mendownload tanpa kode aktivasi.
ERROR_CARRIER_LOCKED Tidak diizinkan untuk mendownload karena perangkat dikunci oleh operator (SIM terkunci).
ERROR_INCOMPATIBLE_CARRIER Operator berada 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 perubahan status SIM yang diizinkan.
OPERATION_METADATA Tidak berlaku Terjadi error internal saat melakukan operasi metadata.
ERROR_INVALID_ACTIVATION_CODE Metadata langganan kosong atau kode aktivasi di dalam metadata langganan kosong atau tidak valid.
ERROR_INCOMPATIBLE_CARRIER Operator berada dalam daftar hitam dan LPA tidak dapat mendownload profil operator ini dari SM-DP+/SM-DS.
OPERATION_EUICC_GSMA Tidak berlaku Terjadi error internal saat menjalankan 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 Error dengan eUICC saat mencoba menginstal profil. Memori di eUICC tidak cukup.
ERROR_DISALLOWED_BY_PPR 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 nol di awal. Misalnya, 8.1.1. String berisi 3 digit yang dipisahkan dengan titik tanpa angka nol di depan. Misalnya, 3.8. SubjectCode[5.2.6.1] dan ReasonCode[5.2.6.2] dari GSMA (SGP.22 v2.2). Misalnya, SubjectCode 8.1.1 dan ReasonCode 3.8 berarti EID terikat ke perangkat lain.