23
EDISON Software Development Centre Руководство по программному SMPP-шлюзу SMS2Serve Router Component EDISON 01.01.2010

Маршрутизатор SMS2SERVE (SMS на службе)

Embed Size (px)

DESCRIPTION

SMS2Serve Router — это высокопроизводительный, хорошо конфигурируемый, надежный SMS-маршрутизатор. Его высокая производительность позволяет справляться с большинством трудностей, появляющихся в процессе работы, такими как наличие поврежденных компонентов сети, атаки по сети, перезагрузки при сбое питания и лавинообразная пользовательская нагрузка. 1. Поддержка различных ОС: Windows, Linux, Solaris and MacOS. 2. Поддержка протоколов SMPP, XML, HTTP, SMTP. 3. Доступные платформы - Java, .NET 4. Маршрутизация сообщений 5. Отдельная очередь сообщений для каждого коннектора. 6. Удобная разработка VSME-модулей. 7. Производительность системы, обеспечивающая обработку 30 смс в секунду.

Citation preview

Page 1: Маршрутизатор SMS2SERVE (SMS на службе)

EDISON Software Development Centre

Руководство по программному

SMPP-шлюзуSMS2Serve Router Component

EDISON01.01.2010

Page 2: Маршрутизатор SMS2SERVE (SMS на службе)

EDISON. Software Development Centrehttp://www.edsd.ru

SMS2SERVE Routerhttp://www.sms2serve.com

ОглавлениеВведение.......................................................................................................................2

Описание возможностей.............................................................................................2

Функции........................................................................................................................ 2

Программные и аппаратные требования к системе..................................................5

Конфигурирование SMPP Router.................................................................................5

Приложение 1 - список статусных кодов:.................................................................14

Приложение 2 – пример файла конфигурации........................................................15

ВведениеSMS2Serve Router – это высокопроизводительный, хорошо конфигурируемый, надежный sms-

маршрутизатор. Его высокая производительность позволяет справляться с большинством трудностей, появляющихся в процессе работы, такими как наличие поврежденных компонентов сети, атаки по сети, перезагрузки при сбое питания и лавинообразная пользовательская нагрузка. Шлюз базируется на протоколе SMPP v3.4 (Issue 1.2 от 12.11.1999 г.).

Данное руководство содержит в себе информацию для ознакомления с возможностями системы и ее конфигурированием.

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

возможности:

1. Поддержка различных ОС: Windows, Linux, Solaris and MacOS.2. Поддержка протоколов SMPP, XML, HTTP, SMTP.3. Доступные платформы - Java, .NET4. Маршрутизация сообщений5. Отдельная очередь сообщений для каждого коннектора.6. Удобная разработка VSME-модулей.7. Производительность системы, обеспечивающая обработку 30 смс в секунду.

ФункцииОсновной функцией шлюза является виртуализация подключения к центру передачи коротких

сообщений (SMSC) и обеспечение работы с ним нескольких виртуальных SMS-сервисов (VSME).

Основные компоненты:

Page 3: Маршрутизатор SMS2SERVE (SMS на службе)

EDISON. Software Development Centrehttp://www.edsd.ru

SMS2SERVE Routerhttp://www.sms2serve.com

1. Модуль очереди SMSC2. Модуль маршрутизации3. Модуль очереди VSME4. Конфигурация5. СУБД

Принципиальная схема шлюза приведена на рисунке:

Модуль очереди SMSC.

Шлюз устанавливает соединения с SMSC с нескольких различных IP-адресов, один из которых считается основным, остальные – резервными. В случае потери связи на основном интерфейсе происходит подключение через резервные интерфейсы. Посредством команды ENQUIRE_LINK, отсылаемой всем SMSC, осуществляется проверка наличия соединения. Для разных типов SMSC используются разные классы коннекторов SMSC. Для каждого подключения к SMSC существует таймер

Поддерживаются режимы transmitter, transceiver, receiver, синхронный и асинхронный режимы по каждому SMSC.

Page 4: Маршрутизатор SMS2SERVE (SMS на службе)

EDISON. Software Development Centrehttp://www.edsd.ru

SMS2SERVE Routerhttp://www.sms2serve.com

Модуль очереди SMSC передает в модуль маршрутизации только сообщения, относящиеся к передаче SMS.

Модуль маршрутизации

Модуль маршрутизации осуществляет маршрутизацию и двустороннюю передачу сообщений между SMSC и VSME. Решение о выборе пути принимается на основе анализа данных в конфигурации маршрутов.

Правила маршрутизации по тексту сообщения поддерживают шаблоны:

(*) – произвольное количество любых символов

(??) – любой символ

(?0) – любая цифра)

(?a) – любая буква

Правила описываются в форме условий, похожих на правила программных брандмауэров. Если маршрут прохождения не установлен, то выдается соответствующая строка (задается в конфигурации).

Модуль очереди VMSE

Связь между VSME и шлюзом осуществляется по протоколу TCP/IP. Установление связи VSME со шлюзом проверяется на основе данных подключения (логин и пароль). В случае потери связи производится попытка повторного подключения, VSME об этом не сообщается. Все сообщения, полученные в отсутствие связи с VSME, сохраняются в БД и отсылаются VSME сразу после восстановления связи.

СУБД

В качестве СУБД используется MySQL или MS SQL. Отложенные сообщения помещаются в определенную таблицу базы.

Статистика

Шлюз поддерживает сбор статистики в базе данных по исходящим и входящим SMS-сообщениям. Таблица статистики содержит следующие поля:

Datetime – дата и время посылки

Direction – input или output

Fconnector – имя, индекс входящего коннектора

Tconnector – имя, индекс исходящего коннектора

Page 5: Маршрутизатор SMS2SERVE (SMS на службе)

EDISON. Software Development Centrehttp://www.edsd.ru

SMS2SERVE Routerhttp://www.sms2serve.com

Addr – адрес, на который отправляется сообщение, или с которого приходит сообщение

Abonent – номер телефона абонента

Message – текст сообщения.

Протокол действий

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

Программныеи аппаратные требования к системеРабота под управлением операционной системы Linux на сервере (один процессор Intel 2 ГГц,

256 Mb ОЗУ).Возможна работа с несколькими процессорами и адаптация системы на платформу Sun

Solaris.

SMPP Конфигурирование Router.Различные параметры SMPP Router настраиваются в конфигурационном файле

smpp_router_debug.conf. Этот файл представляет собой текстовый документ, содержащий список параметров и их значения в следующем формате:

Параметр = значение

Если значений несколько, они разделяются между собою символом «;» (без кавычек), для переноса нового значения на новую строку, в конце предыдущей строки необходимо ввести символ "\" (без кавычек). Список значений обязательно должен завершаться символом «;» (без кавычек).

Пример:

Параметр = значение1; значение2;\

значение3;

Содержимое файла конфигурации для удобства разделяется на несколько секций:

1. Секция параметров управления программой2. Секция параметров модуля логирования3. Секция параметров для подключения к БД4. Секция параметром модуля отчетов5. Секция параметров по умолчанию для коннекторов SMSC6. Секция параметров по умолчанию для коннекторов VSME

Page 6: Маршрутизатор SMS2SERVE (SMS на службе)

EDISON. Software Development Centrehttp://www.edsd.ru

SMS2SERVE Routerhttp://www.sms2serve.com

7. Секция параметров для коннектора SMSC (данная секция описывается для каждого коннектора)

8. Секция параметров для коннектора VSME (данная секция описывается для каждого коннектора)

Ниже подробнее описываются параметры и их значения по секциям.

Секция параметров управления программой:

control.port номер локального TCP/IP порта, через которые осуществляется управление программой (т.е. подаются команды СТОП, РЕСТАРТ и т.д.).

control.encoding кодировка при обмене текстовыми сообщениями между основной программой и программой управления. Допустимые значения параметров:Cp866, Cp1251, Windows-1251, KOI8_R, ISO8859_5, MacCyrillic

Секция параметров модуля логирования

logger.file.level,logger.console.level

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

Код Строка ОписаниеMaxInt OFF Логирование выключено.1100 FATAL Ошибка, после которой

нормальное функционирование невозможно.

1010 EXCEPTION Непредвиденная программистом ошибка.

1001 ERROR Ошибка в выполнении программы.

0900 WARNING Предупреждающее сообщение.

0802 PDU_TRACE Сообщение о следовании команд.

0800 INFO Информационное сообщение.

0700 CONFIG Информация о конфигурации программы.

0303 DEBUG Трассировка выполнения программы.

MinInt ALL Логирование всех сообщений.

logger.file.encoding,logger.console.encoding

кодировка файлов логов. Допустимые значения параметров:

Page 7: Маршрутизатор SMS2SERVE (SMS на службе)

EDISON. Software Development Centrehttp://www.edsd.ru

SMS2SERVE Routerhttp://www.sms2serve.com

Cp866, Cp1251, Windows-1251, KOI8_R, ISO8859_5, MacCyrilliclogger.file.dir директория, в которую пишутся логи. Относительный путь.

Секция параметров для подключения к БД

database.driver_packet имя файла пакета с драйверами для подключения к БД.database.driver_class имя класса драйвера для подключения к БД.database.connection_str строка подключения к БД.database.user_name имя пользователя БД.database.user_pwd пароль пользователя БД.database.time_live_router_info время (в минутах) хранение информации в таблице

маршрутизации.

Секция параметров модуля отчетов

report.class Класс, который реализует отправку отчета. Возможные значения:ru.edsd.report.ReportMail - осуществляет отправку отчета по электронной почте.

report.enabled флаг, дающий разрешение на отправку отчета. Возможные значения: true - флаг установлен, false - флаг не установлен

Параметры специфичные для ru.edsd.report.ReportMail:report.mail.host хост, на котором расположен почтовый сервер.report.mail.from адрес электронной почты, с которого производится отправка

отчета.report.mail.to адрес электронной почты, на который производится

отправка отчета.report.mail.subject тема отправляемого письма с отчетом.

Секция параметров по умолчанию для коннекторов SMSC

SMSC.log_level уровень логирования по всем коннекторам SMSC Код Строка ОписаниеMaxInt OFF Логирование выключено.1100 FATAL Ошибка, после которой

нормальное функционирование невозможно.

1010 EXCEPTION Непредвиденная программистом ошибка.

1001 ERROR Ошибка в выполнении программы.

0900 WARNING Предупреждающее сообщение.

Page 8: Маршрутизатор SMS2SERVE (SMS на службе)

EDISON. Software Development Centrehttp://www.edsd.ru

SMS2SERVE Routerhttp://www.sms2serve.com

0802 PDU_TRACE Сообщение о следовании команд.

0800 INFO Информационное сообщение.

0700 CONFIG Информация о конфигурации программы.

0303 DEBUG Трассировка выполнения программы.

MinInt ALL Логирование всех сообщений.

Данный параметр не может определять более низкий уровень логирования, чем глобальный уровень логирования.

SMSC.timeout_shutdown интервал времени (в секундах) для ожидания завершения работы сессии. Если за указанное время сессия не завершиться нормальным образом, она будет завершена принудительно.

SMSC.enquire_link.send флаг, дающий разрешение на отправку запроса ENQUIRE_LINK в случае отсутствия аналогичного запроса от удаленной стороны в течение интервала времени, заданного в параметре SMSC.enquire_link.timeout_wait.Возможные значения: true - флаг установлен, false - флаг не установлен.

SMSC.enquire_link.timeout_wait_resp интервал времени (в секундах) на ожидание ответа на собственную команду ENQUIRE_LINK. имеет смысл только когда SMSC.enquire_link.send. = true. Если за заданный период не придет ответ, то сессия будет закрыта.

SMSC.enquire_link.timeout_wait интервал времени (в секундах) на ожидании запроса ENQUIRE_LINK от удаленной стороны. Если за указанный период указанный запрос не придет, то, в зависимости от параметра SMSC.enquire_link.send. будет выполнено следующее:при SMSC.enquire_link.send = true будет послан собственный запрос ENQUIRE_LINKпри SMSC.enquire_link.send. = false сессия закроется т.к. считается, что удаленная сторона отключилась.

SMSC.protocol.timeout_err_net интервал времени (в секундах) для задержки сетевых операций, в случае если предыдущая сетевая операция с сокетом завершилась с ошибкой.

SMSC.protocol.timeout_stop_send интервал времени (в секундах) для задержки очереди отправки, если в ответ на одну из команд пришла команда *_RESP со статус кодом, определенным в SMSC.protocol.status_stop_send.

SMSC.protocol.timeout_wait_unbind_resp интервал времени (в секундах) для ожидания ответа на команду UNBIND. если =0, то ожидания не происходит

SMSC.protocol.status_stop_send список статус кодов (см приложение 1 – список статусных кодов) для которых осуществляется задержка очереди отправки на время указанное в SMSC.protocol.timeout_stop_send

SMSC.connect.reconnect флаг, указывающий на необходимость последующих попыток установления подключения, если предыдущее

Page 9: Маршрутизатор SMS2SERVE (SMS на службе)

EDISON. Software Development Centrehttp://www.edsd.ru

SMS2SERVE Routerhttp://www.sms2serve.com

подключение было неудачным или связь с удаленной стороной потеряна.

SMSC.connect.timeout_error_report интервал времени (в секундах) через который посылается повторный отчет об отсутствии связи с удаленной стороной

SMSC.connect.try_count количество попыток подключения к удаленной сторонне. Если за заданное количество попыток не удалось подключиться, то формируется соответствующий отчет. Если флаг SMSC.connect.reconnect не установлен, то дальнейшие попытки установления подключения не предпринимаются.

SMSC.connect.try_delay интервал времени (в секундах) на который осуществляется задержка между попытками подключения (см SMSC.connect.try_count).

SMSC.connect.time_out время (в секундах) ожидания подключения на физическом уровне.

SMSC.connect.timeout_wait_bind интервал времени (в секундах) в течение которого ожидается ответ на команду BIND. если за заданный период ответа не было, то считается, что соединение установить не удалось, физическое соединение закрывается и производится попытка повторного подключения.

SMSC.connect.from_host список IP адресов, с которых будет производиться попытка подключения к удаленной стороне. Первый адрес в списке считается основным, остальные резервными.

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

SMSC.route.text_sms_not_route текст СМС отправляемый SMSC в случае невозможности определения маршрута и если SMSC.route.status_not_route = ESME_ROK (0).

SMSC.route.status_not_connect статусный код, которым необходимо ответить SMSC в случае отсутствия подключения на VSME коннекторе.

SMSC.route.text_sms_not_connect текст СМС отправляемый SMSC в случае отсутствия подключения на VSME коннекторе и если SMSC.route.status_not_connect = ESME_ROK (0).

SMSC.route.mask задает список маршрутов в формате:source_connector, dest_connector, msg_mask, dest_addr_mask;\Где source_connector - наименование коннектора источника (только SMSC), dest_connector - наименование коннектора приемника (только VSME), msg_mask - маска короткого сообщения (можно использовать регулярные выражения). dest_addr_mask - маска адреса назначения (можно использовать регулярные выражения).

SMSC.route.status_not_connect_database статусный код, которым необходимо ответить SMSC в случае отсутствия подключения к БД.

Секция параметров по умолчанию для коннекторов VSME

Page 10: Маршрутизатор SMS2SERVE (SMS на службе)

EDISON. Software Development Centrehttp://www.edsd.ru

SMS2SERVE Routerhttp://www.sms2serve.com

VSME.log_level уровень логирования по всем коннекторам VSME. Данный параметр не может определять более низкий уровень логирования, чем глобальный уровень логирования

VSME.timeout_shutdown интервал времени (в секундах) для ожидания завершения работы сессии. Если за указанное время сессия не завершиться нормальным образом она будет завершена принудительно.

VSME.enquire_link.send флаг, дающий разрешение на отправку запроса ENQUIRE_LINK в случае отсутствия аналогичного запроса от удаленной стороны в течение интервала времени заданного в параметре VSME.enquire_link.timeout_wait

VSME.enquire_link.timeout_wait_resp интервал времени (в секундах) на ожидания ответа на собственную команду ENQUIRE_LINK. имеет смысл только когда VSME.enquire_link.send = true. если за заданный период не придет ответ, то сессия будет закрыта.

VSME.enquire_link.timeout_wait интервал времени (в секундах) на ожидании запроса ENQUIRE_LINK от удаленной стороны. Если за указанный период указанный запрос не придет, то в зависимости от параметра VSME.enquire_link.send будет выполнено следующее:при VSME.enquire_link.send = true будет послан собственный запрос ENQUIRE_LINK при VSME.enquire_link.send = false сессия закроется т.к. считается, что удаленная сторона отключилась

VSME.protocol.timeout_err_net интервал времени (в секундах) для задержки сетевых операций, в случае если предыдущая сетевая операция с сокетом завершилась с ошибкой.

VSME.protocol.timeout_stop_send интервал времени (в секундах) для задержки очереди отправки, если в ответ на одну из команд пришла команда *_RESP со статус кодом, определенным в VSME.protocol.status_stop_send.

VSME.protocol.status_stop_send список статус кодов для которых осуществляется задержка очереди отправки на время указанное в VSME.protocol.timeout_stop_send

VSME.protocol.timeout_wait_unbind_resp интервал времени (в секундах) для ожидания ответа на команду UNBIND. если =0, то ожидания не происходит.

VSME.connect.reconnect Флаг, указывающий на необходимость последующих попыток установления подключения, если предыдущее подключение было неудачным или связь с удаленной стороной потеряна.

VSME.connect.timeout_error_report интервал времени (в секундах) через который посылается повторный отчет об отсутствии связи с удаленной стороной

VSME.connect.try_count количество попыток подключения к удаленной сторонне. Если за заданное количество попыток не удалось подключиться, то формируется соответствующий отчет. Если флаг VSME.connect.reconnect не установлен, то дальнейшие попытки установления подключения не предпринимаются.

VSME.connect.try_delay интервал времени (в секундах) на который осуществляется задержка между попытками подключения (см VSME.connect.try_count).

VSME.connect.time_out время (в секундах) ожидания подключения на физическом

Page 11: Маршрутизатор SMS2SERVE (SMS на службе)

EDISON. Software Development Centrehttp://www.edsd.ru

SMS2SERVE Routerhttp://www.sms2serve.com

уровне (т.е. время ожидания на accept).VSME.connect.timeout_wait_bind интервал времени (в секундах) в течение которого

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

VSME.connect.accept_host список IP адресов, на которых будет производиться попытка подключения (т.е. открываться TCP/IP порт для accept). Первый адрес в списке считается основным, остальные резервными.

VSME.script.dir директория, где лежат файлы скриптов.VSME.route.status_not_route статусный код, которым необходимо ответить VSME в

случае невозможности определения маршрута для заданного сообщения.

VSME.route.status_not_connect статусный код, которым необходимо ответить VSME в случае отсутствия подключения на SMSC коннекторе.

VSME.route.status_not_connect_database статусный код, которым необходимо ответить VSME в случае отсутствия подключения к БД.

Секция параметров для коннектора SMSC (данная секция описывается для каждого коннектора

Возможно задание любого значения параметров из секции SMSC по умолчанию, при этом значение по умолчанию для данного коннектора отменяется.

{имя коннектора} признак коннектора. должен имет значение "connector". если данный параметр не определен или указанное неверное значение, то данный коннектор инициализироваться не будет.

{имя коннектора}.class имя класса коннектораВозможные значения:ru.edsd.smpp_router.connector.SMSCAsyncConnector - коннектор для подключения к SMSC, реализующий асинхронный алгоритм работы очереди сообщений. ru.edsd.smpp_router.connector.SMSCSyncConnector - коннектор для подключения к SMSC, реализующий синхронный алгоритм работы очереди сообщений.

{имя коннектора}.connect.host имя удаленного хоста на котором установленн SMSC.{имя коннектора}.connect.port TCP/IP порт на который настроен SMSC.{имя коннектора}.bind.type тип подключения, определяющие типы взаимодествия с

SMSC.Возможные значения:BIND_RECEIVERBIND_TRANSMITTERBIND_TRANSCEIVER

{имя коннектора}.bind.system_id параметры команды BIND с которыми производится подключение к SMSC.

{имя коннектора}.bind.password пароль для аутентификации{имя коннектора}.bind.system_type Необязательный параметр, использующийся для указания

Page 12: Маршрутизатор SMS2SERVE (SMS на службе)

EDISON. Software Development Centrehttp://www.edsd.ru

SMS2SERVE Routerhttp://www.sms2serve.com

категории VSME.{имя коннектора}.bind.addr_ton Указывает тип адреса VSME

Возможные значения:00 - UNKNOWN, 01 - INTERNATIONAL, 02 - NATIONAL, 03 - NETWORK, 04 - SUBSCRIBER, 05 - ALPHANUMERIC, 06 – ABBREVIATED. Возможно задание как текстового, так и числового значения в десятичном формате.

{имя коннектора}.bind.addr_npi Указывает индикатор плана номеров VSMEВозможные значения:00 - UNKNOWN, 01 - ISDN, 03 - DATA, 04 - TELEX, 06 - LAND MOBILE, 08 - NATIONAL, 09 - PRIVATE, 10 - ERMES, 14 - INTERNET, 18 - WAP CLIENT ID. Возможно задание как текстового, так и числового значения в десятичном формате.

{имя коннектора}.bind.address_range адрес или диапазон адресов, обслуживаемых VMSE

Секция параметров для коннектора VSME (данная секция описывается для каждого коннектора

{имя коннектора} признак коннектора. должен имет значение "connector". если данный параметр не определен или указанное неверное значение, то данный коннектор инициализироваться не будет.

{имя коннектора}.class имя класса коннектора.Возможные значения:ru.edsd.smpp_router.connector.VSMEAsyncConnector - коннектор для подключения к VSME, реализующий асинхронный алгоритм работы очереди сообщений.ru.edsd.smpp_router.connector.VSMESyncConnector - коннектор для подключения к VSME, реализующий синхронный алгоритм работы очереди сообщений..

{имя коннектора}.connect.accept_port TCP/IP порт, на котором будет выполняться ожидание подключения.

{имя коннектора}.bind.system_id параметры команды BIND при которых подключение будет признано успешным. иначе запрос на подключение будет отвергнут и сессия закрыта.

{имя коннектора}.bind.password Пароль для аутентификации{имя коннектора}.script.start скрипт который будет выполняться перед

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

{имя коннектора}.script.stop скрипт который будет выполняться после закрытия физического подключения, или в случае ошибки подключения

Page 13: Маршрутизатор SMS2SERVE (SMS на службе)

EDISON. Software Development Centrehttp://www.edsd.ru

SMS2SERVE Routerhttp://www.sms2serve.com

1 – Приложение список статусных кодов0x00000000 ESME_ROK No error0x00000001 ESME_RINVMSGLEN Message Length is invalid0x00000002 ESME_RINVCMDLEN Command Length is invalid0x00000003 ESME_RINVCMDID Invalid Command ID0x00000004 ESME_RINVBNDSTS Incorrect BIND Status for given

command0x00000005 ESME_RALYBND ESME Already in bound state0x00000006 ESME_RINVPRTFLG Invalid priority flag0x00000007 ESME_RINVREGDLVFLG Invalid registered delivery flag0x00000008 ESME_RSYSERR System Error0x0000000A ESME_RINVSRCADR Invalid source address0x0000000B ESME_RINVDSTADR Invalid destination address0x0000000C ESME_RINVMSGID Message ID is invalid0x0000000D ESME_RBINDFAIL Bind failed0x0000000E ESME_RINVPASWD Invalid password0x0000000F ESME_RINVSYSID Invalid System ID0x00000011 ESME_RCANCELFAIL Cancel SM Failed0x00000013 ESME_RREPLACEFAIL Replace SM Failed0x00000014 ESME_RMSGQFUL Message queue full0x00000015 ESME_RINVSERTYP Invalid service type0x00000033 ESME_RINVNUMDESTS Invalid number of destinations0x00000034 ESME_RINVDLNAME Invalid distribution list name0x00000040 ESME_RINVDESTFLAG Destination flag is invalid

(submit_multi)0x00000042 ESME_RINVSUBREP Invalid `submit with replace' request

(i.e. submit_sm with replace_if_present_flag set)

0x00000043 ESME_RINVESMCLASS Invalid esm_class field data0x00000044 ESME_RCNTSUBDL Cannot submit to distribution list0x00000045 ESME_RSUBMITFAIL submit_sm or submit_multi failed0x00000048 ESME_RINVSRCTON Invalid source address TON0x00000049 ESME_RINVSRCNPI Invalid source address NPI0x00000050 ESME_RINVDSTTON Invalid destination address TON0x00000051 ESME_RINVDSTNPI Invalid destination address NPI0x00000053 ESME_RINVSYSTYP Invalid system_type field0x00000054 ESME_RINVREPFLAG Invalid replace_if_present flag0x00000055 ESME_RINVNUMMSGS Invalid number of messages0x00000058 ESME_RTHROTTLED Throttling error (ESME has exceeded

allowed message limits)0x00000061 ESME_RINVSCHED Invalid scheduled delivery time0x00000062 ESME_RINVEXPIRY Invalid message validity period

(expiry time)0x00000063 ESME_RINVDFTMSGID Predefined message invalid or not

found0x00000064 ESME_RX_T_APPN ESME Receiver Temporary App Error

Code0x00000065 ESME_RX_P_APPN ESME Receiver Permanent App Error

Page 14: Маршрутизатор SMS2SERVE (SMS на службе)

EDISON. Software Development Centrehttp://www.edsd.ru

SMS2SERVE Routerhttp://www.sms2serve.com

Code0x00000066 ESME_RX_R_APPN ESME Receiver Reject Message Error

Code0x00000067 ESME_RQUERYFAIL query_sm request failed 0x000000C0 ESME_RINVOPTPARSTREAM Error in the optional part of the PDU

Body.0x000000C1 ESME_ROPTPARNOTALLWD Optional Parameter not allowed0x000000C2 ESME_RINVPARLEN Invalid Parameter Length.0x000000C3 ESME_RMISSINGOPTPARAM Expected optional parameter

missing0x000000C4 ESME_RINVOPTPARAMVAL Invalid optional parameter value0x000000FE ESME_RDELIVERYFAILURE Delivery Failure (used for

data_sm_resp)0x000000FF ESME_RUNKNOWNERR Unknown error

2 – Приложение примерфайла конфигурации########################################################################

control.port = 3500

control.encoding = KOI8_R

########################################################################

logger.file.dir = logs

logger.file.level = INFO

logger.file.encoding = Cp1251

logger.console.level = INFO

logger.console.encoding = Cp1251

########################################################################

database.driver_packet = mysql-connector-java-3.0.16-ga-bin.jar

database.driver_class = com.mysql.jdbc.Driver

database.connection_str = jdbc:mysql://127.0.0.1/smpp_router?useUnicode=true&characterEncoding=Cp1251

database.user_name = root

database.user_pwd = 123

Page 15: Маршрутизатор SMS2SERVE (SMS на службе)

EDISON. Software Development Centrehttp://www.edsd.ru

SMS2SERVE Routerhttp://www.sms2serve.com

database.time_live_router_info = 60

########################################################################

report.enabled = false

report.mail.host =

report.mail.from =

report.mail.to =

report.mail.subject = SMPProuter ALERT

########################################################################

SMSC.log_level = ALL

SMSC.timeout_shutdown = 10

SMSC.enquire_link.send = true

SMSC.enquire_link.timeout_wait = 60

SMSC.enquire_link.timeout_wait_resp = 3

SMSC.protocol.timeout_err_net = 60

SMSC.protocol.timeout_stop_send = 30

SMSC.protocol.timeout_wait_unbind_resp = 5

SMSC.protocol.status_stop_send = ESME_RMSGQFUL;\

ESME_RTHROTTLED;

SMSC.connect.reconnect = true

SMSC.connect.timeout_error_report = 1800

SMSC.connect.try_count = 2

SMSC.connect.try_delay = 30

SMSC.connect.time_out = 20

SMSC.connect.timeout_wait_bind = 10

SMSC.connect.from_host = localhost;

SMSC.route.status_not_route = ESME_ROK

Page 16: Маршрутизатор SMS2SERVE (SMS на службе)

EDISON. Software Development Centrehttp://www.edsd.ru

SMS2SERVE Routerhttp://www.sms2serve.com

SMSC.route.text_sms_not_route = Cannot define VSME

SMSC.route.status_not_connect = ESME_ROK

SMSC.route.text_sms_not_connect = No connect VSME

SMSC.route.status_not_connect_database = ESME_RSYSERR

########################################################################

VSME.log_level = ALL

VSME.timeout_shutdown = 10

VSME.script.dir = script

VSME.enquire_link.send = true

VSME.enquire_link.timeout_wait = 30

VSME.enquire_link.timeout_wait_resp = 2

VSME.protocol.timeout_err_net = 30

VSME.protocol.timeout_stop_send = 30

VSME.protocol.timeout_wait_unbind_resp = 5

VSME.protocol.status_stop_send = ESME_RMSGQFUL;\

ESME_RTHROTTLED;

VSME.connect.reconnect = true

VSME.connect.timeout_error_report = 1800

VSME.connect.try_count = 3

VSME.connect.try_delay = 1

VSME.connect.time_out = 60

VSME.connect.timeout_wait_bind = 10

VSME.connect.accept_host = localhost;

VSME.route.status_not_route = ESME_RINVDSTADR

VSME.route.status_not_connect = ESME_RTHROTTLED

VSME.route.status_not_connect_database = ESME_RSYSERR

Page 17: Маршрутизатор SMS2SERVE (SMS на службе)

EDISON. Software Development Centrehttp://www.edsd.ru

SMS2SERVE Routerhttp://www.sms2serve.com

########################################################################

SMSC_test_1 = connector

SMSC_test_1.class = ru.edsd.smpp_router.connector.SMSCSyncConnector

SMSC_test_1.connect.host = localhost

SMSC_test_1.connect.port = 3100

SMSC_test_1.bind.type = BIND_TRANSCEIVER

SMSC_test_1.bind.system_id = test_1

SMSC_test_1.bind.password = test_1

SMSC_test_1.bind.system_type = logic

SMSC_test_1.bind.addr_ton = UNKNOWN

SMSC_test_1.bind.addr_npi = UNKNOWN

SMSC_test_1.bind.address_range =

########################################################################

VSME_test_1 = connector

VSME_test_1.class = ru.edsd.smpp_router.connector.VSMEAsyncConnector

VSME_test_1.connect.accept_port = 4100

VSME_test_1.bind.system_id = test

VSME_test_1.bind.password = 123

VSME_test_1.script.start = start_vsme_1.bat

VSME_test_1.script.stop =

########################################################################

VSME_test_2 = connector

VSME_test_2.class = ru.edsd.smpp_router.connector.VSMEAsyncConnector

VSME_test_2.connect.accept_port = 4200

VSME_test_2.bind.system_id = test

VSME_test_2.bind.password = 123

Page 18: Маршрутизатор SMS2SERVE (SMS на службе)

EDISON. Software Development Centrehttp://www.edsd.ru

SMS2SERVE Routerhttp://www.sms2serve.com

VSME_test_2.script.start =

VSME_test_2.script.stop =

########################################################################

SMSC.route.mask = SMSC_test_1, VSME_test_1, TEST1 .*, (.|\n)*;\

SMSC_test_1, VSME_test_1, BURDA?, (.|\n)*;\

SMSC_test_1, VSME_test_2, TEST2 .*, (.|\n)*;

########################################################################