Supporto di reti di più operatori

I dispositivi lanciati con Android 11 o versioni successive possono supportare più reti mobili terrestri pubbliche (PLMN). Android 11 include metodi nelle API di identificazione delle celle per ottenere informazioni sui PLMN supportati di una cella per distinguere tra fornitori di servizi di telefonia mobile e operatori di rete.

Il supporto multi-PLMN offre flessibilità agli operatori di rete mobile (MNO) consentendo loro di trasmettere più identità. Questo è necessario principalmente per supportare gli accordi di condivisione in cui hardware o torri comuni vengono utilizzati da più MNO. In uno scenario multi-PLMN, quando un dispositivo sceglie di registrarsi utilizzando una determinata torre, seleziona il PLMN da utilizzare per la registrazione, che blocca il profilo del dispositivo su quel PLMN per tutte le comunicazioni successive. Il metodo getRegisteredPlmn recupera il PLMN registrato per il dispositivo.

Implementazione

Per supportare più PLMN sui dispositivi con Android 11 o versioni successive, implementa le funzioni nelle seguenti posizioni in IRadio.

IRadio.hal e IRadioResponse.hal

Nell'HAL Radio 1.5, per supportare più PLMN, le informazioni sulla rete a cui si registra il dispositivo vengono segnalate in modo diverso rispetto alle versioni precedenti. Innanzitutto, la PLMN registrata (RPLMN) viene segnalata separatamente perché nelle celle multi-PLMN, la RPLMN potrebbe non essere l'ID PLMN principale. Nelle strutture CellIdentity, la cella fornisce un ID PLMN principale e un elenco di ID PLMN aggiuntivi. L'RPLMN deve essere il PLMN-ID principale o uno degli PLMN-ID aggiuntivi indicati nella struttura CellIdentity.

Le modifiche all'HAL Radio 1.5 interessano i due metodi HAL seguenti in IRadio.hal (e i relativi metodi di risposta in IRadioResponse.hal).

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

types.hal

Implementa quanto segue in types.hal:

  • ClosedSubscriberGroupInfo: incluso facoltativamente in ogni istanza CellIdentity. Questa struttura viene utilizzata per fornire dettagli sul gruppo di abbonati chiuso a cui appartiene una cella, se presente. Questo viene comunemente utilizzato per identificare le small cell, ad esempio i dispositivi LTE personali. Può essere utilizzato anche in implementazioni come CBRS LTE.
  • CellIdentityLte: Supporta un elenco di ID PLMN aggiuntivi.
  • CellIdentityWcdma: Supporta un elenco di ID PLMN aggiuntivi.
  • CellIdentityTdscdma: Supporta un elenco di ID PLMN aggiuntivi.
  • RegStateResult: include una struttura CellIdentity aggiornata e un campo per indicare l'RPLMN.

Convalida

Per testare l'implementazione, esegui il seguente test CTS: CellInfoTest durante la registrazione a una rete di accesso radio multi-operatore (MORAN) o a una rete core multi-operatore (MOCN).