eUICC एपीआई , गड़बड़ी के कोड उपलब्ध कराते हैं. इनसे ऐप्लिकेशन और उपयोगकर्ताओं को, ई-सिम प्रोफ़ाइल डाउनलोड करने, चालू करने, बंद करने, और मिटाने से जुड़ी समस्याओं को हल करने में मदद मिलती है.
गड़बड़ियों को हैंडल करना
eUICC एपीआई को कॉल करते समय कोई गड़बड़ी होने पर, पेंडिंग इंटेंट कॉलबैक उपलब्ध कराया जाता है
साथ ही,
EXTRA_EMBEDDED_SUBSCRIPTION_DETAILED_CODE
को गड़बड़ी के बारे में ज़्यादा जानकारी देने वाले कोड को पाने के लिए, कुंजी के तौर पर इस्तेमाल किया जाता है. Android 11 से, नतीजे के तौर पर मिलने वाले इंटेंट में ये चार कुंजियां और वैल्यू शामिल होती हैं:
EXTRA_EMBEDDED_SUBSCRIPTION_OPERATION_CODE: इससे यह जानकारी मिलती है कि क्या गड़बड़ी हुई. उदाहरण के लिए, ई-सिम प्रोफ़ाइल डाउनलोड करना या मिटाना. यह फ़ील्ड कभी खाली नहीं होता.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.
इन चार वैल्यू की मदद से, 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.
}
ऑपरेशन और गड़बड़ी के कोड के काम करने वाले कॉम्बिनेशन
यहां दी गई टेबल में, लोकल प्रोफ़ाइल असिस्टेंट (एलपीए) से मिले, ऑपरेशन और गड़बड़ी के कोड के काम करने वाले कॉम्बिनेशन के बारे में बताया गया है.
| ऑपरेशन और गड़बड़ी के कोड के कॉम्बिनेशन | |||
|---|---|---|---|
| ऑपरेशन कोड | गड़बड़ी कोड | ब्यौरा | |
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 |
मोबाइल और इंटरनेट सेवा देने वाली कंपनी, ब्लैकलिस्ट में शामिल है. इसलिए, एलपीए, SM-DP+/SM-DS से कोई प्रोफ़ाइल डाउनलोड नहीं कर सकता. | ||
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 |
गड़बड़ी का कोड, एचटीटीपी गड़बड़ी की वैल्यू है. | |
| ऑपरेशन कोड | सब्जेक्ट कोड | रीज़न कोड | ब्यौरा |
OPERATION_SMDX_SUBJECT_REASON_CODE |
स्ट्रिंग में तीन अंक होते हैं. इनके बीच में डॉट होता है और इनकी शुरुआत में शून्य नहीं होता. उदाहरण के लिए, 8.1.1. |
स्ट्रिंग में तीन अंक होते हैं. इनके बीच में डॉट होता है और इनकी शुरुआत में शून्य नहीं होता. उदाहरण के लिए, 3.8. |
GSMA (SGP.22 v2.2) से SubjectCode[5.2.6.1] और ReasonCode[5.2.6.2]. उदाहरण
के लिए, 8.1.1 का SubjectCode और
3.8 का ReasonCode का मतलब है कि EID
किसी दूसरे डिवाइस से जुड़ा है. |