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

O suporte multi-PLMN fornece flexibilidade para operadoras de redes móveis (MNOs), permitindo que elas 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ários 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 vários PLMN em dispositivos com Android 11 ou superior, implemente as funções nos seguintes locais no IRadio .

IRadio.hal e IRadioResponse.hal

No Radio 1.5 HAL, para suportar multi-PLMN, as informações sobre a rede em que o dispositivo se registra são relatadas de maneira 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 Radio 1.5 HAL 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 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 PLMN-IDs adicionais.
  • CellIdentityWcdma : oferece suporte a 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 multioperadora (MOCN).