View
317
Download
1
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
EDISON Software Development Centre
Руководство по программному
SMPP-шлюзуSMS2Serve Router Component
EDISON01.01.2010
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).
Основные компоненты:
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.
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 – имя, индекс исходящего коннектора
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
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
кодировка файлов логов. Допустимые значения параметров:
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 Предупреждающее сообщение.
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 флаг, указывающий на необходимость последующих попыток установления подключения, если предыдущее
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
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 время (в секундах) ожидания подключения на физическом
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 Необязательный параметр, использующийся для указания
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 скрипт который будет выполняться после закрытия физического подключения, или в случае ошибки подключения
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
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
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
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
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
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)*;
########################################################################