تشير رسالة الأشكال البيانية واجهات برمجة تطبيقات eUICC توفير رموز خطأ لمساعدة التطبيقات والمستخدمين في تحري المشكلات المتعلقة تنزيل الملفات الشخصية لشرائح eSIM وتفعيلها وإيقافها وحذفها
التعامل مع الأخطاء
عند حدوث خطأ أثناء استدعاء واجهة برمجة التطبيقات eUICC، تكون حالة معاودة الاتصال بالهدف في انتظار المراجعة
المقدمة
EXTRA_EMBEDDED_SUBSCRIPTION_DETAILED_CODE
مفتاحًا للحصول على رمز الخطأ التفصيلي. بدءًا من
Android 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
، ويتم الجمع بين توفير 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 معالجة أخطاء معيّنة كل على حدة. في ما يلي مثال على كيفية التعامل مع هذه الأخطاء.
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 فارغ أو أن التنزيل غير مسموح بها بواسطة قاعدة سياسة الملف الشخصي. | ||
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 يعني معرّف شريحة SIM المضمّنة (EID)
بجهاز آخر. |