ملفات شخصية مُفعَّلة متعددة

بالنسبة إلى الأجهزة التي تعمل بالإصدار 13 من نظام التشغيل Android أو الإصدارات الأحدث، يتيح نظام التشغيل Android تفعيل عدة ملفات شخصية (MEP) لبطاقة eUICC. تتيح هذه الميزة للأجهزة إمكانية استخدام شريحتَي SIM من خلال شريحة eSIM واحدة، والتي يمكن أن تتضمّن ملفات شخصية متعددة لشرائح SIM ويمكنها الاتصال بمشغِّلَي شبكة جوّال مختلفَين في الوقت نفسه. على مصنّعي الأجهزة العمل مع مورّدي المنظومة على الرقاقة (SoC) ومورّدي شرائح eSIM لدمج هذه الميزة في أجهزتهم.

خلفية

على الأجهزة التي تعمل بالإصدار 12 من نظام التشغيل Android والإصدارات الأقدم، يوفّر مشروع AOSP دعمًا محدودًا للسماح لشريحة eSIM واحدة بتوفير ملفات شخصية متعددة في الوقت نفسه. على الرغم من المزايا الكبيرة التي توفّرها شريحة eSIM من حيث المساحة والتكلفة، فإنّ عدم توفّر ميزة شرائح SIM المزدوجة يمنع الشركات المصنّعة للأجهزة من استخدام أجهزة مزوّدة بشريحة eSIM فقط. لتوفير إمكانية استخدام شريحتَي SIM على جهاز مزوّد بشريحة eSIM فقط، على الشركات المصنّعة للأجهزة تضمين عنصرَي eSIM في الجهاز، ما يؤدي إلى زيادة تكاليف قائمة المواد (BOM) وتدهور تجربة المستخدمين في ما يتعلق بإدارة الاشتراكات. تتوفّر ميزة MEP في AOSP من الإصدار 13 من نظام التشغيل Android، وهي تعالج هذه المشكلة.

بنية eUICC

يوضّح هذا القسم بنية شريحة eSIM للأجهزة التي تتضمّن ميزة "ملف تعريف متعدد" (MEP) في إصدارات Android المختلفة، وبنية شريحة eSIM للأجهزة التي لا تتضمّن ميزة MEP.

Android 14

بالنسبة إلى الأجهزة التي تعمل بالإصدار 14 من نظام التشغيل Android أو الإصدارات الأحدث، يتيح نظام التشغيل Android الخيارَين MEP-A1 وMEP-B لاختيار جذر نطاق أمان جهة الإصدار (ISD-R) واختيار منافذ شريحة eSIM على النحو المحدّد في GSMA SGP V22 3.0. في ما يلي وصف لنماذج اختيار MEP-A1 وMEP-B ISD-R:

  • MEP-A1: يتم اختيار ISD-R على المنفذ 0 (منفذ الأوامر هو 0) ويتم اختيار الملفات الشخصية على منافذ eSIM 1 والأعلى. يتم دائمًا إرسال أوامر ES10 إلى المنفذ 0، ويكون منفذ الأمر ومنفذ الهدف مختلفَين دائمًا. يختار LPA المنفذ.

    نموذج اختيار MEP-A1 ISD-R

    الشكل 1: نموذج اختيار MEP-A1 ISD-R

  • MEP-B: يتم اختيار ISD-R على أي منفذ ويمكن تعيين ملف شخصي لأي منفذ. يتم إرسال أمرَي التفعيل والإيقاف إلى المنفذ الذي يجب تفعيل الملف الشخصي أو إيقافه فيه (حيث تكون إعادة التحميل في انتظار المراجعة). يكون منفذ الأوامر ومنفذ الهدف متطابقَين دائمًا.

    نموذج اختيار MEP-B ISD-R

    الشكل 2: نموذج اختيار MEP-B ISD-R

Android 13

في الإصدار 13 من نظام التشغيل Android أو الإصدارات الأحدث، على الأجهزة التي تتوافق مع MEP، يحتوي فتحة بطاقة eSIM على منافذ eUICC متعددة يمكن أن يحتوي كل منفذ على ملف شخصي مفعَّل. كما هو موضّح في الشكل 3، تتيح هذه البنية الأساسية تقنية الاستعداد المزدوج لشريحة SIM المزدوجة (DSDS) من خلال فتحة eUICC واحدة (فتحة فعلية واحدة)، وذلك عن طريق ربط كل منفذ eUICC بنطاق أساسي للمودم. تكون واجهات برمجة التطبيقات وطبقة تجريد الأجهزة (HAL) في Android 13 مستقلة عن صيغة MEP.

بنية شريحة eSIM مع إمكانية استخدام ملفات شخصية متعددة (MEP)

الشكل 3: بنية شريحة eSIM مع إمكانية استخدام ملفات شخصية متعددة (الإصدار 13 من نظام التشغيل Android أو الإصدارات الأحدث)

الإصدار 12 من نظام التشغيل Android والإصدارات الأقدم

بالنسبة إلى الأجهزة التي تعمل بالإصدار 12 من نظام التشغيل Android أو إصدار أقدم بدون ميزة "ملف شخصي متعدّد" (MEP)، كما هو موضّح في الشكل 4، لا يتيح فتحة شريحة eSIM سوى استخدام ملف شخصي واحد مفعّل في كل مرة. وهذا يعني أنّ الجهاز لا يتوافق مع ميزة DSDS.

بنية شريحة eSIM بدون دعم MEP

الشكل 4: بنية شريحة eSIM بدون دعم MEP (الإصدار 12 من نظام التشغيل Android أو الإصدارات الأقدم)

تدفّق معلومات واجهة برمجة التطبيقات لملفات شخصية متعددة مفعّلة

يوضّح الشكل 5 مسار المعلومات الخاص بملف تعريف الجهاز (MEP) لبطاقة SIM المدمجة (eUICC) في نظام التشغيل Android 13. يتضمّن إطار عمل الاتصال الهاتفي الفئة UiccPort التي تمثّل البنية المادية على شريحة eUICC. يتم استخدام الفئة UiccPort لجميع أنواع شرائح SIM: شريحة SIM الفعلية (pSIM) وشريحة SIM المدمجة (iSIM) وشريحة SIM المضمّنة (eSIM). بالنسبة إلى شريحة eUICC تحتوي على منافذ متعددة، يتم ربط كائن UiccSlot واحد وكائن UiccCard بمثيلات UiccPort متعددة. يمكن ربط كل مثيل من UiccPort بمثيل واحد من UiccProfile كحد أقصى. يتيح هذا المسار ربط UiccPort بموضع إعلان منطقي وربط UiccSlot (موضع إعلان فعلي) بمواضع إعلان منطقية متعددة.

تدفّق معلومات "مقدّم خدمة الدفع"

الشكل 5. مخطط تدفّق المعلومات لبطاقة eUICC مع إمكانية استخدام ملفات شخصية متعددة

التنفيذ

يوضّح هذا القسم كيفية تنفيذ ميزة "الوصول المتعدّد إلى الوسائط"، بما في ذلك تفاصيل حول متطلبات طبقة تجريد الأجهزة (HAL) وواجهات برمجة التطبيقات وواجهة المستخدم. على الشركات المصنّعة للأجهزة التعاون مع مورّدي المنظومة على الرقاقة ومورّدي شرائح eSIM لدعم ميزة "ملف تعريف متعدد".

متطلبات طبقة تجريد الأجهزة (HAL)

لتوفير دعم MEP في eUICC، نفِّذ واجهات برمجة التطبيقات التالية لطبقة تجريد الأجهزة (HAL) الخاصة بـ IRadio AIDL، الموجودة في /platform/hardware/interfaces/radio/aidl/aidl_api.

يجب أن تستخدم الأجهزة التي تعمل بنظام التشغيل Android 14 أو إصدار أحدث الإصدار 2.1 من واجهات HAL الخاصة بـ IRadio، والتي تستخدم MultipleEnabledProfileMode (نموذج اختيار ISD-R المتوافق مع المودم أو eUICC) وتمرِّر معلومات أمر APDU ES10 أثناء عمليات القناة المنطقية لبطاقة ICC.

CardStatus

يجب أن يتوافق المودم مع واجهة برمجة التطبيقات CardStatus كاستجابة للطريقة getIccCardStatusResponse. يجب أن تتضمّن الاستجابة فهرس المنفذ وفهرس الفتحة المادية المحدّدين بواسطة SimPortSlotMapping.

بالنسبة إلى الأجهزة التي تعمل بالإصدار 14 من نظام التشغيل Android أو الإصدارات الأحدث، يجب أن يجتاز المودم وضع MEP المتوافق مع جميع أحداث CardStatus.

SimSlotStatus

يجب أن يتوافق المودم مع واجهة برمجة التطبيقات SimSlotStatus كاستجابة للطريقة getSimSlotsStatus. تتضمّن حالة فتحة بطاقة SIM مصفوفة لواجهة SimPortInfo، وتشمل هذه المصفوفة فهرس المنفذ ورمز ICCID للملف الشخصي المفعّل وحالة المنفذ. يجب أن يعرض المودم عنصرَي SimPortInfo على الأقل.

بالنسبة إلى الأجهزة التي تعمل بالإصدار 14 من نظام التشغيل Android أو الإصدارات الأحدث، يجب أن يجتاز المودم وضع MEP المتوافق مع جميع أحداث CardStatus.

setSimSlotMapping

يجب أن يمرّر الإجراء setSimSlotMapping مصفوفة من SimPortSlotMapping. فهرس المصفوفة هو الفتحة المنطقية، ويحدّد SimPortSlotMapping فهرس الفتحة الفعلية والمنفذ المرتبط. تضبط الطريقة setSimSlotMapping عملية الربط بين المنافذ والفتحات المنطقية. يستخدم تطبيق LPA هذه الطريقة لاختيار المنفذ النشط.

واجهات برمجة التطبيقات التي تتيح استخدام ميزة "ملف تعريف متعدد" في بطاقة SIM المدمجة

يجب أن تتوافق أجهزة Android التي تتيح استخدام ملفات شخصية متعدّدة مفعَّلة كجزء من حزمة الاتصالات في مشروع Android مفتوح المصدر (AOSP) مع واجهات برمجة التطبيقات التالية.

UiccCardInfo

  • (الإصدار 13 من نظام التشغيل Android والإصدارات الأحدث) isMultipleEnabledProfilesSupported: تعرض هذه السمة ما إذا كانت بطاقة UICC هذه متوافقة مع ميزة "ملف تعريف متعدد".
  • (الإصدار 13 من نظام التشغيل Android والإصدارات الأحدث) getPorts: تعرض هذه الطريقة قائمة بجميع المنافذ المتاحة لبطاقة UICC معيّنة. إذا كانت بطاقة UICC عبارة عن بطاقة SIM فعلية أو بطاقة eSIM لا تتيح ميزة MEP، سيتم عرض قائمة تتضمّن عنصرًا واحدًا.
  • (متوقّف نهائيًا) getIccId: تعرض هذه السمة معرّف ICCID. بما أنّه يمكن أن يكون لبطاقة UICC أكثر من ICCID واحد للأجهزة التي تستخدم MEP، استخدِم UiccPortInfo.getIccId() بدلاً من ذلك.

‫(Android 13 والإصدارات الأحدث) UiccPortInfo

  • getIccId: تعرض هذه السمة معرّف ICCID إذا كان هناك اشتراك مفعّل على هذا المنفذ.
  • getPortIndex: تعرض هذه السمة فهرس المنفذ.
  • getLogicalSlotIndex: تعرض هذه السمة فهرس حزمة المودم المنطقي النشط.

SubscriptionInfo

  • (الإصدار 13 من نظام التشغيل Android والإصدارات الأحدث) getPortIndex: تعرض هذه السمة فهرس المنفذ الذي تم تفعيل الاشتراك عليه. إذا كان الاشتراك غير مفعّل، يتم عرض INVALID_PORT_ID -1.

EuiccManager

  • switchToSubscription: للتبديل إلى اشتراك معيّن يتم استخدامها من قِبل التطبيقات التي لا تملك امتيازات مشغّل شبكة الجوّال في الاشتراكات النشطة. عند الاتصال، تحلّ المنصة داخليًا فهرس المنفذ من خلال مربّع حوار يتضمّن ثلاثة خيارات لإيقاف الاشتراك النشط المحدّد في حال عدم توفّر منافذ. يجب ألا تستخدم التطبيقات التي تستهدف الإصدار 13 من نظام التشغيل Android والإصدارات الأحدث واجهة برمجة التطبيقات هذه لإيقاف اشتراك من خلال تمرير معرّف اشتراك غير صالح، بل يجب بدلاً من ذلك استخدام طريقة switchToSubscription (التي تمت إضافتها في الإصدار 13 من نظام التشغيل Android) مع تحديد فهرس المنفذ.
  • (الإصدار 13 من نظام التشغيل Android والإصدارات الأحدث) switchToSubscription(int subscriptionId, int portIndex, PendingIntent callback): يتم التبديل إلى اشتراك معيّن. يمكن لتطبيقات الاتصال التي لديها امتيازات مشغّل شبكة الجوّال على الاشتراكات النشطة تحديد المنفذ الذي سيتم تفعيل الاشتراك عليه.
  • (الإصدار 13 من نظام التشغيل Android والإصدارات الأحدث) isSimPortAvailable: تعرض هذه السمة ما إذا كان فهرس المنفذ الذي تم تمريره متاحًا. يكون المنفذ متاحًا إذا لم يكن أي اشتراك مفعَّلاً عليه أو إذا كان تطبيق الاتصال لديه امتيازات مشغّل شبكة الجوّال على الاشتراك المثبَّت على المنفذ المحدّد.

EuiccService

  • (الإصدار 13 من نظام التشغيل Android والإصدارات الأحدث) onSwitchToSubscriptionWithPort: للتبديل إلى اشتراك معيّن على منفذ محدّد يجب أن يتيح تنفيذ LPA ذلك على الإصدار 13 من نظام التشغيل Android والإصدارات الأحدث.

TelephonyManager

  • (الإصدار 13 من نظام التشغيل Android والإصدارات الأحدث) getSimApplicationState: تعرض هذه السمة قيمة ثابتة تشير إلى حالة تطبيق البطاقة. تعرض واجهة برمجة التطبيقات هذه كلاً من فهرس الخانة الفعلية وفهرس المنفذ. لا يمرِّر الإجراء getSimApplicationState(int physicalSlotIndex) (تم إيقافه نهائيًا) سوى فهرس الخانة المادية للحصول على عنصر simApplicationState.
  • (الإصدار 13 من نظام التشغيل Android والإصدارات الأحدث) setSimSlotMapping(Collection<UiccSlotMapping> slots): يربط بين الفتحات المنطقية والفتحات والمنافذ المادية.
  • (الإصدار 13 من نظام التشغيل Android والإصدارات الأحدث) Collection<UiccSlotMapping> getSimSlotMapping: للحصول على عملية الربط من فتحات الشرائح المنطقية إلى فتحات شرائح SIM الفعلية وفهارس المنافذ.

واجهة المستخدم

لحلّ مشكلة غموض اختيار منفذ شريحة eSIM، يجب أن يتمكّن المستخدمون على الأجهزة المتوافقة مع ميزة &quot;ملف تعريف متعدد&quot; (MEP) من إيقاف أحد الاشتراكات النشطة لتفعيل اشتراك جديد. في نظام التشغيل Android 13، يتضمّن مشروع Android مفتوح المصدر (AOSP) مسار مستخدم يتضمّن مربع حوار بثلاثة خيارات يمكن تطبيقه على مسارات المستخدمين التي تتيح الاشتراك من تطبيق "الإعدادات". يوضّح الشكل 6 مثالاً على مسار تجربة المستخدم هذا.

مسار المستخدم للاشتراك في بطاقة SIM الخاصة بـ MEP

الشكل 6. مسار المستخدم لتفعيل اشتراك شريحة SIM

عناصر التحكّم في الميزات

لكي تتوافق الأجهزة مع MEP، يجب أن تعلن عن علامات الميزات التالية:

تنفيذ LPA

لإتاحة ميزة "الموافقة المتعدّدة الأطراف"، تأكَّد من أنّ عملية تنفيذ منصّة إدارة الموافقة تستوفي المتطلبات التالية:

  • تنفيذ واجهات برمجة التطبيقات من EuiccService لتوفير إمكانية استخدام منافذ متعددة
  • يستخدم واجهات برمجة التطبيقات لاختيار المنفذ وتفعيل الملف الشخصي.
  • توفير تجربة مستخدم تتيح لتطبيقات مشغّلي شبكات الجوّال تفعيل الملفات الشخصية على منافذ محدّدة

التحقق من صحة البيانات

لاختبار تنفيذ ميزة &quot;موفّر الطاقة&quot;، تأكَّد من اجتياز الإصدارات لحالات اختبار CTS التالية (بالنسبة إلى واجهات برمجة التطبيقات العامة): /platform/cts/tests/tests/telephony/current/src/android/telephony/euicc/cts.

على الشركات المصنّعة للأجهزة أيضًا التعاون مع مورّدي المودم وشريحة eUICC ونظام تشغيل eSIM للتأكّد من أنّ الجهاز يمكنه إجراء ما يلي:

  • يمكن تفعيل ملفَّي تعريف لشريحة eSIM وربطهما بشبكتَين مختلفتَين.
  • يمكن تفعيل ملفات تعريف eSIM وإيقافها على أي منفذ eSIM.
  • يتوفّر مسار تجربة مستخدم يتم تفعيله من خلال تطبيق مشغّل شبكة الجوّال، ما يتيح للمستخدمين التبديل بين الملفات الشخصية.

اقتراح لمشغّلي شبكات الجوّال

للمساعدة في التأكّد من عدم فقدان المستخدمين للخدمة عند نقل ملفات eSIM الشخصية من منفذ إلى آخر، ننصح شركات الاتصالات بتوفير الدعم لما يلي:

  • ربط سلس بين رقم IMEI وشريحة SIM
  • بطاقات ICCID أو شرائح SIM متعددة لكل معرّف eUICC (EID)