eUICC API 오류 처리

eUICC API는 앱과 사용자가 eSIM 프로필의 다운로드, 사용 설정, 사용 중지, 삭제와 관련된 문제를 해결하는 데 도움이 되는 오류 코드를 제공합니다.

오류 처리

eUICC API를 호출하는 동안 오류가 발생하면 대기 중인 인텐트 콜백이 제공되고 EXTRA_EMBEDDED_SUBSCRIPTION_DETAILED_CODE가 세부 오류 코드를 가져오기 위한 키로 사용됩니다. Android 11부터 다음 네 개의 키와 값이 결과 인텐트에 포함됩니다.

이러한 네 개의 코드 값을 통해 eUICC API의 호출자가 특정 오류를 개별적으로 처리할 수 있습니다. 다음은 특정 오류를 처리하는 방법의 예입니다.

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가 SIM 카드를 감지할 수 없습니다.
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자리 숫자가 점으로 구분되어 있으며 선행 0이 없습니다. 예: 8.1.1. 문자열에 3자리 숫자가 점으로 구분되어 있으며 선행 0이 없습니다. 예: 3.8. GSMA(SGP.22 v2.2)의 SubjectCode[5.2.6.1] 및 ReasonCode[5.2.6.2]. 예를 들어 SubjectCode가 8.1.1이고 ReasonCode가 3.8인 경우 EID가 다른 기기에 바인딩됨을 의미합니다.