Начиная с Android 12, Android включает поддержку TS.43 Service Entitlement Configuration , спецификации GSMA, которая определяет этап проверки прав для активации услуг, включая Voice-over-Wi-Fi (VoWiFi), Voice-over-LTE (VoLTE). , SMS через IP (SMSoIP), активация службы на устройстве (ODSA) сопутствующих устройств eSIM (связанных с запрашивающим устройством) и информация о тарифном плане.
Для поддержки этой спецификации Android предоставляет функцию предоставления прав на услуги IMS, которая позволяет поставщику услуг информировать мобильные устройства о состоянии сетевых услуг подсистемы IP-мультимедиа (IMS). Эта функция разрешений позволяет устройству запрашивать сервер разрешений оператора, как определено спецификацией GSMA TS.43, для статуса разрешений IMS с использованием аутентификации EAP-AKA , не требуя от пользователей ввода каких-либо учетных данных вручную.
Операторы связи с серверами разрешений IMS могут использовать функцию разрешений на услуги IMS для предоставления услуг. Принятие этой функции дает следующие преимущества:
- Сокращает затраты на тестирование и сертификацию для операторов связи, поскольку эту функцию разрешений можно использовать для нескольких продуктов и OEM-производителей.
- Сокращает затраты на разработку для производителей устройств с помощью стандартного приложения для Android.
- Позволяет производителям устройств и операторам связи вносить код для функции, поскольку эта функция является открытым исходным кодом.
- Обеспечивает управление адресами в экстренных случаях для операторов связи в Северной Америке.
Партнеры ГМС:
Для операторов, которые не поддерживают спецификацию TS.43, партнеры GMS могут использовать приложение активации WFC , которое доступно на устройствах GMS как отдельное приложение, для предоставления сетевых услуг IMS.
Если у вас есть запросы на функции, связанные с правами на услуги IMS, обратитесь к представителю Google или отправьте электронное письмо по адресу gms-connectivity-apps@google.com .
Архитектура
На следующем рисунке показаны архитектура и поведение функции предоставления прав на услуги IMS.
Рисунок 1. Архитектура функции предоставления прав TS.43
Как показано на рис. 1, архитектура функции предоставления прав на услуги IMS включает следующие компоненты:
-
service_entitlement
Статическая библиотека API службы TS.43 : эта библиотека реализует спецификацию TS.43, взаимодействует с сервером авторизации оператора связи и предоставляет API-интерфейсы, ориентированные на приложения, для каждого варианта использования TS.43. Клиентское приложение
ImsServiceEntitlement
: это приложение использует API службы TS.43. В приложении реализованы элементы пользовательского интерфейса, в том числе веб-просмотры для отображения сервисного портала оператора связи, чтобы пользователи могли активировать услуги, и взаимодействует с другими компонентами Android для сквозного управления взаимодействием с пользователем.Дополнительные сведения о настройке Android для работы с сервером разрешений на основе TS.43 оператора см. в приложении ImsServiceEntitlement .
Пронумерованные строки на рис. 1 показывают, как компоненты функции прав на услуги IMS взаимодействуют друг с другом. Ниже описывается каждый из шагов, как помечено:
(1) Клиентское приложение вызывает API-интерфейс службы TS.43, чтобы инициировать запрос прав на обслуживание.
(2) API службы TS.43 отправляет HTTP-запрос на сервер авторизации оператора, чтобы инициировать вызов EAP-AKA.
(3) API службы TS.43 вызывает API телефонии (например, getIccAuthentication
) для завершения запроса-ответа EAP-AKA.
(4) Служба TS.43 получает разрешение на обслуживание или данные конфигурации от сервера разрешений оператора связи после проверки ответа EAP-AKA.
(5) Служба TS.43 возвращает права на службу или данные конфигурации клиентскому приложению.
(6) Клиентское приложение обрабатывает данные и при необходимости отображает сервисный портал оператора, чтобы пользователь мог завершить активацию сервиса.
Интеграция
В этом разделе описывается процесс интеграции библиотеки service_entitlement
и приложения ImsServiceEntitlement
.
Поскольку API-интерфейс Android 12 не зависит, библиотека service_entitlement
и приложение ImsServiceEntitlement
могут быть перенесены на более старые платформы Android.
библиотека service_entitlement
Поскольку библиотека service_entitlement
статически связана с ImsServiceEntitlement app
, для интеграции библиотеки в приложение ImsServiceEntitlement
не требуется никаких дополнительных действий.
Библиотека service_entitlement
может быть интегрирована с вашими собственными приложениями для сценариев использования TS.43, таких как тарифный план данных и ODSA. Библиотеку также можно интегрировать в приложение для случаев использования прав, отличных от TS.43, на основе протокола EAP-AKA.
Ниже описаны API для таких случаев использования:
- Приложение TS.43, использующее протокол HTTP TS.43, реализованный в библиотеке: используйте API в классе
ServiceEntitlement
- Приложение, отличное от TS.43, использующее протокол EAP-AKA, реализованный в библиотеке: используйте API-интерфейсы, представленные в классе
EapAkaHelper
Партнеры GMS: ниже перечислены поставщики серверов прав TS.43, с которыми была протестирована библиотека service_entitlement в Android 12.
- Эрикссон
- HPE
- Нокиа
Приложение ImsServiceEntitlement
По умолчанию Android включает приложение ImsServiceEntitlement
, установленное в разделе продукта, как привилегированное приложение. Для настройки приложения используйте следующие ключи CarrierConfig:
Ключ | Ценность |
---|---|
KEY_ENTITLEMENT_SERVER_URL_STRING | URL-адрес сервера авторизации оператора связи. Должен быть включен префикс https:// . |
KEY_FCM_SENDER_ID_STRING | Идентификатор отправителя FCM перевозчика. Не устанавливайте это значение, если оператор не требует FCM. |
KEY_SHOW_VOWIFI_WEBVIEW_BOOL | Установите значение true , если оператору требуется пользовательский интерфейс веб-портала, чтобы пользователи могли подписаться на услугу VoWiFi. Например, согласившись с положениями и условиями или указав адрес для экстренной связи.Обычно этого требуют операторы связи в Северной Америке. |
KEY_WFC_EMERGENCY_ADDRESS_CARRIER_APP_STRING | Установите com.android.imsserviceentitlement/.WfcActivationActivity , если KEY_SHOW_VOWIFI_WEBVIEW_BOOL имеет значение true . |
KEY_IMS_PROVISIONING_BOOL | Установите значение true , если оператору связи требуется сетевая подготовка служб IMS (VoLTE/VoWiFi/SMSoIP) в фоновом режиме.Этого требуют некоторые европейские перевозчики. |
KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL | Установите значение true , если KEY_IMS_PROVISIONING_BOOL имеет значение true . |
HTTP-трафик к серверу авторизации оператора и веб-порталу проходит через сеть по умолчанию, например, мобильные данные по умолчанию или Wi-Fi.
Партнеры GMS: следующие операторы связи поддерживаются приложением прав TS.43 в Android 12 в соответствии со спецификацией TS.43 v5.0:
- США: CSpire, сотовая связь США, Cellcom
- Франция: оранжевый
Дополнительный системный пользовательский интерфейс для подготовки IMS
В этом разделе описывается, как OEM-производители могут поддерживать дополнительные элементы пользовательского интерфейса системы, связанные с предоставлением услуг IMS (например, при отображении уведомления о предоставлении VoWiFi).
Приложение ImsServiceEntitlement
устанавливает состояние подготовки VoWiFi на платформу с помощью системного API ProvisioningManager.setProvisioningIntValue(KEY_VOICE_OVER_WIFI_ENABLED_OVERRIDE, value)
. Этот API также используется для VoLTE (с KEY_VOLTE_PROVISIONING_STATUS
) и SMSoIP (с KEY_SMS_OVER_IP_ENABLED
).
Затем системный пользовательский интерфейс может прочитать состояние подготовки с помощью getProvisioningIntValue
или путем регистрации обратного вызова для отслеживания изменения состояния подготовки с помощью registerProvisioningChangedCallback
.
Переопределение конфигураций для тестирования
Используйте следующие процедуры, чтобы временно изменить поведение приложения ImsServiceEntitlement
в целях тестирования. Подробные сведения о том, как переопределить конфигурации операторов связи, см. в разделе Переопределение конфигураций операторов связи .
Пропуск процесса регистрации VoWiFi
Чтобы пропустить процесс регистрации VoWiFi, позволяя включить VoWiFi напрямую, переопределите конфигурацию оператора связи KEY_WFC_EMERGENCY_ADDRESS_CARRIER_APP_STRING
и задайте для ее значения пустую строку.
Пропуск подготовки IMS
Чтобы пропустить подготовку IMS, сделать службы IMS доступными и разрешить пользователям включать такие службы без подготовки сети, переопределите конфигурацию оператора связи KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL
и установите для нее значение false
.
Изменение URL-адреса сервера прав
Чтобы изменить URL-адрес сервера прав, переопределите конфигурацию оператора связи KEY_ENTITLEMENT_SERVER_URL_STRING
и задайте для него ожидаемую строку URL-адреса. Вы должны включить префикс https://
.
Переопределение конфигураций оператора связи
Начиная с Android 11, команды переопределения конфигурации оператора связи являются встроенными и доступны с привилегиями root.
Следующая команда является примером того, как переопределить ключ конфигурации оператора carrier_volte_provisioning_required_bool
и установить для него значение false
. Вы можете запустить команду несколько раз, чтобы переопределить несколько конфигураций.
adb root
adb shell cmd phone cc set-value -p carrier_volte_provisioning_required_bool false
Чтобы удалить все переопределения, используйте следующую команду:
adb shell cmd phone cc clear-values
Чтобы получить дополнительную информацию, выполните следующую команду:
adb shell cmd phone cc