Compatibilité avec les réseaux multi-opérateurs

Les appareils lancés avec Android 11 ou 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 multi-PLMN offre de la flexibilité aux opérateurs de réseau mobile (ORM) en leur permettant de diffuser plusieurs identités. Cette exigence est principalement requise pour prendre en charge les accords de partage dans lesquels plusieurs opérateurs de réseau mobile 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 antenne spécifique, 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 méthode getRegisteredPlmn récupère le PLMN enregistré pour l'appareil.

Implémentation

Pour prendre en charge le multi-PLMN sur les appareils équipés d'Android 11 ou version ultérieure, implémentez les fonctions aux emplacements suivants dans IRadio.

IRadio.hal et IRadioResponse.hal

Dans la couche d'abstraction matérielle 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 indiqué 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 PLMN-ID principal et une liste de PLMN-ID 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 Radio 1.5 HAL 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_5 et getDataRegStateResult_1_5(RegStateResult result)
  • getVoiceRegState_1_5 et getVoiceRegStateResult_1_5(RegStateresult result)

types.hal

Implémentez les éléments suivants dans types.hal :

  • ClosedSubscriberGroupInfo : inclus de manière facultative avec chaque instance CellIdentity. Cette structure permet de fournir des informations sur le groupe d'abonnés fermé auquel appartient une cellule, le cas échéant. Cette option est généralement utilisée pour identifier les petites cellules telles que les appareils LTE personnels. Il peut également être utilisé dans des déploiements tels que le LTE CBRS.
  • CellIdentityLte : accepte une liste d'ID PLMN supplémentaires.
  • CellIdentityWcdma : accepte une liste d'ID PLMN supplémentaires.
  • CellIdentityTdscdma : accepte une liste d'ID PLMN supplémentaires.
  • RegStateResult : inclut une structure CellIdentity mise à jour et un champ permettant d'indiquer le RPLMN.

Validation

Pour tester votre implémentation, exécutez le test CTS suivant : CellInfoTest tout en étant enregistré sur un réseau d'accès radio multi-opérateurs (MORAN) ou un réseau central multi-opérateurs (MOCN).