Java SMPP Client (SMPP Server) Гонец (SMS & USSD Gateway) - это серверное приложение, предназначенное для создяния SMS (СМС) MMS и USSD сервисов, позволяющее осуществлять отправку и прием SMS MMS и USSD сообщений в реальном времени параллельно по нескольким соединениям с SMS и USSD центрами (SMSC USSDC MMSC), с несколькими цифровыми или буквенными идентификаторами (короткими или федеральными номерами). Возможна отправка wap-push сообщений с ссылками на аудио, видео, музыкальный контент и приложения.
Примечание 1 Программа Java Smpp Client Гонец представляет из себя транспортное серверное приложение, с которым можно обмениваться данными по IP сети. Интерфейсные части системы, такие как сервисы, обработчики SMS и USSD запросов, или модуль отправки СМС из файла Потокпоставляются отдельно.
Примечание 2 В варианты программы Java Smpp Client Гонец Одиночный сервис и Базовая поставка не включена стоимость лицензий на подключение к USSDC, MMSC и лицензий на USSDC, MMSC номера.
Программа Java SMPP Client (SMPP Server) «Гонец» предназначена для рассылки отправки SMS-сообщений по протоколу SMPP 3.4 и SMPP 5.0 с использованием сети Интернет. Содержит высокоскоростной сервис отправки сообщений через SMPP соединение, запись логов(содержит лицензию на одно подключение к СМСЦ, лицензию на один короткий (или федеральный ) SMS номер или буквенный идентификатор)
Одиночный сервис Гонец - предназначен для отправки и приема SMS и USSD MMS сообщениями по протоколу SMPP 3.4 и SMPP 5.0 и HTTP с использованием сети Интернет.
Базовая поставка Гонец - предназначена для отправки и приема SMS, MMS и USSD сообщениями по протоколу SMPP 3.4 и SMPP 5.0 с использованием сети Интернет.
Программная надстройка для программы Java SMPP Client (SMPP Server) \"Гонец\", позволяющая отправлять абонентам в ответ на USSD или SMS запросы, или по подписке сообщения MMS, содержащие аудио, видео, текстовую информацию.
Настройка Java SMPP Client Гонец на одно smpp соединение с оператором.
Настраиваются:
IP-адрес (имя сервера) и порт SMSC. Схема (RXTX или TRX) и тип (синхронное или асинхронное) подключения. Параметры system_id, password, ton, npi. Кодировки для сообщений в латинице и кириллице. Количественно-временные ограничения по активности в канале связи.
Программа для загрузки персональных SMS или USSD сообщений на отправку, использующая поштучный инжектор программы Java Smpp Client Гонец. Предназначена для отправки небольшого числа персональных сообщений.
Программа Java SMPP Client (SMPP Server) «Гонец» предназначена для рассылки отправки SMS-сообщений по протоколу SMPP 3.4 и SMPP 5.0 с использованием сети Интернет. Содержит высокоскоростной сервис отправки сообщений через SMPP соединение, запись логов(содержит лицензию на одно подключение к СМСЦ, лицензию на один короткий (или федеральный ) SMS номер или буквенный идентификатор)
Одиночный сервис Гонец - предназначен для отправки и приема SMS и USSD MMS сообщениями по протоколу SMPP 3.4 и SMPP 5.0 и HTTP с использованием сети Интернет.
Базовая поставка Гонец - предназначена для отправки и приема SMS, MMS и USSD сообщениями по протоколу SMPP 3.4 и SMPP 5.0 с использованием сети Интернет.
Дополнительная информация по теме 'Программа Java SMPP Client (SMPP Server) Гонец'
Преимущества
Возможности
Технические требования
Документация
Состав
Схема работы
Технические данные
Настройки
Презентации
Универсальность
Совместимость с операционными системами Windows, Linux, Mac OS и другими, поддерживающими Java.
Интеграция с сторонним ПО, например, 1С, банковскими системами (RS-bank) и т.д.
Работа федеральными и короткими сервисными номерами.
Конфиденциальность
Данные передаются по сети интернет в канале VPN.
Этот метод увеличивает скорость отправки сообщений, обеспечивая необходимый уровень безопасности и конфиденциальности отправленных SMS или USSD.
Надежность
Защита от потери данных в процессе работы, в результате отсутствия питания, экстренного завершения программы и т.п.
В процессе работы данные резервируются в отдельный файл, что позволяет возобновить рассылку запустив программу заново.
Скорость и диапазон действия
Скорость отправки - более 1000 sms или ussd-сообщений в секунду.
Скорость определяется оператором связи и техническими параметрами сервера.
Рассылка sms не только по России, но и за ее пределами.
Масштабируемость и учет потребностей заказчика.
Работа с несколькими сервисными номерами, подключение к нескольким SMS и USSD центрам нескольких операторов связи.
Wap-push.
Доставка любого контента на сотовые телефоны одной СМС!
Вы можете отправлять приложения, фото, видео, настройки, мелодии и текст, находящиеся на сайтах одним кликом.
Чтобы организовать SMS рассылку с абонентами любых сотовых сетей через свою информационную систему, воспользуйтесь услугой "SMS-Информ".
Краткий переченьSMS, FLASH-SMS, MMS, USSD, WAP-PUSH, SMS-PUSH, USSD-PUSH сервисов,реализуемых на базе нашей программы:
ДиалоговыеSMS-сервисы:
Получениесправочной информации о товарах иуслугах;
Сервисслужит для организации информированияклиентов о товарах и услугах с помощьюSMS. Позволяет высвободитьтелефонные каналы и операторов.Работает круглосуточно и безвыходных без зарплат и компенсаций:существенно снижает влияние человеческогофактора.
Оказаниеплатных и бесплатных информационныхуслуг по разовым SMS-запросам;
Сервисслужит для продажи или бесплатногооказания услуг запрошенныхс помощью SMS. Оплатав данном случае снимается с лицевогосчета абонента у сотового оператора идолжна включать в себя затраты наобработку. Требуетсязаключение договора с операторамисвязи.
Отправкаконтента, кодов доступа, паролей.
Сервисслужит для организации автоматизированныхпродаж контента и доступа к разнообразнымресурсам который может осуществлятьсяс помощью паролей и кодов. Примеромможет служить продажа ключей к играм,инсталляторы которых выложены в свободномдоступе в Интернет.
ИнтерактивноеSMS-меню:
Многоуровневоединамическое или статическое SMS-менюс буквенными или цифровыми указателямипунктов;
Сервисслужит для организации сложного,структурированного каталога товаров,работ, услуг или любого другого контента.
Ответына услуги, выбранные абонентом вSMS-меню, любым из типов сообщений;
Эта функция предоставляет возможность перейти впроцессе обработки вызова из SMS-меню надругой тип сообщения — MMS,WAP, USSD или PUSH.Дает возможностьгруппировать контент разного вида водном пункте меню. Например, можнообъединитьв одномраздел всюинформацию по любимой команде: видеоролики,веб-страницы, тексты кричалок и анекдотов,а также предусмотретьпереход к USSD-викторине.
Добавлениеабонента в сервисы подписки.
Функцияпозволяет вводить в меню возможностьоформления подписки — периодическойрассылки контента по запросу пользователя.Некоторые виды контента намногопривлекательнее при ежедневной доставкев одно и то же время. Примером можетслужить утренняя рассылка прогнозапогоды.
Интерактивноевходящее USSD-меню:
Инициациясервиса производится Абонентом. Абонентууже получил информацию каким-либо путеми согласен получить информацию, чтоподтверждено пришедшим от него запросом.
Простойи быстродействующий цифровой интерфейс;
Ответына запросыАбонента поступаюточень быстро - не более30 секунд. В отличие отSMS-сервисов,где доставка ответаможет задерживатьсядо суток, этотинтерфейс очень благоприятно влияетна лояльность клиента.
Ответына запросы или добавление в подписку;
Кромевозврата текстовой информации позволяетвводить в меню возможность оформленияподписки — периодической рассылкиконтента по заявке пользователя.Некоторые виды контента намногопривлекательнее при доставке ежедневнов одно и то же время. Примером можетслужить утренняя рассылка прогнозапогоды.
Моментальнаяреакция на сообщения абонентов;
Эта функцияпозволяет оказать услугу немедленно,что может оказаться очень привлекательнымдля клиента, особенно если услуга нужнасрочно или альтернативой являетсядлительное стояние в очереди.
Запоминаниесостояния абонента.
Еслиабонент, пользуясь меню, производилкакие-то изменения в состоянии внешнегосервиса или самого меню, то они запоминаются до следующей сессии.
Интерактивноеисходящее USSD-PUSH меню:
Инициациясервиса производится оператором.Абоненту предлагается что-либо, способноеего заинтересовать. Необходиммо соблюдатьтребования Закона «О Связи», имеясогласие абонента на получение информации.
Рекламасервисов или услуг на экране телефонас возможностью моментального заказа;
Преимуществотакой рекламы в возможности немедленноорганизовать оказание услуги котороярекламируется или заказ товара.
Динамическаяили статическая структура меню,настраиваемая для каждого абонента;
Статическаяструктура меню высылает всем пользователямодинаковую информацию, но в то же времяпозволяет снизить нагрузку на средстваформирования меню. Динамическая структураменю позволяет работать с каждым клиентоминдивидуально.
Контекстноепредоставление информации.
Каждыйклиент получает индивидуальнуюинформацию. Например о состоянии своеголицевого счета, баланса и т.п.
Двунаправленныйобмен MMS-сообщениями:
Прием иотправка фото, видео, форматированноготекста и звуковых файлов на мобильныетелефоны
ОбменMMS-сообщениямипозволяет оперировать информацией,которая совсем недавно была недоступнаабонентам сотовой связи.Изображения, видеоролики со звуком,красиво оформленныйтекст: всё, что раньше считалось доступнымтолько на персональныхкомпьютерах и ноутбуках.
Созданиеинтерактивных MMS-сервисов знакомств,объявлений, платных и бесплатных информационных услуг.
Мощноесредство для повышения интереса клиентак предлагаемым услугам с помощью введениявидеоряда и звукового сопровождения.Многие товары и услуги затруднительнооценить без просмотра рекламныхматериалов или внешнего вида, вто время как MMS предоставляет возможностьразместить подобный контент в сообщенияхдля просмотра Абонентом.
SMS WAP-Pushи USSD WAP-push:
Доставкалюбой информации на мобильные телефоныс любых сайтов (программы, файлы,настройки и т.п.);
ДоставляетАбоненту специальное сообщения соссылкой, по которой можно перейти насайт или получить файл.
Генерацияоднократных ссылок на контент;
Позволяетсоздать уникальную ссылку, как правило,действующую ограниченное время. Даетвозможность ограничить доступ кпредлагаемым ресурсам.
Организацияподписки на большие сообщения, сдоставкой всего в одном SMS или USSDсообщении ссылки на ресурс.
Продавецконтента также может использоватьусиление воздействия на покупателя спомощью яркого запоминающегося видеорядаили звукового сопровождения.
Flash SMSуведомления:
ДоставкаSMS-сообщений, отображаемых на экранеАбонентского устройства немедленнопри получении.
Отправкана сотовых телефоны сообщений, несохраняемых в памяти устройств;
Пейджингсотовых телефонов (обнаружение в сети).Возможна организация сервиса оповещенияо появлении в абонента в сети, а так жеобновление координат абонента передLBS запросом на получение его координат.
Требования к серверу:
CPU 1 процессор Xeon 5ХХХ серии с 8 ядрами
или 2 процессора с 4 ядрами
RAM 16 GB
HDD Raid-1 300-500GB SAS
3 LAN 1000mb
Требования к ПО сервера:
ОС Debian >= 6.0
СУБД MySQL >= 5.1
Java Runtime Environment >= 1.5.0
Требования к соединениям:
IP-адрес (имя сервера) и порт SMSC.
Схема (RXTX или TRX) и тип (синхронное или асинхронное) подключения.
Параметры system_id, password, ton, npi.
Кодировки для сообщений в латинице и кириллице.
Количественно-временные ограничения по активности в канале связи.
Приложениеявляется программно-аппаратнымкомплексом, позволяющим осуществлятьоказание информационно-справочныхуслуг абонентам операторов сотовойсвязи посредством SMS- и USSD-сервисов.
Одна копияПриложения может быть одновременноподключена к нескольким транспортнымсистемам (взаимодействие по протоколуSMPP 3.4 или 5.0) и обеспечивать взаимодействиес несколькими контент-провайдерами(взаимодействие по протоколу HTTP(S)).
Параметры -Dдля передачи JVM
gateway.home — путь к каталогу размещения Приложения. -Dgateway.home=/opt/gateway gateway.conf — путь к файлу конфигурации. -Dgateway.conf=/opt/gateway/production.xml gateway.log — путь к каталогу для хранения логов. -Dgateway.log=/opt/gateway/logfiles
Файл конфигурациисодержит описание параметров, необходимыхдля запуска компонентов Приложения.Файл должен соответствовать спецификацииXML и содержать текст в кодировке UTF-8.
Общий вид
class="@class" ident="@ident">
/gateway/@version (версия >= 0.1)
Версия Приложения,для которого предназначен данный файлконфигурации. Версию можно узнать,запустив Приложение с параметромshowVersion:
java -jar gateway.jar showVersion
Java SMPP Gateway Version1.3Одна копия Приложения может бытьодновременно подключена к несколькимтранспортным системам (взаимодействиепо протоколу SMPP 3.4 или 5.0) и обеспечиватьвзаимодействие с несколькимиконтент-провайдерами (взаимодействиепо протоколу HTTP(S)).
Параметры -Dдля передачи JVM
gateway.home — путь к каталогу размещения Приложения. -Dgateway.home=/opt/gateway gateway.conf — путь к файлу конфигурации. -Dgateway.conf=/opt/gateway/production.xml gateway.log — путь к каталогу для хранения логов. -Dgateway.log=/opt/gateway/logfiles
В скобках посленаименования параметра приводитсянеобходимая версия Приложения. Параметры,отсутствующие в используемой версии,игнорируются.
process/@ident (версия >= 0.1)
Уникальныйидентификатор процесса.
process/listen/@host (версия >= 0.1)
Имя или IP-адресхоста, на котором будет открыт порт дляпрослушивания.
process/listen/@port (версия >= 0.1)
Номер порта,который будет открыт.
process/clients/@limit (версия >= 0.4)
Ограничение наколичество одновременно установленныхсоединений.
process/clients/@timeout (версия >= 0.1)
Таймаут (всекундах) ожидания активности наустановленном соединении.
process/service/@class (версия >= 0.1)
Каноническоеимя класса, обрабатывающего поступающиесоединения. В качестве классов могутвыступать следующие:
ru.tms.smpp.gateway.Injector
Принимаетсообщения в заданном формате и помещаетих в очередь исходящих сообщений.Дополнительные установки в конфигурацииListener отсутствуют.
Параметрыпринимаемых сообщений должны иметь видимя=значение и завершаться символомперевода строки \n . Окончание вводапараметров обозначается символом \n .
Обязательныепараметры: process - идентификатор процессаTransceiver (маршрут отправки); source - источниксообщения (сервисный номер); destination -назначение сообщения (абонентскийномер); body - тело сообщения. Символыперевода строки и возврата кареткидолжны быть заменены на последовательность\n .
Необязательныепараметры: type - тип сообщения, можетпринимать значения: hidden - сообщениебудет принято абонентским оборудованием,но не отобразится на экране и не будетсохранено в памяти; flash - сообщениебудет немедленно отображено на экранепри доставке на абонентское оборудование.
Принимает потокстрок и помещает их в файл для последующейоффлайновой обработки и размещения вочереди исходящих сообщений. Передотправкой строк необходимо отправитьидентификатор набора для возобновленияпередачи в случае неудачно завершившейсяпредыдущей попытки, либо 0 для обозначенияпередачи нового набора. Строки впередаваемом потоке должны иметь вид:
Если Номер_Абонентаначинается с символа h, то сообщениебудет принято абонентским оборудованием,но не отобразится на экране и не будетсохранено в памяти; если с символа f, тосообщение будет немедленно отображенона экране при доставке на абонентскоеоборудование.
При окончаниичтения процесс может сгенерироватьодно из следующих сообщений:
Если Номер_Абонентаначинается с символа h, то сообщениебудет принято абонентским оборудованием,но не отобразится на экране и не будетсохранено в памяти; если с символа f, тосообщение будет немедленно отображенона экране при доставке на абонентскоеоборудование.
При окончаниичтения процесс может сгенерироватьсообщение следующего вида:
200 Accepted, @count message(s) enqueued within set @set
где @count —количество размещённых сообщений; @set— идентификатор набора.
Имя или IP-адресSMS- или USSD-центра, с которым будетустановлено соединение.
process/connection/@port (версия >= 0.1)
Номер порта, накотором будет установлено соединение.
process/connection/@bind (версия >= 0.9)
Имя или IP-адреслокального хоста, с которого будетустановлено соединение.
process/connection/@syncmode (версия >= 1.3)
Флаг, указывающийна синхронный (значение 1) или асинхронный(значение 0) режим обмена данными с SMS-или USSD-центром.
process/connection/@retry (версия >= 0.1)
Пауза (в секундах)между повторными попытками установкисоединения.
process/system (версия >= 0.1)
Данные параметрыпредоставляются оператором мобильнойсвязи.
process/system/@ussd (версия >= 0.8)
Флаг, указывающийна тип подключения: 0 для SMSC, 1 для USSDC.
Посколькукодировка текста сообщений в значительнойстепени зависит от реализации SMS- иUSSD-центров, Приложение предоставляетмеханизм детектирования т. н. "базовой"и "альтернативной" кодировок. Вподсекциях charset могут быть определеныдополнительные кодировки.
process/charsets/@default (версия >= 0.2)
Идентификаторбазовой кодировки. Должен совпадать спараметром @dcs одной из подсекций charset.
Интервал (всекундах) между попытками сохранениянакопленных сведений в БД.
process/periods/@expire-treshold (версия >= 0.2)
Срок (в секундах)ожидания поступления всех частейсегментированного сообщения. В томслучае, если в течение указанного срокане удалось получить все сегменты,остальные, принадлежащие данному наборусегментов, удаляются.
process/periods/@output-usage (версия >= 0.4)
Интервал (всекундах) между уведомлениями обинтенсивности утилизации очередей.
Выполняетобработку сообщений, используя внешнееприложение. Обмен данными с приложениемвыполняется по протоколу HTTP(S) методомGET. Общий вид конфигурации:
Таймаут (всекундах) ожидания ответа от внешнегоприложения.
process/service/@defer-responses (версия >= 0.8)
В обычном режимекаждый запрос от абонента сопровождаетсяотправкой ответного сообщения суказанного абонентом сервисного номера(значение 0). В случае, если необходимоизбежать отправки ответного сообщения,следует указать значение 1.
process/service/@encoding (версия >= 0.1)
Кодировка данных,получаемых от внешнего приложения(CP1251, KOI8-R, UTF-8 и т. п.)
process/service/@source-name (версия >= 0.1)
Имя источникаданных в формате URI. Доступно использованиеследующих макроопределений: @body@ -запрос, полученный от абонента; @source@- идентификатор абонентского терминала(например, номер телефона); @destination@ -сервисный номер, на который поступилзапрос; @transport@ - идентификатор процессаTranseiver, с помощью которого был получензапрос.
Получениезапроса от SMSC (USSDC) — LinkToTransport. Передачазапроса на внешний обработчик —ServiceToHandler. Получение ответа от внешнегообработчика — HandlerToService. Передачаответа на SMSC (USSDC) - TransportToLink.
Определениеточек входа в обработчики фильтров(Rhino)
function LinkToTransport( message, transport ) { // Методы объекта message message.getCreated(); // Возвращает время появления сообщения в памяти в unixtime. message.getTLV(); // Возвращает таблицу TLV message.getDestination(); // Возвращает назначение сообщения (сервисный или абонентский номер). message.getId(); // Возвращает идентификатор сообщения, присвоенный при инициализации. message.getRetry(); // Возвращает количество попыток доставки сообщения на SMSC. message.getSource(); // Возвращает источник сообщения (сервисный или абонентский номер). message.getState(); // Возвращает состояние сообщения[1] message.getSMSCId(); // Возвращает идентификатор сообщения, присвоенный SMSC. message.getText(); // Возвращает текст сообщения. message.getTransport(); // Возвращает идентификатор SMSC (транспорт сообщения). message.getType(); // Возвращает тип сообщения[2] message.getMsgRefNum(); // Возвращает идентификатор последовательности // для мультисегментного сообщения. message.getRetryCount(); // Возвращает количество попыток отправки. message.getTotalSegments(); // Возвращает количество сегментов для мультисегментного сообщения. message.getSegmentSeqNum(); // Возвращает номер сегмента в последовательности // для мультисегментного сообщения. message.getTransactionId(); // Возвращает идентификатор транзакции. message.getSetId(); // Возвращает идентификатор набора сообщений или // пустую строку, если идентификатор не был ранее задан. message.setText( text ); // Устанавливает содержимое сообщения. // [1] Состояния сообщений 'RECEIVED' — сообщение поступило из SMSC (USSDC) в очередь; 'PROCESSING' — сообщение передано в сервис; 'PENDING' — сообщение находится в очереди на передачу в SMSC (USSDC); 'DELIVERING' — сообщение передано в SMSC (USSDC), ожидается подтверждение получения; 'DELIVERED' — сообщение получено; 'UNDELIVERABLE' — сообщение не могло быть доставлено. // [2] Типы сообщений 'REGULAR' — обычное сообщение; 'FLASH' — сообщение отображается на абонентском устройстве по факту получения; 'HIDDEN' — факт получения сообщения не регистрируется абонентским устройством. // Методы объекта transport transport.getIdent(); // Возвращает идентификатор транспорта. transport.getLogger(); // Возвращает ссылку на регистратор событий.} // LinkToTransport()function ServiceToHandler( message, service ) { // Методы объекта message см. в описании LinkToTransport() // Методы объекта service service.getIdent(); // Возвращает идентификатор сервиса. service.getPhones(); // Возвращает список назначенных сервисных номеров. service.getLogger(); // Возвращает ссылку на регистратор событий. // Не выполнять запрос к внешнему обработчику (выполняется по умолчанию) result.setProperty( 'performHttpRequest', 'false' );} // ServiceToHandler()function HandlerToService( message, service ) { // Методы объекта message см. в описании LinkToTransport() // Методы объекта service см. в описании ServiceToHandler()} // HandlerToService()function TransportToLink( message, transport ) { // Методы объекта message см. в описании LinkToTransport() // Методы объекта transport см. в описании LinkToTransport()} // TransportToLink()
Пример:
function ServiceToHandler( message, service ) { if ( service.getIdent() == "HTTPService" ) { message.setText( "Услуга временно недоступна" ); result.setProperty( "performHttpRequest", "false" ); }}
Программа«Сервис» обеспечивает прием, отправкуи обработку SMS и USSSD, а так же взаимодействуетс Вашим ПО, что позволяет автоматическиполучать данные для SMS-рассылки, упрощаетобработку отчетов работы программы.Для каждого клиента может быть разработануникальный Сервис, для реализациииндивидуальных потребностей.
Данныеот клиента до SMS или USSD центра операторапередаются посредством Интернет(протокол TCP/IP), защищенному системойшифрования VPN.
Стоимостьисходящего SMS или USSD, зависит от тарифногоплана оператора связи.
Общаяструктурная схема
Описаниеслужб и компонентов
SMSC, USSDC
SMS-центр(USSD-центр) оператора сотовой связи.Является конечной точкой для установкиТрансивером соединения по протоколуTCP/IP. Обмен данными между Трансивером иSMSC происходит по протоколу SMPP спецификации3.4 (5.0). По отношению к Приложению, SMSC иUSSDC являются внешними сущностями.
Трансивер,ресивер, трансмиттер
Осуществляютобработку входящего и генерированиеисходящего потока сообщений в течениеустановленного сеанса связи с SMSC (USSDC)в соответствующих режимах transceiver,receiver и transmitter (в терминологии SMPP 3.4 и5.0); выполняет диспетчеризацию сообщенийс учётом адресных данных (оператор,сервисный номер, сервис и т.п.) В текущейверсии Приложения реализована обработкаследующих входящих SMPP-пакетов:enquire_link, data_sm, deliver_sm, unbind. Поддерживаетсяполучение и отправка мультисегментныхсообщений. Корректно обрабатываютсязапросы в кодировках GSM, CP1251, Unicode (UTF-8,UTF-16, UCS2).
Службаобработки очередей и генерированиястатистики
Осуществляетзагрузку и выгрузку буферных очередейпри запуске и остановке Приложения;выполняет промежуточное хранениевходящих и исходящих сообщений; формируетзаконченные сообщения из несколькихсегментов; ведёт учёт операций ссообщениями.
Служба сервиса
Взаимодействуетс сервисом контент-сервера по протоколуHTTP(S), используя метод GET для передачипараметров запроса (номера абонента вформате MSISDN, идентификатора SMSC, сервисногономера, собственно запроса) и полученияответа.
Сервис
Веб-приложение,обрабатывающее запросы Служб сервисаи возвращающее текстовое содержимоедля отправки его Трансиверами(Трансмиттерами) абонентам. По отношениюк Приложению, Сервисы являются внешнимисущностями.
Инжектор
Предоставляетвозможность отправки сообщений путёмуказания параметров (номера абонентав формате MSISDN, идентификатора SMSC,сервисного номера, собственно запроса),либо путём передачи предварительносформированного файла в формате CSV.Взаимодействие с клиентом происходитс использованием протокола Telnet.
Статистика
Предоставляетотчёты в формате XML на основе указанныхданных (вид отчёта, отчётный период ит.п.) Взаимодействие с клиентом происходитс использованием протокола Telnet.
Фильтр
Приложение,написанное на языке Rhino (модификацияJavascript), либо на другом, поддерживаемомJava Scripting Engine, и предназначенное дляпромежуточной обработки поступающихили исходящих данных, а также дляуправления потоками обработки сообщений.
WAP-push
Для отправки сообщения со ссылкой нужно сформировать текстовое сообщение вида: ~http://ваш-сайт/ссылка/Текст сообщения, где:
Конфигурационныйфайл описывает загружаемые при запускеПриложения процессы, а также параметрытаких процессов и представляет собойтекстовый XML-файл в кодировке UTF-8.
Общий вид
class="ResponsibleClassName"
ident="UniqueProcessId">
<...
Секции служатдля описания процессов, инициализируемыхпри запуске Приложения. Каждая секциядолжна определять атрибуты class иident:
class - класс,ответственный за выполнение описываемогопроцесса.
ident - уникальныйв пределах конфигурационного файлаидентификатор описываемого процесса.Идентификатор может содержать буквылатинского алфавита, цифры и символподчёркивания, например, Megafon,Smarts_Samara, Beeline_40_Moscow.
ПроцессQueue
class="ru.tms.smpp.gateway.Queue"
ident="Default">
flush-statistics="intervalToFlushStatistics"
expire-treshold="expirationTreshold"
output-usage="queueUtilizationOutputInterval"/>
database-driver="driverClassName"
sink-to="dataSourceName"/>
incoming="pathToIncomingCacheFile"
segments="pathToSegmentsCacheFile"
outgoing="pathToOutgoingCacheFile"/>
intervalToFlushStatistics- интервал (в секундах), по истечениюкоторого происходит сброс накопленнойстатистики по обработанным сообщениямв базу данных;
expirationTreshold- период (в секундах), по истечениюкоторого сегменты незавершённыхсообщений удаляются из буфера;
queueUtilizationOutputInterval- интервал (в секундах), по истечениюкоторого процесс сообщает о нагрузкена очередь;
driverClassName -имя класса, ответственного за обработкусоединения с базой данных;
dataSourceName -имя источника данных в формате URI;
pathToIncomingCacheFile- путь к файлу для хранения входящихсообщений между запусками Приложения;
pathToSegmentsCacheFile- путь к файлу для хранения сегментовсообщений между запусками Приложения;
pathToOutgoingCacheFile- путь к файлу для хранения исходящихсообщений и сегментов между запускамиПриложения.
smscHost - имяили IP-адрес SMSC на стороне операторасотовой связи;
smscPort - портдля установки соединения с SMSC;
reconnectionPeriod- интервал (в секундах), по истечениикоторого осуществляется попыткаповторного соединения с SMSC в случаенеудачно завершившейся предыдущейпопытки.
Параметры,описанные в секции и её подсекциях,сообщаются оператором сотовой связипри заключении договора на обслуживание.
defaultCharset- схема кодировки для отправки сообщений,текст которых состоит исключительноиз символов кодовой таблицы ASCII(определяется автоматически);
messageSizeForDefaultCharset- максимальный размер сегмента сообщения,отправляемого в схеме defaultCharset(стандартом SMPP 3.4 максимальный размеропределён в 160 символов);
alternateCharset -схема кодировки для отправки сообщений,в тексте которых встречаются символы,не принадлежащие кодовой таблице ASCII(определяется автоматически);
messageSizeForAlternateCharset- максимальный размер сегмента сообщения,отправляемого в схеме alternateCharset(стандартом SMPP 3.4 максимальный размеропределён в 70 символов);
В секции должныбыть определены как минимум две подсекции, описывающие параметры дл:я схемкодировок defaultCharset и alternateCharset:
dataCodingScheme- схема кодировки;
encodingClassName -класс, отвечающий за обработку текстав указанной схеме;
intervalToSendEnquireLink- интервал (в секундах), по истечениикоторого на SMSC отправляется пакетenquire_link для проверки состояния соединения;
deliveryTimeDelta -пауза (в секундах) между повторнымипопытками отправки сообщения илисегмента в случае временного отказаSMSC;
throttlingDelay -пауза (в секундах) между повторнымипопытками отправки сообщения приограничении на количество исходящихсообщений в единицу времени, выставленноена SMSC;
smscIdInDeliveryReceipt- база исчисления идентификаторасообщения на SMSC, полученного в пакетес delivery receipt (уведомлением о доставке).
В конфигурационномфайле может быть определено несколькопроцессов Transceiver.
ПроцессService
class="ru.tms.smpp.gateway.Service"
ident="Default">
read-timeout="readTimeout"
encoding="encoding"
source-name="sourceName"/>
number="serviceNumber"/>
readTimeout -значение (в секундах), в течение которогопроцесс ожидает получения ответа отсервиса, по истечении которогопроизводится повторная попытка передачипараметров запроса;
encoding -кодировка, с использованием которойосуществляется обмен данными с сервисом;
sourceName - URLсервиса (в URL возможно использованиемакросов @body@, @source@, @destination@, @transport@,которые будут автоматически преобразованыв текст сообщения, номер абонента-источника,сервисный номер назначения и идентификаторSMSC, соответственно);
serviceNumber -сервисный номер.
ПроцессInjector
class="ru.tms.smpp.gateway.Listener"
ident="Default">
class="ru.tms.smpp.gateway.Injector"/>
host="listenHost"
port="listenPort"/>
limit="maximumConnections"
timeout="dataTimeout"/>
listenHost -имя или IP-адрес, на котором предполагаетсяобслуживание запросов к Инжектору;
listenPort - портдля установки соединений;
maximumConnections- количество максимально допустимыходновременных соединений;
dataTimeout - время(в секундах) ожидания входящих данныхв пределах установленного соединения.
Параметрыпередаются в виде пар имя=значениев произвольном порядке. Обязательнымиявляются параметры:
source - сервисныйномер-источник;
destination - номерабонента-назначения;
process -идентификатор SMSC;
body - текстсообщения (символы 0x0d должны бытьудалены, символы 0x0a изменены напоследовательность \n ).
Для завершенияввода параметров необходимо ввестипустую строку (или одиночный символ0x0a).
ПроцессStatistics
class="ru.tms.smpp.gateway.Listener"
ident="Default">
class="ru.tms.smpp.gateway.Statistics"/>
host="listenHost"
port="listenPort"/>
limit="maximumConnections"
timeout="dataTimeout"/>
listenHost -имя или IP-адрес, на котором предполагаетсяобслуживание запросов к Инжектору;
listenPort - портдля установки соединений;
maximumConnections- количество максимально допустимыходновременных соединений;
dataTimeout - время(в секундах) ожидания входящих данныхв пределах установленного соединения.
Параметрыпередаются в виде пар имя=значениев произвольном порядке. Обязательнымявляется параметр:
request - типотчёта.
Для завершенияввода параметров необходимо ввестипустую строку (или одиночный символ0x0a).
В текущейверсии Приложения возможно получениенескольких типов отчётов:
request=distinct-months- перечень периодов для генерированияотчёта. Ответ Статистики:
200 OK Distinct monthsfollow, ascending
ГГГГММ
ГГГГММ
...
request=traffic-on
period=ГГГГММ- отчёт по состояниям сообщений науказанный месяц. Ответ Статистики:
200 OK Traffic onГГГГММ follows
request=traffic-on
period=ГГГГММДД- отчёт по состояниям сообщений науказанный день. Ответ Статистики:
200 OK Traffic onГГГГММ follows
На этой странице предоставлены презентационные материалы.