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
egetDataRegStateResult_1_5(RegStateResult result)
-
getVoiceRegState_1_5
egetVoiceRegStateResult_1_5(RegStateresult result)
tipos.hal
Implemente o seguinte em types.hal
:
-
ClosedSubscriberGroupInfo
: incluído opcionalmente em cada instânciaCellIdentity
. 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 estruturaCellIdentity
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).