Suporte a redes de várias operadoras

Os dispositivos lançados com o Android 11 ou versões mais recentes podem oferecer suporte a várias redes móveis terrestres públicas (PLMNs). O Android 11 inclui métodos nas APIs de identificação de células para receber informações sobre os PLMNs compatíveis de uma célula e distinguir entre provedores de serviços de telefonia celular e operadores de rede.

Esse suporte oferece flexibilidade para operadoras de rede móvel (MNOs) ao permitir que elas transmitam várias identidades. Isso é necessário principalmente para aceitar acordos de compartilhamento em que hardware ou torres comuns são usados por várias OMVs. Em um cenário com várias PLMNs, quando um dispositivo escolhe se registrar usando uma torre específica, ele seleciona a PLMN a ser usada para esse registro, o que bloqueia o perfil do dispositivo para essa PLMN em todas as comunicações subsequentes. O método getRegisteredPlmn recupera o PLMN registrado para o dispositivo.

Implementação

Para oferecer suporte a várias PLMNs em dispositivos com Android 11 ou mais recente, implemente as funções nos seguintes locais em IRadio.

IRadio.hal e IRadioResponse.hal

No HAL de rádio 1.5, para oferecer suporte a várias PLMNs, as informações sobre a rede em que o dispositivo se registra são informadas de maneira diferente das versões anteriores. Primeiro, a PLMN registrada (RPLMN) é informada separadamente porque, em células multi-PLMN, a RPLMN pode não ser o ID da PLMN principal. Nas estruturas CellIdentity, a célula fornece um PLMN-ID principal e uma lista de PLMN-IDs adicionais. O RPLMN precisa ser o PLMN-ID principal ou um dos PLMN-IDs adicionais indicados na estrutura CellIdentity.

As mudanças no HAL de rádio 1.5 afetam os dois métodos HAL a seguir em IRadio.hal (e os métodos de resposta correspondentes em IRadioResponse.hal).

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

types.hal

Implemente o seguinte em types.hal:

  • ClosedSubscriberGroupInfo: incluído opcionalmente com cada instância CellIdentity. Essa estrutura é usada para fornecer detalhes sobre o grupo de assinantes fechado a que uma célula pertence, se houver. Isso é usado para identificar pequenas células, como dispositivos LTE pessoais. Ele também pode ser usado em implantações como LTE CBRS.
  • CellIdentityLte: oferece suporte a uma lista de IDs de PLMN adicionais.
  • CellIdentityWcdma: oferece suporte a uma lista de IDs de PLMN adicionais.
  • CellIdentityTdscdma: oferece suporte a uma lista de IDs de PLMN adicionais.
  • RegStateResult: inclui uma estrutura CellIdentity atualizada e um campo para indicar o RPLMN.

Validação

Para testar sua implementação, execute o seguinte teste do CTS: CellInfoTest enquanto estiver registrado em uma rede de acesso de rádio multioperadora (MORAN) ou rede principal multioperadora (MOCN).