Без преувеличения можно сказать, что наиболее популярный вопрос о 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, как наиболее удобные для выполнения подобных задач.
Комментарии (9)
Rastishka
10.07.2017 19:57Пользуясь случаем спрошу: может кто подскажет подходящего опсоса и тариф для массовой отправки СМС наиболее дешево по России?
Не спам, а уведомления — все по белому и пушистому. =)Dageron
10.07.2017 22:34Среди публичных тарифов для физических лиц вы такое не найдете. Yota, где есть «безлимитные sms», лучше даже не рассматривайте, ибо заблокируют за автоматическую отправку сообщений очень быстро.
Пользуйтесь тарифами для юрлиц, там действительно есть все, что нужно (плюс их не блокируют). Не обязательно брать официально (ибо официально операторы и правда только юрлиц к ним подключают), лучше берите у партнеров и перекупщиков (т.е. тех кто на имеющееся юрлицо подключают эти симки на перепродажу). Навскидку посмотрел: «МТС Бизнес-VIP 500р/мес» — 1000 sms, «Билайн Все за 700р/мес» — 3000 sms, «Ростелеком XL-550р/мес» — 3000 sms. Вариантов на самом деле очень-очень много у разных операторов. Может, найдете и дешевле.
willyd
Одновременная отправка с разных портов в свое время работала только через AMI. Если отправлялось через http интерфейс то либо не получали ответа от шлюза, либо зависал сервер API и дальнейшие обращения были бесполезны.
Это исправили?
georotor
Давно это было? У меня сейчас под рукой, к сожалению, только шлюзы с UMTS модулями, в них одновременная отправка с разных портов через HTTP отрабатывает корректно.
willyd
Давно. 3 года назад.
EdwardBatraev
С GSM модулями железка была очень глючная, иногда висла намертво.
В конце концов после трехмесячного мучения желзку отдали в добрые руки какого-то партнера…
livemotion
VS-GW1600 c 5ю GSM модулями — уже года 3-4 работает без нареканий в постоянном аптайме на исходящих звонках
EdwardBatraev
Я в контексте отправки SMS говорил, голос нам не нужен был