Smpp сервер

Модуль SMPP

В модуле SMPP CommuniGate Pro реализован протокол SMPP в TCP/IP сетях.

В модуле SMPP реализована клиентская часть протокола SMPP (ESME). Модуль может подсоединяться к указанным серверам SMPP (SMSC, Short Message service Centre) и передавать Сигнальные запросы IM (Instant Message — Мгновенные сообщения) в виде сообщений SMS.

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

В модуле SMPP CommuniGate Pro реализованы функции протокола SMPP. Администратор Сервера может указать один или более сервер SMPP (систему SMSC), и Модуль SMPP открывает соединение TCP к указанным серверам и «связывается» с ними, используя указанные данные аутентификации.

Когда Сигнал IM маршрутизируется в модуль SMPP, Модуль находит соответствующий Сервер SMPP и отправляет ему Сигнал в соединении SMPP.

Для поддержания соединения в периоды бездействия (когда нет IM для передачи) Модуль периодически отправляет запрос enquire_link Серверу SMPP.

Если соединеие с сервером не может быть установлено, или оно было разорвано и устанавливается заново, Сигналы IM ставятся в очередь. Они передаются на сервер после восстановления соединения.

Модуль SMPP обрабатывает только сигнальные запросы MESSAGE, другие запросы отвергаются.

Для того, чтобы настроить параметры модуля SMPP, используйте Веб Интерфейс Администратора. Откройте в разделе Установки страницу Real-Time, затем откройте страницу SMPP.

Записи, помещённые модулем SMPP в Системный Журнал, имеют пометку SMPP. Лимит Ожидания Если сигнальный запрос не может быть передан на сервер SMPP дольше указанного времени, он отвергается. Тайм-аут Диалогов Эта опция задаёт тайм-аут связи Диалогов SMS. Исходящий Адрес Эта опция выбирает сетевой адрес-источник, используемый для установления соединений по протоколу SMPP. Вы можете позволить ОС сервера CommuniGate Pro выбирать подходящий адрес или вы можете явно выбрать один из IP адресов сервера, который будет использоваться как сетевой адрес по умолчанию.

Можно указать несколько серверов SMPP, с которыми должен соединяться модуль SMPP.

Для отключения конфигурации сервера SMPP без её удаления выберите режим Выключено. Адрес SMSC Имя домена или Сетевой Адрес Сервера SMPP (SMSC) для соединения, с номером порта, отделённого двоеточием (:).

Если порт не указан, используется порт 2775.

Если соединение с сервером SMPP должно быть зашифровано (используя протокол TLS), добавьте префикс tls: перед именем домена сервера. System ID, Пароль Эти поля содержат данные аутентификации для подсоединения к серверу SMPP.

По умолчанию Модуль SMPP использует строку CommuniGate в качестве «Типа системы» SMPP. Некоторые серверы SMPP могут требовать другую строку в качестве «Типа системы». Вы можете указать эту строку в поле System ID после фактического System ID, отделив её символом @ . Например, если System ID — user1234, а Тип системы должен быть SMPP, укажите в поле System ID значение user1234@SMPP . Отправитель Значение этого поля используется для указания атрибута Отправитель сообщения SMS. Обычно используется телефонный номер, связанный с пользователем на сервере SMPP, который используется для аутентификации. Используйте формат +countryCodephoneNumber для указания отправителя в «международном» формате.

Если этоо поле содержит символ * , подставляется адрес E-mail фактического отправителя. Если адрес задан в виде +number@telnum , подставляется только часть number. Если адрес задан в виде userName@null , подставляется только часть userName.

Если поле оставлено пустым, оно обрабатывается таке. как если бы оно содержало значение * .

Если результат начинается с символа + , он удаляется и адрес отправляется на сервер SMPP как «международный». Иначе он отправляется как «местный» (если начинается с цифры) или «алфавитно-цифровой». Диалоги Если эта опция включена, сообщения, отправленные и принятые через этот сервер SMPP, будут дополнительно обработаны для поддержки Диалогов SMS. Получатель Пустая строка или адрес E-mail получателя по умолчанию. Сформированное сообщение отправляется на указанный адрес, если:

  • опция Диалоги выключена
  • опция Диалоги включена, но для отправителя входящего сообщения не было найдено соответствующего локального получателя (не найдена диалоговая связь)
  • опция Диалоги включена, и найдена диалоговая связь, но входящее сообщение имеет префикс @@ (две «собаки» и пробел)

Если настройка не задана (поле оставлено пустым):

  • если опция Диалоги включена, но для отправителя входящего сообщения не было найдено соответствующего локального получателя (не найдена диалоговая связь), входящее сообщение отвергается.
  • если опция Диалоги выключена, сообщение маршрутизируется в указанный адрес по протоколу SMPP: если сообщение направлено на телефонный номер +14155551212 , то оно отправляется на адрес +14155551212@telnum, который может маршрутизироваться локальному пользователю (через механизм Telnum или иным образом).

Кодировка The предпочтительная кодировка для использования в отправляемых сообщениях. Если сообщение не может быть послано с использованием указанной кодировки, оно отправляется в кодировке Unicode. Тайм-аут Эта опция задаёт максимальный период между командами, отправляемымыи на сервер SMPP.

Если в течение этого периода в очереди нет сообщений для отправки серверу SMPP, отправляется команда enquire_link для предотвращения закрытия соединения сервером.

Для того, чтобы создать новую конфигурацию сервера SMPP, введите её имя и другие настройки в последнем (пустом) элементе таблицы и нажмите кнопку Модифицировать.

Для того, что бы удалить конфигурацию SMPP, введите пустую строку в поле с именем домена (не имени конфигурации!) и нажмите кнопку Модифицировать.

при использовании конфигурации выше сигналы на +14155551212@smpp будут отправлены через сервер provider1 (сервер SMPP по адресу 64.173.55.161:901), тогда как сигналы на +14155551212@masslist._smpp будут отправлены с использованием конфигурации masslist (сервер SMPPsmpp.provider.dom:950).

Обычно сообщения SMS направляются на стандартные номера телефонов, то есть некоторый адрес вида +countryCode phoneNumber@telnum . По умолчанию такие адреса маршрутизируются через приложение gatewaycaller, которое передаёт мгновенные сообщение через один из настроенных серверов SMPP. Приложение может получить имя конкретной конфигуурации сервера SMPP из настройки пользователя PSTNSMSGateway или, если настройка не задана, из параметра приложения.

Для использования сервера SMPP конфигурации provider1 по умолчанию добавьте следующую запись в Таблицу Маршрутизатора: IM:<*@telnum> = gatewaycaller<*,provider1>#pbx

Когда мгновенное сообщение от некоторого адреса user1@domain1 направляется в виде SMS на телефонный номер XXXXXXX, Модуль SMPP добавляет в текст сообщения префикс:

Последующие мгновенные сообщения от того же пользователя user1@domain1 отправляются на номер XXXXXXX с «коротким» префиксом:

Когда мгновенное сообщение от некоторого другого адреса user2@domain2 направляется в виде SMS на тот же телефонный номер XXXXXXX, Модуль SMPP добавляет в текст сообщения другой префикс:

Последующие мгновенные сообщения от того же пользователя user2@domain2 отправляются на номер XXXXXXX с «коротким» префиксом:

Модуль SMPP запоминает эти «связки», состоящие из адреса отправителя, номера назначения и префикса (буквы в нижнем регистре).

Когда владелец телефона XXXXXXX отвечает на сообщение, модуль SMPP проверяет все «связки» с этим номером XXXXXXX. Если есть ровно одна связка, модуль направляет полученныое сообщение SMS в виде мгновенного сообщения на адрес из этой связки.

Если связок не найдено, или их две или больше, сообщение SMS не принимается.

Владелец телефона может ответить с SMS, текст которого начинается с префикса @x: или @x _, где «_» — символ пробела.

В этом случае модуль SMPPпытается найти указанную связку для номера XXXXXXX с префиксом x. Если она найдена, сообщение SMS отправляется на адрес из найденной связки, в противном случае сообщение SMS не принимается.

Пример: один диалог на экране мобильного телефона:

Пример: два диалога на экране мобильного телефона:

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

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

Установка SMPP сервера kannel

Общее описание

kannel — это open source wap и sms шлюз, предназначенный для передачи SMS сообщений оператору сотовой связи по протоколу SMPP. Приложение очень гибкое. Возможность настроить модем для передачи SMS тоже имеется. Но самое главное преимущество этого программного обеспечения — это бесплатность и нормальная работа (настроил и забыл).

Конфигурируется kannel через командную строчку, что не является особой проблемой лично для меня (GUI нет). Придется внимательно почитать документацию и забыть про какую-либо поддержку. Приложение c 20 октября 2010 не обновляется создателями.

Мониторинг за работой сервера осуществляется через Web-интерфейс — простое приложение на php, входит в комплект поставки kannel.

Сервер состоит из нескольких демонов (далее по тексту бинарники):

  1. bearerbox — основная часть приложения осуществляющая маршрутизацию сообщений от любых демонов сервера оператору;
  2. smsbox — демон, который позволяет отправлять SMS по протоколу http;
  3. wapbox — wap-шлюз (работает по протоколу UDP, служит для отображения WML страниц и не рассматривается в данной статье);
  1. sqlbox — демон позволяющий отправлять SMS через запись в базу данных MySQL;
  2. opensmppbox — SMPP шлюз для подключения дочерних серверов по протоколу SMPP;

Важно! В данном мануале нет информации по настройке USB модемов для передачи смс.

Сборка (компиляция и установка) kannel

Для установки kannel можно использовать deb пакеты sudo apt-get install kannel , но по-умолчанию установится только wapbox и smsbox, при этом чтобы заработал smsbox нужно раскомментировать директиву в файле /etc/default/kannel . Рекомендую установить kannel из deb пакета, чтобы посмотреть что и как работает и запускается.

В том случае, сли вы устанавливаете opensmppbox, sqlbox не в коем случае нельзя использовать собранные пакеты и готовые бинарники. Нужно все пакеты собирать на сервере использования. Это связано с тем, что при сборке дополнительных пакетов используются вновь собранные библиотеки kannel. Если основной сервер имеет другую версию, отличную от дополнителных демонов, то возможны ошибки типа opensmppbox multi-message die это связано с уже собранными библиотеками kannel.

Для установки kannel с поддержкой базы данных нужна библиотека mysql клиента.

Модуль SMPP
Модуль SMPP В модуле SMPP CommuniGate Pro реализован протокол SMPP в TCP/IP сетях. В модуле SMPP реализована клиентская часть протокола SMPP (ESME). Модуль может подсоединяться к указанным
http://www.communigate.com/cgatepro/russian/SMPP.html
Установка SMPP сервера kannel
Установка SMPP сервера kannel Общее описание kannel — это open source wap и sms шлюз, предназначенный для передачи SMS сообщений оператору сотовой связи по протоколу SMPP. Приложение очень
http://www.sinyawskiy.ru/kannelinstallation.html

COMMENTS