Les appareils lancés avec Android 11 ou une version ultérieure peuvent prendre en charge plusieurs réseaux mobiles terrestres publics (PLMN). Android 11 inclut des méthodes dans les API d'identification des cellules pour obtenir des informations sur les PLMN compatibles d'une cellule afin de faire la distinction entre les fournisseurs de services mobiles et les opérateurs de réseau.
La prise en charge de plusieurs PLMN offre aux opérateurs de réseaux mobiles (ORM) la possibilité de diffuser plusieurs identités. Cette fonctionnalité est principalement requise pour prendre en charge les accords de partage dans lesquels plusieurs ORM utilisent du matériel ou des tours communs. Dans un scénario multi-PLMN, lorsqu'un appareil choisit de s'enregistrer à l'aide d'une tour particulière, il sélectionne le PLMN à utiliser pour cet enregistrement, ce qui verrouille le profil de l'appareil sur ce PLMN pour toutes les communications ultérieures. La
getRegisteredPlmn
méthode récupère le PLMN enregistré pour l'appareil.
Implémentation
Pour prendre en charge plusieurs PLMN sur les appareils exécutant Android 11
ou une version ultérieure, implémentez les fonctions dans les emplacements suivants dans
IRadio.
IRadio.hal et IRadioResponse.hal
Dans la HAL Radio 1.5, pour prendre en charge plusieurs PLMN, les informations sur le réseau sur lequel l'appareil s'enregistre sont signalées différemment des versions précédentes. Tout d'abord, le PLMN enregistré (RPLMN) est signalé séparément, car sur les cellules multi-PLMN, le RPLMN peut ne pas être l'ID PLMN principal. Dans les structures CellIdentity, la cellule fournit un ID PLMN principal et une liste d'ID PLMN supplémentaires. Le RPLMN doit être l'ID PLMN principal ou l'un des ID PLMN supplémentaires indiqués dans la structure CellIdentity.
Les modifications apportées à la HAL Radio 1.5 ont un impact sur les deux méthodes HAL suivantes dans
IRadio.hal
(et leurs méthodes de réponse correspondantes dans
IRadioResponse.hal).
getDataRegState_1_5etgetDataRegStateResult_1_5(RegStateResult result)getVoiceRegState_1_5etgetVoiceRegStateResult_1_5(RegStateresult result)
types.hal
Implémentez les éléments suivants
dans types.hal :
ClosedSubscriberGroupInfo: inclus de manière facultative avec chaque instanceCellIdentity. Cette structure permet de fournir des informations sur le groupe d'abonnés fermé auquel appartient une cellule, le cas échéant. Elle est généralement utilisée pour identifier les petites cellules telles que les appareils LTE personnels. Elle peut également être utilisée dans des déploiements tels que CBRS LTE.CellIdentityLte: prend en charge une liste d'ID PLMN supplémentaires.CellIdentityWcdma: prend en charge une liste d'ID PLMN supplémentaires.CellIdentityTdscdma: prend en charge une liste d'ID PLMN supplémentaires.RegStateResult: inclut une structureCellIdentitymise à jour et un champ permettant d'indiquer le RPLMN.
Validation
Pour tester votre implémentation, exécutez le test CTS suivant :
CellInfoTest
lorsque vous êtes enregistré sur un réseau d'accès radio multi-opérateur (MORAN) ou
un réseau central multi-opérateur (MOCN).