Без преувеличения можно сказать, что наиболее популярный вопрос о GSM VoIP шлюзах касается отправки и приема SMS сообщений. Ранее мы уже поднимали эту тему и рассматривали шлюзы таких производителей, как GoIP и Yeastar. А вот GSM шлюзы OpenVox тогда не попали в наш обзор и сейчас самое время исправить это упущение.
Как правило, все производители стараются предусмотреть несколько различных способов работы с SMS и OpenVox тут не исключение. Рассмотрим каждый из них:
WEB
Наиболее стандартный, логичный и самый неудобный из вариантов. Больше подходит для проверки работоспособности или какой-то разовой акции, чем для постоянного использования.
Пользоваться просто, указываем через какие порты совершать отправку, список получателей и текст сообщения.
В WEB интерфейсе также предусмотрена возможность просматривать входящие и исходящие сообщения, необходимо лишь предварительно включить возможность приема и локального хранения сообщений.
SMS to Email так же можно отнести к стандартной возможности подобных устройств.
GSM шлюзы OpenVox серии VS не исключение. Указываем необходимые данные для подключения к SMTP, email адреса, на которые пересылать входящие SMS, и настраиваем шаблон отправляемых писем. При этом в шаблоне у нас доступно 4-е переменные: номер отправителя, номер порта SIM карты, время приема и непосредственно сам текст входящего сообщения.
Чаще всего производители предусматривают и обратную возможность – Email to SMS: мы отправляем email на какой-то адрес, который периодически проверяет шлюз и из входящих писем формирует SMS-ки, но в OpenVox решили подобную возможность не реализовывать.
HTTP
Отправки и прием SMS сообщений посредством HTTP запросов, наверное, один из самых простых способов интегрировать эти действия в работу сторонних приложений.
Для отправки СМС нам необходимо выполнить запрос вида:
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.
Все очень просто: указываем адрес нашего обработчика, путь и названия параметров. При поступлении входящих сообщений шлюз будет выполнять настроенный нами запрос.
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, как наиболее удобные для выполнения подобных задач.