BroadNet
ЖурналИнженерия
Инженерия

Что такое SMS шлюз — и как выбрать тот, который обеспечит эффективную доставку SMS-сообщений.

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

BroadNet Engineering
5 мин чтения
Инженерия · Выпуск 07
5 мин чтения

Что на самом деле делает SMS шлюз

MS шлюз — это мост между приложением и мобильными сетями, передающими текстовые сообщения. Ваше программное обеспечение использует веб-протоколы и структурированные данные; операторы используют сигнальные протоколы, разработанные для телекоммуникаций. Шлюз осуществляет преобразование между ними — принимает сообщение от вашей системы, форматирует его для целевой сети, отправляет по правильному маршруту и возвращает ответ сети, чтобы вы знали, что произошло.

За этим переводом скрывается удивительно много сложностей: проверка и форматирование чисел в соответствии со стандартом E.164, обработка кодировок символов (7-битный GSM против UCS-2 для нелатинских алфавитов), сегментация сообщений для длинных текстов, правила идентификации отправителя, которые различаются в зависимости от страны, и обратный путь для подтверждения доставки. Хороший шлюз делает все это предсказуемым. Слабый же раскрывает вам всю сложность в виде неудачных отправок и скрытых потерь.

SMPP -привязки против HTTP API

Существует два распространенных способа подключения. Первый — это SMPP (Short Message Peer-to-Peer), протокол, используемый самими операторами. Вы открываете постоянную TCP-сессию — «привязку» — в качестве передатчика, приемника или трансивера и передаете сообщения по ней. SMPP эффективен при больших объемах данных, обеспечивает точный контроль над параметрами сообщений и доставляет подтверждения асинхронно в рамках одной и той же сессии. Это правильный выбор, когда вы отправляете данные непрерывно в больших масштабах и хотите минимизировать накладные расходы на каждое сообщение.

Второй вариант — это HTTP / REST API. Вы отправляете сообщение в виде простого HTTPS запроса и получаете JSON-ответ; подтверждения доставки приходят через веб-хук. REST гораздо проще интегрировать, он подходит для современных стеков и бессерверных функций и не требует длительного соединения. Для большинства типов трафика приложений — одноразовых паролей, уведомлений, оповещений — это прагматичный выбор.

Ни один из протоколов не является универсально лучшим. Команды, отправляющие миллионы сообщений в день, часто используют SMPP для повышения пропускной способности и контроля; команды, быстро внедряющие новые функции, обращаются к REST. Наиболее выгодно иметь оба протокола, чтобы протокол следовал за рабочей нагрузкой, а не наоборот.

Хостинг против выделенного сервера

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

Выделенная сеть обеспечивает изолированную пропускную способность — выделенное соединение SMPP, зарезервированная пропускная способность, иногда выделенные маршруты или номера. Она стоит дороже и требует больше времени на развертывание, но защищает от помех со стороны «соседей», делает пропускную способность предсказуемой и часто необходима для регулируемых или высокозащищенных рабочих нагрузок. Решение сводится к объему, предсказуемости и соответствию требованиям, а не к престижу. Выбирайте выделенную сеть, когда действительно важны стабильная TPS и изоляция; в противном случае, размещение на хостинге — более простое решение.

Пропускная способность, TPS и отчёты о доставке.

Пропускная способность обычно указывается в TPS — транзакциях (сообщениях) в секунду. Она наиболее важна, когда всплеск должен быть обработан в узком временном окне: мгновенное оповещение, запланированная кампания, волна кодов авторизации. Показатель TPS в заголовке бессмысленен без двух уточнений: является ли он постоянным или пиковым, и может ли нижестоящий оператор фактически его обработать. Шлюз может принимать от вас 1000 TPS и при этом стоять в очереди за маршрутом, который обрабатывается гораздо медленнее.

Именно здесь и пригодятся уведомления о доставке (DLR). DLR — это подтверждение сетью конечного состояния сообщения: доставлено, не доставлено, истек срок действия или отклонено. Рассматривайте «отправлено» и «доставлено» как разные вещи: отправка означает, что шлюз принял ваш запрос; доставка означает, что устройство его получило. Установите контрольные точки для обоих случаев, согласуйте их и оповестите о расхождении. Когда уведомления о доставке перестают поступать или скорость доставки падает, вы обнаруживаете проблему маршрутизации раньше, чем это сделают ваши пользователи.

Качество маршрутизации и серые маршруты

Главное отличие между шлюзами заключается в маршрутизации — пути, по которому сообщение достигает оператора назначения. Прямые соединения с операторами обеспечивают беспроблемную доставку, надежную обработку идентификаторов отправителя и корректные DLR (Daily Delivery Reduction). Дешевые, косвенные пути — часто называемые «серыми маршрутами» — используют лазейки для снижения затрат. Они выглядят привлекательно, пока операторы их не закроют: сообщения начинают фильтроваться, идентификаторы отправителя перезаписываются, подтверждения становятся ненадежными, а трафик может быть заблокирован без предупреждения.

Для всего, что имеет значение — паролей, уведомлений о транзакциях, уведомлений об учетной записи — качество маршрутизации не является роскошью. Главное — это зона покрытия оператора провайдера. Сеть BroadNet охватывает более 200 стран, и с 2003 года было установлено более 1000 прямых соединений с операторами, и именно этот прямой охват обеспечивает доставку важных сообщений в целости и сохранности.

SLA, безопасность и как оценить поставщика услуг.

Наконец, не ограничивайтесь перечислением функций. В соглашении об SLA должны быть указаны доступность, время отклика и что происходит в случае невыполнения целевых показателей, а не просто обещание «высокой надежности». В отношении безопасности обратите внимание на зашифрованный API трафик, аутентифицированные и IP-ограниченные привязки SMPP, разумное управление учетными данными и четкие правила обработки данных. Спросите, как работает переключение на резервный канал между маршрутами, как провайдер обрабатывает сбои в работе оператора и обеспечивает ли отчетность реальную прозрачность процесса доставки.

Шлюз — это инфраструктура. Оценивайте его так же, как и любую зависимость, от которой опирается ваш продукт: по протоколам, которые он использует, маршрутам, которые он контролирует, возвращаемым отчётам о доставке и гарантиям, которые он предоставляет в письменной форме.

Была ли эта информация полезна?

Как мы готовим и проверяем материалы

Автор:

BroadNet Engineering

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

Продолжайте читать

Ещё три статьи из журнала.

Посмотреть все эссе
К
Инженерия

Как на самом деле происходит маршрутизация SMS: объяснение принципов работы SMSC, ESME и пути доставки A2P.

Как работает SMSC? Проследите сквозное отслеживание SMS-сообщения A2P — привязка ESME через SMPP, submit_sm, сохранение и пересылка, поиск HLR, доставка MT на телефон и обратная отправка DLR.

Редакционная группа BroadNet
10m
E
Инженерия

Email в SMS: как работает шлюз email-to-SMS, когда его использовать и как обеспечить безопасность

Шлюз email-to-SMS преобразует электронное письмо, адресованное номеру телефона, в текстовое сообщение. Это позволяет инструментам мониторинга, службам поддержки и устаревшим системам, поддерживающим только e-mail, связываться с пользователями через SMS. Ниже описано, как это работает, в каких случаях это эффективнее, чем API, и как защитить шлюз от подмены почты.

Редакционная группа BroadNet
7m
A
Продукт

API для массовой рассылки SMS против платформы для массовой SMS (консоль): что вам действительно нужно?

Существует два способа массовой отправки SMS: API ваше приложение вызывает по событию, или консоль, из которой ваша команда запускает кампании. Выбор способа зависит от того, кто отвечает за отправку — и именно поэтому большинство команд используют оба варианта.

Редакционная группа BroadNet
5m
Журнал, по электронной почте

Одно эссе в месяц. Больше ничего.

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

Одно письмо в месяц. Отписаться можно в любой момент. См. нашу политику конфиденциальности.

Что вы получите
  • Подробный текст, а не призыв к действию.
    Шесть-одиннадцать минут сосредоточенного письма на одну тему.
  • Написано операторами
    В штате компании работают инженеры, специалисты по регулированию и разработчики продуктов.
  • Регионально-зависимый
    Взгляд со стороны региона MENA на регулирующие органы, операторов и структуру каналов сбыта.
  • Раз в месяц
    Никаких рассылок по частям. Одно эссе, когда есть чем поделиться.
Прекратите читать. Начинайте отправлять.

Большую часть того, что мы пишем, мы освоили в процессе производства.

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

$ curl -X POST https://api.broadnet.me/sms/sendSms