Обзор модулей при установке Asterisk
В данной статье мы рассмотрим модули, которые могут установлены в Asterisk при его сборке. Данные модули мы выбираем в menuselect, сегодня рассмотрим модули раздела Applications, а именно для чего их необходимо устанавливать и как они работают. После того, как мы переходим на финальный этап установки, а именно выбор необходимых модулей для установки, мы выполняем команду […]
В данной статье мы рассмотрим модули, которые могут установлены в Asterisk при его сборке. Данные модули мы выбираем в menuselect, сегодня рассмотрим модули раздела Applications, а именно для чего их необходимо устанавливать и как они работают.
После того, как мы переходим на финальный этап установки, а именно выбор необходимых модулей для установки, мы выполняем команду make menuselect, где нам выводится список приложений, которые можно установить.
Приложения ядра
app_agent_pool – приложение, предназначенное для формирования шаблона агентов очередей и их входа и выхода из очереди.
Пример настройки:
agents.conf
[new_agents](!)
ackcall=yes
acceptdtmf=#
autologoff=20
[101](new_agents)
fullname=Ivan Ivanov
[102](new_agents)
fullname=Petr petrov
extensions.conf
[agent_login]
exten = _XXX,1,NoOp()
same = n,Set(CHANNEL(dtmf-features)=H)
same = n,Set(CONNECTEDLINE(all)="Awaiting call" <${EXTEN}>)
same = n,Answer()
same = n,AgentLogin(${EXTEN})
same = n,Hangup()
[agents]
exten = _XXX,1,NoOp()
same = n,AgentRequest(${EXTEN})
same = n,Congestion()
app_authenticate – приложение, которое при вызове требует от агента ввести заданный пароль.
Пример настройки:
exten => _101,1,Answer()
exten => _101,n,Authenticate(1234)
app_bridgewait – это приложение, входящий вызов на удержание, в котором он будет ожидать каких-либо действий, которые позволят его снять с удержания.
app_cdr – приложение, позволяющее вести подробные отчеты о звонках
app_celgenuserevent — Это приложение используется для генерации пользовательских событий типа EV_USER_EVENT. Например, можно логировать выбор звонящего в голосовом меню:
exten => 7,1,CELGenUserEvent (MENU_CHOICE,Caller chose option 7)
app_channelredirect – приложение перенаправляет указанный канал на обработку в заданную точку диалплана
app_chanspy – приложение, позволяющее вклиниваться в канал для прослушивания и суфлирования разговора.
exten => _111,n,ChanSpy(SIP/${EXTEN:3},wqdv(-1))
app_confbridge – приложение, позволяющее создавать конференцию или вызывать существующую.
app_controlplayback – приложение проигрывает указанный звкуковой файл, по завершению устанавливает в переменную канала $ {CPLAYBACKSTATUS} статус попытки.
app_db — Используется для добавления/изменения/удаления записей в встроенной базе данных SQLite Asterisk (является устаревшим)
app_dial – Применяется для соединения каналов (совершение телефонных звонков)
app_directed_pickup – приложение позволяет ответить на вызов другого агента (направленный перехват)
exten=_**.,1,Pickup (SIP/${EXTEN:2})
app_directory – Приложение представляет имена из файла voicemail.conf, для того чтобы применять поиск по имени.
app_disa – Позволяет АТС принимать входящие DTMF для совершение транзитных вызовов.
Пример:
exten => s/XXXXXXXXXX,1,Answer
exten => s/XXXXXXXXXX,2,Set(TIMEOUT(digit)=3)
exten => s/XXXXXXXXXX,3,Set(TIMEOUT(response)=5)
exten => s/XXXXXXXXXX,4,Authenticate(XXXXX)
exten => s/XXXXXXXXXX,5,DISA(no-password,mycontext)
app_dumpchan – выводит в консоль информацию о переменных канала, при заданном уровне verbose
exten => _123,1,Dial(SIP/123)
exten => _h,1,DumpChan(3)
app_echo – Приложение возвращает вызывающему его звуковые сигналы. (применяется для тестирования прохождения голоса)
exten => 100,1,Answer()
exten => 100,2,Echo()
app_exec – Выполняет функции диалплана, в которых есть условия (Exec(), TryExec() и ExecIf())
app_flash – приложение выполняет flash переключения на аналоговых каналах, например чтобы предоставить доступ к таким функциям как конференция и ожидание вызова.
app_followme – приложение переводит вызывающего абонента на указанные номера, которые находятся в файле followme.conf
Пример:
extensions.conf:
exten => _123,1,Answer
exten => _123,2,Dial(SIP/${EXTEN},12,t)
exten => _123,3,GotoIf($["${DIALSTATUS}" = "NOANSWER"]?:4:5)
exten => _123,4,Followme(${EXTEN})
exten => _123,5,VoiceMail(u${EXTEN})
exten => _123,6,Hangup
followme.conf:
[123]
context => default
number => 124,30
number => 125,30
app_forkcdr – приложение запускает новую CDR на текущем звонке. Разделенный CDR будет соединен с концом CDR связанного с каналом.
app_macro – приложение позволяет запускать макросы в диалплане (подробнее о макросах можно посмотреть здесь).
app_milliwatt — Генерирует тональный сигнал 1004 Гц для тестирования потерь на аналоговых цепях
Пример:
exten=>064,1,Answer()
same=>n,Milliwatt()
app_mixmonitor – записывает разговор двух абонентов и сводит его в одну дорожку
Пример:
exten => _70.,1,NoOp(Запись с помощью MixMonitor)
same => n,MixMonitor(/var/spool/asterisk/monitor/${EXTEN}.wav)
same => n,Dial(SIP/${EXTEN:2},30)
app_originate – приложение, создающее исходящий звонок и соединяющее его с заданными номерами или приложениями.
app_page – создает несколько голосовых соединений для заданных устройств
app_playback – приложение, позволяющее воспроизводить указанный голосовой файл в канал (не позволяет вводить DTMF)
exten => 123,1,Playback(/var/lib/asterisk/sounds/record-test)
app_playtones – приложение проигрывает список тонов DTMF
app_privacy – требует ввести номер телефона вызывающего абонента, если не был передан CallerID
app_queue – приложение распределяет вызовы по заданным агентам
app_read – приложение считывает введенные цирфы и записывает их в определенную переменную.
exten => s,1,Read(QUENUM,quenum,3,,,10)
app_readexten – считывает введенные цифры и передает вызов на внутренний номер или контекст
app_record – записывает разговор в заданный файл
exten => 71,1,NoOp (Запись с помощью Record)
same => n,Answer()
same => n,Record(/var/lib/asterisk/sounds/record-test.wav)
app_sayunixtime – воспроизводит время в указанном формате используя файлы из директории /var/lib/asterisk/sounds
exten => 100,1,Answer
exten => 100,n,SayUnixTime()
app_senddtmf – позволяет передавать DTMF вызываемой стороне
app_sendtext – приложение позволяет отправить текстовое сообщение в канал
same => n,SendText(Your Text Here)
app_softhangup – приложение, которое запрашивает завершение связи на указанном канале
app_speech_utils – Разрешает связь с инструментами для распознавания речи.
app_stack – альтренатива app_macro, включающая в себя Gosub(), GoSubIf(), Return(),StackPop(), LOCAL() и LOCAL_PEEK()
app_stasis – Приложение, которое позволяет запускать внешние ARI и передавать им управлние каналом
app_system – приложение позволяет из диалплана вызывать linux команды
exten => 123,n,System(reboot)
app_talkdetect – вызывает уведомления, если Asterisk обнаружил тишину или разговор в канале
app_transfer – позволяет переводить вызов на другой внутренний номер
exten => 100,1,Transfer (SIP/123)
app_userevent – позволяет отправить собственное событие в AMI
app_verbose – приложение отправляет произвольный текст в вывод консоли
app_voicemail – приложение дает право вызывающей стороне оставить голосовое сообщение для заранее указанного почтового адреса.
app_waituntil – ожидает до тех пор, пока время не будет соответствовать указанному
exten = 123,1,WaitUntil (epoch)
app_while – приложение, позволяющее использовать цикл в диалплане до тех пор, пока условие верно. Может применятся, например, в автодозвоне пользователей.
app_alarmreceiver – обеспечивает поддержку получения о тревоге от охранной или пожарной панели в формате Ademco Contact ID.
app_amd – приложение позволяет обнаруживать автоответчики при исходящих звонках
app_attended_transfer – приложение, позволяющее выполнять переводы с уведомлением.
app_blind_transfer – приложение позволяет выполнять переводы без уведомления.
app_chanisavail – проверяет доступность указанных каналов.
Пример:
[test]
exten => _X.,1,Macro(chanisavail,${EXTEN})
[macro-chanisavail]
exten => s,1,Set(_PING=SIP/siptrunk)
exten => s,n,ChanIsAvail(${PING }1&${ PING }2&${ PING }3&${ PING }4,a)
exten => s,n,Dial(${CUT(AVAILCHAN,,1)}/${ARG1},,e)
app_dictate – Приводит к запуску виртуального диктофона.
exten => 100,1,Dictate(/tmp/test123)
app_externalivr – позволяет подключаться к внешним IVR – приложениям
exten => 456,1,ExternalIVR(super_test,${ ARGUMENT})
app_festival – синтезирует указанный текст в речь
exten => 123,1, Answer
exten => 123,2, Festival («hellow world»)
app_getcpeid – возвращает идентификатор ADSI CPE для операций с положенной аналоговой трубкой.
exten => 100,1,GetCPEID()
app_image – приложение передает изображение на устройства, которые поддерживают их приём.
app_ivrdemo – пример приложения для разработчиков
app_jack — Это приложение для подключения канала Asterisk к входному и выходному разъему, чтобы аудио можно было обрабатывать в другом приложении или воспроизводить аудио из другого приложения
app_meetme – создает конференцсвязь. является устаревшим относительно confbridge и трубет установки dahdi
app_morsecode – воспроизводит заданный список символов азбукой Морзе
app_mp3 – позволяет использовать mpg123 для воспроизведения mp3 файлов
app_saycounted — Выбирает и воспроизводит правильную форму существительного в единственном или множественном числе
app_sms – подключается к центрам обслуживания SMS и аналоговым телефонным аппаратам с поддержкой SMS (работает только в определённых странах)
app_url – Позволяет передавать URI на указанный канал.
app_waitforring – приложение, ожидающее звонка, заданное количество времени
exten => 100,1,Answer()
exten => 100,n,WaitForRing(5)
exten => 100,n,Verbose(hello hello)
app_waitforsilence – приложение ждёт, когда на канале будет тишина, чтобы выполнить определенное действие
exten => 100,1,Answer()
exten => 100,n,WaitForSilence(500,5)
exten => 100,n,System(reboot)
app_zapateller – генерация специального информационного тона
На этом обзор раздела Application окончен.
Остались вопросы?
Я - Виталий Шелест, менеджер компании 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 сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.