10.1. [DKSF 707.3 IU] Управление GSM модемом

Интерфейс URL-encoded команд в устройстве может быть использован для интеграции с web-приложениями без использования протокола SNMP.

Отправка SMS

http://192.168.0.100/sendsms.cgi?utf8

URL вызывается методом POST. Данные POST представляют из себя текст SMS в кодировке UTF-8. Более подробно об отправке произвольных SMS сообщений можно прочитать в разделе «5.1. [DKSF 707.3 IU] Как отправлять произвольные SMS-сообщения?».

Возвращаемые значения

Успешное выполнение команды:

sendsms_result('ok',3217763174,2);

Первый аргумент: результат постановки в очередь, должно быть 'ok'.

Второй аргумент: id для проверки статуса, начинается со случайного числа и наращивается на 1 при каждой отправке SMS-сообщения на каждый номер. При переполнении 32 бит id сбрасывается на нуль.

Третий аргумент: число адресатов, поставленных в очередь отправки.

Проверка статуса отправки SMS

http://192.168.0.100/sms_status.cgi?id=3217763174&n=2

где:

id  взят из ответа на sendsms.cgi. 

n – указывает число последовательных id, для которых проверяется статус. Таким образом можно проверить отдельных адресатов или всю групповую посылку сразу.

Возвращаемые значения

sms_status_result('success',3);

Первый аргумент:

  • error  ошибочные аргументы в запросе или внутренняя ошибка;
  • unknown  информация хотя бы по одному из проверяемых id уже недоступна, или использован id «из будущего»;
  • waiting  хотя бы один id ещё ждёт в очереди;
  • fail  ошибка отправки (хотя бы один id из группы);
  • success  успешная отправка для всей опрашиваемой группы id

Второй аргумент: битовая маска, имеет смысл только для ответов 'success' и 'fail'. Левый (старший) бит соответствует первому из проверяемых id, правый (младший) бит соответствует последнему из группы id. Ширина маски соответствует аргументу n в вызове. Бит = 1 если для данного id отправка SMS выполнена успешна.

Пример

При отправке SMS-сообщений двум адресатам возвращается, например, следующий ответ:

sendsms_result('ok',3217763178,2);

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

http://192.168.0.100/sms_status.cgi?id=3217763179&n=1

В итоге возвращается ответ:

sms_status_result('success',1);

Авторизация

Для добавления в структуру URL-encoded команды логина и пароля можно воспользоваться следующей схемой:

  • http://<имя_пользователя>:<пароль>@<хост>:<порт>/<URL‐путь>?<параметры>

где:

<имя_пользователя>:<пароль> – учётные данные для авторизации в web-интерфейсе устройства;

<хост>  IP адрес устройства;

<порт>  порт HTTP сервера;

<URL‐путь>?<параметры>  URL-encoded команда