Отправка и приём SMS сообщений с помощью VoIP шлюзов OpenVox

в 10:46, , рубрики: openvox, sms, Блог компании АртТел, Железо, Сетевое оборудование

Без преувеличения можно сказать, что наиболее популярный вопрос о GSM VoIP шлюзах касается отправки и приема SMS сообщений. Ранее мы уже поднимали эту тему и рассматривали шлюзы таких производителей, как GoIP и Yeastar. А вот GSM шлюзы OpenVox тогда не попали в наш обзор и сейчас самое время исправить это упущение.

Отправка и приём SMS сообщений с помощью VoIP шлюзов OpenVox - 1

Как правило, все производители стараются предусмотреть несколько различных способов работы с SMS и OpenVox тут не исключение. Рассмотрим каждый из них:

WEB

Наиболее стандартный, логичный и самый неудобный из вариантов. Больше подходит для проверки работоспособности или какой-то разовой акции, чем для постоянного использования.

Отправка и приём SMS сообщений с помощью VoIP шлюзов OpenVox - 2

Пользоваться просто, указываем через какие порты совершать отправку, список получателей и текст сообщения.

В WEB интерфейсе также предусмотрена возможность просматривать входящие и исходящие сообщения, необходимо лишь предварительно включить возможность приема и локального хранения сообщений.

Email

SMS to Email так же можно отнести к стандартной возможности подобных устройств.

Отправка и приём SMS сообщений с помощью VoIP шлюзов OpenVox - 3

GSM шлюзы OpenVox серии VS не исключение. Указываем необходимые данные для подключения к SMTP, email адреса, на которые пересылать входящие SMS, и настраиваем шаблон отправляемых писем. При этом в шаблоне у нас доступно 4-е переменные: номер отправителя, номер порта SIM карты, время приема и непосредственно сам текст входящего сообщения.

Чаще всего производители предусматривают и обратную возможность – Email to SMS: мы отправляем email на какой-то адрес, который периодически проверяет шлюз и из входящих писем формирует SMS-ки, но в OpenVox решили подобную возможность не реализовывать.

HTTP

Отправки и прием SMS сообщений посредством HTTP запросов, наверное, один из самых простых способов интегрировать эти действия в работу сторонних приложений.

Отправка и приём SMS сообщений с помощью VoIP шлюзов OpenVox - 4

Для отправки СМС нам необходимо выполнить запрос вида:

http://172.16.99.1/sendsms?username=smsuser&password=password&phonenumber=89996135801&message=Hello

    {
        "message":"Hello",
        "report":[{
            "1":[{
                "port":"umts-1.1",
                "phonenumber":"89996135801",
                "time":"1970-01-01 09:49:03",
                "result":"success"
            }]
        }]
    }

Удобно, что в результате выполнения запроса мы можем получить отчет об отправке. Такая реализация может быть удобнее, чем отдельная проверка на выполнение, как это сделано в шлюзах Yeastar.

Коротко о параметрах:

username – имя пользователя, которое мы указали в настройках
password – пароль из настроек
phonenumber – номер получателя, можно указывать сразу несколько через «,»   
message – текст отправляемого сообщения
port – через какой порт осуществлять отправку, так же как и с номерами получателей можно указывать несколько    
report – отчет можно получить в виде JSON или String
timeout – время ожидания отчета о доставке SMS

Помимо отправки, шлюзы OpenVox позволяют реализовать прием SMS сообщений поверх HTTP.

Отправка и приём SMS сообщений с помощью VoIP шлюзов OpenVox - 5

Все очень просто: указываем адрес нашего обработчика, путь и названия параметров. При поступлении входящих сообщений шлюз будет выполнять настроенный нами запрос.

AMI

Так как GSM и UMTS шлюзы OpenVox, как и GSM шлюзы Yeastar, построены с использованием сервера IP-телефонии Asterisk, то само собой в них реализован Asterisk Managment Interface, который так же можно использовать для отправки SMS сообщений. Специально для этого предусмотрена команда:

GSM send sms <span> <destination> <message> <timeout>

Коротко о параметрах:

span – номер канала для отправки сообщения
destination – номер получателя
message – текст сообщения
timeout – сколько времени пытаться отправить сообщение
/* для отправки USSD запросов соответственно меняем sms на ussd */

Работа через AMI с примерами описывалась в прошлый раз, поэтому подробнее останавливаться на ней нет смысла. Отмечу лишь, что реализация OpenVox не генерирует специального отдельного события при приеме SMS, как в Yeastar — нам потребуется отслеживать события типа VarSet, такого вида:

Event: VarSet
Privilege: dialplan,all
Channel: EXTRA-SMS/1-1
Variable: SMSPDU
Value: “pdu data”
Uniqueid: 625.1

И еще одна ложка дёгтя: если мы хотим принимать сообщения через AMI, то придется отказаться от использования HTTP to SMS, т.к. если эта опция включена, то событий по приходу SMS мы не увидим.

В качестве заключения

Работать можно с любым устройством, представленным на рынке, но если бы передо мной стояла задача отправлять и принимать SMS-ки, то я бы предпочел шлюзы OpenVox, как наиболее удобные для выполнения подобных задач.

Автор: АртТел

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js