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

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

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

В прошивке устройства NetPing SMS существует лимит отправки SMS-сообщений до 120 сообщений в час.

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

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

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

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

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

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

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

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

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

В прошивке устройства NetPing SMS существует лимит отправки SMS-сообщений до 120 сообщений в час.

Для отправки произвольных 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» web-интерфейса устройства.);

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 – специальное кодовое слово, устанавливаемое на странице «НАСТРОЙКИ» web-интерфейса устройства. В устройствах 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-сообщений через сторонние web-приложения (HTTP API)

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

В прошивке устройства NetPing SMS существует лимит отправки SMS-сообщений до 120 сообщений в час.

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

Для отправки произвольных SMS через сторонние web-приложения можно воспользоваться следующим 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 – имя пользователя для подключения к web-интерфейсу устройства NetPing;

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

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

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

sendsms_result('ok');

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

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

Для отправки SMS через сторонние web-приложения можно воспользоваться следующим скриптом 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» web-интерфейса устройства).