Soporte de red multioperador

Los dispositivos que se inician con Android 11 o superior pueden proporcionar 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 admitidas de una celda para distinguir entre proveedores de servicios celulares y operadores de red.

La compatibilidad con varias PLMN brinda flexibilidad a los operadores de redes móviles (MNO) al permitirles transmitir múltiples identidades. Esto se requiere principalmente para respaldar los acuerdos de uso compartido en los que múltiples MNO utilizan hardware o torres comunes. En un escenario de múltiples PLMN, cuando un dispositivo elige registrarse usando una torre en particular, selecciona la PLMN para usar para ese registro, lo que bloquea el perfil del dispositivo a esa PLMN para todas las comunicaciones subsiguientes. El método getRegisteredPlmn recupera la PLMN registrada para el dispositivo.

Implementación

Para admitir múltiples PLMN en dispositivos que ejecutan Android 11 o superior, implemente las funciones en las siguientes ubicaciones en IRadio .

IRadio.hal y 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 a las versiones anteriores. En primer lugar, la PLMN registrada (RPLMN) se informa por separado porque en celdas de PLMN múltiples, la RPLMN podría no ser la ID de PLMN principal. Y en las estructuras de CellIdentity , la celda proporciona un ID de PLMN principal y una lista de ID de PLMN 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 afectan los siguientes dos métodos HAL en IRadio.hal (y sus métodos de respuesta correspondientes en IRadioResponse.hal ).

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

tipos.hal

Implemente lo siguiente en types.hal :

  • ClosedSubscriberGroupInfo : incluido opcionalmente con cada instancia de CellIdentity . 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 PLMN-ID adicionales.
  • CellIdentityWcdma : Admite una lista de PLMN-ID adicionales.
  • CellIdentityTdscdma : Admite una lista de PLMN-ID adicionales.
  • RegStateResult : Incluye una estructura CellIdentity 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).