Soporte de red multioperador

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 y getDataRegStateResult_1_5(RegStateResult result)
  • getVoiceRegState_1_5 y getVoiceRegStateResult_1_5(RegStateresult result)

tipos.hal

Implemente lo siguiente en types.hal :

  • ClosedSubscriberGroupInfo : se incluye opcionalmente con cada instancia 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 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 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).