Нарезка сети 5G

Для устройств под управлением Android 12 и выше Android поддерживает сегментирование сети 5G — использование виртуализации сети для разделения одного сетевого соединения на несколько отдельных виртуальных соединений, предоставляющих различное количество ресурсов для разных типов трафика. Сегментирование сети 5G позволяет операторам связи выделять часть сети для предоставления определенных функций конкретному сегменту клиентов. Android 12 представляет следующие возможности сегментирования корпоративной сети 5G, которые операторы связи могут предоставлять своим корпоративным клиентам:

Разделение корпоративных устройств на сегменты для полностью управляемых устройств

Для предприятий, предоставляющих своим сотрудникам полностью управляемые корпоративные устройства, сетевые провайдеры могут предоставлять им один или несколько активных корпоративных сетевых сегментов, через которые маршрутизируется трафик на корпоративных устройствах. Начиная с Android 12, операторы связи могут предоставлять корпоративные сетевые сегменты через правила URSP, вместо настройки сегментов через APN.

Разделение корпоративных бизнес-приложений на части для устройств с рабочими профилями.

Для предприятий, использующих решение с рабочими профилями , Android 12 позволяет устройствам перенаправлять трафик от всех приложений в рабочем профиле в корпоративный сетевой сегмент. Предприятия могут включить эту возможность через контроллер политик устройств (DPC) .

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

Как работает сегментирование сети 5G в AOSP

В Android 12 добавлена ​​поддержка сегментирования сети 5G за счет дополнений к кодовой базе телефонии в AOSP и модулю Tethering , которые включают в себя существующие API подключения, необходимые для сегментирования сети.

Платформа телефонии Android предоставляет HAL и API телефонии для поддержки сегментирования сети на основе сетевых запросов, поступающих от основного сетевого кода, а также возможностей сегментирования 5G в модеме. На рисунке 1 описаны компоненты функции сегментирования сети 5G.

Компоненты сегментирования сети 5G

Рисунок 1. Архитектура сегментирования сети 5G в AOSP.

Платформа телефонии и связи поддерживает:

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

    • Выявление наличия рабочего профиля на устройстве.
    • Проверка наличия разрешений или маршрутных указаний, предоставленных DPC, используемым ИТ-администратором предприятия.

В основной сетевой службе Android 12 внесены следующие изменения в модуль «Режим модема»:

  • Добавляет большинство общедоступных или системных классов API android.net.* в модуль Tethering.
  • Расширяет возможности модуля "Привязка" и включает в себя:

    • f/b/core/java/android/net/…
    • f/b/services/net/…
    • f/b/services/core/java/com/android/server/connectivity/…
    • f/b/services/core/java/com/android/server/ConnectivityService.java
    • f/b/services/core/java/com/android/server/TestNetworkService.java
  • Выносит код VPN из модуля "Привязка" (Tethering).

В Android 12 код со следующими возможностями перенесен в модуль Tethering:

  • Получение запросов от приложений на подключение к сети.
  • Получение запросов от системы (например, «разместить эти приложения на корпоративном сегменте»; эта функция появилась в Android 12).
  • Отправка запросов из системы в код телефонии, который пытается настроить сети или сегменты, используя API HAL и модем.
  • Предоставление netd информации о том, как маршрутизировать трафик для каждого приложения отдельно (введено в Android 12).
  • Информирование приложений о происходящем с их сетевым трафиком через API ConnectivityManager , такие как NetworkCallback , getActiveNetwork , getNetworkCapabilities .

Выполнение

Для поддержки 5G-сегментации на устройстве необходимо наличие модема, поддерживающего HAL IRadio 1.6, который имеет API setupDataCall_1_6 . Этот API устанавливает соединение для передачи данных и включает следующие параметры для поддержки 5G-сегментации:

  • trafficDescriptor : Указывает дескриптор трафика, отправляемый модему.
  • sliceInfo : Задает информацию о сетевом срезе, который будет использоваться в случае перехода от сети EPDG к сети 5G.
  • matchAllRuleAllowed : Указывает, разрешено ли использование правила URSP по умолчанию, определяющего соответствие всем параметрам. Telephony устанавливает это значение в true для сетей по умолчанию, но не для сегментов. Правило соответствия всем параметрам применяется к сетям по умолчанию. Когда приложение запрашивает определенный сегмент, который недоступен, этот сегмент сообщается как недоступный. Для корпоративных приложений платформа Telephony может переключаться на сеть по умолчанию, если корпоративная сеть недоступна.

Модемы также должны реализовывать API getSlicingConfig если только API getHalDeviceCapabilities не сообщает об отсутствии поддержки этой функции.

Требования предприятия

Ниже описаны требования к предприятиям для использования сегментирования сети 5G на устройствах в корпоративной среде Android.

  • Убедитесь, что устройства, находящиеся под полным управлением или созданные сотрудниками с рабочим профилем, поддерживают технологию 5G SA и оснащены модемами, поддерживающими API setupDataCall_1_6 .
  • Взаимодействовать с партнером-оператором по вопросам настройки и производительности сегментов сети, а также характеристик соглашения об уровне обслуживания (SLA).

Включите сегментирование сети 5G на устройствах, настроенных с использованием рабочего профиля.

Для устройств, настроенных с использованием рабочих профилей, сегментирование сети 5G по умолчанию отключено в AOSP. Чтобы включить сегментирование сети, корпоративные ИТ-администраторы могут включать или отключать маршрутизацию трафика приложений рабочих профилей в корпоративный сетевой сегмент для каждого сотрудника отдельно через EMM DPC, используя метод setPreferentialNetworkServiceEnabled в API DevicePolicyManager (DPM) (представленном в Android 12).

Поставщикам EMM-решений с пользовательскими DPC необходимо интегрировать API DevicePolicyManager для поддержки корпоративных клиентов.

правила URSP

В этом разделе представлена ​​информация для операторов связи о настройке правил URSP для различных категорий трафика, включая корпоративный трафик, трафик CBS, трафик с низкой задержкой и трафик с высокой пропускной способностью. При настройке правил URSP для различных категорий трафика операторы связи должны использовать следующие значения, специфичные для Android.

ИДЕНТИФИКАТОР Ценить Описание
OSID 97a498e3-fc92-5c94-8986-0333d06e4e47 OSId для Android — это UUID версии 5, сгенерированный с использованием пространства имен ISO OID и имени "Android".

Операторы связи должны настроить правила URSP для каждого сегмента трафика, указав в качестве компонента дескриптора трафика "идентификатор ОС + идентификатор приложения ОС". Например, для сегмента "ENTERPRISE" значение должно быть равно 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345 . Это значение представляет собой конкатенацию идентификатора ОС, длины идентификатора приложения ОС ( 0x0A ) и идентификатора приложения ОС. Дополнительную информацию о типе компонента дескриптора трафика см. в таблице 5.2.1 стандарта 3GPP TS 24.526 .

В таблице ниже приведены значения OSAppId для различных категорий срезов.

Категория ломтиков OSAppId Описание
ENTERPRISE 0x454E5445525052495345 OSAppId представляет собой массив байтов, отображающий строку ENTERPRISE
ENTERPRISE2 0x454E544552505249534532 OSAppId представляет собой массив байтов, отображающий строку ENTERPRISE2
ENTERPRISE3 0x454E544552505249534533 OSAppId представляет собой массив байтов, отображающий строку ENTERPRISE3
ENTERPRISE4 0x454E544552505249534534 OSAppId представляет собой массив байтов, отображающий строку ENTERPRISE4
ENTERPRISE5 0x454E544552505249534535 OSAppId представляет собой массив байтов, отображающий строку ENTERPRISE5
CBS 0x434253 OSAppId представляет собой массив байтов, отображающий строку CBS
PRIORITIZE_LATENCY 0x5052494f524954495a455f4c4154454e4359 OSAppId представляет собой массив байтов, отображающий строку PRIORITIZE_LATENCY
PRIORITIZE_BANDWIDTH 0x5052494f524954495a455f42414e445749445448 OSAppId представляет собой массив байтов, отображающий строку PRIORITIZE_BANDWIDTH
PRIORITIZE_UNIFIED_COMMUNICATIONS 0x5052494f524954495a455f554e49464945445f434f4d4d554e49434154494f4e53 OSAppId представляет собой массив байтов, отображающий строку PRIORITIZE_UNIFIED_COMMUNICATIONS

Пример правил URSP

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

Предприятие 1

Поддержка Enterprise 1 доступна в Android 12 и выше. Ниже приведен пример правила URSP для трафика ENTERPRISE1:

Правило URSP № 1 (enterprise1)
Приоритет 1 (0x01)
Описание дорожной ситуации №1
Идентификатор ОС + Тип идентификатора приложения ОС 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345
Описание выбора маршрута №1
Приоритет 1 (0x01)
Компонент №1: S-NSSAI SST:XX SD:YYYYYY
Компонент №2: DNN предприятие
Описание выбора маршрута №2
Приоритет 2 (0x02)
Компонент №1: DNN предприятие

Предприятие 2

Поддержка Enterprise 2 доступна в Android 13 и выше. Ниже приведен пример правила URSP для трафика ENTERPRISE2:

Правило URSP № 2 (enterprise2)
Приоритет 2 (0x02)
Описание дорожной ситуации №1
Идентификатор ОС + Тип идентификатора приложения ОС 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534532
Описание выбора маршрута №1
Приоритет 1 (0x01)
Компонент №1: S-NSSAI SST:XX SD:YYYYYY
Компонент №2: DNN предприятие2
Описание выбора маршрута №2
Приоритет 2 (0x02)
Компонент №1: DNN предприятие2

Предприятие 3

Поддержка Enterprise 3 доступна в Android 13 и выше. Ниже приведен пример правила URSP для трафика ENTERPRISE3:

Правило URSP № 3 (enterprise3)
Приоритет 3 (0x03)
Описание дорожной ситуации №1
Идентификатор ОС + Тип идентификатора приложения ОС 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534533
Описание выбора маршрута №1
Приоритет 1 (0x01)
Компонент №1: S-NSSAI SST:XX SD:YYYYYY
Компонент №2: DNN предприятие3
Описание выбора маршрута №2
Приоритет 2 (0x02)
Компонент №1: DNN предприятие3

Предприятие 4

Поддержка Enterprise 4 доступна в Android 13 и выше. Ниже приведен пример правила URSP для трафика ENTERPRISE4:

Правило URSP № 4 (enterprise4)
Приоритет 4 (0x04)
Описание дорожной ситуации №1
Идентификатор ОС + Тип идентификатора приложения ОС 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534534
Описание выбора маршрута №1
Приоритет 1 (0x01)
Компонент №1: S-NSSAI SST:XX SD:YYYYYY
Компонент №2: DNN enterprise4
Описание выбора маршрута №2
Приоритет 2 (0x02)
Компонент №1: DNN enterprise4

Предприятие 5

Поддержка Enterprise 5 доступна в Android 13 и выше. Ниже приведен пример правила URSP для трафика ENTERPRISE5:

Правило URSP № 5 (enterprise5)
Приоритет 5 (0x05)
Описание дорожной ситуации №1
Идентификатор ОС + Тип идентификатора приложения ОС 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534535
Описание выбора маршрута №1
Приоритет 1 (0x01)
Компонент №1: S-NSSAI SST:XX SD:YYYYYY
Компонент №2: DNN предприятие5
Описание выбора маршрута №2
Приоритет 2 (0x02)
Компонент №1: DNN предприятие5

CBS

Поддержка CBS доступна в Android 13 и выше. Ниже приведен пример правила URSP для трафика CBS:

Правило URSP № 6 (CBS)
Приоритет 6 (0x06)
Описание дорожной ситуации №1
Идентификатор ОС + Тип идентификатора приложения ОС 0x97A498E3FC925C9489860333D06E4E4703434253
Описание выбора маршрута №1
Приоритет 1 (0x01)
Компонент №1: S-NSSAI SST:XX SD:YYYYYY
Компонент №2: DNN CBS
Описание выбора маршрута №2
Приоритет 2 (0x02)
Компонент №1: DNN CBS

Низкая задержка

Поддержка низкой задержки доступна в Android 13 и выше. Ниже приведен пример правила URSP для трафика с низкой задержкой:

Правило URSP № 7 (низкая задержка)
Приоритет 7 (0x07)
Описание дорожной ситуации №1
Идентификатор ОС + Тип идентификатора приложения ОС 0x97A498E3FC925C9489860333D06E4E47125052494f524954495a455f4c4154454e4359
Описание выбора маршрута №1
Приоритет 1 (0x01)
Компонент №1: S-NSSAI SST:XX SD:YYYYYY
Компонент №2: DNN задержка
Описание выбора маршрута №2
Приоритет 2 (0x02)
Компонент №1: DNN задержка

Высокая пропускная способность

Поддержка высокоскоростного трафика доступна в Android 13 и выше. Ниже приведен пример правила URSP для трафика с высокой пропускной способностью:

Правило URSP № 8 (высокая пропускная способность)
Приоритет 8 (0x08)
Описание дорожной ситуации №1
Идентификатор ОС + Тип идентификатора приложения ОС 97A498E3FC925C9489860333D06E4E47145052494f524954495a455f42414e445749445448
Описание выбора маршрута №1
Приоритет 1 (0x01)
Компонент №1: S-NSSAI SST:XX SD:YYYYYY
Компонент №2: DNN полоса пропускания
Описание выбора маршрута №2
Приоритет 2 (0x02)
Компонент №1: DNN полоса пропускания

По умолчанию

Правило URSP № 9 (по умолчанию)
Приоритет 9 (0x09)
Описание дорожной ситуации №1
совпасть все Н/Д
Описание выбора маршрута №1
Приоритет 1 (0x01)
Компонент №1: S-NSSAI SST:XX SD:YYYYYY

Тестирование

Для проверки работы функции сегментирования сети 5G используйте следующий ручной тест.

Для настройки устройства для тестирования выполните следующие действия:

  1. Убедитесь, что политика URSP настроена с правилом, отличным от правила по умолчанию, которое соответствует категории предприятия, и что соответствующий дескриптор выбора маршрута сопоставляет категорию предприятия с сегментом предприятия; а также с правилом по умолчанию, направляющим трафик в сегмент интернета по умолчанию.

  2. Убедитесь, что на устройстве настроен рабочий профиль.

  3. Примите решение об использовании сегментирования сети через DPC.

Для проверки работы функции сегментирования сети 5G выполните следующие действия:

  1. Убедитесь, что установлено соединение PDU с корпоративным сегментом (например, с использованием определенного IP-адреса) и что приложения в рабочем профиле используют это соединение PDU.
  2. Убедитесь, что установлена ​​отдельная сессия PDU с основным интернет-каналом и что приложения в личном профиле используют эту сессию PDU.

Дополнительные продажи 5G-сегментации

Функция расширения сети 5G (5G slicing), доступная начиная с Android 14 QPR1, позволяет операторам связи предлагать своим пользователям расширенные возможности сети (задержку и пропускную способность) за счет сегментирования сети 5G.

Функция дополнительных продаж 5G-сегментов использует ответ TS.43 от сервера предоставления прав доступа оператора для управления процессом покупки. Операторы могут использовать этот ответ для указания URL-адреса веб-интерфейса покупки, отправки дополнительных данных в веб-интерфейс и указания того, предоставлен ли сегмент и доступен ли он в сети оператора.

Операторы связи могут настраивать поведение функции дополнительных продаж 5G-сегментации с помощью конфигурационных файлов, которые определяют, можно ли отправлять запросы на покупку, когда приложениям разрешено запрашивать премиум-функции и как долго система телефонии ожидает ответа от пользователя или сети.

Функция расширения сети 5G предоставляет интерфейс под названием DataBoostWebServiceFlow , позволяющий осуществлять связь между Android и веб-интерфейсом оператора связи.

На рисунке 2 показана схема дополнительных продаж услуг по сегментированию сети 5G:

Процесс дополнительных продаж при сегментировании сетей 5G

Рисунок 2. Схема дополнительных продаж при сегментировании сети 5G.

Процесс предоставления прав TS.43

Когда пользователь запрашивает расширенные сетевые возможности, платформа телефонии запрашивает конфигурацию прав доступа к запрашиваемой премиум-функции. Если ответ TS.43 действителен, платформа телефонии использует поля из HTTP-ответа для обработки запроса на покупку.

Поля для покупки срезов

Конфигурация прав доступа TS.43 включает следующие поля для покупки отдельных сегментов:

Статус права на получение льгот

Ключ: EntitlementStatus

Тип: int

Поддерживаемые значения: 0 (отключено), 1 (включено), 2 (несовместимо), 3 (подготовка), 4 (включено)

Статус предоставления ресурсов

Ключ: ProvStatus

Тип: int

Поддерживаемые значения: 0 (не подготовлено), 1 (подготовлено), 2 (недоступно), 3 (в процессе)

В системе телефонии для определения текущего состояния покупки сегмента используется сочетание статуса права доступа и статуса предоставления услуг. Результатом может быть одно из следующих:

Если статус права доступа равен 1 (включено), а статус предоставления услуги равен 0 (не предоставлено), платформа телефонии отображает пользователю уведомление о предложении приобрести дополнительную услугу через веб-интерфейс оператора связи. В следующей таблице описано поведение платформы телефонии для различных комбинаций значений статуса предоставления услуги и статуса права доступа.

Статус предоставления ресурсов
Не выделено ( 0 ) Предоставлено ( 1 ) Недоступно ( 2 ) В процессе ( 3 )
Статус права на получение льгот Отключено ( 0 ) Неуспешный Неуспешный Неуспешный Неуспешный
Включено ( 1 ) Показать веб-просмотр Уже куплено Уже куплено В ходе выполнения
Несовместимо ( 2 ) Неуспешный Неуспешный Неуспешный Неуспешный
Предоставление ресурсов ( 3 ) Ошибка оператора связи Ошибка оператора связи В ходе выполнения В ходе выполнения
Включено ( 4 ) Ошибка оператора связи Уже куплено Уже куплено Ошибка оператора связи

Поля потока обслуживания

В ответе TS.43 указываются URL-адрес, пользовательские данные и тип содержимого для настройки поведения веб-представления покупки у оператора связи. Если тип содержимого не указан, URL-адрес загружается как GET-запрос. Если пользовательские данные существуют, они добавляются к URL-адресу в качестве параметра запроса (например, https://www.android.com?encodedValue=Base64EncodedUserData ); если же они отсутствуют, URL-адрес используется как есть (например, https://www.android.com ).
Если тип содержимого указан в формате JSON или XML, URL-адрес загружается как POST-запрос, а данные пользователя (декодированные, если они закодированы в Base 64) отправляются в качестве данных для POST-запроса.

URL

Ключ: ServiceFlow_URL

Тип: String

Пример: "https://www.android.com"

Данные пользователя

Ключ: ServiceFlow_UserData

Тип: String

Пример: "encodedValue=Base64EncodedUserData"

Тип содержимого

Ключ: ServiceFlow_ContentsType

Тип: String

Поддерживаемые значения: 0 (не указано), 1 (JSON), 2 (XML)

Конфигурации операторов связи

Ниже представлены доступные конфигурации операторов связи для настройки работы функции дополнительных продаж 5G-сегментации.

KEY_SUPPORTED_PREMIUM_CAPABILITIES_INT_ARRAY

Список поддерживаемых премиум-функций. Это целочисленный массив объектов TelephonyManager.PremiumCapability . Эти премиум-функции имеют то же значение, что и соответствующие объекты класса NetworkCapabilities.NetCapability . Если запрашивается премиум-функция, которая не включена в эту конфигурацию, запрос на покупку завершается ошибкой CARRIER_DISABLED .

В Android 14 поддерживается только PREMIUM_CAPABILITY_PRIORITIZE_LATENCY .

KEY_PREMIUM_CAPABILITY_MAXIMUM_DAILY_NOTIFICATION_COUNT_INT

Максимальное дневное количество показов уведомления о дополнительной покупке пользователю. Если дневной максимум достигнут, уведомление о дополнительной покупке не отображается, а запросы на покупку (включая запросы к серверу авторизации) блокируются до полуночи следующего дня. Запросы на покупку, сделанные после достижения дневного максимума, завершаются ошибкой PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED .

KEY_PREMIUM_CAPABILITY_MAXIMUM_MONTHLY_NOTIFICATION_COUNT_INT

Максимальное количество показов уведомления о дополнительной покупке пользователю за месяц. Если этот лимит достигнут, уведомление о дополнительной покупке не отображается, а запросы на покупку (включая запросы к серверу авторизации) блокируются до первого дня следующего месяца. Запросы на покупку, сделанные после достижения максимального лимита, завершаются ошибкой PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED .

KEY_PREMIUM_CAPABILITY_PURCHASE_URL_STRING

URL-адрес покупки у резервного оператора, который будет отображаться пользователю при нажатии на уведомление о дополнительном предложении. Если URL-адрес покупки не найден в ответе TS.43 от сервера управления правами доступа, используется это значение. Если ни URL-адрес из ответа TS.43, ни конфигурация оператора недействительны, запрос на покупку завершается с ошибкой PURCHASE_PREMIUM_CAPABILITY_RESULT_CARRIER_DISABLED .

KEY_PREMIUM_CAPABILITY_SUPPORTED_ON_LTE_BOOL

Разрешать ли приобретение дополнительных возможностей при подключении устройства к сети Long-Term Evolution (LTE). Если true , запросы на покупку можно отправлять как через LTE, так и через New Radio (NR). Если false , запросы на покупку можно отправлять только через NR, а запросы через LTE завершаются ошибкой PURCHASE_PREMIUM_CAPABILITY_RESULT_NETWORK_NOT_AVAILABLE .

KEY_PREMIUM_CAPABILITY_NOTIFICATION_DISPLAY_TIMEOUT_MILLIS_LONG

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

KEY_PREMIUM_CAPABILITY_NOTIFICATION_BACKOFF_HYSTERESIS_TIME_MILLIS_LONG

Время, в течение которого последующие запросы на покупку должны быть ограничены после сбоя из-за истечения времени ожидания или отмены пользователем. Если пользователь не нажимает на уведомление о покупке в течение времени ожидания, указанного в KEY_PREMIUM_CAPABILITY_NOTIFICATION_DISPLAY_TIMEOUT_MILLIS_LONG , или если он отменяет или отклоняет уведомление, запускается этот таймер задержки. Пока этот таймер активен, запросы на покупку завершаются с ошибкой PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED .

KEY_PREMIUM_CAPABILITY_PURCHASE_CONDITION_BACKOFF_HYSTERESIS_TIME_MILLIS_LONG

Время, в течение которого последующие запросы на покупку должны быть ограничены после сбоя, вызванного оператором связи или сетью. Если проверка прав не пройдена, URL-адрес недоступен или URL-адрес покупки у оператора связи указывает на сбой, запускается этот таймер задержки. Пока этот таймер активен, запросы на покупку завершаются с ошибкой PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED .

KEY_PREMIUM_CAPABILITY_NETWORK_SETUP_TIME_MILLIS_LONG

Время, в течение которого сеть должна настроить конфигурацию сегментации для приобретенных премиальных возможностей. В течение этого периода последующие запросы на покупку блокируются и возвращают результат PURCHASE_PREMIUM_CAPABILITY_RESULT_PENDING_NETWORK_SETUP . Если сеть не успевает настроить конфигурацию сегментации вовремя, приложения могут снова запросить покупку премиальных возможностей. Телефония не считает покупку завершенной, пока не будет отправлена ​​соответствующая конфигурация сегментации, независимо от того, оплатил ли пользователь услуги оператора связи или нет.

JavaScript-интерфейс

Когда пользователь нажимает на уведомление об улучшении сети, ему отображается объект WebView с URL-адресом покупки у оператора связи. Операторы связи могут использовать API, предоставляемые в интерфейсе JavaScript DataBoostWebServiceFlow на своих веб-сайтах для покупки, чтобы взаимодействовать с приложением для покупки отдельных пакетов услуг.

Веб-сайт оператора связи может получить запрошенную премиум-функцию с помощью метода getRequestedCapability() .

В случае успешной покупки веб-сайт оператора связи должен уведомить приложение о покупке фрагмента товара с помощью notifyPurchaseSuccessful() или notifyPurchaseSuccessful(duration) , где duration — необязательный параметр, указывающий на желаемую продолжительность фрагмента товара.

Если покупка не удалась, веб-сайт оператора связи должен уведомить приложение для покупки отдельных пакетов с помощью метода notifyPurchaseFailed(code, reason) , где code — это код ошибки, указывающий причину сбоя, а reason — это удобочитаемая причина сбоя, если код ошибки неизвестен.

Если ни один из этих способов ответа не будет вызван, покупка не будет считаться завершенной, и запрос на покупку в конечном итоге истечет по истечении времени ожидания.

Ниже приведены допустимые коды ошибок, которые может выдать веб-сайт оператора связи в случае неудачной покупки:

После завершения покупки оператор связи должен обновить правила URSP , добавив в них срез PRIORITIZE_LATENCY на устройство пользователя.

Автоматическая маршрутизация 5G-стриминга для голосовой и видеосвязи OTT.

Android 17 поддерживает автоматическую маршрутизацию голосовых и видеозвонков через OTT-сервисы на премиальные сетевые соединения. Эта функция позволяет системе автоматически перенаправлять трафик голосовых и видеозвонков на выделенный премиальный сетевой интерфейс (например, премиальный сегмент 5G или премиальное соединение 4G PDN) без необходимости внесения изменений в сетевой стек приложения.

Это решение на уровне платформы устраняет необходимость для разработчиков приложений явно запрашивать сетевые возможности, обеспечивая бесперебойную работу как для разработчиков, так и для конечных пользователей.

Как это работает

В Android реализована поддержка автоматической маршрутизации за счет дополнений к платформам связи и телекоммуникаций. Функция автоматической маршрутизации работает следующим образом:

  • Обнаружение вызовов: Система использует существующие API Telecom Jetpack, применяемые OTT-приложениями, для определения начала и окончания голосовых или видеозвонков.
  • Управление соединениями: При обнаружении вызова Android активирует выделенный премиальный сетевой интерфейс, например, сегмент унифицированных коммуникаций.
  • Управление трафиком: Во время вызова платформа идентифицирует приложение по его UID и автоматически направляет его трафик на высокоскоростное сетевое соединение.
  • После завершения звонка: когда звонок заканчивается, платформа удаляет правило маршрутизации, и трафик приложения возвращается в системную сеть по умолчанию для трафика, не связанного со звонками (например, для обмена сообщениями).

Требования

Для поддержки автоматической маршрутизации OTT-звонков необходимо выполнить следующие требования:

  • Операторы связи: должны предоставлять сегмент унифицированных коммуникаций, настроив соответствующие правила URSP. Операторы связи должны заполнить URSP конкретным OSAppID для трафика унифицированных коммуникаций.
  • Приложения: Для определения состояния вызовов необходимо использовать API Android Telecom Jetpack.
  • Производители устройств: требуется Android 17 или выше.