eUICC API त्रुटियों को संभालना

eUICC API ऐप्स और उपयोगकर्ताओं को eSIM प्रोफाइल डाउनलोड करने, सक्षम करने, अक्षम करने और हटाने से संबंधित समस्याओं का निवारण करने में मदद करने के लिए त्रुटि कोड प्रदान करता है।

त्रुटियों को संभालना

जब eUICC API को कॉल करते समय कोई त्रुटि होती है, तो एक लंबित इंटेंट कॉलबैक प्रदान किया जाता है और विस्तृत त्रुटि कोड प्राप्त करने के लिए EXTRA_EMBEDDED_SUBSCRIPTION_DETAILED_CODE कुंजी के रूप में उपयोग किया जाता है। एंड्रॉइड 11 से शुरू होकर, निम्नलिखित चार कुंजी और मान परिणामी इरादे में शामिल हैं:

  • 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 के साथ उपयोग किया जाता है, जो एक साथ GSMA (SGP.22 v2.2) से SubjectCode[5.2.6.1] और ReasonCode[5.2.6.2] प्रदान करते हैं। यह फ़ील्ड केवल तभी पॉप्युलेट होती है जब ऑपरेशन कोड OPERATION_SMDX_SUBJECT_REASON_CODE होता है।

  • EXTRA_EMBEDDED_SUBSCRIPTION_SMDX_REASON_CODE : EXTRA_EMBEDDED_SUBSCRIPTION_SMDX_SUBJECT_CODE के साथ उपयोग किया जाता है, जो एक साथ GSMA (SGP.22 v2.2) से SubjectCode[5.2.6.1] और ReasonCode[5.2.6.2] प्रदान करते हैं। यह फ़ील्ड केवल तभी पॉप्युलेट होती है जब ऑपरेशन कोड OPERATION_SMDX_SUBJECT_REASON_CODE होता है।

ये चार मान ईयूआईसीसी एपीआई के कॉलर को विशिष्ट त्रुटियों को व्यक्तिगत रूप से संभालने की अनुमति देते हैं। इन त्रुटियों से निपटने के तरीके का एक उदाहरण निम्नलिखित है।

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

समर्थित संचालन और त्रुटि कोड संयोजन

निम्न तालिका स्थानीय प्रोफ़ाइल सहायक (एलपीए) से लौटाए गए ऑपरेशन और त्रुटि कोड के समर्थित संयोजन का वर्णन करती है।

संचालन और त्रुटि कोड संयोजन
ऑपरेशन कोड त्रुटि कोड विवरण
OPERATION_SYSTEM लागू नहीं एक आंतरिक त्रुटि हुई। उदाहरण के लिए, थ्रेड बाधित हो गया था या IOException त्रुटि उत्पन्न हुई।
OPERATION_SIM_SLOT लागू नहीं सिम स्लॉट संचालन करते समय एक आंतरिक त्रुटि उत्पन्न हुई।
ERROR_TIME_OUT सिम स्लॉट संचालन करने का प्रयास करते समय समय समाप्त हो गया।
ERROR_EUICC_MISSING डिवाइस पर कोई eUICC उपलब्ध या सक्रिय नहीं है।
OPERATION_EUICC_CARD लागू नहीं eUICC ऑपरेशन करते समय एक आंतरिक त्रुटि उत्पन्न हुई।
ERROR_UNSUPPORTED_VERSION eUICC (चिप) संस्करण और EuiccCard (सॉफ़्टवेयर) संस्करण संगत नहीं हैं।
ERROR_EUICC_MISSING डिवाइस में कोई सिम कार्ड उपलब्ध नहीं है. उदाहरण के लिए, एलपीए सिम कार्ड का पता नहीं लगा सकता।
OPERATION_SMDX लागू नहीं SM-DP+/SM-DS ऑपरेशन करते समय एक आंतरिक त्रुटि उत्पन्न हुई।
ERROR_ADDRESS_MISSING प्रोफ़ाइल डाउनलोड करने के लिए कोई SM-DP+ पता नहीं।
ERROR_INVALID_CONFIRMATION_CODE सक्रियण कोड (अमान्य प्रारूप) को पार्स करते समय एक त्रुटि उत्पन्न हुई।
ERROR_CERTIFICATE_ERROR सत्यापन के लिए टीएलएस कनेक्शन में उपयोग किए जाने पर कीस्टोर या प्रमाणपत्र त्रुटि।
ERROR_NO_PROFILES_AVAILABLE SM-DP+ से कोई प्रोफ़ाइल उपलब्ध नहीं है।
ERROR_CONNECTION_ERROR सर्वर से कनेक्शन नहीं बनाया जा सकता.
ERROR_INVALID_RESPONSE SM-DP+/SM-DS सर्वर से अमान्य प्रतिक्रिया।
OPERATION_SWITCH लागू नहीं स्विच ऑपरेशन करते समय एक आंतरिक त्रुटि उत्पन्न हुई।
ERROR_CARRIER_LOCKED प्रोफ़ाइल स्विच करने की अनुमति नहीं है क्योंकि डिवाइस कैरियर लॉक (सिम लॉक) है।
OPERATION_DOWNLOAD लागू नहीं डाउनलोड कार्रवाई करते समय एक आंतरिक त्रुटि उत्पन्न हुई।
ERROR_DISALLOWED_BY_PPR eUICC पर नियम प्राधिकरण तालिका शून्य है या प्रोफ़ाइल नीति नियम द्वारा डाउनलोड की अनुमति नहीं है।
ERROR_INVALID_ACTIVATION_CODE सक्रियण कोड (अमान्य प्रारूप) को पार्स करते समय या बिना किसी सक्रियण कोड के डाउनलोड करने का प्रयास करते समय एक त्रुटि उत्पन्न हुई।
ERROR_CARRIER_LOCKED डाउनलोड करने की अनुमति नहीं है क्योंकि डिवाइस कैरियर लॉक (सिम लॉक) है।
ERROR_INCOMPATIBLE_CARRIER वाहक काली सूची में है और एलपीए एसएम-डीपी+/एसएम-डीएस से प्रोफ़ाइल डाउनलोड नहीं कर सकता है।
ERROR_OPERATION_BUSY प्रोफ़ाइल डाउनलोड प्रगति पर है और सिम स्थिति में बदलाव लाने वाली किसी भी अन्य कार्रवाई की अनुमति नहीं है।
OPERATION_METADATA लागू नहीं मेटाडेटा ऑपरेशन करते समय एक आंतरिक त्रुटि उत्पन्न हुई।
ERROR_INVALID_ACTIVATION_CODE सदस्यता मेटाडेटा खाली है या सदस्यता मेटाडेटा के अंदर सक्रियण कोड खाली या अमान्य है।
ERROR_INCOMPATIBLE_CARRIER वाहक काली सूची में है और एलपीए इस वाहक की प्रोफ़ाइल को 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 . जीएसएमए (एसजीपी.22 वी2.2) से सब्जेक्टकोड[5.2.6.1] और रीज़नकोड[5.2.6.2]। उदाहरण के लिए, 8.1.1 का सब्जेक्टकोड और 3.8 का रीज़नकोड का मतलब है कि ईआईडी किसी अन्य डिवाइस से जुड़ा हुआ है।