Настройки
- Описание конфигурационного файла
- Конфигурационный файл описывает загружаемые при запуске Приложения процессы, а также параметры таких процессов и представляет собой текстовый 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 - путь к файлу для хранения исходящих сообщений и сегментов между запусками Приложения.
-
- Процесс Transceiver
-
class="ru.tms.smpp.gateway.Transceiver"
ident="Default">
host="smscHost"
port="smscPort"
retry="reconnectionPeriod" />
id="systemId"
password="systemPassword"
type="systemType"
ton="systemTon"
npl="systemNpi"
address-range="systemAddressRange">
ton="sourceTon"
npl="sourceNpi" />
ton="destinationTon"
npl="destinationNpi" />
default="defaultCharset"
default-segment-size="messageSizeForDefaultCharset"
alternate="alternateCharset"
alternate-segment-size="messageSizeForAlternateCharset">
dcs="dataCodingScheme"
encoding="encodingClassName" />
enquire-link="intervalToSendEnquireLink"
delivery-delta="deliveryTimeDelta"
throttling-delay="throttlingDelay" />
smscid-in-response="smscIdInResponse"
smscid-in-delivery-receipt="smscIdInDeliveryReceipt" />
- 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;
- smscIdInResponse - база исчисления идентификатора сообщения на SMSC, полученного в ответах submit_sm_resp и подобных;
- smscIdInDeliveryReceipt - база исчисления идентификатора сообщения на SMSC, полученного в пакете с delivery receipt (уведомлением о доставке).
-
- В конфигурационном файле может быть определено несколько процессов Transceiver.
Процесс AsyncTransceiver
Прдназначен для взаимодействия с SMSC по асинхронному каналу передачи данных. Описание конфигурации см. в описании процесса 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 months follow, ascending
- ГГГГММ
- ГГГГММ
- ...
-
- request=traffic-on
- period=ГГГГММ - отчёт по состояниям сообщений на указанный месяц. Ответ Статистики:
- 200 OK Traffic on ГГГГММ follows
-
- request=traffic-on
- period=ГГГГММДД - отчёт по состояниям сообщений на указанный день. Ответ Статистики:
- 200 OK Traffic on ГГГГММ follows