Suporte de rede multi-operador

Os 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 suportados por uma célula para distinguir entre provedores de serviços celulares e operadoras de rede.

O suporte Multi-PLMN oferece flexibilidade às operadoras de redes móveis (MNOs), permitindo-lhes transmitir múltiplas identidades. Isto é necessário principalmente para apoiar acordos de compartilhamento onde hardware ou torres comuns são usados ​​por múltiplas MNOs. Em um cenário multi-PLMN, quando um dispositivo opta por registrar-se usando uma torre específica, ele seleciona o PLMN a ser usado para esse registro, o que bloqueia o perfil do dispositivo para esse PLMN para toda a comunicação subsequente. 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 está registrado 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 Rádio 1.5 impactam 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 em cada instância 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 implantações como CBRS LTE.
  • CellIdentityLte : suporta uma lista de IDs PLMN adicionais.
  • CellIdentityWcdma : Suporta uma lista de IDs PLMN adicionais.
  • CellIdentityTdscdma : suporta uma lista de IDs 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 CTS: CellInfoTest enquanto estiver registrado em uma rede de acesso de rádio multioperadora (MORAN) ou rede central multioperadora (MOCN).