API-интерфейсы eUICC предоставляют коды ошибок, помогающие приложениям и пользователям устранять неполадки, связанные с загрузкой, включением, отключением и удалением профилей eSIM.
Обработка ошибок
 При возникновении ошибки при вызове API eUICC отправляется ожидающий обратный вызов Intent, и EXTRA_EMBEDDED_SUBSCRIPTION_DETAILED_CODE используется в качестве ключа для получения подробного кода ошибки. Начиная с Android 11, в результирующий Intent включены следующие четыре ключа и значения:
-  
EXTRA_EMBEDDED_SUBSCRIPTION_OPERATION_CODE: предоставляет информацию о проблеме. Например, при загрузке или удалении профиля eSIM. Это поле никогда не пустует. EXTRA_EMBEDDED_SUBSCRIPTION_ERROR_CODE: Информация о причине ошибки. Например, истекло время ожидания запроса или устройство заблокировано оператором. Это поле не заполняется в следующих случаях:-  Код операции — 
OPERATION_SMDX_SUBJECT_REASON_CODE. -  Ошибка представляет собой ошибку низкого уровня, такую как 
IOExceptionилиInterruptedException. 
-  Код операции — 
 EXTRA_EMBEDDED_SUBSCRIPTION_SMDX_SUBJECT_CODE: используется вместе сEXTRA_EMBEDDED_SUBSCRIPTION_SMDX_REASON_CODE, которые вместе предоставляют SubjectCode[5.2.6.1] и ReasonCode[5.2.6.2] из GSMA (SGP.22 v2.2). Это поле заполняется только в том случае, если код операции —OPERATION_SMDX_SUBJECT_REASON_CODE.EXTRA_EMBEDDED_SUBSCRIPTION_SMDX_REASON_CODE: используется вместе сEXTRA_EMBEDDED_SUBSCRIPTION_SMDX_SUBJECT_CODE, которые вместе предоставляют SubjectCode[5.2.6.1] и ReasonCode[5.2.6.2] из GSMA (SGP.22 v2.2). Это поле заполняется только в том случае, если код операции —OPERATION_SMDX_SUBJECT_REASON_CODE.
Эти четыре значения позволяют вызывающему API eUICC обрабатывать конкретные ошибки индивидуально. Ниже приведён пример обработки этих ошибок.
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.
}
Поддерживаемые комбинации операций и кодов ошибок
В следующей таблице описывается поддерживаемая комбинация кодов операций и ошибок, возвращаемых локальным помощником по профилям (LPA).
| Комбинации кодов операций и ошибок | |||
|---|---|---|---|
| Код операции | Код ошибки | Описание | |
 OPERATION_SYSTEM | Непригодный |  Произошла внутренняя ошибка. Например, поток был прерван или возникла ошибка IOException . | |
 OPERATION_SIM_SLOT | Непригодный | Произошла внутренняя ошибка при выполнении операции со слотом SIM-карты. | |
 ERROR_TIME_OUT | Истекло время ожидания при попытке выполнить операцию со слотом SIM-карты. | ||
 ERROR_EUICC_MISSING | На устройстве нет доступной или активной карты eUICC. | ||
 OPERATION_EUICC_CARD | Непригодный | При выполнении операции eUICC произошла внутренняя ошибка. | |
 ERROR_UNSUPPORTED_VERSION | Версия eUICC (чип) и версия EuiccCard (программное обеспечение) несовместимы. | ||
 ERROR_EUICC_MISSING | В устройстве отсутствует SIM-карта. Например, LPA не может её обнаружить. | ||
 OPERATION_SMDX | Непригодный | Произошла внутренняя ошибка при выполнении операции SM-DP+/SM-DS. | |
 ERROR_ADDRESS_MISSING | Нет адреса SM-DP+ для загрузки профиля. | ||
 ERROR_INVALID_CONFIRMATION_CODE | Произошла ошибка при анализе кода активации (неверный формат). | ||
 ERROR_CERTIFICATE_ERROR | Ошибка хранилища ключей или сертификата при использовании TLS-подключения для проверки. | ||
 ERROR_NO_PROFILES_AVAILABLE | Профили SM-DP+ отсутствуют. | ||
 ERROR_CONNECTION_ERROR | Невозможно создать соединение с сервером. | ||
 ERROR_INVALID_RESPONSE | Неверный ответ от сервера SM-DP+/SM-DS. | ||
 OPERATION_SWITCH | Непригодный | При выполнении операции переключения произошла внутренняя ошибка. | |
 ERROR_CARRIER_LOCKED | Невозможно сменить профиль, так как устройство заблокировано оператором (SIM-карта заблокирована). | ||
 OPERATION_DOWNLOAD | Непригодный | При выполнении операции загрузки произошла внутренняя ошибка. | |
 ERROR_DISALLOWED_BY_PPR | Таблица авторизации правил на карте eUICC имеет значение null или загрузка запрещена правилом политики профиля. | ||
 ERROR_INVALID_ACTIVATION_CODE | Произошла ошибка при анализе кода активации (неверный формат) или попытке загрузки без кода активации. | ||
 ERROR_CARRIER_LOCKED | Загрузка невозможна, так как устройство заблокировано оператором (SIM-карта заблокирована). | ||
 ERROR_INCOMPATIBLE_CARRIER | Оператор находится в черном списке, и LPA не может загрузить профиль из SM-DP+/SM-DS. | ||
 ERROR_OPERATION_BUSY | Выполняется загрузка профиля, и никакие другие действия, которые могут вызвать изменение состояния SIM-карты, не допускаются. | ||
 OPERATION_METADATA | Непригодный | Произошла внутренняя ошибка при выполнении операции с метаданными. | |
 ERROR_INVALID_ACTIVATION_CODE | Метаданные подписки пусты, или код активации внутри метаданных подписки пустой или недействительный. | ||
 ERROR_INCOMPATIBLE_CARRIER | Оператор находится в черном списке, и LPA не может загрузить профиль этого оператора из SM-DP+/SM-DS. | ||
 OPERATION_EUICC_GSMA | Непригодный | Произошла внутренняя ошибка при выполнении операции eUICC GSMA. | |
 ERROR_INSTALL_PROFILE | Ошибка eUICC при попытке установить профиль. Например, профиль уже существует или ICCID не совпадает. | ||
 ERROR_EUICC_INSUFFICIENT_MEMORY | Ошибка eUICC при попытке установки профиля. Недостаточно памяти на eUICC. | ||
 ERROR_DISALLOWED_BY_PPR | Ошибка eUICC при попытке установить профиль. Это запрещено правилом политики профиля. | ||
 OPERATION_APDU | Непригодный | Произошла внутренняя ошибка при выполнении операции APDU. | |
 OPERATION_HTTP |  1-999 | Код ошибки — это значение ошибки HTTP. | |
| Код операции | Код темы | Код причины | Описание | 
 OPERATION_SMDX_SUBJECT_REASON_CODE |  Строка содержит 3 цифры, разделённые точкой, без начальных нулей. Например, 8.1.1 . |  Строка содержит 3 цифры, разделённые точкой, без начальных нулей. Например, 3.8 . |  SubjectCode[5.2.6.1] и ReasonCode[5.2.6.2] из GSMA (SGP.22 v2.2). Например, SubjectCode 8.1.1 и ReasonCode 3.8 означают, что EID привязан к другому устройству. |