Obsługa sieci dla wielu operatorów

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 i getDataRegStateResult_1_5(RegStateResult result)
  • getVoiceRegState_1_5 i getVoiceRegStateResult_1_5(RegStateresult result)

typy.hal

Zaimplementuj następujące polecenie w types.hal :

  • ClosedSubscriberGroupInfo : opcjonalnie dołączane do każdej instancji CellIdentity . 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).