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
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 com 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 PLMN-IDs adicionais. -
CellIdentityWcdma
: oferece suporte a uma lista de PLMN-IDs adicionais. -
CellIdentityTdscdma
: Suporta uma lista de PLMN-IDs 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 registrado em uma rede de acesso de rádio multioperador (MORAN) ou rede central multioperadora (MOCN).