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 los PLMN compatibles de una celda y distinguir entre los proveedores de servicios celulares y los operadores de red.

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

Implementación

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

IRadio.hal y IRadioResponse.hal

En la 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 a las versiones anteriores. En primer lugar, el PLMN registrado (RPLMN) se informa por separado porque, en las celdas de varios PLMN, es posible que el RPLMN no sea el ID de PLMN principal. Y en las estructuras CellIdentity, la celda proporciona un PLMN-ID principal y una lista de PLMN-ID adicionales. El RPLMN debe ser el PLMN-ID principal o uno de los PLMN-ID adicionales indicados en la estructura CellIdentity.

Los cambios en el HAL de Radio 1.5 afectan a los siguientes dos métodos de HAL en IRadio.hal (y a 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 manera opcional en 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 células 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á registrada en una red de acceso por radio multioperador (MORAN) o una red principal multioperador (MOCN).