פרופילים מופעלים מרובים

עבור מכשירים עם אנדרואיד 13 ומעלה, אנדרואיד תומך במספר פרופילים מאושרים (MEP) עבור eUICC. תכונה זו מאפשרת למכשירים לקבל תמיכה ב-SIM כפול באמצעות שבב eSIM יחיד, שיכול להיות בעל מספר פרופילי SIM ויכול להתחבר לשני ספקים שונים בו-זמנית. יצרני מכשירים חייבים לעבוד עם ספקי SoC וספקי ערכות שבבים eSIM כדי לשלב תכונה זו במכשירים שלהם.

רקע כללי

במכשירים המריצים אנדרואיד 12 ומטה, AOSP מספקת תמיכה מוגבלת בכך שהיא מאפשרת ל-eSIM יחיד לתמוך במספר פרופילים בו-זמנית. למרות החיסכון המשמעותי בשטח ובעלויות שמציע eSIM, חוסר זה בתמיכה ב-SIM כפול מונע מיצרני מכשירים לאמץ מכשירי eSIM בלבד. כדי לספק תמיכה ב-SIM כפול במכשיר eSIM בלבד, יצרני המכשירים צריכים לארוז שני רכיבי eSIM במכשיר, מה שמגדיל את עלויות כתב החומרים (BOM) ומוביל לחוויות משתמש גרועות לניהול מנויים. תכונת MEP הזמינה ב-AOSP מאנדרואיד 13 מטפלת בבעיה זו.

ארכיטקטורת eUICC

סעיף זה מתאר את ארכיטקטורת שבב eSIM עבור מכשירים עם MEP עבור גרסאות אנדרואיד שונות וארכיטקטורת שבב eSIM עבור מכשירים ללא MEP.

אנדרואיד 14

עבור מכשירים עם אנדרואיד 14 ומעלה, אנדרואיד תומכת באפשרויות 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

אנדרואיד 13

באנדרואיד 13 ומעלה, במכשירים התומכים ב-MEP, חריץ ה-eSIM מכיל יציאות eUICC מרובות שבהן יכול להיות פרופיל מופעל. כפי שמוצג באיור 3, עם ארכיטקטורה זו, eUICC יחיד (חריץ פיזי יחיד) תומך כפול SIM כפול המתנה (DSDS) על ידי כך שכל יציאת eUICC מקשר לפס בסיס מודם. אנדרואיד 13 HAL וממשקי API אינם תלויים בגרסה של MEP.

ארכיטקטורת שבב eSIM עם תמיכת MEP

איור 3. ארכיטקטורת שבב eSIM עם תמיכת MEP (אנדרואיד 13 ומעלה)

אנדרואיד 12 ומטה

עבור מכשירים עם אנדרואיד 12 ומטה ללא MEP כפי שמוצג באיור 4, חריץ ה-eSIM תומך רק בפרופיל מאופשר בודד בו-זמנית והמכשיר אינו יכול לתמוך ב-DSDS.

ארכיטקטורת שבב eSIM ללא תמיכת MEP

איור 4. ארכיטקטורת שבב eSIM ללא תמיכת MEP (אנדרואיד 12 ומטה)

זרימת מידע API עבור מספר פרופילים מופעלים

איור 5 מתאר את זרימת המידע עבור MEP עבור eUICC באנדרואיד 13. מסגרת הטלפוניה כוללת את המחלקה UiccPort , המייצגת את המבנה הפיזי ב-eUICC. מחלקת UiccPort משמשת עבור כל סוגי כרטיסי ה-SIM: SIM פיזי (pSIM), SIM משולב (iSIM) ו-SIM משובץ (eSIM). עבור eUICC עם מספר יציאות, אובייקט UiccSlot יחיד ואובייקט UiccCard ממפים למספר מופעי UiccPort . כל מופע UiccPort יכול לקשר לכל היותר מופע אחד UiccProfile . זרימה זו מאפשרת UiccPort למפות למשבצת לוגית ול- UiccSlot (משבצת פיזית) למפות למספר משבצות לוגיות.

זרימת מידע של חבר הפרלמנט האירופי

איור 5. זרימת מידע עבור eUICC עם תמיכת MEP

יישום

סעיף זה מתאר כיצד ליישם את תכונת MEP כולל פרטים על דרישות HAL, ממשקי API וממשק משתמש. יצרני מכשירים צריכים לעבוד עם ספקי SoC וספקי ערכות שבבים eSIM כדי לתמוך ב-MEP.

דרישות HAL

כדי לתמוך ב-MEP עבור eUICC, הטמע את ממשקי ה-API הבאים של IRadio AIDL HAL, הממוקמים ב- /platform/hardware/interfaces/radio/aidl/aidl_api .

מכשירים המריצים אנדרואיד 14 ומעלה חייבים להשתמש בגרסת IRadio 2.1 של ממשקי HAL, המשתמשים ב- MultipleEnabledProfileMode (מודל בחירת ISD-R נתמך על ידי המודם או eUICC) ומעבירים מידע פקודות ES10 APDU במהלך פעולות ערוץ לוגי של ICC.

CardStatus

המודם חייב לתמוך ב- CardStatus API כתגובה לשיטת getIccCardStatusResponse . התגובה חייבת לכלול את אינדקס היציאה ואת אינדקס המשבצות הפיזי שצוינו על ידי SimPortSlotMapping .

עבור מכשירים עם אנדרואיד 14 ומעלה, המודם חייב לעבור את מצב MEP הנתמך עם כל אירועי CardStatus.

SimSlotStatus

המודם חייב לתמוך ב- SimSlotStatus API כתגובה לשיטת getSimSlotsStatus . מצב חריץ ה-SIM כולל מערך של ממשק SimPortInfo , הכולל את אינדקס היציאה, ה-ICCID עבור הפרופיל המופעל ומצב היציאה. המודם חייב להחזיר לפחות שני אובייקטים SimPortInfo .

עבור מכשירים עם אנדרואיד 14 ומעלה, המודם חייב לעבור את מצב MEP הנתמך עם כל אירועי CardStatus.

setSimSlotMapping

שיטת setSimSlotMapping חייבת לעבור מערך של SimPortSlotMapping . האינדקס של המערך הוא החריץ הלוגי ו- SimPortSlotMapping מציין את היציאה ממופה ואת אינדקס החריץ הפיזי המתאימים. שיטת setSimSlotMapping מגדירה את המיפוי מיציאות למשבצות לוגיות. אפליקציית LPA משתמשת בשיטה זו כדי לבחור את היציאה הפעילה.

ממשקי API התומכים ב-MEP עבור eUICC

מכשירי אנדרואיד התומכים במספר פרופילים מאושרים כחלק מחסנית הטלפוניה של AOSP נדרשים לתמוך בממשקי ה-API הבאים.

UiccCardInfo

  • (אנדרואיד 13 ומעלה) isMultipleEnabledProfilesSupported : מחזירה אם UICC זה תומך ב-MEP.
  • (אנדרואיד 13 ומעלה) getPorts : מחזירה את רשימת כל היציאות האפשריות עבור UICC מסוים. אם ה-UICC הוא pSIM או eSIM שאינו תומך ב-MEP, מחזיר רשימה של רכיב אחד.
  • (הוצא משימוש) getIccId : מחזירה ICCID. מכיוון של-UICC יכול להיות יותר מ-ICCID אחד עבור מכשירים עם MEP, השתמש במקום זאת UiccPortInfo.getIccId() ‎.

(אנדרואיד 13 ומעלה) UiccPortInfo

  • getIccId : מחזיר את ה-ICCID אם יש מנוי מופעל ביציאה זו.
  • getPortIndex : מחזירה את אינדקס היציאה.
  • getLogicalSlotIndex : מחזירה את אינדקס מחסנית המודם הלוגי הפעיל.

מידע על מנוי

  • (אנדרואיד 13 ומעלה) getPortIndex : מחזירה את אינדקס הפורטים שבו המנוי מופעל. אם המנוי מושבת, מחזיר INVALID_PORT_ID -1 .

EuiccManager

  • switchToSubscription : עובר למנוי נתון. בשימוש על ידי אפליקציות שאין להן הרשאות ספק במינויים פעילים. כאשר מתקשרים, הפלטפורמה פותרת באופן פנימי את אינדקס היציאה באמצעות דו-שיח לבחירת שלוש אפשרויות כדי להשבית את המנוי הפעיל שנבחר אם אין יציאות זמינות. אפליקציות הממוקדות ל-Android 13 ומעלה אינן רשאיות להשתמש ב-API זה כדי להשבית מנוי על ידי העברת מזהה מנוי לא חוקי ; במקום זאת עליהם להשתמש בשיטת switchToSubscription (נוספה באנדרואיד 13) עם אינדקס היציאה שצוין.
  • (אנדרואיד 13 ומעלה) switchToSubscription(int subscriptionId, int portIndex, PendingIntent callback) : עובר למנוי נתון. התקשרות לאפליקציות עם הרשאות ספק על המינויים הפעילים יכולה לציין באיזו יציאה לאפשר את המנוי.
  • (אנדרואיד 13 ומעלה) isSimPortAvailable : מחזירה אם אינדקס היציאה החולפת זמין. יציאה זמינה אם לא הופעל מנוי או שלאפליקציה המתקשרת יש הרשאות ספק על המנוי המותקן ביציאה שנבחרה.

EuiccService

  • (אנדרואיד 13 ומעלה) onSwitchToSubscriptionWithPort : עובר למנוי נתון ביציאה שצוינה. יישום LPA חייב לתמוך בכך באנדרואיד 13 ומעלה.

מנהל טלפוניה

ממשק משתמש

כדי לפתור את העמימות של בחירת יציאת eSIM, במכשירים התומכים ב-MEP, המשתמשים חייבים להיות מסוגלים להשבית את אחד המנויים הפעילים כדי לאפשר מנוי חדש. באנדרואיד 13, AOSP כולל זרימת משתמש עם תיבת דו -שיח של שלוש אפשרויות שניתן להחיל על מנוי המאפשר זרימת משתמשים מאפליקציית ההגדרות. איור 6 מציג דוגמה לזרימת UX זו.

זרימת משתמשים עבור מנוי MEP SIM

איור 6. זרימת משתמש להפעלת מנוי SIM

תכונה דגלים

כדי לתמוך ב-MEP, המכשירים חייבים להצהיר על דגלי התכונות הבאים:

יישום LPA

כדי לתמוך ב-PEP, ודא שהטמעת ה-LPA שלך עומדת בדרישות הבאות:

  • מיישם את ממשקי ה-API של EuiccService כדי לתמוך במספר יציאות.
  • משתמש בממשקי ה- API לבחירת יציאה והפעלת פרופיל.
  • מספק UX המאפשר לאפליקציות ספקים לאפשר פרופילים ביציאות נבחרות.

מַתַן תוֹקֵף

כדי לבדוק את היישום שלך של תכונת MEP, ודא שה-builds עוברים את מקרי הבדיקה הבאים של CTS (עבור ממשקי API ציבוריים): /platform/cts/tests/tests/telephony/current/src/android/telephony/euicc/cts .

יצרני מכשירים צריכים לעבוד גם עם ספקי המודם, שבב ה-eUICC ומערכת ההפעלה eSIM שלהם כדי להבטיח שהמכשיר יכול לבצע את הפעולות הבאות:

  • ניתן להפעיל שני פרופילי eSIM ולצרף אותם לשתי רשתות שונות.
  • ניתן להפעיל ולבטל פרופילי eSIM בכל יציאת eSIM.
  • יש זרימת UX המופעלת על ידי אפליקציית הספק המאפשרת למשתמשים להחליף פרופילים.

המלצה למובילים

כדי להבטיח שמשתמשים לא יאבדו את השירות כשהם מעבירים פרופילי eSIM מנמל אחד לאחר, אנו ממליצים לספקים לספק תמיכה בפעולות הבאות:

  • מיפוי נוזלי של IMEI ו-SIM
  • מספר ICCIDs או SIMs עבור כל מזהה eUICC (EID)