Na urządzeniach z Androidem 13 lub nowszym obsługuje wiele włączonych profili (MEP) dla eUICC. Ta funkcja zezwala na urządzenia aby obsługiwać 2 karty SIM z wykorzystaniem 1 układu eSIM, który może mieć kilka kart SIM i możesz łączyć się z dwoma różnymi operatorami jednocześnie. Urządzenie producenci muszą współpracować z dostawcami układów SOC i chipsetem eSIM. dostawcy usług w zakresie integracji tej funkcji ze swoimi urządzeniami.
Tło
Na urządzeniach z Androidem 12 lub starszym AOSP udostępnia ograniczona możliwość obsługi wielu profili z 1 karty eSIM w jednocześnie. Mimo znacznej oszczędności miejsca i kosztów związanych z kartami eSIM brak obsługi 2 kart SIM uniemożliwia producentom urządzeń korzystanie tylko z kart eSIM. urządzenia. Aby można było obsługiwać 2 karty SIM w urządzeniu z dostępem tylko do kart eSIM, urządzenie producenci muszą umieścić w urządzeniu 2 elementy eSIM, co zwiększa zestawienie kosztów materiałów (BOM) i negatywnie wpływa na wrażenia użytkowników związane z subskrypcją. i zarządzania nimi. Funkcja MEP dostępna w AOSP od Android 13 rozwiązuje ten problem.
Architektura eUICC
W tej sekcji opisano architekturę układu eSIM w przypadku urządzeń z technologią MEP dla różne wersje Androida i architekturę układu eSIM w przypadku urządzeń bez MEP.
Android 14
Na urządzeniach z Androidem 14 lub nowszym obsługuje MEP-A1 i MEP-B wyboru katalogu głównego domeny zabezpieczeń wydawcy (ISD-R) oraz wybór portów eSIM zgodnie z opisem w GSMA SGP w wersji 22 3.0. Poniżej opisano modele wyboru MEP-A1 i MEP-B ISD-R.
MEP-A1: wybrano ISD-R na porcie 0 (port polecenia to 0) oraz profile są wybierane na portach eSIM 1 i wyższych. Polecenia ES10 są zawsze wysłane na port 0, a porty poleceń i port docelowy są zawsze różne. LPA wybiera port.
Rysunek 1. Model wyboru MEP-A1 ISD-R
MEP-B: typ ISD-R jest wybierany na dowolnym porcie, a do każdego portu można przypisać profil. Polecenia włączania i wyłączania są wysyłane do portu, na którym profil musi być włączony lub wyłączony (w przypadku gdy oczekuje na odświeżenie). porty poleceń i port docelowy są zawsze takie same.
Rysunek 2. Model wyboru MEP-B ISD-R
Android 13
Na urządzeniach z Androidem 13 lub nowszym na urządzeniach obsługujących MEP gniazdo eSIM ma wiele portów eUICC, w których można włączyć port profil. Jak to widać na rys. 3, przy tej architekturze pojedynczy eUICC (pojedynczy gniazdo fizyczne obsługuje tryb DSDS (dual SIM dual gotowości), ponieważ każdy port eUICC do modemu. HAL i interfejsy API Androida 13 Niezależny wariant MEP.
Rysunek 3. Architektura układu eSIM z obsługą MEP (Android 13 lub nowszy)
Android 12 i starsze
W przypadku urządzeń z Androidem 12 lub starszym bez MEP, tak jak na rys. 4, parametr Slot karty eSIM obsługuje w danym momencie tylko 1 włączony profil, a urządzenie nie obsługuje DSDS.
Rysunek 4. Architektura układu eSIM bez obsługi MEP (Android 12 lub niższy)
Przepływ informacji o interfejsie API w przypadku wielu włączonych profili
Rysunek 5 przedstawia przepływ informacji dla MEP w przypadku eUICC
Android 13. Struktura usług telefonicznych obejmuje
Klasa UiccPort
, która reprezentuje fizyczną strukturę w eUICC.
Klasa UiccPort
jest używana w przypadku wszystkich typów kart SIM: fizycznych kart SIM (pSIM),
zintegrowana karta SIM (iSIM) i wbudowana karta SIM (eSIM). W przypadku eUICC z wieloma
portów, pojedynczy obiekt UiccSlot
i mapowanie obiektów UiccCard
wiele instancji UiccPort
. Każda instancja UiccPort
może połączyć się maksymalnie z 1
UiccProfile
instancję. Ten proces pozwala usłudze UiccPort
mapować na przedział logiczny i
UiccSlot
(fizyczny)
gniazdo), aby zmapować je na wiele przedziałów logicznych.
Rysunek 5. Przepływ informacji na potrzeby eUICC z obsługą MEP
Implementacja
Ta sekcja zawiera informacje na temat wdrażania funkcji MEP (w tym szczegółowe informacje) o wymaganiach HAL, interfejsach API i interfejsie użytkownika. Producenci urządzeń powinni współpracować z dostawcami układów SoC i chipsetów eSIM w celu obsługi MEP.
Wymagania dotyczące HAL
Aby obsługiwać MEP w przypadku eUICC, zaimplementuj poniższe interfejsy API IRadio AIDL HAL dostępne
cale
/platform/hardware/interfaces/radio/aidl/aidl_api
Urządzenia z Androidem 14 lub nowszym muszą używać kodu HAL IRadio 2.1
z interfejsami, które używają
MultipleEnabledProfileMode
(model wyboru ISD-R obsługiwany przez modem lub eUICC) i spełniający wymagania ES10 APDU
podczas operacji na kanale logicznym ICC.
Stan karty
Modem musi obsługiwać
CardStatus
API jako odpowiedź na
getIccCardStatusResponse
. Odpowiedź musi zawierać indeks portu i indeks fizycznego przedziału
określona przez
SimPortSlotMapping
Na urządzeniach z Androidem 14 lub nowszym musi przejść pozytywnie Tryb MEP ze wszystkimi zdarzeniami CardStatus.
Stan gniazda SIM
Modem musi obsługiwać
SimSlotStatus
API jako odpowiedź na
getSimSlotsStatus
. Stan gniazda SIM zawiera tablicę
SimPortInfo
zawierający indeks portów, identyfikator ICCID włączonego profilu
stan portu. Modem musi zwrócić co najmniej dwa obiekty SimPortInfo
.
Na urządzeniach z Androidem 14 lub nowszym musi przejść pozytywnie Tryb MEP ze wszystkimi zdarzeniami CardStatus.
setSimSlotMapping,
setSimSlotMapping
metoda musi przekazać tablicę
SimPortSlotMapping
Indeks tablicy to przedział logiczny, a
SimPortSlotMapping
określa odpowiedni zmapowany port i boks fizyczny
indeksu. Metoda setSimSlotMapping
ustawia mapowanie z portów na wartości logiczne
przedziały czasu. Aplikacja LPA używa
tę metodę, aby wybrać aktywny port.
Interfejsy API obsługujące MEP dla eUICC
Urządzenia z Androidem, które obsługują wiele włączonych profili w ramach AOSP stos usług telefonicznych jest wymagany do obsługi wymienionych poniżej interfejsów API.
UiccCardInfo
- (Android 13 lub nowszy)
isMultipleEnabledProfilesSupported
: wskazuje, czy dany UICC obsługuje MEP. - (Android 13 lub nowszy)
getPorts
: Zwroty lista wszystkich możliwych portów dla danego UICC. Jeśli UICC to pSIM lub eSIM, która nie obsługuje MEP, zwraca listę 1 elementu. - (Wycofano)
getIccId
: Zwraca identyfikator ICCID. Ponieważ UICC może mieć więcej niż 1 identyfikator ICCID dla urządzeń z MEP, użyjUiccPortInfo.getIccId()
.
(Android 13 i nowsze) UiccPortInfo
getIccId
: Zwraca ICCID, jeśli na tym porcie istnieje włączona subskrypcja.getPortIndex
: Zwraca indeks portu.getLogicalSlotIndex
: Zwraca indeks stosu aktywnego modemu logicznego.
Informacje o subskrypcji
- (Android 13 lub nowszy)
getPortIndex
: Zwraca indeks portów, dla których włączono subskrypcję. Jeśli subskrypcja jest wyłączona, zwracaINVALID_PORT_ID -1
.
EuiccManager
switchToSubscription
: Przełącza na określoną subskrypcję. Używane przez aplikacje bez operatora uprawnienia dotyczące aktywnych subskrypcji. Po wywołaniu platforma wewnętrznie określa indeks portów za pomocą opcji jednokrotnego wyboru okno aby wyłączyć wybraną aktywną subskrypcję, jeśli nie ma dostępnych portów. Aplikacje kierowane na Androida 13 lub nowszego nie mogą używać tego interfejsu API do wyłączenia subskrypcji przez przekazanie nieprawidłowy identyfikator subskrypcji; muszą użyć funkcjiswitchToSubscription
(dodana w Androidzie 13) za pomocą indeksu portów określone dane.- (Android 13 lub nowszy)
switchToSubscription(int subscriptionId, int portIndex, PendingIntent callback)
: Przełącza na określoną subskrypcję. Wykonywanie połączeń w aplikacjach z uprawnieniami operatora ponad aktywne subskrypcje mogą określać, na którym porcie włączyć subskrypcję włącz. - (Android 13 lub nowszy)
isSimPortAvailable
: Wskazuje, czy dostępny jest indeks portu z pomyślnym wynikiem. Dostępny jest port jeśli nie ma włączonej subskrypcji lub aplikacja do rozmów ma uprawnienia operatora w stosunku do subskrypcji zainstalowanej na wybranym porcie.
Usługa EuiccService
- (Android 13 lub nowszy)
onSwitchToSubscriptionWithPort
: Przełącza na określoną subskrypcję na określonym porcie. Implementacja reklam lokalnych musi obsługiwać tę funkcję na Androidzie 13 i nowszych.
Menedżer telefonii
- (Android 13 lub nowszy)
getSimApplicationState
: Zwraca stałą wskazującą stan aplikacji karty. Ten interfejs API przekazuje zarówno fizyczny indeks przedziałów, jak i indeks portu.getSimApplicationState(int physicalSlotIndex)
. (wycofana) przekazuje tylko fizyczny indeks przedziałów, aby uzyskaćsimApplicationState
obiekt. - (Android 13 lub nowszy)
setSimSlotMapping(Collection<UiccSlotMapping> slots)
: Mapuje przedziały logiczne na fizyczne przedziały i porty. - (Android 13 lub nowszy)
Collection<UiccSlotMapping> getSimSlotMapping
: Pobiera mapowanie z przedziałów logicznych na fizyczne przedziały SIM i indeksy portów.
Interfejs użytkownika
Aby rozwiązać problem wyboru portu eSIM, na urządzeniach obsługujących MEP Użytkownicy muszą mieć możliwość wyłączenia jednej z aktywnych subskrypcji, aby włączyć nową subskrypcji. W Androidzie 13 AOSP uwzględnia wzorzec użytkownika z 3 wyborem okno które można zastosować do subskrypcji i umożliwić przepływ użytkowników z poziomu aplikacji Ustawienia. Ilustracja 6 przedstawia przykładowy przepływ UX.
Rysunek 6. Instrukcja użytkownika dotycząca włączania subskrypcji SIM
Flagi funkcji
Aby obsługiwać MEP, urządzenia muszą zadeklarować te flagi funkcji:
Implementacja reklam lokalnych
Aby zapewnić obsługę MEP, upewnij się, że Amerykański Urząd Ochrony Danych Osobowych spełnia te wymagania:
- Implementuje interfejsy API z EuiccService do obsługi wielu portów.
- Używa interfejsów API do wyboru portów i włączania profilu.
- Zapewnia UX, dzięki czemu aplikacje operatorów mogą włączać profile na wybranych portach.
Weryfikacja
Aby przetestować implementację funkcji MEP, upewnij się, że kompilacje
te przypadki testowe CTS (na potrzeby publicznych interfejsów API):
/platform/cts/tests/tests/telephony/current/src/android/telephony/euicc/cts
Producenci urządzeń powinni też współpracować z modemem, układem eUICC i systemem operacyjnym eSIM. od dostawców usług, aby upewnić się, że urządzenie może:
- Można włączyć 2 profile eSIM i połączyć je z 2 różnymi sieciami.
- Profile eSIM można aktywować i dezaktywować na dowolnym porcie eSIM.
- Aplikacja operatora uruchamia proces UX, który umożliwia użytkownikom zmianę profili.
Zalecenie dla operatorów
Aby mieć pewność, że użytkownicy nie utracą dostępu do usługi po przeniesieniu profili eSIM z jednego z nich do innego operatora, zalecamy, aby operatorzy zapewniali pomoc w tych obszarach:
- Płynne mapowanie numerów IMEI i karty SIM
- Wiele identyfikatorów ICCID lub kart SIM dla każdego identyfikatora eUICC (EID)