Unterstützung für Multi-Operator-Netzwerke

Geräte, die mit Android 11 oder höher starten, können mehrere öffentliche Landmobilfunknetze (PLMNs) unterstützen. Android 11 enthält Methoden in den Zellidentifizierungs-APIs , um Informationen über die unterstützten PLMNs einer Zelle abzurufen und so zwischen Mobilfunkanbietern und Netzbetreibern zu unterscheiden.

Die Multi-PLMN-Unterstützung bietet Mobilfunknetzbetreibern (MNOs) Flexibilität, indem sie ihnen die Übertragung mehrerer Identitäten ermöglicht. Dies ist in erster Linie erforderlich, um Sharing-Vereinbarungen zu unterstützen, bei denen mehrere Mobilfunknetzbetreiber gemeinsame Hardware oder Türme nutzen. Wenn sich in einem Multi-PLMN-Szenario ein Gerät für die Registrierung bei einem bestimmten Tower entscheidet, wählt es das für diese Registrierung zu verwendende PLMN aus, wodurch das Profil des Geräts für die gesamte nachfolgende Kommunikation an dieses PLMN gebunden wird. Die Methode getRegisteredPlmn ruft das registrierte PLMN für das Gerät ab.

Implementierung

Um Multi-PLMN auf Geräten mit Android 11 oder höher zu unterstützen, implementieren Sie die Funktionen an den folgenden Stellen in IRadio .

IRadio.hal und IRadioResponse.hal

Im Radio 1.5 HAL werden zur Unterstützung von Multi-PLMN Informationen über das Netzwerk, in dem sich das Gerät registriert, anders gemeldet als in früheren Versionen. Erstens wird der registrierte PLMN (RPLMN) separat gemeldet, da der RPLMN in Multi-PLMN-Zellen möglicherweise nicht die primäre PLMN-ID ist. Und in den CellIdentity Strukturen stellt die Zelle eine primäre PLMN-ID und eine Liste zusätzlicher PLMN-IDs bereit. 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 zwei HAL-Methoden in IRadio.hal (und ihre entsprechenden Antwortmethoden in IRadioResponse.hal ) aus.

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

Typen.hal

Implementieren Sie Folgendes types.hal :

  • ClosedSubscriberGroupInfo : Optional in jeder CellIdentity Instanz enthalten. Diese Struktur wird verwendet, um Details über die geschlossene Teilnehmergruppe bereitzustellen, zu der eine Zelle gehört, sofern vorhanden. Dies wird üblicherweise zur Identifizierung kleiner Zellen wie persönlicher LTE-Geräte verwendet. 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.

Validierung

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