Configuration editor

Configuration Editor is a separate tool nhsmscfg.exe to edit nhsms configuration file.

nhsms

The Configuration Editor is also accessible from nhsms main window by clicking Configuration button.

Configuration Editor contains a list of pages on the left:

Modems – choosing installed modems and/or serial ports to connect to

Connection – establishing connection to a modem

Network – interaction with cellular network

Outgoing messages – Default settings for outgoing messages

USSD settings – coding of USSD queries

Sending from command line – setup sending text messages from command line arguments

Sending from files – setup sending text messages and USSD queries from text files

Sending messages – rules to control sending text messages

Incoming messages – rules to read and process incoming text messages/status reports

Database – setup SQL database connection and options

License – activaing license

Informaion output – managing program log

Configuration Editor when started opens default configuration file nhsms.ini.

To open configuration file with non default name from command line specify the file name in command line: nhsmscfg.exe my-nhsms.ini.

Modems

This page has options to choose devices to connect.

 

Selecting particular installed devices is recommended for USB modems or Bluetooth connected phones. Modems are found by their identifiers rather than COM port numbers so nhsms will found a configured modem even if it is connected to another USB port.

Selecting COM port number is recommended for serial connections like with Nokia 30 modem.

Modem connection

This page controls process of establishing connection with a modem.

Baudrates

Baudrate values to use for connecting to modem. Several values are listed with comma.

Default values are 115200, 19200 because 115200 works with most of modems and phones while 19200 is the only value supported by some of Siemens modems.

Maximum number of modem connection attempts

Limits nunber of connection attempts: if the program done this number of failed attempts it closes with an error return code.

The value of 0 (zero) makes the program to try connecting until success.

For nhsms (GUI version) value of 0 (zero) is recommended to be able to close the program manually.

For nhsmscl (console version) non-zero value is recommended.

For nhsmssvc (Windows service version) zero value is recommended.

В исходной конфигурации установлено значение 0.

Пауза между попытками подключения

Пауза после окончания неудачной попытки соединения с модемом до начала следующей попытки.

Исходное значение 15 с.

Сброс параметров модема после подключения

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

В исходной конфигурации отключен.

Предпочитаемый набор символов (TE Charset)

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

Поддерживаемые модемом наборы показываются в протоколе в поле TECS (TE CharSet).

В исходной конфигурации поле пустое, то есть используется текущий набор символов модема.

Команды для модема

Этот список позволяет выполнять одну или несколько AT команд на модеме после установления соединения с ним. Команды могут использоваться, например, для запроса баланса или для задания каких-то особых параметров модема.

Проверить подключение

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

При открытии редактора конфигурации из nhsms эта функция недоступна.

Сеть

Эти настройки управляют взаимодействием модема с сотовой сетью:

Если не происходит поиск сети, выполнить команду

После установления соединения с модемом программа ожидает подключение модема к сотовой сети, прежде чем приступать к отправке и приёму сообщений.

Если же модем сообщает, что он не ведёт поиск сети, программа nhsms отправит на модем указанную далее команду, чтобы форсировать поиск сети (или перезагрузить модем).

Команда модема

Задаёт текст AT команды модема. Может быть использована команда AT+COPS или, например, AT+CFUN=1,1 для перезагрузки модема.

Использовать MMTS

Функция MMTS (More Messages To Send) предназначена для увеличения скорости отправки подряд идущих сообщений: если она включена, сеть не закрывает канал передачи после отправки сообщения, за счёт этого следующее сообщение будет отправлено быстрее, так как не требуется открывать канал.

Эта функция реализуется на стороне сети (оператора), модем может только запросить её использование. Поэтому включение функции может улучшать скорость отправки, а может и не влиять на скорость отправки – зависит от поддержки оператора.

Если отметка Использовать MMTS установлена, программа будет запрашивать использование MMTS.

Текущий режим MMTS можно увидеть при подключении модема:

  • текст MMTS:supported означает, что модем поддерживает MMTS, но функция не используется,
  • текст MMTS:enabled означает, что модем поддерживает MMTS, и программа запрашивает использование MMTS.

Отправлять только в домашней сети

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

Если отметка установлена, то при нахождении в домашней сети будет работать и прием, и отправка сообщений и ussd, а при нахождении не в домашней сети (в роуминге) будет работать только прием входящих сообщений.

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

Исходящие сообщения

Параметры по умолчанию для исходящих смс сообщений.

Номер центра обслуживания

Необязательный параметр, задаёт номер смс центра. Если значение не задано, при отправке будет использовано значение, записанное на сим карте.

Номера получателей

Необязательный параметр, позволяет задать адресатов для смс сообщений.

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

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

Максимальный срок доставки смс

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

Задаётся строкой:

5м,10м…55м – значения от 5 до 55 минут с шагом 5 минут или

1ч,1ч5м…11ч55м – значения от 1 часа до 11 часов 55 минут с шагом 5 минут или

12ч,12ч30м…24ч – значения от 12 часов до 24 часов с шагом 30 минут или1д,2д…30д – значения от 1 до 30 дней или

5н,6н…63н – значения от 5 до 63 недель.

Все значения «включительно».

Например, для срока действия 3 дня необходимо задать значение:

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

Если значение не задано, срок действия смс определяется сотовым оператором, обычно это от 3 до 7 дней.

Задержка отправки СМС

Задержка перед отправкой следующего СМС сообщения. Предназначена для ситуаций, когда сотовый оператор не разрешает отправку сообщений подряд.

Задаётся в миллисекундах, например, значение 500 означает 500 мс или в секундах, например, значение означает 2 секунды.

В исходной конфигурации установлено значение 0, т.е. без задержки.

Запрос отчёта о статусе

Запрашивает сотового оператора присылать отчёте о статусе сообщения (доставлено или нет).

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

В исходной конфигурации отметка установлена.

Отправка как Flash-SMS

Если отметка установлена, сообщение будет после приёма абонентом сразу показано на экране.

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

В исходной конфигурации отметка снята.

Управляющий символ

Это значение используется при отправке сообщений из файлов. Введите текст, используемый для преобразования символов форматирования, таких как перевод строки. Программа при считывании файлов с сообщениями будет преобразовывать символы n, r, t с учётом управляющего символа.

В исходной конфигурации в качестве управляющего символа используется обратная косая черта (backslash), т.е. в файле сообщений сочетание \n означает новую строку, а \\ – сам символ \.

Команды обработки отправленных сообщений

Программа выполняет для каждого отправленного сообщения (включая те, которые не удалось отправить) перечисленные в списке команды.

Команды применяются для всех способов отправки сообщений:

  • из файлов (в режимах с базой данных и без базы данных)
  • из базы данных
  • из параметров командной строки

В качестве команды может быть указана программа (EXE), скрипт (VBS, JS), командный файл (CMD).

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

См. примеры настройки командных файлов bat/cmd для записи смс в файле в статье bat файлы записи смс в файл.

Запуск bat файла:

scripts\save_to_text\sms-submit.cmd

Запуск того же bat файла для работы в Unicode (вывод в файл будет сохраняться в Unicode), команда должна быть через запуск cmd.exe с параметрами /u /c:

%systemroot%\system32\cmd.exe /u /c scripts\save_to_text\sms-submit.cmd

USSD запросы

Параметры отправки USSD запросов.

Параметр Data Coding Scheme

Параметр DCS (Data Coding Scheme) определяет кодировку данных отправляемого запроса. Обычно значение 15 подходит для большинства наборов символов, 72 для UCS2. Для некоторых модемов подходит пустое значение.

Исходное значение 15.

Имеет смысл изменять это значение, если при отправке USSD происходит ошибка.

Кодировка 7 бит

Параметр задаёт, следует ли кодировать запрос в 7 битную последовательность.

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

Команды обработки

Список команд, которые программа будет выполнять для каждого отправленного USSD запроса. Это могут быть внешние программы, командные файлы BAT/CMD, скрипты JScript/VBScript и т.п.

Отправка из командной строки

Файл отправленных сообщений

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

Если задан относительный путь, то расположение файла определяется относительно текущего каталога. Если требуется, чтобы расположение относительного пути определялось относительно каталога программы (т.е. каталог, где находится nhsms.exe/nhsmscl.exe), укажите абсолютный путь. Можно также использовать переменную %startpath%, которая разворачивается в каталог программы (включает завершающий backslash).

В исходной конфигурации поле содержит значение: sent.sms

Кодировка файла

Выберите кодировку файла. Значение Auto означает, что если файл существует, то программа будет дописывать в текущей кодировке, а если файл не существует, то новый будет записан в Unicode.

Отправка из файлов

Эти параметры управляют процессом отправки смс сообщений из текстовых файлов. Формат файлов описан на странице Файл исходящих сообщений.

Путь и имя/маска файлов с исходящими смс

Задаёт файл или маску для файлов, из которых программа будет отправлять сообщения, например:

out-*.sms

файлы out-1.sms, out-акция.sms и т.п. будут обработаны программой как файлы исходящих сообщений.

outgoing\*

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

Если задан относительный путь, он определяется от текущего каталога.

Путь и имя файла для отправленных смс

Задаёт путь и имя файла для сохранения отправленных сообщений. Сохранение в этот файл производится для сообщений, отправленных из файлов в режиме без базы данных.

Если задан относительный путь, он определяется от текущего каталога.

Кодировка файла

Задаёт кодировку этого файла.

При значении Авто запись производится в Unicode, если файл не существует.

Режим обработки файлов

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

Обработка только существующих файлов и автоматическое завершение

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

Обработка существующих и новых файлов, завершение по команде пользователя

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

Отправка сообщений

Эти параметры управляют тем, как производится отправка сообщений. Параметры применяются ко всем отправляемым сообщениям, независимо от способа отправки (из командной строки, из файлов).

Отправлять сообщения в любое время

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

В исходной конфигурации ограничение времени отправки отключено.

Отправлять сообщения в указанное время

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

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

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

В рабочие дни

Если отметка установлена, отправка будет разрешена с понедельника по пятницу.

В выходные дни

Если отметка установлена, отправка будет разрешена в субботу и воскресенье.

Период

Период времени, включительно. В исходной конфигурации задано 10:00-19:00.

Входящие сообщения

Эти параметры управляют процессом считывания входящих смс сообщений.

Считывание входящих сообщений

Выберите одно из следующих значений. В исходной конфигурации выбрано значение Авто.

Авто

В этом режиме программа сначала опрашивает возможности модема. Если модем поддерживает уведомление, программа использует режим уведомления. Если режим уведомления не поддерживается модемом, программа использует режим опроса. Если и режим опроса не поддерживается модемом, программа не будет считывать входящие сообщения.

Уведомление

В этом режиме программа не производит опрос по времени, а ожидает, когда модем уведомит о приходе смс сообщения. Преимущество этого режима по сравнению с режимом Опрос в том, что не тратится время на опрос модема.

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

В некоторых случаях, в зависимости от модема или его ПО, возможно, что смс в режиме уведомления недоступны программе nhsms (например, ПО модема считывает их и удаляет из модема), в этом случае используйте режим опроса.

Опрос

В этом режиме программа периодически (см. ниже интервал опроса) опрашивает модем о наличии входящих сообщений.

Преимуществом этого режима является лучшая поддержка модемами, недостатком – трата времени на опрос независимо от наличия сообщений.

Нет

В этом режиме считывание сообщений не производится.

Интервал между опросами

Интервал определяет, насколько часто программа будет повторять опрос модема в режиме опрос. Введите значение в секундах или минутах, например:

45с

означает интервал 45 секунд

означает интервал 3 минуты.

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

Области памяти

Введите область памяти для опроса: SM – для опроса сим карты, ME – для опроса памяти модема. Этот параметр влияет только на работу в режиме опроса.

Если значение не указано, программа будет опрашивать все области, это может увеличивать время опроса.

Команды обработки входящих сообщений

Добавьте одну или несколько команд (вызов командного файла CMD, скрипта JS/VBS или исполняемого EXE файла), все эти команды будут запущены для каждого входящего сообщения.

Информация о входящем сообщении передаётся в виде переменных среды окружения. Переменные перечислены на странице Переменные в скриптах обработки смс.

Например, следующая команда запускает скрипт сохранения входящей смс в файл:

cscript.exe //nologo "Scripts\save_to_text\save-sms_deliver-to-file.js"

Скрипт определяет содержимое сообщения и другие параметры и сохраняет в виде отдельного файла:

var shell=WScript.CreateObject("WScript.Shell");

// Считываем параметры СМС из переменных окружения
var type=shell.ExpandEnvironmentStrings("%sms_type%");
var phone=shell.ExpandEnvironmentStrings("%sms_sender%");
var sent_time=shell.ExpandEnvironmentStrings("%sms_senttime%");
var text=shell.ExpandEnvironmentStrings("%sms_messagetext%");

// Записываем только входящие СМС, все остальные (например, отчёт о статусе)
// игнорируем.
if (type=="SMS-DELIVER") {
  // Открываем файл sms-deliver.txt на дозапись с проверкой: если файл занят
  // другим скриптом, повторяем попытку.
  var fso=WScript.CreateObject("Scripting.FileSystemObject");

    // определяем имя файла по отправителю и времени отправки
    var fn = shell.ExpandEnvironmentStrings(
        "%sms_senttime_year%-%sms_senttime_month%-%sms_senttime_day% "+
        "%sms_senttime_hour%-%sms_senttime_min%-%sms_senttime_sec% " +
        phone + ".txt");
    var f=OpenTextFileEC(fn,8,true,true);

  // Запись информации в файл
  f.WriteLine(text);
  f.Close();
}

function OpenTextFileEC(filename,iomode,create,format)
{
    var f;
    do {
        var fopenerr=false;
        try {
            f=fso.OpenTextFile(filename,iomode,create,format);
        }
        catch(e) {
            fopenerr=true;
            WScript.Sleep(10);
        }
    }
    while ( fopenerr==true );
    return f;
}

См. также Переменные в скриптах обработки смс, bat файлы записи смс в файл.

База данных

Эта страница добавлена в версии nhsms v3.0 и задаёт параметры для хранения смс в ODBC SQL базе данных.

nhsms
Страница База данных в редакторе конфигурации nhsms

Использовать базу данных

Если база данных включена, программа сохраняет все сообщения в базе данных. В режиме базы данных поддерживаются дополнительные возможности:

  • приоритет сообщения индивидуально для каждого сообщения
  • разрешённое время отправки сообщения индивидуально для каждого сообщения
  • внесение изменений в сообщение, уже поставленное в очередь

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

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

Строка подключения

Строка подключения к базе данных. Программа использует ODBC. В текущей версии поддерживаются ODBC драйверы Microsoft Access и Microsoft SQL Server.

Строку подключения Microsoft Access см. /blog/microsoft-access-driver/, при использовании Microsoft Access необходимо включать ExtendedAnsiSQL=1, так как nhsms использует расширенный вариант.

Строку подключения Microsoft SQL Server см. http://www.connectionstrings.com/microsoft-sql-server-odbc-driver/

Вернуть исходную строку подключения

Кнопка возвращает стандартную строку подключения к локальной базе данных Microsoft Access:

Driver={Microsoft Access Driver (*.mdb)};ExtendedAnsiSQL=1;DBQ=nhsms.mdb;UID=admin

Префикс таблиц

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

Например, это будет удобно для хранения различных рассылок в одной базе данных или для создания отдельной таблицы просто для тестирования.

Если поле непустое, программа использует имя таблицы, склеенное из префикса и “nhsms”, чтобы это были разные таблицы.

Например, если ввести “test_”, то программа будет работать с таблицей “test_nhsms”.

Проверить базу данных

Кнопка делает пробное подключение к базе данных и выполняет пару SQL запросов на выборку данных.

Если подключение и запросы выполнены без ошибок, то база данных настроена правильно.

Connecting to Driver={Microsoft Access Driver (*.mdb)};ExtendedAnsiSQL=1;DBQ=nhsms.mdb;UID=admin... 
Операция успешно завершена.DBQ=nhsms.mdb;DefaultDir=.;Driver={Microsoft Access Driver (*.mdb)};DriverId=25;ExtendedAnsiSQL=1;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;UID=admin; 
SELECT TOP 1 MessageID,MessageType,PhoneNumber,MessageText,MessageOptions,ValidityPeriod,Commands,MessageStatus,MessagePriority,SendDays,SendTimeFrom,SendTimeTo,RegisteredTime,SentTime,DeliveredTime,Notes FROM nhsms 
Операция успешно завершена.  
SELECT COUNT(*) FROM nhsms 
Операция успешно завершена.  35 stored messages. 
SELECT COUNT(*) FROM nhsms WHERE MessageType='S' AND MessageStatus='Q'; 
Операция успешно завершена.  3 queued messages.

Если возникли какие-либо ошибки, то nhsms работать с этой базой данных не сможет. В этом случае её можно пересоздать (см. ниже).

Создать таблицу nhsms в базе данных

Эта кнопка создаёт таблицу nhsms в базе данных по заданной выше строке подключения.

Выполняемые SQL запросы выводятся в окне, поэтому можно посмотреть и сами запросы, и результат выполнения. Необходимо, чтобы таблица былм создана, иначе nhsms не сможет работать. В случае ошибок необходимо проверить строку подключения и полномочия пользователя в базе данных.

Удалить таблицу nhsms

Эта кнопка удаляет таблицу nhsms вместе со всеми данными (выполняет DROP TABLE) в базе данных по заданной выше строке подключения.

Эта функция может быть использована при удалении таблицы (например, при переносе данных на другой сервер БД).

А также при пересоздании базы данных, например, поигравшись с тестовыми данными, можно удалить их и пересоздать уже рабочую таблицу (см. выше создание таблицы).

Автоматически удалять старые сообщения

Этот параметр добавлен в nhsms v3.2.0.

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

Старыми считаются сообщения, у которых прошёл Период в днях с момента постановки в очередь (значения RegisteredTime). Статус и другие параметры сообщения при этом не учитываются.

В исходной конфигурации галочка не установлена.

Период, дней

Этот параметр добавлен в nhsms v3.2.0.

Задаёт максимальный период хранения сообщений в базе данных в календарных днях.

Сообщения, у которых время с момента добавления в таблицу (значение в столбце RegisteredTime) превышает заданное значение, автоматически удаляются при установленной галочке Автоматически удалять старые сообщения.

Лицензирование

На этой странице можно ввести лицензионный код. Без ввода лицензионного кода программа будет работать в ознакомительном режиме.

Идентификатор компьютера (CHI, Computer Hardware Identification) используется для лицензирования по компьютеру – скопируйте код и введите в форму заказа лицензии.

Вывод информации

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

Детализация

Выберите, насколько подробный должен быть вывод информации в протоколе.

Нет

Нет вывода информации.

Ошибки

Только ошибки, препятствующие работе программы.

Предупреждения и ошибки

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

События, предупреждения и ошибки

Ошибки, предупреждения, а также события (отправка, считывание сообщений, операции над файлами и т.п.).

Все действия

Ошибки, предупреждения, события, а также информацию, не связанную с событиями (например, опрос модема).

Формат времени

Задаёт, в каком формате выводить время в строке протокола, например:

yyyy-MM-dd HH:mm::ss

означает вывод в формате 2014-12-30 14:03:44

Дублирование вывода в файл

Задайте имя файла для дублирования протокола в текстовый файл. Этот параметр предназначен, в первую очередь, для службы nhsmssvc, чтобы можно было смотреть протокол через файл, но может быть использован и для приложений nhsms/nhsmscl.

В пути/имени можно использовать параметр %startpath%, который разворачивается в каталог программы, например:

C:\Program Files (x86)\nhsms\