Netzwerkunterstützung für mehrere Betreiber

Geräte, die mit Android 11 oder höher auf den Markt gebracht werden, können mehrere öffentliche Landmobilnetzwerke (PLMNs) unterstützen. Android 11 enthält Methoden in den Cell Identification APIs, um Informationen zu den unterstützten PLMNs einer Zelle abzurufen, um zwischen Mobilfunkanbietern und Netzwerkbetreibern zu unterscheiden.

Die Unterstützung mehrerer PLMNs bietet Mobilfunkanbietern Flexibilität, da sie mehrere Identitäten übertragen können. Dies ist vor allem erforderlich, um Vereinbarungen zur gemeinsamen Nutzung zu unterstützen, bei denen gemeinsame Hardware oder Türme von mehreren Mobilfunkanbietern genutzt werden. Wenn sich ein Gerät in einem Szenario mit mehreren PLMNs über einen bestimmten Mobilfunkmast registrieren möchte, wählt es die PLMN aus, die für diese Registrierung verwendet werden soll. Dadurch wird das Profil des Geräts für die gesamte nachfolgende Kommunikation auf diese PLMN festgelegt. Die Methode getRegisteredPlmn ruft die registrierte PLMN für das Gerät ab.

Implementierung

Damit mehrere PLMN auf Geräten mit Android 11 oder höher unterstützt werden, musst du die Funktionen an den folgenden Stellen in IRadio implementieren.

IRadio.hal und IRadioResponse.hal

In der Radio 1.5 HAL werden Informationen zum Netzwerk, bei dem sich das Gerät registriert, zur Unterstützung mehrerer PLMNs anders als in früheren Versionen gemeldet. Erstens wird die registrierte PLMN (RPLMN) separat erfasst, da sie in Zellen mit mehreren PLMNs 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 in 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)

Typen.hal

Implementieren Sie Folgendes in types.hal:

  • ClosedSubscriberGroupInfo: Optional in jeder CellIdentity-Instanz enthalten. Diese Struktur wird verwendet, um Details zur geschlossenen Abonnentengruppe anzugeben, zu der eine Zelle gehört, sofern zutreffend. Dieser Wert wird häufig verwendet, um Small Cells wie persönliche LTE-Geräte zu identifizieren. Sie kann auch in Bereitstellungen wie CBRS LTE verwendet werden.
  • CellIdentityLte: Unterstützt eine Liste zusätzlicher PLMN-IDs.
  • CellIdentityWcdma: Unterstützt eine Liste mit zusätzlichen PLMN-IDs.
  • CellIdentityTdscdma: Unterstützt eine Liste mit zusätzlichen PLMN-IDs.
  • RegStateResult: Enthält eine aktualisierte CellIdentity-Struktur und ein Feld, um die RPLMN anzugeben.

Zertifizierungsstufe

Führen Sie zum Testen Ihrer Implementierung den folgenden CTS-Test aus: CellInfoTest Registrierung bei einem Multi-Operator Radio Access Network (MORAN) oder einem Multi-Operator Core Network (MOCN).