Устройства, запущенные с Android 11 или выше, могут поддерживать несколько сетей наземной мобильной связи общего пользования (PLMN). Android 11 включает методы в API идентификации соты для получения информации о поддерживаемых сотой PLMN, чтобы различать поставщиков сотовых услуг и операторов сетей.
Поддержка нескольких PLMN обеспечивает гибкость для операторов мобильной связи (MNO), позволяя им транслировать несколько идентификаторов. Это в первую очередь необходимо для поддержки соглашений о совместном использовании, когда общее оборудование или вышки используются несколькими MNO. В сценарии с несколькими PLMN, когда устройство решает зарегистрироваться с использованием определенной вышки, оно выбирает PLMN для использования при этой регистрации, что блокирует профиль устройства для этого PLMN для всех последующих коммуникаций. Метод getRegisteredPlmn
извлекает зарегистрированный PLMN для устройства.
Выполнение
Для поддержки multi-PLMN на устройствах под управлением Android 11 или выше реализуйте функции в следующих местах в IRadio
.
IRadio.hal и IRadioResponse.hal
В Radio 1.5 HAL для поддержки multi-PLMN информация о сети, в которой регистрируется устройство, сообщается иначе, чем в предыдущих версиях. Во-первых, зарегистрированный PLMN (RPLMN) сообщается отдельно, поскольку в ячейках multi-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. -
CellIdentityTdscdma
: поддерживает список дополнительных идентификаторов PLMN. -
RegStateResult
: включает обновленную структуруCellIdentity
и поле для указания RPLMN.
Проверка
Чтобы протестировать реализацию, запустите следующий тест CTS: CellInfoTest
во время регистрации в многооператорной сети радиодоступа (MORAN) или многооператорской базовой сети (MOCN).