Устройства с 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
.
Изменения в 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)
типы.hal
Реализуйте в types.hal
следующее:
-
ClosedSubscriberGroupInfo
: опционально включается в каждый экземплярCellIdentity
. Эта структура используется для предоставления сведений о закрытой группе абонентов, к которой принадлежит ячейка, если таковая имеется. Обычно это используется для идентификации небольших сот, таких как персональные устройства LTE. Его также можно использовать в таких развертываниях, как CBRS LTE. -
CellIdentityLte
: поддерживает список дополнительных идентификаторов PLMN. -
CellIdentityWcdma
: поддерживает список дополнительных идентификаторов PLMN. -
CellIdentityTdscdma
: поддерживает список дополнительных идентификаторов PLMN. -
RegStateResult
: включает обновленную структуруCellIdentity
и поле для указания RPLMN.
Валидация
Чтобы протестировать реализацию, запустите следующий тест CTS: CellInfoTest
при регистрации в сети радиодоступа с несколькими операторами (MORAN) или базовой сети с несколькими операторами (MOCN).