Freepbx sms через gsm шлюз
Здравствуй лор! Имеется пару GSM шлюзов GOIP4 от Hybertone. И их SMS сервер, юзверям давать мордашку особо нету желания(если придется - окей) В основном юзается битрикс для этих дел, думал настроить отправку всего этого на почту, но им нужно не только получать. API мутный у него какой-то, толком нигде референсов не нашел.
Как быть? Костыль на питоне с QT гуем могу сделать, но это не фэншуй
Есть ещё ATC на Asterisk + FreePBX, так что добавлю в тэги, вдруг можно и на нем запилить.
Гуглежь толком не помог, лучший вариант в битрикс его. Можно ещё SIP клиент на компы поставить, MicroSIP, например, умеет отправлять и получать, в добавок ещё и покажет на экранчике телефона, детали описаны тут, но как я понимаю, это DMки, а не смски
в диалплане астериска выловите SMS и пульнете ее на goipесли много SMS надо сразу и GSM канал один (или в пике не хватает), при деться Вам писать SMS демона. диалплан астериска засунет SMS на отправку в БД, демон из БД отправит на GoIP
я готового демона не нашел, написал свой.
Хотя Вы пишите что у goip есть их SMS сервер, если он с БД, то с Астериска в него будете писать, а SMS сервер по очереди отправит SMS. Vlad-76 ★★★ ( 25.09.18 18:00:47 )
Последнее исправление: Vlad-76 25.09.18 18:10:28 (всего исправлений: 2)
Я так и не завел с тех пор смски на этих шлюзах
хз. я не настривал GoiP SMS сервер. а написал приблуду под свои задачи для отправки СМС через GoIP шлюз.
Vlad-76 ★★★ ( 21.02.19 10:43:24 )Последнее исправление: Vlad-76 21.02.19 10:43:48 (всего исправлений: 1)
а как это реализовали , можно по подробно? , заранее спасибо.
собственно ничего особенного
Vlad-76 ★★★ ( 21.02.19 13:39:03 )Последнее исправление: Vlad-76 21.02.19 13:41:20 (всего исправлений: 2)
А можно сделать так чтоб GoIP смс сервер сам делал resend? А не ждал когда отправляли еще команду для нажатие resend.
не в курсе что такое GoIP смс сервер
когда глянул его исходники да и вообще как все у него устроено понял что он мне не подходит.
В данной статье рассмотрим написание скрипта для отправки SMS-уведомлений с использованием шлюза GoIP.
О том, как его настроить, можно прочитать в статье.
Скрипт
В качестве примера рассмотрим скрипт smsgo.php
Далее в переменной $url передаём GET-запрос, в котором перечисляем необходимые параметры. Затем осуществляем подключение к SMS-серверу.
При этом в консоль вернётся следующий вывод:
Дело в том, что вывод, который был возвращён в консоль при исполнении скрипта, необходимо распарсить, а затем выполнить ещё один запрос. Перейдём в скрипт и дополним его следующим содержимым:
Пример работы
В качестве примера возьмём SMS-уведомления по неответу на внутреннем номере. Подробнее о внутренних номерах во FreePBX можно прочитать в статье.
Рассмотрим следующий случай: на сервере телефонии имеется внутренний номер 0008. Он вызывается 20 секунд. Если с данного внутреннего номера не было ответа на вызов, на мобильный номер должно поступить SMS-уведомление о пропущенном звонке.
Для этого перейдём в файл extensions_custom.conf (etc/asterisk/extensions_custom.conf) и создадим новый контекст. В примере sms-sender-goip:
Далее нужно из FreePBX сослаться на созданный в диалплане контекст. Сделать это можно с помощью модуля Custom Destinations. Подробнее о работе с ним можно прочитать в статье.
Перейдём в модуль Custom Destinations и создадим новое назначение .
Затем перейдём на вкладку с внутренними номерами и откроем редактирование нужного номера. Здесь в Optional Destinations выставляем по неответу ранее созданное назначение.
Далее позвоним на номер 0008. Ring Time у данного номера 10 секунд, следовательно через 10 секунд, если на внутреннем номере 0008 не будет произведён ответ, вызов завершится, а на мобильный номер, указанный в скрипте, будет отправлено SMS-уведомление о пропущенном звонке с номером звонившего.
Как видно из скриншота выше, при получении статуса «NOANSWER», вызов был завершён, а также осуществился переход в контекст sms-sender-goip.
На этом статья по написанию скрипта для отправки SMS-уведомлений с использованием шлюза GoIP завершена.
Надоело мне ходить с несколькими телефонами для приема звонков по работе, посему захотелось снова возобновить идею с созданием собственной офисной АТС на основе FreePBX с gsm-шлюзом на основе usb-модемов Huawei 1550. Так как ее создание не является задачей первостепенной, то делать это решено самостоятельно, в свободное время и как можно более бесплатно.
Зачем нужна своя офисная АТС.
Итак цель выглядит примерно следующим образом :
Офисная АТС, основана на бесплатном ПО FreePBX, имеет на борту несколько USB-модемов HUAWEI 1550 с сим-картами разных операторов, она связана с виртуальной АТС Zadarma, которая позволит дешево звонить за границу + принимать звонки с виртуальных номеров (к примеру наши номера телефонов в других странах). Так-же в офисе имеется парочка стационарных VoIP телефонных аппаратов, которые и будут использоваться для приема звонков в офисе.
Все входящие звонки будут ходить по определенной логике, позволяя мне не носить несколько телефонов с собой. И в случае необходимости я хочу оперативно иметь возможность менять маршрутизацию.
Что потребуется из железа.
Базовый набор железа у меня уже был припасен : В шкафу валялся старый селерон-1.8 в мини корпусе, 3 уже разлоченных модема HUAWEI E1550 (разлочивал самостоятельно по инструкции из инета), два телефонных VoIP аппарата старенькие Linkssys SPA922 и YeaLink T22P. Также имеется давно используемый аккаунт в сервисе Zadarma (используется для международных звонков практически бесплатно (к примеру США и Канада имеют для меня нулевой тариф) и покупки виртуальных номеров в нужной мне стране мира).
Логика маршрутизации звонков.
Логика маршрутизации входящих звонков:
Логика маршрутизации исходящих звонков:
Звонки из офиса направляются через нужную сим-карту в АТС в зависимости от номера телефона, звонки за кордон переадресовываются и уходят через виртуальную АТС Задарма.
В последствие эту систему можно усложнять, но для начала сойдет.
Выбор софта для офисной АТС.
Я перебрал несколько решений. Но большинство решений требует либо денег сразу, либо денег в последствии, либо сложны для освоения. Так как знаниями для настройки Linux я не владею, было решено использовать готовую установку FreePBX, позволяющее с загрузочного диска получить уже готовую для настройки систему.
Установка FreePBX для нубов.
Настройка FreePBX
Итак вы должны мучаться, пока не увидите на экране вот это :
Теперь смело на втором компе вбивайте айпишник своего сервера и приступайте к настройке.
Настройка и подключение VoIP телефонов к FreePBX.
Подготовка и подключение модемов Huawei к FreePBX 13
Установка модемов в качестве шлюзов на деле оказалась крайне сложной задачей, для человека, незнакомого с Linux. Так как каждое руководство изобилует набором команд консоли (не графической оболочки). Я очень долго мучался (при том, что я когда-то знавал еще DOS и консоль мне не противна).
Commander поможет вам только в том случае, если вы знакомы хоть как-то с файл-менеджерами типа Far или Volcov Commander (да-да, привет из 90х).
Теперь самое веселое : необходимо подключить и настроить внешние модемы с сим-картами, прописать маршрутизацию и заняться настройками безопасности (в ЛОГах я заметил, что кто-то с внешних айпишников уже начал ломиться ко мне на АТС).
Добавление модем в админкм FreePBX и входящей и исходящей маршрутизаци описана удачно тут и тут.
Заключение.
Должен сказать, что на втором этапе (именно настройка маршрутов) потребовала подключения специалиста по ip-телефонии, к этому моменту мой мозг начал подтупливать (я ковырялся со всем этим с нуля уже несколько дней подряд), хотя многие могут подумать, что настройки в консоле линукса сложнее, чем красивые менюшечки freepbx 🙂
Плюсом самостоятельной установки и настройки является то, что я могу теперь самостоятельно разруливать мелкие технические неполадки в случае чего.
Что дальше ?
Апдейт примерно через месяц работы АТС на GSM-модемах :
Желаю вам побольше звонков от клиентов и заявок на ваших сайтах !
Наверняка кто-то из Вас хоть раз в жизни получал SMS после звонка в определенную компанию.
Обычно, это просьба оценить работу операторов. Так, например, это сделано у GSM операторов. Также это может быть SMS с благодарностью за обращение от компании или же об актуальных акциях и предложениях.
Сегодня я хотел бы рассказать о том, как Вы можете реализовать подобную функцию с использованием FreePBX
Статья написана по мотивам существующей на данном ресурсе публикации "Оценка оператора после звонка"
У данного метода есть один недостаток - для его работы нужен chan_dongle и тариф с безлимитными SMS. Для тех, у кого нет пресловутого chan_dоngle , есть другой метод, который я постараюсь объяснить.
Для особо нетерпеливых прошу Вас заглянуть в контакты, возможно, я уже там появился :)
В данном методе мы не будем ломать диалплан FreePBX и использовать тяжелую артиллерию в виде MySQL. Итак, приступим.
Для начала открываем конфигурационные файлы, а именно:
Вносим в него такой кусочек диалплана. В коде я дал комментарии зачем нужны некоторые части:
[send-sms]
exten => _.,1,NoOp(Start sms)
exten => _.,n,DIAL(SIP/$,,trg) ;опция g позволяет "проваливаться вниз". ВНИМАНИЕ агент должен использовать вашу технологию (sip или pjsip)
exten => _X.,n,GotoIf($[$=BUSY]?busy:answered) //проверяем, был ли отвечен вызов, вот здесь мы или пропускаем клиента дальше если с ним уже говорили или нет.
exten => _X.,n(busy),Hangup()
exten => _X.,n(answered),Goto(sms,$,1)
На этом, настройка конфигурационного файла extensions_custom.conf закончена. Теперь открываем файл queues_post_custom.conf и вставляем туда такую строку:
member=Local/4015781@send-sms/n,0,4015781,hint:4015781@ext-local
Где 4015781 номер существующего Агента в очереди. После этого, закрываем файл, перезагружаем диалплан командой dialplan reload и тестируем.
Применять можно, например, для отправки благодарности клиенту с напоминанием времени работы или адреса компании.
Чтобы не огорчить тех, кто не использует донглы или использует GoIP или другие Gsm шлюзы, на мой взгляд, есть более "красивый" метод:
Идем в один из множества веб сервисов для SMS рассылок (названия писать не буду), регистрируемся у них и берем их готовые библиотеки для доступа к API. Я покажу на примере PHP API одной известной компании:
$json = file_get_contents( $url );
echo $json.′
′;
$j = json_decode( $json );
if ( !isset($j->error)) echo ′SMS успешно отправлена server_id=′.$j->send[0]->server_id;
> else trigger_error( $j->description_ru, E_USER_WARNING );
>
?>
Используем AGI. И в представленном диалплане меняем одну строку, а именно:
И на этом - все. Чем данный способ лучше? Могу точно сказать, что в подобных сервисах для компаний есть возможность в качестве отправителя зарегистрировать название организации – это явно плюс в копилку лояльности клиента :)
Это значит, что не нужен донг и SMS клиенту приходит не с безликих цифр, а от имени вашей компании в поле отправитель. Это, безусловно, повышает доверие и лояльность получателя SMS.
Надеюсь, что данный метод будет полезен и найдёт применение в ваших бизнес-процессах. Удачи!
Читайте также: