ממשקי API של eUICC לספק קודי שגיאה כדי לעזור לאפליקציות ולמשתמשים לפתור בעיות שקשורות אל הורדה, הפעלה, השבתה ומחיקה של פרופילי eSIM.
טיפול בשגיאות
כשמתרחשת שגיאה בזמן הקריאה ל-eUICC API, קריאה חוזרת של 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) גרסה 2.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) גרסה 2.2). השדה הזה יאוכלס רק כאשר קוד הפעולהOPERATION_SMDX_SUBJECT_REASON_CODE
ארבעת הערכים האלה מאפשרים לקורא של ממשק 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
מקושר למכשיר אחר. |