I dispositivi avviati con Android 11 o versioni successive possono fornire supporto per più reti mobili terrestri pubbliche (PLMN). Android 11 include metodi nelle API di identificazione delle celle per ottenere informazioni sui PLMN supportati da una cella per distinguere tra fornitori di servizi cellulari e operatori di rete.
Il supporto multi-PLMN offre flessibilità agli operatori di rete mobile (MNO) consentendo loro di trasmettere identità multiple. Ciò è necessario principalmente per supportare 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 particolare torre, seleziona il PLMN da utilizzare per tale 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 multi-PLMN sui dispositivi con Android 11 o versioni successive, implementare le funzioni nelle seguenti posizioni in IRadio
.
IRadio.hal e IRadioResponse.hal
Nell'HAL Radio 1.5, per supportare il multi-PLMN, le informazioni sulla rete su cui si registra il dispositivo vengono riportate in modo diverso rispetto alle versioni precedenti. Innanzitutto, il PLMN registrato (RPLMN) viene segnalato separatamente perché su celle multi-PLMN, RPLMN potrebbe non essere l'ID PLMN primario. E nelle strutture CellIdentity
, la cella fornisce un PLMN-ID primario e un elenco di PLMN-ID aggiuntivi. L'RPLMN deve essere il PLMN-ID primario o uno dei PLMN-ID aggiuntivi indicati nella struttura CellIdentity
.
Le modifiche apportate all'HAL Radio 1.5 influiscono sui due metodi HAL seguenti in IRadio.hal
(e sui metodi di risposta corrispondenti in IRadioResponse.hal
).
-
getDataRegState_1_5
egetDataRegStateResult_1_5(RegStateResult result)
-
getVoiceRegState_1_5
egetVoiceRegStateResult_1_5(RegStateresult result)
tipi.hal
Implementare quanto segue in types.hal
:
-
ClosedSubscriberGroupInfo
: incluso facoltativamente con ogni istanzaCellIdentity
. Questa struttura viene utilizzata per fornire dettagli sul gruppo chiuso di utenti a cui appartiene una cella, se presente. Questo è comunemente usato per identificare piccole celle come 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 strutturaCellIdentity
aggiornata e un campo per indicare RPLMN.
Validazione
Per testare la tua implementazione, esegui il seguente test CTS: CellInfoTest
mentre sei registrato su una rete di accesso radio multi-operatore (MORAN) o una rete core multi-operatore (MOCN).