7.12. [DKSF72/73.1] Отправка произвольных SMS
Отправка SMS посредством протокола SNMP
Для отправки произвольных SMS на кириллице посредством SNMP-протокола необходимо использовать кодировку UTF-8 (Converting files to UTF-8) или Windows-1251 в тексте SMS-сообщения.
Для отправки SMS при помощи протокола SNMP нужно воспользоваться переменной «npGsmSendSmsUtf8» или «npGsmSendSmsWin1251», в которую записывается телефонный номер адресата и текст SMS-сообщения.
OID | Имя | Тип | Доступ | Описание |
.1.3.6.1.4.1.25728.3800.1.9.0 | npGsmSendSmsUtf8 | DisplayString | READ/WRITE | Отправка произвольного SMS-сообщения в кодировке UTF-8. |
.1.3.6.1.4.1.25728.3800.1.10.0 | npGsmSendSmsWin1251 | DisplayString | READ/WRITE | Отправка произвольного SMS-сообщения в кодировке Windows-1251. |
Формат произвольного SMS-сообщения:
[phone_number1,phone_number2,phone_number3,phone_number4] Message
где:
phone_number — номер адресата в квадратных скобках (можно отправить SMS нескольким адресатам, указав их в квадратных скобках через запятую, без пробелов. Если не выбирать адресатов, SMS уйдет на номера, указанные в настройках на странице «SMS» web-интерфейса устройства);
Message — текст сообщения (пишется через пробел от номера адресата).
Отправка SMS через HTTP API
Максимальная длина произвольных SMS-сообщений не может превышать 255 символов.
Для отправки 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] Хьюстон, у нас проблема!');
192.168.0.100 — IP-адрес устройства по умолчанию.
visor — имя пользователя по умолчанию для подключения к web-интерфейсу устройства.
ping — пароль по умолчанию для подключения к web-интерфейсу устройства.
Можно отправить SMS нескольким адресатам, указав их в квадратных скобках через запятую, без пробелов. Если не выбирать адресатов, SMS уйдет на номера, указанные в настройках на странице «SMS» web-интерфейса устройства.
Если формат данных правильный, в качестве результата возвращается JavaScript-код: sendsms_result('ok');
Пример отправки произвольной SMS при помощи скрипта PowerShell
$url = "http://192.168.0.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 — переменная, в которую задается IP адрес устройства NetPing и скрипт для отправки произвольных SMS-сообщений;
$username — переменная, в которую задается имя пользователя для авторизации на устройстве NetPing;
$password — переменная, в которую задается пароль для авторизации на устройстве NetPing;
$reqBody — переменная, в которую задается номер адресата в квадратных скобках и текст SMS-сообщения (пишется через пробел от номера адресата. Можно отправить SMS нескольким адресатам, указав их в квадратных скобках через запятую, без пробелов).