Протокол smpp. SMPP: Центр ждет SMS…. Особенности работы с протоколом

Ключевые особенности:

4752 руб


Microsoft Office Для дома и учебы 2016 для Windows

Microsoft Office Для дома и учебы 2016 - это основные приложения для дома и учебы с возможностью установки на 1 ПК. Включает в себя приложения Word, Excel, PowerPoint и OneNote.

Ключевые особенности:
Все пользователи OneDrive бесплатно

5990 руб


ABBYY FotoTranslate (многоязычная версия)

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

699 руб


Я познаю окружающий мир: Морские обитатели

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

195 руб


История игрушек на Диком Западе

Любимые игрушки снова в седле! Вас ждут сразу три замечательные аркады по мотивам шедевров анимации от студии Disney/Pixar. Совершите увлекательное путешествие на Дикий Запад в компании озорной Джесси и отважного ковбоя Вуди. Сможете ли вы управиться с

149 руб


Лунтик. Русский язык для малышей

Проект серии «Лунтик. Подготовка к школе», в которую вошли пять обучающих игр для детей в возрасте 5-7 лет - дошкольников и первоклассников.

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

Особенности игры:
Десять обучающих мини-игр для дошколят и первоклассников в помощь родителям и учителям.
Веселые истории о Лунтике и его друзьях - задания, которые можно решать и без помощи взрослых.
Игровая серия создана в тесном сотрудничестве с авторами мультипликационного сериала о приключениях Лунтика и его друзей - кинокомпанией СТВ и студией «Мельница».

108 руб


Я учусь решать задачи

218 руб


1С: Образовательная коллекция. Умные игры. Развитие логики и воображения

Серия "Умные игры" включает комплекты развивающих и обучающих игр с простым, интуитивно понятным ребенку интерфейсом. Сборники рассчитаны на детей 4-8 лет и содержат доступные им игры всех направлений, направленные на расширение кругозора, тренировку памяти, логики, внимания, а также на освоение основ работы с компьютером. Наборы из этой серии можно использовать как для занятий с малышами, проявляющими ярко выраженные способности к обучению, так и для подготовки тех детей более старших возрастов, у которых задерживается формирование некоторых характерных для их лет навыков. В числе авторов и разработчиков игр - опытные педагоги по дошкольному обучению и практикующие детские психологи.

218 руб


1С: Познавательная коллекция. Юный мультипликатор

Программа "Юный мультипликатор" познакомит ребят с технологией Flash и научит их выпускать анимационные ролики собственного производства. Хотите верьте, хотите проверьте, но многие современные детские мультфильмы созданы при помощи именно этой программы. Для ее освоения не нужно знакомиться с вычислительной математикой, разбираться в устройстве компьютера и постигать языки программирования: ваш ребенок, не зная даже азов информатики, с легкостью создаст настоящий мультфильм - на радость себе и своим родителям.

196 руб


Microsoft Office 365 Бизнес Премиум

Создайте работу мечты с Office 365 Бизнес Премиум!
Office 365 Бизнес Премиум – решение для малого бизнеса. Продукт подходит для компаний, которым нужны приложения Office, корпоративная электронная почта и другие бизнес-службы. Office 365 Бизнес Премиум cоздан для того, чтобы сделать работу в команде идеальной. Это подписка на 12 месяцев, в состав которой входит расширенный набор приложений Microsoft Office для всех устройств, а также бизнес-службы: Exchange, Skype для бизнеса, Teams. Помимо этого вам будут доступны новые приложения для малого бизнеса: Bookings и Outlook Customer Manager, которые сделают вашу работу еще удобнее и проще, а бизнес успешнее. Вместе с подпиской вы получаете бесплатный домен на 1 год. Раскройте потенциал команды и вдохновите коллег с помощью новых возможностей Office 365 Бизнес Премиум.

Подписка на 12 месяцев
Один пользователь
Одна лицензия предоставляет пользователю возможность установить полнофункциональные приложения Office на 5 компьютеров Windows или Mac, пять телефонов и пять планшетов
Полные и самые актуальные версии Word, Excel, PowerPoint, Outlook, OneNote, Publisher(только ПК), Access (только ПК)
Бизнес-службы: Exchange Online с почтовым ящиком размером 50 ГБ и пользовательским адресом домена электронной почты, Skype для бизнеса, Microsoft Teams, SharePoint Online
Новые бизнес-приложения: Outlook Customer Manager, Microsoft Bookings
Эксклюзивные обновления каждый месяц
1 ТБ в облачном сервисе OneDrive
Бесплатный домен на 1 год
Техническая поддержка Майкрософт
Лицензия для коммерческого использования

13790 руб

(Short Message Peer to Peer - короткое сообщение равноправных узлов) – открытый протокол, который используется для отправки/получения смс-сообщений между равноправными субъектами. Данный протокол используется, как и HTTP, поверх TCP/IP, но является бинарным. Как правило, SMPP протокол обеспечивает режим постоянного подключения, без совершения запросов и ожидания ответов от сервера с дальнейшим разрывом соединения. Использование постоянного подключения увеличивает в разы скорость отправки сообщений.

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

SMPP способен передавать любой тип сообщения, включая такие как UCP/EMI. SMPP поддерживает как длинные текстовые сообщения, так и сообщения, написанные в Unicode. Некоторые SMPP-сервера требуют от отправителя цельное длинное сообщение, а другие - чтобы выполнялось сегментирование сообщения, основанное на типе сообщения.

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

  • «Отправитель» или «отправить только» - работает только передача сообщения и сервер не может получать никаких сообщений.
  • «Получатель», или «только прием» - подключение через соединение для передачи сообщений не допускается, сервер может только принимать сообщения. Любая попытка получать сообщения через это соединение, как правило, приводит к ошибке.
  • «Трансивер» - разрешено отправлять и передавать сообщения через одно соединение.

Тип подключения, который вы используете, будет зависеть от предпочтений и политики ваших SMPP услуг.

Протокол SMPP является расширяемым, что позволяет провайдерам добавлять свои собственные дополнительные параметры, которые известны как TLV параметры, названные так из-за формата этих параметров: тег (метка), длина, стоимость. Некоторые TLV параметры, определены в спецификации, но не являются обязательными в использовании. Другие параметры предоставляются провайдером.

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

Передача сообщений между SMS-сервером и SMS Центром провайдера GSM службы по IP связи может быть через выделенную линию (шлюз) через Интернет. При этом IP-соединение между ПК и SMS Центром может быть защищено.

Преимущество SMPP протокола состоит в том, что процесс происходит намного быстрее и с меньшим интервалом (от одной до десяти секунд), чем при использовании мобильного телефона. SMPP рекомендуется применять, если максимальное количество отправляемых сообщений более чем 100 смс/час. Также, SMPP-сервис позволяет вписывать любую информацию (11 знаков) в строку номера отправителя. Поддерживаются цифры, символы латинского алфавита, знаки препинания пробел. Введенная информация будет фигурировать у получателя в строке «Сообщение от:» и может быть самостоятельно сменена отправителем. Таким образом, у вас есть возможность использовать свой SMS-центр, работающий по протоколу SMPP.

26 сентября 2011 в 12:59

Проблемы SMPP-протокола

  • Чулан

В мире сложно найти что-либо идеальное. Протокола SMPP также не лишен некоторых изъянов. Опишу свои проблемы с этим протоколом. Надеюсь кому-то это поможет в принятии правильных решений.

Первый , самый проблемный недостаток: потеря message_id при разрыве соединения. Страдают от этого операции отправки (submit_sm и т.п.) для которых не успел прийти ответ. Протокол не содержит встроенных средств восстановления утерянных идентификаторов. Как следствие, когда придет статус сообщения, его не к чему привязать. Более того, неизвестно принял ли это сообщение SMSC.
Если обмен осуществляется в синхронном режиме, то потеряется только одно сообщение. Но если работа производится в асинхронном режиме, тогда потери могут быть существенными.

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

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

Второй недостаток, который мне сильно досаждает, связан с отчетам о доставке deliver_sm. В версии протокола 3.4 нет строго определения как должна передаваться статусная информация. С одной стороны есть необязательная структура TLV в которой в жестко типизированной форме передается message_state и сопутствующие параметры. Это вариант хорош, за исключением того, что SMSC не сможет выслать в этой структуре какой-нибудь пространный комментарий. Но, повторюсь, нигде этот способ не указан как обязательный (MUST). Зато в приложении к протоколу приведен пример. Подчеркиваю: ПРИМЕР. Даже не рекомендация. Пример того, как SMSC может сообщать статусную информацию через (о боже, кто это придумал!!!) поле short_message. Т.е. в текстовом виде, странные сокращения, дикие форматы и т.д.
Вообще, это ситуация выбора одного из возможных вариантов (MAY). По моим представления о реализации протоколов выбор одного из разрешенных протоколом варианта - прерогатива формирующей пакет стороны. В данном случае с пакетом отчета это SMSC. А принимающая сторона обязана правильно обработать любой пакет соответствующий протоколу. Но суровая реальность говорит, что прав тот кто платит. Подавляющее большинство SMPP-клиентов понимают только поле short_message.
Славо богу из спецификации пятой версии протокола убрали эту мину (приложение), но найдите-ка SMPP-клиентов пятой версии.

Третий недостаток - передача длинных сообщений. Спецификация ненавязчиво ссылается на стандарт Technical Realisation of the Short Message Service Point to Point». Так ненавязчиво, что замечаешь ссылку только когда ищешь специально. Ссылка на этот стандарт приведена в разделе 1.4 References спецификации версии 3.4.
Вопрос: поле short_message предполагается протоколом использовать только в соответствии с GSM 03.40? GSM 03.40 предлагает длинный текст сообщения разбивается на серию конкатенированных sms, снабженных UDH-заголовками. Спецификация SMPP неявно подстегивает на свободное использование - длина поля 254 октетов. Это две sms латиницей или почти четыре sms кириллицей.
Читаем внимательно спецификацию SMPP:

4.4.1 “SUBMIT_SM” Syntax
«… Up to 254 octets of short message user data. The exact physical limit for short_message size may vary according to the underlying network… »

Т.е. ограничения накладываются передающей сетью (underlying network). В нашем случае underlying network описывается GSM 03.40. Следовательно 140 байт данных. Зачем же такое длинное поле? Дело в том что использоваться может 7-bit кодировка, тогда символов уже 160. short_message это текстовое поле измеряющееся в октетах, а не бинарное в байтах. Возможно, создатели закладывались и на другие, более изощренные варианты.
Разработчик SMPP-клиента по понятным причинам хочет упростить себе задачу. И не стремится на своей стороне связываться c конкатенированными SMS. В соответствии с протоколом SMSC МОЖЕТ предоставлять такую услугу через поле message_payload (самостоятельно делить сообщение на смски, снабжать заголовками) в форме по своему выбору (не стандартизировано). Но по протоколу не обязан. Да и применять это можно без страха только к обычным текстовым сообщениям. С точки зрения бизнеса вопрос тоже скользкий - как тарифицировать такие сообщения? А что если не все части сообщения имеют статус доставлено?

Четвертые недостаток связан с относительным форматом времени. Относительного чего отмерять указанное время? Когда нет задержек ни на клиенте ни на SMSC и между ними хорошая связь, вопросов, как правило, не возникает. Но если в каком-то месте появляется задержка, то точки отсчета времени клиента и SMSC существенно расходятся.
Для schedule_delivery_time в разделе 5.2.15 уточняется:

"..relative time from the current SMSC time at which delivery of this message will be attempted by the SMSC.."

Но проблему разных точек отсчета это не решает.

Литература

  • Short Message Peer to Peer Protocol Specification v3.4
  • Technical Realisation of the Short Message Service Point to Point»

Протокол обмена определяется спецификацией SMPP версии 3.4.

Версия 1.0 предназначена только для отправки сообщений и получения статуса доставки.

Прием сообщений в данный момент не поддерживается.

Расшифровку ошибок можно найти в спецификации SMPP версии 3.4.

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

Параметры подключения

Поддерживаемые команды

  • system_id - зарегистрированное в системе имя имя пользователя.
  • password - пароль SMS-пользователя
  • Адрес - sms.сайт
  • Порт - 9001

На неподдерживаемые команды сервер будет отвечать GENERIC_NAK сообщением с кодом ошибки ESME_RINVCMDID.

Параметры отправки сообщения (SUBMIT_SM)

Правила работы с SMPP подключением

При установке подключения клиенту дается 10 секунд, что бы отправить команду BIND_TRANSMITTER или BIND_TRANSCEIVER. Иначе соединение будет разорвано сервером.

Клиент обязан отвечать на все пакеты отправленные сервером соответствующим resp пакетом в течение 1 минуты. Иначе соединение будет разорвано сервером без отсылки UNBIND.

Получение статуса доставки сообщения

Есть две возможности получения статуса доставки (активный и пассивный). Пассивный вариант является предпочтительным.

Пассивный вариант предусматривает установки флага registered_delivery пакета SUBMIT_SM. После перехода сообщения в финальное состояние сервер отправит DELIVER_SM пакет с Delivery Receipt сообщением. Формат Delivery Receipt сообщения ниже.

Активный вариант предусматривает периодический опрос статуса сообщения отсылкой QUERY_SM.

Отправка СМС через smpp, smpp-шлюз

Одним из протоколов отправки SMS-сообщений является SMPP. Он описывает процесс взаимодействия получателя сообщения, то есть smpp-клиента с smpp-сервером, используя при этом особую систему передачи данных.

Взяв за основу отправку CMC-сообщений через протокол SMPP, Вы получите возможность:

  • 1) использовать различные текстовые форматы, а также wap push смс;
  • 2) отсылать не только короткие, но и длинные тексты;
  • 3) получать подробные отчеты о доставленных и отложенных смс;
  • 4) обмениваться сообщениями в двустороннем формате;
  • 5) выбирать скорость отправки.

Таким образом, протокол smpp обладает большими возможностями, которые, однако, сопряжены и с некоторыми особенностями использования и установки, которые мы и рассмотрим.

ТРЕБУЕТСЯ КАЧЕСТВЕННЫЙ SMPP-ШЛЮЗ? Свяжитесь с нами и мы предоставим тестовый доступ!

Особенности работы с SMPP

Для работы с протоколом SMPP необходимо иметь соответствующее ПО (SMPP-клиент, версии 3.4). При этом оборудование должно быть постоянно подсоединено к шлюзу компании "СМС-Агент". Для того чтобы отправка SMS через SMPP осуществлялась быстро и без задержек, все клиенты нашей фирмы проходят тест на совместимость оборудования. Это позволяет избавиться от многих технических сложностей еще на начальном этапе.

Кроме того, перед использованием протокола для проведения SMS-рассылок, пользователи могут провести тестовую отсылку СМС сообщений через SMPP, чтобы определиться с желаемой скоростью доставки.

Специалисты компании "СМС-Агент" всегда готовы предоставить консультацию по вопросам использования, подключения и тестирования сервиса SMPP, что упростит Вашу задачу.

Подключение по SMPP протоколу

System_id - зарегистрированное в системе имя пользователя
password - пароль пользователя
Адрес - smpp.сайт
Порт - 2775
Для шифрованного SSL-подключения используется порт 3443

Поддерживаемые команды по протоколу SMPP

Параметры отправки сообщения (SUBMIT_SM) по SMPP

Правила работы с SMPP подключением

При установке подключения клиенту дается 10 секунд, что бы отправить команду BIND_TRANSMITTER или BIND_TRANSCEIVER. Иначе соединение будет разорвано сервером.

Клиент обязан отвечать на все пакеты отправленные сервером соответствующим resp пакетом в течение 1 минуты. Иначе соединение будет разорвано сервером без отсылки UNBIND.

Получение статуса доставки сообщения

Есть две возможности получения статуса доставки по протоколу smpp (активный и пассивный). Пассивный вариант является предпочтительным.

Пассивный вариант предусматривает установку флага registered_delivery пакета SUBMIT_SM.
После перехода сообщения в финальное состояние сервер отправит DELIVER_SM пакет с Delivery Receipt сообщением.
Формат Delivery Receipt сообщения ниже.

Активный вариант предусматривает периодический опрос статуса сообщения отсылкой QUERY_SM.

Формат Delivery Receipt

"id:IIIIIIIIII sub:SSS dlvrd:DDD submit date:YYMMDDhhmm done date:YYMMDDhhmm stat:DDDDDDD err:E Text: . . . . . . . . ."

Зарезервированные коды ошибок при smpp соединении

Код Описание
0x0400 (1024) Кодировка не распознана
0x0401 (1025) Слишком большой текст сообщения. Максимальная длина не должна превышать 160 байт
0x0402 (1026) Ошибка регистрации сообщения. При возникновении этой ошибки обратитесь в службу поддержки
0x0403 (1027) Не прошла проверка текста сообщения на наличие недопустимых слов и/или фраз
0x0404 (1028) Отправитель или получатель в черном списке
0x0453 (1107) Сработало ограничение по отправке одинакового текста на один и тот же номер
0x043C (1084) Нет доступного тарифа для запрашиваемого направления
0x043F (1087) Нет подходящего тарифа у вышестоящего контрагента
0x045A (1114) Политика маршрутизации не найдена
0x0446 (1094) Ошибка транспорта. При возникновении этой ошибки обратитесь в службу поддержки
0x0433 (1075) Недостаточно средств на счете



Top