Редактор конфигурации – это отдельная программа nhsmscfg.exe для внесения изменений в конфигурацию программы nhsms.

nhsms
Окно редактора конфигурации nhsms

Также редактор открывается в программе nhsms при нажатии кнопки Конфигурация.

Все настройки разделены в редакторе на страницы:

Модемы – выбор модема или COM порта

Соединение с модемом – параметры установления связи с модемом

Сеть – параметры работы с сотовой сетью

Исходящие сообщения – параметры по умолчанию для исходящих текстовых сообщений

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

Отправка из командной строки – параметры отправки сообщений через аргументы командной строки

Отправка из файлов – параметры отправки сообщений и USSD запросов из файлов

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

Входящие сообщения – параметры считывания и обработки входящих сообщений и сообщений о статусе отправленных сообщений

База данных – использование ODBC базы данных, строка подключения

Лицензирование – ввод лицензии

Вывод информации – параметры вывода протокола на экран и в файл

Если редактор запущен без параметров, он открывает конфиг файл по умолчанию – nhsms.ini

Модемы

На этой странице можно выбрать, к каким устройствам будет подключаться программа nhsms:

 

Подключение к определённому модему рекомендуется для USB модемов и Bluetooth телефонов. Когда вы выбираете какой-то модем, редактор записывает в конфиг файл идентификатор этого модема, и в дальнейшем при поиске модема программа nhsms сможет находить его на любом USB порту этого компьютера, даже если связанный COM порт будет иметь другой номер.

Подключение к определённому COM порту рекомендуется для модемов, подключаемых непосредственно к последовательному порту, например, Nokia 30.

Соединение с модемом

Эта страница позволяет управлять процедурой установления соединения с модемом.

Скорости передачи, бод

Этот параметр задаёт, какие скорости (baudrate) программа должна использовать при поиске модема. Скорости задаются в бодах с перечислением через запятую.

По умолчанию используются значения 115200 (подходит для большинства телефонов и модемов) и 19200 (некоторые модемы Siemens работают только на baudrate 19200).

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

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

Для программы nhsms (оконная версия) рекомендуется использовать значение 0, чтобы вручную управлять завершениеи программы.

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

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

В исходной конфигурации установлено значение 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:\Users\user\AppData\Local\nhsms\

или

C:\Program Files (x86)\nhsms\

Если программа установлена в Program Files, то для возможности записи в файл без административных полномочий можно перенести файл вывода в ProgramData, например:

%ProgramData%\nhsms\nhsms.out

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *