Unterstützung für Netzwerke mehrerer Betreiber

Geräte, die bei Markteinführung Android 11 oder höher nutzen, können mehrere öffentliche mobile Funknetze (Public Land Mobile Networks, PLMNs) unterstützen. Android 11 enthält Methoden in den Zellidentifikations-APIs, mit denen Informationen zu den unterstützten PLMNs einer Zelle abgerufen werden können, um zwischen Mobilfunkanbietern und Netzbetreibern zu unterscheiden.

Die Unterstützung mehrerer PLMNs bietet Mobilfunkanbietern Flexibilität, da sie mehrere Identitäten übertragen können. Dies ist hauptsächlich erforderlich, um Vereinbarungen zur gemeinsamen Nutzung zu unterstützen, bei denen mehrere Mobilfunkanbieter gemeinsame Hardware oder Funkmasten verwenden. Wenn sich ein Gerät in einem Multi-PLMN-Szenario über einen bestimmten Mobilfunkmast registriert, wählt es das PLMN für diese Registrierung aus. Das Profil des Geräts wird dann für die gesamte nachfolgende Kommunikation an dieses PLMN gebunden. Die Methode getRegisteredPlmn ruft den registrierten PLMN für das Gerät ab.

Implementierung

Um die Unterstützung von mehreren PLMNs auf Geräten mit Android 11 oder höher zu ermöglichen, implementieren Sie die Funktionen an den folgenden Stellen in IRadio.

IRadio.hal und IRadioResponse.hal

Im Radio 1.5 HAL werden Informationen zum Netzwerk, in dem sich das Gerät registriert, anders als in früheren Versionen gemeldet, um die Unterstützung mehrerer PLMNs zu ermöglichen. Zuerst wird das registrierte PLMN (RPLMN) separat gemeldet, da das RPLMN bei Zellen mit mehreren PLMN möglicherweise nicht die primäre PLMN-ID ist. In den CellIdentity-Strukturen enthält die Zelle eine primäre PLMN-ID und eine Liste mit zusätzlichen PLMN-IDs. Die RPLMN muss die primäre PLMN-ID oder eine der zusätzlichen PLMN-IDs sein, die in der CellIdentity-Struktur angegeben sind.

Die Änderungen im Radio 1.5 HAL wirken sich auf die folgenden beiden HAL-Methoden in IRadio.hal und die entsprechenden Antwortmethoden in IRadioResponse.hal aus.

  • getDataRegState_1_5 und getDataRegStateResult_1_5(RegStateResult result)
  • getVoiceRegState_1_5 und getVoiceRegStateResult_1_5(RegStateresult result)

types.hal

Implementieren Sie Folgendes in types.hal:

  • ClosedSubscriberGroupInfo: Optional in jeder CellIdentity-Instanz enthalten. Diese Struktur wird verwendet, um Details zur geschlossenen Abonnentengruppe bereitzustellen, zu der eine Zelle gehört, sofern vorhanden. Dies wird häufig verwendet, um kleine Zellen wie persönliche LTE-Geräte zu identifizieren. Es kann auch in Bereitstellungen wie CBRS LTE verwendet werden.
  • CellIdentityLte: Unterstützt eine Liste zusätzlicher PLMN-IDs.
  • CellIdentityWcdma: Unterstützt eine Liste zusätzlicher PLMN-IDs.
  • CellIdentityTdscdma: Unterstützt eine Liste zusätzlicher PLMN-IDs.
  • RegStateResult: Enthält eine aktualisierte CellIdentity-Struktur und ein Feld zur Angabe des RPLMN.

Zertifizierungsstufe

Führen Sie den folgenden CTS-Test aus, um Ihre Implementierung zu testen: CellInfoTest während Sie in einem MORAN- (Multi-Operator Radio Access Network) oder MOCN-Netzwerk (Multi-Operator Core Network) registriert sind.