Оповещения о записи вызовов. Музыка на удержании отдельно от основной. Различные дополнения в статистику при поднятой трубке.
В данной статье работать в основном будем с диалпланом Asterisk, частично затронем базу данных. Рассмотрим: — Настройку музыки в ожидании отдельно от основной;— Настройку оповещений при исходящих вызовах вызываемой стороне;— Настройку оповещений при входящих вызовах;— Создание макросов для выполнения при подъеме трубки оператором. 1. Оповещение о записи разговора при исходящем вызове. Настроим через переписывание контекста […]
В данной статье работать в основном будем с диалпланом Asterisk, частично затронем базу данных.
Рассмотрим:
— Настройку музыки в ожидании отдельно от основной;
— Настройку оповещений при исходящих вызовах вызываемой стороне;
— Настройку оповещений при входящих вызовах;
— Создание макросов для выполнения при подъеме трубки оператором.
1. Оповещение о записи разговора при исходящем вызове.
Настроим через переписывание контекста исходящего вызова. В системе FreePBX это обычно [macro-dialout-trunk]. Для удобства, опираться будем на переменную ${CDR(accountcode)}, так как ее можно прописать прямо в веб-интерфейсе.
Перед строкой, ведущей на вызов (у вас может отличаться, у меня же: exten => s,n(gocall), Macro(dialout-trunk-predial-hook,)). Добавляем две строки:
exten => s,n,NoOp(${CDR(accountcode)}--${CHANNEL(channeltype)})
exten => s,n,ExecIf($[ "${CDR(accountcode)}"="direct_speech" & "${CHANNEL(channeltype)}"="SIP" ]?Set(DIAL_TRUNK_OPTIONS=${DIAL_TRUNK_OPTIONS}A(ru/custom/call_recording)))
Опция A в dial отвечает как раз за оповещение вызываемой стороне. Добавлять ее будем соответственно только при совпадении переменной с нужным значением.
Сама запись должна находиться по указанному выше пути, с разрешениями для пользователя Asterisk.
2. Оповещение о записи вызова при прямом наборе из ИВР.
К данной задаче можно подойти двумя способами:
Первый: создать Custom Destination на определенный контекст, в котором добавлять оповещение. В таком случае направлять на оповещение можно будет из веб-интерфейса, а редактировать в конфигурационных файлах. Что позволит дать обычным пользователям возможность добавлять подобные маршруты.
Второй: прямое редактирование ИВР через конфигурационные файлы.
Рассмотрим оба варианта.
Создаем контекст в конфигурационном файле extensions_custom.conf
[from-ivr-recording]
exten => _XXX,1,NoOp(Dial from ivr to ${EXTEN})
same => n,Playback(ru/custom/call_recording)
same => n,Goto(ext-local,${EXTEN},1)
В веб-интерфейсе создаем Custom Destination.
В ИВР добавляем направление на него, по определенной маске (либо отдельными номерами).
Вызывающий абонент, донабрав номер из пула, сначала прослушает сообщение и только после этого вызов отправится на внутренний номер.
Второй способ несколько проще и быстрее.
Открываем файл extensions_override_freepbx.conf и добавляем в него следующее:
[ivr-#];# - номер ИВР, который можно посмотреть через веб-интерфейс в адресной строке
exten => _XXX,1,NoOp(Dial from ivr to ${EXTEN})
same => n,Playback(ru/custom/call_recording)
same => n,Goto(ext-local,${EXTEN},1)
Отдельная музыка на удержании. Стандартно, при вызове используется moh, находящийся в директории default (для FreePBX). Если необходимо сменить его, можем воспользоваться следующим методом.
Макрос, выполняемый при подъеме трубки, обычно находится в /etc/asterisk/extensions_additional.conf, изменим его через конфигурационный файл /etc/asterisk/extensions_override_freepbx.conf.
[macro-auto-blkvm]
include => macro-auto-blkvm-custom
exten => s,1,ExecIf($["${FROMQ}" = "true" & "${CALLFILENAME}" != "" & "${CDR(recordingfile)}" = ""]?Set(CDR(recordingfile)=${CALLFILENAME}.${MON_FMT}))
exten => s,n,Set(__MACRO_RESULT=)
exten => s,n,Set(CFIGNORE=)
exten => s,n,Set(MASTER_CHANNEL(CFIGNORE)=)
;Change begin
exten => s,n,Set(MASTER_CHANNEL(CHANNEL(musicclass))=moh-hold)
;Change end
exten => s,n,Set(FORWARD_CONTEXT=from-internal)
exten => s,n,Set(MASTER_CHANNEL(FORWARD_CONTEXT)=from-internal)
exten => s,n,Macro(blkvm-clr,)
exten => s,n,ExecIf($[!${REGEX("[^0-9]" ${DIALEDPEERNUMBER})} && "${DB(AMPUSER/${AMPUSER}/cidname)}" != ""]?Set(MASTER_CHANNEL(CONNECTEDLINE(num))=${DIALEDPEERNUMBER}))
exten => s,n,ExecIf($[!${REGEX("[^0-9]" ${DIALEDPEERNUMBER})} && "${DB(AMPUSER/${AMPUSER}/cidname)}" != ""]?Set(MASTER_CHANNEL(CONNECTEDLINE(name))=${DB(AMPUSER/${DIALEDPEERNUMBER}/cidname)}))
;--== end of [macro-auto-blkvm] ==--;
Соответственно директория MOH должна быть создана.
Теперь при подъеме трубки оператором и постановке вызова на удержание, проигрываться будет именно эта музыка, а не дефолтная.
Чтобы изменить музыку на удержании для исходящего вызова, достаточно указать ее в маршруте исходящей связи (FreePBX).
Остались вопросы?
Я - Виталий Шелест, менеджер компании 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 сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.