5.1. [DKSF 707.3 IU] Как отправлять произвольные SMS-сообщения

Отправка SMS-сообщений через веб-интерфейс устройства

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

В случае использования в тексте SMS только латинского алфавита и цифр - длина одного фрагмента составляет 160 символов. Длина фрагмента для сообщений с использованием кириллицы - не более 70-и символов.

Для отправки произвольных SMS через веб-интерфейс устройства необходимо зайти на страницу «ПОСЛАТЬ SMS»:

Отправка произвольных SMS через web-интерфейс устройства NetPing SMS

1. В столбцах «Телефон» и «Имя/организация» написать один или несколько номеров с комментариями и нажать кнопку «Запомнить телефоны». Для стирания номера из локальной памяти web-браузера нажать кнопку «Х» справа от имени.

Телефоны не сохраняются в памяти устройства. Телефоны сохраняются в профиле пользователя web-браузера. Из-за этого на каждом компьютере у каждого пользователя имеется своя телефонная книга.

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

3. В соответствующем поле написать текст SMS-сообщения.

4. Отправить SMS нажатием кнопки «Послать SMS».

Отправка SMS-сообщений посредством протокола SNMP

Для отправки произвольных SMS при помощи протокола SNMP нужно воспользоваться OID «.1.3.6.1.4.1.25728.3800.1.9.0» («npGsmSendSms»), в «npGsmSendSms» записывается телефонный номер адресата и текст SMS-сообщения. Для этого см. MIB-файл, который можно скачать на странице описания устройства, раздел «Документация и файлы».

OID

Имя

Тип

Доступ

.1.3.6.1.4.1.25728.3800.1.9.0npGsmSendSMSDisplayStringREAD/WRITE

Формат произвольного SMS-сообщения:

[phone_number1,phone_number2,phone_number3,phone_number4] Message

где:

phone_number — номер адресата в квадратных скобках, указывается в формате: Код_страныКод_оператораНомер_абонента. (Можно отправить SMS-сообщение до четырех адресатов, указав их номера телефонов в квадратных скобках через запятую, без пробелов. Если не указывать адресатов вообще, SMS уйдет на номера, заданные в настройках на странице «НАСТРОЙКИ GSM» веб-интерфейса устройства.)

Message — текст сообщения (пишется через пробел от номера адресата).

Пример последовательности шагов для отправки произвольных SMS через SNMP при помощи пакета NET-SNMP

1. Для отправки произвольной SMS можно воспользоваться специальным пакетом NET-SNMP. Для этого нужно загрузить дистрибутив пакета NET-SNMP из раздела «Download» сайта: http://net-snmp.sourceforge.net/download.html

2. После установки пакета NET-SNMP запустить утилиту snmpset.exe в командной строке. Для запуска командной строки воспользоваться сочетанием клавиш «Windows+L». После открытия окна «Выполнить» ввести команду «cmd» и нажать клавишу «Enter». Далее в командной строке перейти в директорию установки утилиты snmpset.exe:

В командной строке перейти в директорию установки утилиты snmpset.exe

3. Запустить утилиту snmpset.exe со следующими параметрами командной строки:

snmpset.exe -v 1 -c COMMUNITY IP OID TYPE VALUE

где:

COMMUNITY — специальное кодовое слово, устанавливаемое на странице «НАСТРОЙКИ» веб-интерфейса устройства. В устройствах NetPing по умолчанию community=SWITCH; 

IP — IP-адрес устройства NetPing; 

OID — SNMP-идентификатор переменной «npGsmSendSms», который используется для отправки произвольного SMS-сообщения;

TYPE — тип записываемого значения SNMP-идентификатора переменной. Условное обозначение типов приведено на рисунке:


VALUE — записываемое значение, то есть номер/номера абонентов и текст SMS-сообщения.

Исходя из вышеизложенного описания, команда для отправки произвольной SMS при помощи утилиты snmpset.exe:

C:\Program Files (x86)\net-snmp\usr\bin>snmpset.exe -v 1 -c SWITCH 192.168.0.100 .1.3.6.1.4.1.25728.3800.1.9.0 s "[+79130000000] Hello! Test SMS!"

4. После успешного выполнения команды должен прийти следующий ответ:

SNMPv2-SMI::enterprises.25728.3800.1.9.0 = STRING: "[+79130000000] Hello! Test SMS!"

Отправка SMS-сообщений через сторонние веб-приложения (HTTP API)

Пример отправки произвольных SMS при помощи JavaScript кода

Для отправки произвольных SMS через сторонние веб-приложения можно воспользоваться следующим JavaScript кодом:

var r = new XMLHttpRequest();
r.open('POST', 'http://192.168.0.100/sendsms.cgi?utf8', true, 'visor', 'ping'); // visor:ping – имя пользователя и пароль
r.withCredentials = true;
r.send('[+79130000001,+79130000002,+79130000003,+79130000004] Houston, we have a problem!');

где:

192.168.0.100 — IP-адрес устройства NetPing;

visor — имя пользователя для подключения к веб-интерфейсу устройства NetPing;

ping — пароль для подключения к веб-интерфейсу устройства NetPing.

Можно отправить SMS-сообщение до четырех адресатов, указав их номера телефонов в квадратных скобках через запятую, без пробелов. Если не указывать адресатов вообще, SMS уйдет на номера, заданные в настройках на странице «НАСТРОЙКИ GSM» веб-интерфейса устройства.

Если формат данных правильный, в качестве результата возвращается JavaScript-код:

sendsms_result('ok');

Результат посылки сообщения не влияет на возвращаемый CGI (Common Gateway Interface) ответ. CGI только инициирует посылку сообщения.

Пример отправки произвольных SMS при помощи скрипта PowerShell

Для отправки SMS через сторонние веб-приложения можно воспользоваться следующим скриптом PowerShell:

$url = "http://192.168.137.100/sendsms.cgi?utf8"
$username = "visor"
$password = "ping"

$reqBody = "[+79130000001,+79130000002,+79130000003,+79130000004] Тестовое сообщение"

$req = [System.Net.WebRequest]::Create($url)
$req.Method = "POST";

$req.Credentials = new-object System.Net.NetworkCredential($username, $password)

$Body = [System.Text.Encoding]::UTF8.GetBytes($reqBody);

$stream = $req.GetRequestStream();
$stream.Write($Body, 0, $Body.Length);

$stream.Flush();
$stream.Close();

$resp = $req.GetResponse().GetResponseStream()
$resp.Close() 

где:

$url — переменная, в которую задается URL-адрес устройства NetPing со скриптом для отправки произвольных SMS-сообщений.

$username — переменная, в которую задается имя пользователя для авторизации на устройстве NetPing.

$password — переменная, в которую задается пароль для авторизации на устройстве NetPing.

$reqBody — переменная, в которую задается номер адресата в квадратных скобках, указывается в формате: Код_страныКод_оператораНомер_абонента и текст SMS-сообщения (пишется через пробел от номера адресата). Можно отправить SMS-сообщение до четырех адресатов, указав их номера телефонов в квадратных скобках через запятую, без пробелов. Если не указывать адресатов вообще, SMS уйдет на номера, заданные в настройках на странице «НАСТРОЙКИ GSM» веб-интерфейса устройства.