טיפול בשגיאות של eUICC API

ממשקי API של eUICC לספק קודי שגיאה כדי לעזור לאפליקציות ולמשתמשים לפתור בעיות הקשורות אל הורדה, הפעלה, השבתה ומחיקה של פרופילי eSIM.

טיפול בשגיאות

כשמתרחשת שגיאה בזמן הקריאה ל-eUICC API, קריאה חוזרת של Intent בהמתנה היא סופקו ו EXTRA_EMBEDDED_SUBSCRIPTION_DETAILED_CODE משמש כמפתח לקבלת קוד השגיאה המפורט. החל מ- Android 11, ארבעת המפתחות והערכים הבאים כלולה ב-Intent שנוצר:

ארבעת הערכים האלה מאפשרים לקורא של ממשק 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.
}

שילובים נתמכים של פעולות וקודי שגיאה

בטבלה הבאה מתוארים השילוב הנתמך של פעולות קודי שגיאה שהוחזרו מ-Local Profile Assistant (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 ריקה או שההורדה אסורה על ידי כלל מדיניות הפרופיל.
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 מקושר למכשיר אחר.