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, na sigla em inglês). O Android 11 inclui métodos nas APIs de identificação de células para receber informações sobre as PLMNs com suporte de uma célula e distinguir entre provedores de serviços de celular e operadores de rede.
O suporte a várias PLMNs oferece flexibilidade para as operadoras de rede móvel (MNOs)
permitindo que elas transmitam várias identidades. Isso é necessário principalmente para
oferecer suporte a acordos de compartilhamento em que hardwares ou torres comuns são usados por vários
MNOs. Em um cenário de várias PLMN, quando um dispositivo escolhe se registrar usando uma
torre específica, ele seleciona o PLMN para usar nesse registro, o que bloqueia
o perfil do dispositivo para esse PLMN para todas as comunicações seguintes. O método
getRegisteredPlmn
recupera o PLMN registrado para o dispositivo.
Implementação
Para oferecer suporte a várias PLMNs em dispositivos com o Android 11
ou versões mais recentes, implemente as funções nos locais abaixo em
IRadio
.
IRadio.hal e IRadioResponse.hal
No HAL do rádio 1.5, para oferecer suporte a várias PLMNs, as informações sobre a rede em que o
dispositivo é registrado são informadas de maneira diferente das versões anteriores. Primeiro, o
PLMN registrado (RPLMN) é informado separadamente porque, em células com vários PLMNs, o
RPLMN pode não ser o ID principal. E nas estruturas CellIdentity
,
a célula fornece um PLMN-ID principal e uma lista de outros PLMN-IDs. O RPLMN
precisa ser o ID de PLMN principal ou um dos outros PLMN-IDs indicados na
estrutura CellIdentity
.
As mudanças no HAL do Radio 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
egetDataRegStateResult_1_5(RegStateResult result)
getVoiceRegState_1_5
egetVoiceRegStateResult_1_5(RegStateresult result)
types.hal
Implemente o seguinte
em types.hal
:
ClosedSubscriberGroupInfo
: incluído opcionalmente com cada instânciaCellIdentity
. Essa estrutura é usada para fornecer detalhes sobre o grupo de assinantes fechado ao qual uma célula pertence, se houver. Isso é comumente usado para identificar células pequenas, como dispositivos LTE pessoais. Ele também pode ser usado em implantações como o CBRS LTE.CellIdentityLte
: oferece suporte a uma lista de outros PLMN-IDs.CellIdentityWcdma
: oferece suporte a uma lista de outros PLMN-IDs.CellIdentityTdscdma
: oferece suporte a uma lista de outros PLMN-IDs.RegStateResult
: inclui uma estruturaCellIdentity
atualizada e um campo para indicar o RPLMN.
Validação
Para testar sua implementação, execute o seguinte teste de CTS:
CellInfoTest
enquanto estiver registrado em uma rede de acesso por rádio de vários operadores (MORAN, na sigla em inglês) ou
rede principal de vários operadores (MOCN, na sigla em inglês).