Urządzenia z systemem Android 11 lub nowszym mogą obsługiwać wiele publicznych lądowych sieci komórkowych (PLMN). Android 11 zawiera metody w interfejsach API identyfikacji komórek , które umożliwiają uzyskanie informacji o obsługiwanych sieciach PLMN komórki w celu rozróżnienia dostawców usług komórkowych od operatorów sieci.
Obsługa wielu PLMN zapewnia elastyczność operatorom sieci komórkowych (MNO), umożliwiając im rozgłaszanie wielu tożsamości. Jest to przede wszystkim wymagane do obsługi umów współdzielenia, w których wielu operatorów sieci komórkowych korzysta ze wspólnego sprzętu lub wież. W scenariuszu obejmującym wiele PLMN, gdy urządzenie zdecyduje się zarejestrować przy użyciu konkretnej wieży, wybiera PLMN, który będzie używany do tej rejestracji, co blokuje profil urządzenia w tym PLMN dla całej późniejszej komunikacji. Metoda getRegisteredPlmn
pobiera zarejestrowany PLMN dla urządzenia.
Realizacja
Aby obsługiwać multi-PLMN na urządzeniach z systemem Android 11 lub nowszym, zaimplementuj funkcje w następujących lokalizacjach w IRadio
.
IRadio.hal i IRadioResponse.hal
W Radiu 1.5 HAL, w celu obsługi multi-PLMN, informacje o sieci, w której urządzenie się rejestruje, są raportowane inaczej niż w poprzednich wersjach. Po pierwsze, zarejestrowany PLMN (RPLMN) jest raportowany osobno, ponieważ w komórkach z wieloma PLMN, RPLMN może nie być podstawowym identyfikatorem PLMN. Natomiast w strukturach CellIdentity
komórka udostępnia podstawowy identyfikator PLMN-ID oraz listę dodatkowych identyfikatorów PLMN-ID. RPLMN musi być podstawowym PLMN-ID lub jednym z dodatkowych PLMN-ID wskazanych w strukturze CellIdentity
.
Zmiany w Radio 1.5 HAL wpływają na następujące dwie metody HAL w IRadio.hal
(oraz odpowiadające im metody odpowiedzi w IRadioResponse.hal
).
-
getDataRegState_1_5
igetDataRegStateResult_1_5(RegStateResult result)
-
getVoiceRegState_1_5
igetVoiceRegStateResult_1_5(RegStateresult result)
typy.hal
Zaimplementuj następujące polecenie w types.hal
:
-
ClosedSubscriberGroupInfo
: opcjonalnie dołączane do każdej instancjiCellIdentity
. Struktura ta służy do podawania szczegółów dotyczących zamkniętej grupy abonentów, do której należy dana komórka, jeśli taka istnieje. Jest to powszechnie używane do identyfikacji małych komórek, takich jak osobiste urządzenia LTE. Można go również stosować we wdrożeniach takich jak CBRS LTE. -
CellIdentityLte
: Obsługuje listę dodatkowych identyfikatorów PLMN. -
CellIdentityWcdma
: obsługuje listę dodatkowych identyfikatorów PLMN. -
CellIdentityTdscdma
: obsługuje listę dodatkowych identyfikatorów PLMN. -
RegStateResult
: zawiera zaktualizowaną strukturęCellIdentity
i pole wskazujące numer RPLMN.
Walidacja
Aby przetestować implementację, uruchom następujący test CTS: CellInfoTest
po zarejestrowaniu się w sieci dostępu radiowego wielu operatorów (MORAN) lub sieci szkieletowej wielu operatorów (MOCN).