Отправка текстовых сообщений добавочным средствами Asterisk
При необходимости передачи некоторых данных (например, идентификационных номеров оборудования) между добавочными отправка текстовых сообщений может быть наиболее удобным способом. Также, можно инициировать запуск какого-либо скрипта (например, по выбору пункта в голосовом меню) и получать запрошенную информацию не в аудиоформате, а в текстовом виде на софтфон или телефон. Для обеспечения возможности передачи сообщений в Asterisk есть […]
При необходимости передачи некоторых данных (например, идентификационных номеров оборудования) между добавочными отправка текстовых сообщений может быть наиболее удобным способом. Также, можно инициировать запуск какого-либо скрипта (например, по выбору пункта в голосовом меню) и получать запрошенную информацию не в аудиоформате, а в текстовом виде на софтфон или телефон.
Для обеспечения возможности передачи сообщений в Asterisk есть необходимые опции и приложение MessageSend, которое необходимо использовать в диалплане. Также используемые SIP телефоны или софтфоны должны поддерживать возможность приема/передачи текстовых сообщений.
Например, такими софтфонами являются MicroSIP, Linphone, PhonerLite и Zoiper (в бесплатной версии Zoiper только прием).
Прежде всего, для разрешения приема/передачи сообщений в глобальные настройки sip (в веб интерфейсе FreePBX – Settings->SIP Settings) необходимо добавить соответствующие опции.
Также добавляем в диалплан контекст send-messages. Для отладки можно использовать приложение DumpChan выводящее в консоль доступные на текущем приоритете переменные и их значения:
nano /etc/asterisk/extensions_custom.conf
После заходим в консоль Asterisk и применяем изменения
asterisk –rvvv
CLI>
dialaplan reload
После этого абоненты смогут обмениваться сообщениями. В Microsip для этого необходимо в поле ввода номера или на цифровой панели набрать экстеншен, которому нужно что-то отправить (в примере 100 отправляет 102-му) и нажать на иконку текстового диалога. У абонента 100 откроется окно переписки (с полем ввода внизу, отправка по нажатию Enter), если 102 онлайн, то, получив сообщение, sip клиент абонента 102 воспроизведет звуковое оповещение и откроет окно переписки
Для обеспечения попыток повторной передачи сообщения в случае неудачи необходимо добавить в диалплан соответствующие строки:
Также, можно не использовать цикл While в диалплане, а в случае неуспешной отправки вызвать agi скрипт, в котором совершать повторные попытки. Для этого изменить /etc/asterisk/extensions_custom.conf (после изменения, также применить: asterisk –rx ‘dialplan reload’)
Создаем agi скрипт (например, на php)
touch /var/lib/asterisk/agi-bin/send-local-message.php
Даем права на выполнение, в скрипте прописываем логику:
chmod +x /var/lib/asterisk/agi-bin/send-local-message.php
nano /var/lib/asterisk/agi-bin/send-local-message.php
Также, можно создать меню, которое по выбору, какого-либо пункта отошлет сообщение с результатом выполнения скрипта или команды. Например, создадим меню, которое при выборе 1 пункта будет отсылать абоненту текстовое сообщение с результатом выполнения команды df –h. Для этого переходим в веб-интерфейс и создаем custom destination и новое меню:
Создаем custom destination, указываем в нем контекст из файла /etc/asterisk/extensions_custom.conf (в примере — df-monitor), в котором будет описана логика выполнения необходимой команды.
Для того, чтобы попасть в созданную IVR можно у какого либо добавочного (например 120) изменить назначение по неответу
Внесем изменения в содержимое /etc/asterisk/extensions_custom.conf
После заходим в консоль Asterisk и применяем изменения
asterisk –rvvv
CLI>
dialaplan reload
После этого совершим вызов на 120 (например из Zoiper). После ответа системы – — нажать Keypad и донабрать “1”
После этого для просмотра сообщения с результатом выполнения какой-либо системной команды (в примере df -h) в Zoiper перейти в Recent->Messages
Остались вопросы?
Я - Кондрашин Игорь, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.
категории
- DECT
- Linux
- Вспомогательный софт при работе с Asterisk
- Интеграция с CRM и другими системами
- Интеграция с другими АТС
- Использование Elastix
- Использование FreePBX
- Книга
- Мониторинг и траблшутинг
- Настройка Asterisk
- Настройка IP-телефонов
- Настройка VoIP-оборудования
- Новости и Статьи
- Подключение операторов связи
- Разработка под Asterisk
- Установка Asterisk
VoIP оборудование
ближайшие курсы
Новые статьи
10 доводов в пользу Asterisk
Распространяется бесплатно.
Asterisk – программное обеспечение с открытым исходным кодом, распространяется по лицензии GPL. Следовательно, установив один раз Asterisk вам не придется дополнительно платить за новых абонентов, подключение новых транков, расширение функционала и прочие лицензии. Это приближает стоимость владения станцией к нулю.
Безопасен в использовании.
Любое программное обеспечение может стать объектом интереса злоумышленников, в том числе телефонная станция. Однако, сам Asterisk, а также операционная система, на которой он работает, дают множество инструментов защиты от любых атак. При грамотной настройке безопасности у злоумышленников нет никаких шансов попасть на станцию.
Надежен в эксплуатации.
Время работы серверов некоторых наших клиентов исчисляется годами. Это значит, что Asterisk работает несколько лет, ему не требуются никакие перезагрузки или принудительные отключения. А еще это говорит о том, что в районе отличная ситуация с электроэнергией, но это уже не заслуга Asterisk.
Гибкий в настройке.
Зачастую возможности Asterisk ограничивает только фантазия пользователя. Ни один конструктор шаблонов не сравнится с Asterisk по гибкости настройки. Это позволяет решать с помощью Asterisk любые бизнес задачи, даже те, в которых выбор в его пользу не кажется изначально очевидным.
Имеет огромный функционал.
Во многом именно Asterisk показал какой должна быть современная телефонная станция. За многие годы развития функциональность Asterisk расширилась, а все основные возможности по-прежнему доступны бесплатно сразу после установки.
Интегрируется с любыми системами.
То, что Asterisk не умеет сам, он позволяет реализовать за счет интеграции. Это могут быть интеграции с коммерческими телефонными станциями, CRM, ERP системами, биллингом, сервисами колл-трекинга, колл-бэка и модулями статистики и аналитики.
Позволяет телефонизировать офис за считанные часы.
В нашей практике были проекты, реализованные за один рабочий день. Это значит, что утром к нам обращался клиент, а уже через несколько часов он пользовался новой IP-АТС. Безусловно, такая скорость редкость, ведь АТС – инструмент зарабатывания денег для многих компаний и спешка во внедрении не уместна. Но в случае острой необходимости Asterisk готов к быстрому старту.
Отличная масштабируемость.
Очень утомительно постоянно возвращаться к одному и тому же вопросу. Такое часто бывает в случае некачественного исполнения работ или выбора заведомо неподходящего бизнес-решения. С Asterisk точно не будет такой проблемы! Телефонная станция, построенная на Asterisk может быть масштабируема до немыслимых размеров. Главное – правильно подобрать оборудование.
Повышает управляемость бизнеса.
Asterisk дает не просто набор полезных функций, он повышает управляемость организации, качества и комфортности управления, а также увеличивает прозрачность бизнеса для руководства. Достичь этого можно, например, за счет автоматизации отчетов, подключения бота в Telegram, санкционированного доступа к станции из любой точки мира.
Снижает расходы на связь.
Связь между внутренними абонентами IP-АТС бесплатна всегда, независимо от их географического расположения. Также к Asterisk можно подключить любых операторов телефонии, в том числе GSM сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.