Поддержка сетей нескольких операторов

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

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

Реализация

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

IRadio.hal и IRadioResponse.hal

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

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

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

types.hal

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

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

Проверка

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