Mehrere aktivierte Profile

Für Geräte mit Android 13 oder höher muss Android unterstützt mehrere aktivierte Profile (MEPs) für eUICC. Mit dieser Funktion können Geräte um die Dual-SIM-Funktion mit einem einzelnen eSIM-Chip nutzen zu können, der mehrere SIM-Karten haben kann Profilen und kann mit zwei verschiedenen Mobilfunkanbietern gleichzeitig verbunden werden. Gerät Hersteller müssen mit SoC-Anbietern und eSIM-Chipsatz zusammenarbeiten. Anbietern diese Funktion auf ihren Geräten zur Verfügung stellen.

Hintergrund

Auf Geräten mit Android 12 und niedriger bietet AOSP nur begrenzt möglich, da eine einzige eSIM mehrere Profile auf dem . Trotz der erheblichen Platz- und Kosteneinsparungen durch die eSIM Mangelnde Dual-SIM-Unterstützung hindert Gerätehersteller daran, ausschließlich eSIM zu nutzen. Geräte. Um die Dual-SIM-Funktion auf einem reinen eSIM-Gerät zu nutzen, muss Hersteller müssen zwei eSIM-Elemente in das Gerät packen, Kosten für die Stückliste (Bill of Materials, Stückliste) und führt zu einer schlechten Nutzererfahrung bei Abos. zu verstehen. Die MEP-Funktion in AOSP ist ab sofort Android 13 behebt dieses Problem.

eUICC-Architektur

In diesem Abschnitt wird die eSIM-Chip-Architektur für Geräte mit MEP für verschiedene Android-Versionen und die Architektur des eSIM-Chips für Geräte ohne MEP.

Android 14

Für Geräte mit Android 14 oder höher muss Android unterstützt die MEP-A1- und MEP-B- für die Auswahl des Root-Sicherheitsdomainstamms (ISD-R) des Ausstellers Auswahl von eSIM-Ports, wie in den GSMA SGP V22 3.0. Im Folgenden werden die MEP-A1- und MEP-B ISD-R-Auswahlmodelle beschrieben.

  • MEP-A1:ISD-R wird an Port 0 ausgewählt (Befehlsport ist 0) und Profile auf eSIM-Ports 1 und höher ausgewählt. ES10-Befehle werden immer an Port 0 gesendet und der Befehls- und der Zielport sind immer unterschiedlich. Der LPA wählt den Port aus.

    MEP-A1 ISD-R-Auswahlmodell

    Abbildung 1: MEP-A1 ISD-R-Auswahlmodell

  • MEP-B:ISD-R ist an jedem Port ausgewählt und jeder Port kann einem zu erstellen. Die Befehle zum Aktivieren und Deaktivieren werden an den Port gesendet, an dem der muss aktiviert oder deaktiviert sein (wenn eine Aktualisierung aussteht). Die Befehls- und Zielport sind immer identisch.

    MEP-B ISD-R-Auswahlmodell

    Abbildung 2: MEP-B ISD-R-Auswahlmodell

Android 13

Unter Android 13 oder höher können Sie auf Geräten, die MEP unterstützen, Der eSIM-Slot enthält mehrere eUICC-Ports, an denen ein aktivierter Anschluss zu erstellen. Wie in Abbildung 3 dargestellt, ist bei dieser Architektur eine einzelne eUICC (eine einzelne physischer Steckplatz) unterstützt Dual SIM Dual Standby (DSDS) mit jedem eUICC-Port und eine Verbindung zu einem Modem-Baseband. Android 13 HAL und APIs sind Die MEP-Variante ist unabhängig.

eSIM-Chiparchitektur mit MEP-Unterstützung

Abbildung 3: Architektur des eSIM-Chips mit MEP-Unterstützung (Android 13 oder höher)

Android 12 und niedriger

Bei Geräten mit Android 12 oder niedriger ohne MEP, wie in Abbildung 4 gezeigt, Der eSIM-Slot unterstützt jeweils nur ein einziges aktiviertes Profil und das Gerät DSDS nicht unterstützt.

eSIM-Chiparchitektur ohne MEP-Unterstützung

Abbildung 4: Architektur des eSIM-Chips ohne MEP-Unterstützung (Android 12 oder niedriger)

API-Informationsfluss für mehrere aktivierte Profile

Abbildung 5 beschreibt den Informationsfluss für MEP für eUICC in Android 13 Das Telefonie-Framework umfasst die UiccPort-Klasse, die die physische Struktur in eUICC darstellt. Die Die Klasse UiccPort wird für alle Arten von SIM-Karten verwendet: physische SIM (pSIM), integrierte SIM (iSIM) und eingebettete SIM (eSIM) Für eine eUICC mit mehreren Ports, ein einzelnes UiccSlot-Objekt und ein UiccCard-Objekt, die mehrere UiccPort-Instanzen. Jede UiccPort-Instanz kann mit höchstens einer verknüpft werden UiccProfile-Instanz. Durch diesen Ablauf kann UiccPort einem logischen Slot zugeordnet und UiccSlot (physisch Slot) für die Zuordnung zu mehreren logischen Slots.

MEP-Informationsfluss

Abbildung 5: Informationsfluss für eUICC mit MEP-Support

Implementierung

In diesem Abschnitt wird beschrieben, wie die MEP-Funktion implementiert wird, einschließlich Details. zu HAL-Anforderungen, APIs und der Benutzeroberfläche. Gerätehersteller sollten arbeiten Sie mit SoC- und eSIM-Chipsatz-Anbietern zusammen, um MEP zu unterstützen.

HAL-Anforderungen

Zur Unterstützung von MEP für eUICC implementieren Sie die folgenden IRadio AIDL HAL APIs (siehe in /platform/hardware/interfaces/radio/aidl/aidl_api

Auf Geräten mit Android 14 oder höher muss die IRadio 2.1-Version der HAL verwendet werden Benutzeroberflächen, die MultipleEnabledProfileMode (ISD-R-Auswahlmodell, das vom Modem oder eUICC unterstützt wird) und ES10 APDU besteht während ICC-Operationen des logischen Kanals ausgeführt werden.

Kartenstatus

Das Modem muss den CardStatus API als Antwort auf den getIccCardStatusResponse . Die Antwort muss den Portindex und den Index des physischen Slots enthalten angegeben durch SimPortSlotMapping

Bei Geräten mit Android 14 oder höher hat das Modem muss die unterstützte MEP-Modus mit allen CardStatus-Ereignissen.

SIM-Slot-Status

Das Modem muss den SimSlotStatus API als Antwort auf den getSimSlotsStatus . Der Status des SIM-Steckplatzes umfasst ein Array mit SimPortInfo enthält den Portindex, die ICCID für das aktivierte Profil und Portstatus. Das Modem muss mindestens zwei SimPortInfo-Objekte zurückgeben.

Bei Geräten mit Android 14 oder höher hat das Modem muss die unterstützte MEP-Modus mit allen CardStatus-Ereignissen.

SetSimSlotMapping

Die setSimSlotMapping muss ein Array von SimPortSlotMapping Der Index des Arrays ist der logische Slot und SimPortSlotMapping gibt den entsprechenden zugeordneten Port und den entsprechenden physischen Slot an -Index. Die Methode setSimSlotMapping legt die Zuordnung von Ports zu logischen Ports fest Slots. Die LPA App nutzt um den aktiven Port auszuwählen.

APIs zur Unterstützung von MEP für eUICC

Android-Geräte, die im Rahmen des AOSP mehrere aktivierte Profile unterstützen Telefonie-Stack sind zur Unterstützung der folgenden APIs erforderlich.

UICCardInfo

  • (Android 13 und höher) isMultipleEnabledProfilesSupported : Gibt an, ob diese UICC MEP unterstützt.
  • (Android 13 und höher) getPorts: Rückgaben die Liste aller möglichen Ports für eine bestimmte UICC. Wenn die UICC eine pSIM ist oder eine eSIM, die MEP nicht unterstützt, eine Liste mit einem Element zurückgibt.
  • (Eingestellt) getIccId: Gibt eine ICCID zurück. Weil eine UICC mehr als eine ICCID für Geräte haben kann mit MEP, verwenden Sie stattdessen UiccPortInfo.getIccId().

UiccPortInfo (Android 13 und höher)

  • getIccId: Gibt die ICCID zurück, wenn ein aktiviertes Abo für diesen Anschluss vorhanden ist.
  • getPortIndex: Gibt den Portindex zurück.
  • getLogicalSlotIndex: Gibt den aktiven logischen Modem-Stack-Index zurück.

Aboinformationen

  • (Android 13 und höher) getPortIndex: Gibt den Portindex zurück, für den das Abo aktiviert ist. Wenn die Abo ist deaktiviert, gibt INVALID_PORT_ID -1 zurück.

EuiccManager

  • switchToSubscription: Wechselt zu einem bestimmten Abo. Wird von Apps ohne Mobilfunkanbieter verwendet Berechtigung für aktive Abos. Wenn die Plattform aufgerufen wird, löst den Portindex intern über eine Auswahl von drei Optionen auf. dialog um das ausgewählte aktive Abo zu deaktivieren, wenn keine verfügbaren Ports vorhanden sind. Apps, die auf Android 13 und höher ausgerichtet sind, dürfen keine diese API verwenden, um ein Abo zu deaktivieren, indem ein Ungültige Abo-ID Stattdessen müssen sie die Methode switchToSubscription (in Android 13 hinzugefügt) mit dem Portindex angegeben ist.
  • (Android 13 und höher) switchToSubscription(int subscriptionId, int portIndex, PendingIntent callback): Wechselt zu einem bestimmten Abo. Apps mit Mobilfunkanbieterberechtigung aufrufen Die aktiven Abos können angeben, über welchen Port das Abo aktiviert werden soll aktiviert.
  • (Android 13 und höher) isSimPortAvailable: Gibt an, ob der Portindex für die Übergabe verfügbar ist. Ein Port ist verfügbar Wenn kein Abo aktiviert ist oder die anrufende App die Berechtigung des Mobilfunkanbieters hat über das auf dem ausgewählten Port installierte Abo.

Euicc-Service

  • (Android 13 und höher) onSwitchToSubscriptionWithPort: Wechselt zu einem bestimmten Abo an einem bestimmten Port. LPA-Implementierung unter Android 13 und höher unterstützen.

Telefonmanager

Benutzeroberfläche

Um die Mehrdeutigkeit der eSIM-Portauswahl zu beseitigen, auf Geräten, die MEP unterstützen, Nutzer müssen eines der aktiven Abos deaktivieren können, um ein neues Abo. In Android 13 enthält AOSP einen User Flow mit drei Antwortmöglichkeiten dialog das auf Abos angewendet werden kann, die einen Nutzerfluss in der App „Einstellungen“ ermöglichen. Abbildung 6 zeigt ein Beispiel für diesen UX-Ablauf.

Ablauf für MEP-SIM-SIM-Abos

Abbildung 6: Ablauf zum Aktivieren des SIM-Abos

Funktions-Flags

Geräte müssen die folgenden Funktions-Flags deklarieren, um MEP zu unterstützen:

LPA-Implementierung

Stellen Sie zur Unterstützung von MEP sicher, LPA die folgenden Anforderungen erfüllt:

  • Implementiert die APIs von EuiccService um mehrere Ports zu unterstützen.
  • Die APIs werden für die Portauswahl und das Aktivieren von Profilen verwendet.
  • Bietet UX, mit der Mobilfunkanbieter-Apps Profile für ausgewählte Ports aktivieren können.

Zertifizierungsstufe

Um Ihre Implementierung der MEP-Funktion zu testen, stellen Sie sicher, dass die Builds die folgende CTS-Testfälle (für öffentliche APIs): /platform/cts/tests/tests/telephony/current/src/android/telephony/euicc/cts

Gerätehersteller sollten außerdem ihr Modem, ihren eUICC-Chip und ihr eSIM-Betriebssystem verwenden. um sicherzustellen, dass das Gerät Folgendes kann:

  • Es können zwei eSIM-Profile aktiviert und mit zwei verschiedenen Netzwerken verbunden werden.
  • eSIM-Profile können über jeden eSIM-Port aktiviert und deaktiviert werden.
  • Über die App des Mobilfunkanbieters wird ein UX-Flow ausgelöst, über den Nutzer zu einem anderen Gerät wechseln können. Profilen.

Empfehlung für Mobilfunkanbieter

Damit Nutzer den Dienst nicht verlieren, wenn sie ihre eSIM-Profile verschieben zu einer anderen zu übertragen, empfehlen wir den Mobilfunkanbietern, Folgendes zu unterstützen:

  • Flexible Zuordnung von IMEI und SIM
  • Mehrere ICCIDs oder SIMs für jede eUICC-Kennung (EID)