Найти тему
Merion Academy

Работаем с модулем Custom Destinations в FreePBX 13

Оглавление

Приходилось ли вам сталкиваться с задачами, которые не представляется возможным решить встроенными средствами FreePBX? Например, это может быть необходимость подключить TTS, настроить «кастомную» обработку вызова при звонке на конкретный внутренний номер и прочие задачи. Поискав в интернет, вы, возможно, уже находили готовые контексты обработки вызовов для решения ваших задач, а, возможно, вы самостоятельно создавали их с нуля. Так или иначе, появляется вопрос: как подключить собственный контексты, написанные в файле /etc/asterisk/extensions_custom.conf в FreePBX? Об это и поговорим.

В нашем случае на помощь приходит модуль Custom Destinations. Назначения, созданные с помощью данного модуля, будут использовать специальные контексты, которые были созданы вручную и которые хранятся в конфигурационном файле /var/asterisk/extensions_custom.conf, а также эти назначения будут отображаться во всех других модулях, которые, так или иначе, участвуют в маршрутизации звонка, таких как: IVR, Queues, Announcement и прочие.

НАСТРОЙКА МОДУЛЯ

Перейдём к настройке. Чтобы попасть в модуль, с главной страницы переходим по следующему пути Admin –> Custom Destinations. Перед нами открывается следующее окно.

Обратите внимание на предупреждение, оно сообщает нам, что для работы с модулем нам необходимо быть опытными и знающими пользователями :) Чтобы создать новое назначение, нажмите на кнопку Add Destination, откроется следующее окно

-2

Для каждого нового назначения необходимо указать следующие параметры:

  • Target - Здесь необходимо указать ранее созданный контекст, на который нужно отправить абонента в формате [context],[exten],[priority]. Допустим, мы написали следующий контекст:
[test_context]
exten => s,1,Answer()
exten => s,2,Playback(greetings)
exten => s,3,Voicemail(100)
exten => s,4,Hangup()

Набор действий, которые будет выполнять система по данному контексту следующий:

  • Отвечаем на звонок
  • Озвучиваем файл greetings
  • Отправляем на голосовую почту
  • Завершаем вызов

Таким образом, в поле Target можно записать следующее: test_context,s,1

  • Description - Простое описание, вновь создаваемого, назначения
  • Notes - Здесь можно дать более развернутое описание, для чего и при каких условиях используется данное назначение
  • Return - Возвращать ли звонок в родительский контекст, другими словами «обратно». Если выбрано Yes, то открывается список доступных направлений. Если No - звонок завершается

Важно: при указании опции Return удостоверьтесь, что ваш «кастомный» контекст заканчивается командой Return

ПРИМЕР НАСТРОЙКИ CUSTOM DESTINATIONS

Для примера было создано следующая запись

-3

Здесь будет использоваться контекст test_context и после того, как все действия контекста будут завершены, модуль отправит звонок на IVR.

Теперь можно использовать созданное нами назначение в других модулях, например Announcement

-4

Не забываем нажимать Submit и Apply Config