Compatibilidad con redes de varios operadores

Los dispositivos que se lanzan con Android 11 o versiones posteriores pueden admitir varias redes móviles públicas terrestres (PLMN). Android 11 incluye métodos en las APIs de identificación de celdas para obtener información sobre las PLMN admitidas de una celda y distinguir entre los operadores de red y los proveedores de servicios celulares.

La compatibilidad con varias PLMN proporciona flexibilidad a los operadores de redes móviles (MNO), ya que les permite transmitir varias identidades. Esto se requiere principalmente para admitir acuerdos de uso compartido en los que varios OMV usan hardware o torres comunes. En una situación de múltiples PLMN, cuando un dispositivo elige registrarse con una torre en particular, selecciona la PLMN que usará para ese registro, lo que bloquea el perfil del dispositivo en esa PLMN para toda la comunicación posterior. El método getRegisteredPlmn recupera el PLMN registrado para el dispositivo.

Implementación

Para admitir varias PLMN en dispositivos que ejecutan Android 11 o versiones posteriores, implementa las funciones en las siguientes ubicaciones en IRadio.

IRadio.hal y IRadioResponse.hal

En el HAL de Radio 1.5, para admitir varias 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, el PLMN registrado (RPLMN) se informa por separado porque, en las celdas de varios PLMN, el RPLMN podría no ser el ID de PLMN principal. Además, en las estructuras CellIdentity, la celda proporciona un PLMN-ID principal y una lista de PLMN-IDs adicionales. El RPLMN debe ser el PLMN-ID principal o uno de los PLMN-IDs adicionales indicados en la estructura CellIdentity.

Los cambios en el HAL de Radio 1.5 afectan los siguientes dos métodos del 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)

types.hal

Implementa lo siguiente en types.hal:

  • ClosedSubscriberGroupInfo: Se incluye de forma opcional con cada instancia de CellIdentity. Esta estructura se usa para proporcionar detalles sobre el grupo de suscriptores cerrado al que pertenece una celda, si corresponde. Por lo general, se usa para identificar celdas pequeñas, como dispositivos LTE personales. También se puede usar en implementaciones como CBRS LTE.
  • CellIdentityLte: Admite una lista de IDs de PLMN adicionales.
  • CellIdentityWcdma: Admite una lista de IDs de PLMN adicionales.
  • CellIdentityTdscdma: Admite una lista de IDs de PLMN adicionales.
  • RegStateResult: Incluye una estructura CellIdentity actualizada y un campo para indicar el RPLMN.

Validación

Para probar tu implementación, ejecuta la siguiente prueba de CTS: CellInfoTest mientras estás registrado en una red de acceso por radio de múltiples operadores (MORAN) o en una red principal de múltiples operadores (MOCN).