USSD

USSD (англ. Unstructured Supplementary Service Data — «Неструктурированные дополнительные сервисные данные») — коммуникационный протокол в сотовых сетях стандарта GSM, который иногда называют «быстрые коды» или «функциональные коды». USSD используется для взаимодействия мобильных телефонов с вычислительными системами мобильного оператора. Протокол применяется для WAP-сёрфинга, услуг обратного вызова, мобильных платёжных сервисов, контент-услуг с привязкой к местоположению, информационных сервисов на основе меню, а также при настройке устройства в сети[1]. Для использования USSD не требуется отдельное приложение для обмена сообщениями, при этом передача не тарифицируется[2].

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

Хотя стандарт GSM и технологии 2G и 3G постепенно выводятся из эксплуатации с 2020-х годов, поддержка USSD реализована и в сетях LTE (4G) и 5G.

Применение

Когда пользователь отправляет USSD-запрос в сеть оператора, тот попадает на специальный сервер USSD, а ответ возвращается на телефон в простом формате, легко читаемом на дисплее. Формат USSD-сообщения и реализованные сервисы не регулируются единым органом стандартизации, поэтому каждый оператор может внедрять любые услуги по своему усмотрению.

USSD широко используется для организации сервисов управления вызовами, например, обратного вызова (callback), что позволяет снизить расходы на роуминг, для реализации интерактивных коммерческих и информационных сервисов.

Чаще всего телефоны на предоплаченных тарифах GSM используют USSD для проверки баланса. Программное обеспечение оператора «Сделать запрос баланса» скрывает детали протокола USSD от пользователя. В некоторых сетях с оплатой по факту (pay as you go), например Tesco Mobile, после любой платной операции пользователю моментально приходит USSD-уведомление с обновлённым балансом. Также через USSD можно пополнять баланс SIM-карты, получать одноразовые пароли или PIN-коды.

Операторы используют USSD и для доступа к потоковым обновлениям из социальных сетей, таких как Facebook и Twitter[3]. В 2012—2018 годах проект Wikipedia Zero предоставлял доступ к статьям Википедии через USSD[4].

Иногда USSD используется совместно с SMS: пользователь отправляет USSD-запрос, сеть подтверждает обработку («Спасибо, ваше сообщение обрабатывается. На телефон придёт сообщение»), а результат приходит уже как SMS[5][6]. Таким образом, USSD используется для управления, а SMS — для отправки уведомлений.

Технические подробности

Большинство телефонов стандарта GSM поддерживают работу с USSD[7]. USSD спроектирован для обмена сообщениями в реальном времени и не использует центры коротких сообщений (SMSC), а значит, не поддерживает функцию store-and-forward, характерную для SMS.

Первая версия (Phase 1), определённая стандартом GSM 02.90, поддерживает только мобильные запросы («pull»-операции)[8]; в ядре сети (core network) USSD-сообщения пересылаются через протокол MAP. Вторая версия (Phase 2), определённая в GSM 03.90, включает дополнительные возможности[9]. После ввода USSD-кода на телефоне ответ от оператора появляется, как правило, за несколько секунд.

Для работы USSD в сетях LTE, 5G и IMS реализованы альтернативные решения, обеспечивающие тот же пользовательский опыт, что и в сетях GSM[10].

Формат

Обычно USSD-команда начинается с символа * или # и заканчивается символом #. Как правило, код содержит последовательности цифр (для команд или данных), которые могут разделяться дополнительными символами *[1].

Режимы работы USSD

  • Инициируемый пользователем (PULL, P2A): пользователь набирает, например, *139# с телефона.
  • Инициируемый сетью (PUSH, A2P): пользователь получает push-сообщение, чаще всего — промо- или служебные уведомления.
Примеры USSD-кодов
*101#
*139*1*1234567890#

Интерфейс человек-машина (MMI)

Коды ниже не являются USSD-кодами, это стандартизованные коды человек-машина (MMI), одинаково работающие на всех телефонах GSM. Сначала их обрабатывает сам телефон, затем выполняет команду, посылаемую в сеть (но не сам код). Эти коды могут не работать с AT-командным интерфейсом — для таких действий стандартом предусмотрены отдельные AT-команды[11][12].

BS — тип услуги (bearer service, сервис передачи), возможные значения:

  • 11 — голос (voice)
  • 13 — факс (fax)
  • 16 — SMS (только ограничение)
  • 25 — данные (data)

T — время в секундах для условия «нет ответа», по умолчанию 20 секунд

USSD/MMI-коды GSM и их функции для различных операторов
Код Назначение Примечание Включить Отключить Показать статус
002 все переадресации безусловно, занято, недоступен, не отвечает **002*<номер>*<BS>*<T># ##002**<BS># *#002**<BS>#
004 все условные переадресации занято, нет ответа, вне зоны **004*<номер>*<BS>*<T># ##004**<BS># *#004**<BS>#
03 смена сетевого пароля пароль определяется сетью, по умолчанию часто 0000. См. функции запрета вызовов *33 **03*330*<старый пароль>*<новый пароль>*<новый пароль>#
04 смена PIN **04*<старый PIN>*<новый PIN>*<новый PIN>#
042 смена PIN2 Только для SIM 2-го поколения **042*<старый PIN2>*<новый PIN2>*<новый PIN2>#
05 смена PIN по PUK **05*<PUK>*<новый PIN>*<новый PIN>#
052 смена PIN2 по PUK Только для SIM 2-го поколения **052*<PUK>*<новый PIN2>*<новый PIN2>#
06 узнать IMEI *#06#
21 безусловная переадресация все входящие вызовы будут перенаправлены **21*<номер>*<BS># ##21**<BS># *#21**<BS>#
30 отображать номер звонящего (CLIP) показывает CLIP входящего вызова *30# #30# *#30#
31 скрыть свой номер (CLIR) для всех последующих вызовов #31# *31# *#31#
31 временная смена CLIR действует только на следующий вызов, не требует # #31#<номер> *31#<номер>
330 полный запрет входящих и исходящих пароль зависит от сети, по умолчанию часто 0000 *330*<пароль>*<BS># #330*<пароль>*<BS># *#330**<BS>#
33 запрет исходящих вызовов пароль зависит от сети, по умолчанию часто 0000 *33*<пароль>*<BS># #33*<пароль>*<BS># *#33**<BS>#
331 запрет международных исходящих пароль зависит от сети, по умолчанию часто 0000 *331*<пароль>*<BS># #331*<пароль>*<BS># *#331**<BS>#
332 запрет международных исходящих (кроме домашней) пароль зависит от сети, по умолчанию часто 0000 *332*<пароль>*<BS># #332*<пароль>*<BS># *#332**<BS>#
333 полный запрет исходящих пароль зависит от сети, по умолчанию часто 0000 *333*<пароль>*<BS># #333*<пароль>*<BS># *#333**<BS>#
35 запрет входящих вызовов пароль зависит от сети, по умолчанию часто 0000. Несовместим с переадресацией *35*<пароль>*<BS># #35*<пароль>*<BS># *#35**<BS>#
351 запрет входящих в роуминге пароль зависит от сети, по умолчанию часто 0000 *351*<пароль>*<BS># #351*<пароль>*<BS># *#351**<BS>#
353 полный запрет входящих пароль зависит от сети, по умолчанию часто 0000 *353*<пароль>*<BS># #353*<пароль>*<BS># *#353**<BS>#
37 обратный вызов при занятости (CCBS) работает не у всех операторов *37# #37# *#37#
43 оповещение о вызове при занятости (ожидание) call waiting *43*<BS># #43*<BS># *#43**<BS>#
61 переадресация при отсутствии ответа **61*<номер>*<BS>*<T># ##61**<BS># *#61**<BS>#
62 переадресация, если телефон выключен или вне зоны **62*<номер>*<BS># ##62**<BS># *#62**<BS>#
67 переадресация при занятости или отклонении **67*<номер>*<BS># ##67**<BS># *#67**<BS>#
Код Назначение Примечание Включить Отключить Показать статус

См. также

Примечания