Поддержка сети с несколькими операторами

Устройства с Android 11 или более поздней версии могут обеспечивать поддержку нескольких наземных мобильных сетей общего пользования (PLMN). Android 11 включает методы в API идентификации соты для получения информации о поддерживаемых ячейкой PLMN, чтобы различать поставщиков услуг сотовой связи и сетевых операторов.

Поддержка нескольких PLMN обеспечивает гибкость операторам мобильных сетей (MNO), позволяя им транслировать несколько идентификаторов. Это в первую очередь требуется для поддержки соглашений о совместном использовании, когда общее оборудование или башни используются несколькими операторами мобильной связи. В сценарии с несколькими PLMN, когда устройство выбирает регистрацию с использованием определенной башни, оно выбирает PLMN для использования для этой регистрации, что блокирует профиль устройства в этой PLMN для всех последующих коммуникаций. Метод getRegisteredPlmn извлекает зарегистрированный PLMN для устройства.

Реализация

Для поддержки нескольких PLMN на устройствах под управлением Android 11 или более поздней версии реализуйте функции в следующих местах в IRadio .

IRadio.hal и IRadioResponse.hal

В Radio 1.5 HAL для поддержки нескольких PLMN информация о сети, в которой зарегистрировано устройство, сообщается иначе, чем в предыдущих версиях. Во-первых, о зарегистрированной PLMN (RPLMN) сообщается отдельно, поскольку в ячейках с несколькими PLMN RPLMN может не быть первичным PLMN-ID. А в структурах CellIdentity ячейка предоставляет первичный PLMN-ID и список дополнительных PLMN-ID. RPLMN должен быть основным идентификатором PLMN-ID или одним из дополнительных идентификаторов PLMN-ID, указанных в структуре CellIdentity .

Изменения в Radio 1.5 HAL влияют на следующие два метода HAL в IRadio.hal (и соответствующие им методы ответа в IRadioResponse.hal ).

  • getDataRegState_1_5 и getDataRegStateResult_1_5(RegStateResult result)
  • getVoiceRegState_1_5 и getVoiceRegStateResult_1_5(RegStateresult result)

типы.hal

Реализуйте в types.hal следующее:

  • ClosedSubscriberGroupInfo : Опционально включается в каждый экземпляр CellIdentity . Эта структура используется для предоставления сведений о закрытой группе абонентов, к которой принадлежит ячейка, если таковая имеется. Это обычно используется для идентификации небольших сот , таких как персональные устройства LTE. Его также можно использовать в таких развертываниях, как CBRS LTE.
  • CellIdentityLte : поддерживает список дополнительных идентификаторов PLMN-ID.
  • CellIdentityWcdma : поддерживает список дополнительных идентификаторов PLMN-ID.
  • CellIdentityTdscdma : поддерживает список дополнительных идентификаторов PLMN-ID.
  • RegStateResult : включает обновленную структуру CellIdentity и поле для указания RPLMN.

Проверка

Чтобы протестировать свою реализацию, запустите следующий тест CTS: CellInfoTest при регистрации в сети радиодоступа с несколькими операторами (MORAN) или базовой сети с несколькими операторами (MOCN).