Los dispositivos que se lanzan con Android 11 o superior pueden brindar soporte para múltiples redes móviles terrestres públicas (PLMN). Android 11 incluye métodos en las API de identificación de celdas para obtener información sobre las PLMN compatibles de una celda para distinguir entre proveedores de servicios celulares y operadores de red.
El soporte multi-PLMN proporciona flexibilidad a los operadores de redes móviles (MNO) al permitirles transmitir múltiples identidades. Esto se requiere principalmente para respaldar acuerdos de uso compartido en los que varios MNO utilizan hardware o torres comunes. En un escenario de múltiples PLMN, cuando un dispositivo elige registrarse utilizando una torre en particular, selecciona la PLMN que se usará para ese registro, lo que bloquea el perfil del dispositivo en esa PLMN para todas las comunicaciones posteriores. El método getRegisteredPlmn
recupera la PLMN registrada para el dispositivo.
Implementación
Para admitir múltiples PLMN en dispositivos con Android 11 o superior, implemente las funciones en las siguientes ubicaciones en IRadio
.
IRadio.hal e IRadioResponse.hal
En Radio 1.5 HAL, para admitir múltiples PLMN, la información sobre la red en la que se registra el dispositivo se informa de manera diferente que en versiones anteriores. En primer lugar, la PLMN registrada (RPLMN) se informa por separado porque en celdas con varias PLMN, la RPLMN podría no ser el ID de PLMN principal. Y en las estructuras CellIdentity
, la celda proporciona un PLMN-ID principal y una lista de PLMN-ID adicionales. La RPLMN debe ser la PLMN-ID principal o una de las PLMN-ID adicionales indicadas en la estructura CellIdentity
.
Los cambios en Radio 1.5 HAL impactan los siguientes dos métodos HAL en IRadio.hal
(y sus correspondientes métodos de respuesta en IRadioResponse.hal
).
-
getDataRegState_1_5
ygetDataRegStateResult_1_5(RegStateResult result)
-
getVoiceRegState_1_5
ygetVoiceRegStateResult_1_5(RegStateresult result)
tipos.hal
Implemente lo siguiente en types.hal
:
-
ClosedSubscriberGroupInfo
: se incluye opcionalmente con cada instanciaCellIdentity
. Esta estructura se utiliza para proporcionar detalles sobre el grupo cerrado de suscriptores al que pertenece una celda, si corresponde. Esto se usa comúnmente para identificar celdas pequeñas , como dispositivos LTE personales. También se puede utilizar en implementaciones como CBRS LTE. -
CellIdentityLte
: admite una lista de ID de PLMN adicionales. -
CellIdentityWcdma
: admite una lista de ID de PLMN adicionales. -
CellIdentityTdscdma
: admite una lista de ID de PLMN adicionales. -
RegStateResult
: Incluye una estructuraCellIdentity
actualizada y un campo para indicar el RPLMN.
Validación
Para probar su implementación, ejecute la siguiente prueba CTS: CellInfoTest
mientras está registrado en una red de acceso de radio de múltiples operadores (MORAN) o una red central de múltiples operadores (MOCN).