Suporte de rede multi-operador

Dispositivos lançados com Android 11 ou superior podem fornecer suporte para várias redes móveis terrestres públicas (PLMNs). O Android 11 inclui métodos nas APIs de identificação de células para obter informações sobre os PLMNs compatíveis de uma célula para distinguir entre provedores de serviços de celular e operadoras de rede.

O suporte multi-PLMN oferece flexibilidade para operadoras de rede móvel (MNOs), permitindo que transmitam várias identidades. Isso é necessário principalmente para oferecer suporte a acordos de compartilhamento em que hardware ou torres comuns são usados ​​por várias MNOs. Em um cenário multi-PLMN, quando um dispositivo opta por se registrar usando uma determinada torre, ele seleciona o PLMN a ser usado para esse registro, o que bloqueia o perfil do dispositivo para esse PLMN para todas as comunicações subsequentes. O método getRegisteredPlmn recupera o PLMN registrado para o dispositivo.

Implementação

Para oferecer suporte a multi-PLMN em dispositivos com Android 11 ou superior, implemente as funções nos seguintes locais em IRadio .

IRadio.hal e IRadioResponse.hal

No Radio 1.5 HAL, para suportar multi-PLMN, as informações sobre a rede na qual o dispositivo se registra são relatadas de forma diferente das versões anteriores. Primeiro, o PLMN registrado (RPLMN) é relatado separadamente porque em células multi-PLMN, o RPLMN pode não ser o PLMN-ID primário. E nas estruturas CellIdentity , a célula fornece um PLMN-ID primário e uma lista de PLMN-IDs adicionais. O RPLMN deve ser o PLMN-ID primário ou um dos PLMN-IDs adicionais indicados na estrutura CellIdentity .

As alterações no HAL do Radio 1.5 afetam os dois métodos HAL a seguir em IRadio.hal (e seus 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)

tipos.hal

Implemente o seguinte em types.hal :

  • ClosedSubscriberGroupInfo : Incluído opcionalmente com cada instância de CellIdentity . Essa estrutura é usada para fornecer detalhes sobre o grupo fechado de assinantes ao qual uma célula pertence, se houver. Isso é comumente usado para identificar células pequenas , como dispositivos LTE pessoais. Também pode ser usado em implementações como CBRS LTE.
  • CellIdentityLte : Suporta uma lista de PLMN-IDs adicionais.
  • CellIdentityWcdma : Suporta uma lista de PLMN-IDs adicionais.
  • CellIdentityTdscdma : Suporta uma lista de PLMN-IDs 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 CTS: CellInfoTest enquanto registrado em uma rede de acesso de rádio multioperador (MORAN) ou rede central multioperador (MOCN).