Владислав Юров - ELASTIX общайтесь свободно стр 25.

Шрифт
Фон

Доступ к Очередям и Группам звонков при входящих звонках из города

По умолчанию номера, присвоенные Очередям (Queues) и Группам звонков (Ring Groups) не доступны извне. Абонент, позвонивший из города, не сможет в IVR набрать номер Очереди или Группы звонков и соединиться с ней. Можно для каждой Очереди и Группы звонков создать Виртуальные номера (Virtual Extension), но это непрактично – придется не только поддерживать записи в актуальном состоянии, но и помнить разные номера для звонков из города и с офисного телефона. Это недоразумение легко исправить:

• открыть меню PBX / Tools / Asterisk File Editor

• открыть файл extensions_custom.conf

• добавить три строки

[from-did-direct-ivr-custom]

include => ext-queues

include => ext-group

• сохранить изменения, нажав кнопку Save

• применить настройки, нажав кнопку Reload Asterisk

ELASTIX - общайтесь свободно

Определить, что добавить эти строки нужно именно в [from-did-direct-ivr-custom], можно просмотрев файл extensions_additional.conf, создаваемый Elastix после изменения настроек системы – номера всех созданных телефонов прописываются в контексте [from-did-direct-ivr], который включает в себя контекст [from-did-direct-ivr-custom]:

ELASTIX - общайтесь свободно

Настройка функции Автодозвона

Следует иметь в виду, что автоматический дозвон до занятого/не доступного абонента создает повышенную нагрузку как на вашу станцию Elastix, так и на сети провайдеров связи (если вызываемый абонент находится вне Elastix). Лучше всего найти способ известить абонента другими способами о необходимости с ним переговорить. Однако, если собеседник не слишком заинтересован в беседе, сотрудникам может помочь функция автодозвона:

• откройте меню PBX / Tools / Asterisk File Editor

• откройте файл extensions_custom.conf

• добавите строки

[from-internal-custom]

include => autoredial

[autoredial]

exten => _99.,1,Dial(Local/${EXTEN:2}@from-internal,40,tr)

exten => _99.,n,GotoIF($["${DIALSTATUS}" == "ANSWER"]?end)

exten => _99.,n,GotoIF($["${DIALSTATUS}" == "ANSWERED"]?end)

exten => _99.,n,GotoIF($[${CDR(billsec)} >0]?end)

exten => _99.,n,Wait(10)

exten => _99.,n,Goto(${EXTEN},1)

exten => _99.,n(end),Hangup

• сохраните изменения, нажав кнопку Save

• примените настройки, нажав кнопку Reload Asterisk

Владислав Юров - ELASTIX - общайтесь свободно

Теперь ваши сотрудники могут набрать префикс "99" перед требуемым номером, нажать "#" и ждать пока абонент поднимет трубку. Elastix будет бесконечно вызывать абонента, ожидать ответа 40 секунд, при отсутствии ответа или при ошибке соединения ждать 10 секунд и повторять набор.

Например:

• "9984956881001#" – поможет дозвониться до техподдержки 1С

• "994123#" – поможет дозвониться до абонента Elastix 4123, если абонент долго висит на трубке, очень нужен, но лишен других, известных Вам, средств связи

Сохранение в CDR рекламного номера

Оплачивая городские номера полезно знать насколько часто каждый из них используется. По умолчанию Elastix сохраняет информацию о том кто звонил и с кем разговаривал, но информация об использованном для входящей связи номере нигде не сохраняется, хотя зачастую известна системе. Один из способов сохранять эту информацию – создать свою подпрограмму (контекст) для обработки входящих вызовов, заполняя в ней поле accountcode, которое сохраняется в CDR (Call Detail Records – детальная информация о звонках). Сделать это достаточно просто:

• откройте меню PBX / Tools / Asterisk File Editor

• откройте файл extensions_custom.conf

• добавьте строки

[from-trunk-accountcode]

exten => _.,1,Set(CDR(accountcode)=i:${EXTEN})

exten => _.,n,Goto(from-trunk,${EXTEN},1)

exten => h,1,Macro(hangupcall,)

• сохраните изменения, нажав кнопку Save

• откройте каждую Внешнюю линию (Trunk) и укажите "from-trunk-accountcode" в поле "USER Context"

ELASTIX - общайтесь свободно

• примените настройки, нажав "Apply Configuration Changes Here"

ELASTIX - общайтесь свободно

Теперь в CDR будет сохраняться информация об используемых для входящей связи городских номерах, которые можно увидеть в меню Reports \ CDR Report:

ELASTIX - общайтесь свободно

В целях анализа статистики использования городских линий можно выгрузить информацию из CDR в Excel:

ELASTIX - общайтесь свободно

Также можно предварительно обработать данные из CDR примерно так:

ELASTIX - общайтесь свободно

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

Владислав Юров - ELASTIX - общайтесь свободно

Для подключения к базе CDR указанным выше способом требуется установить phpmyadmin, подключившись по SSH с правами root, выполнить команды:

sudo yum install phpmyadmin

sudo service httpd restart

Подпрограмма соединения звонящего с последним собеседником (SmartCallback)

Не редко мы пытаемся с офисного телефона позвонить кому-то на мобильный, но абонент оказывается не доступен или занят. Когда искомый нами человек перезванивает по пропущенному вызову, он слышит в ответ название компании, из которой ему звонили, но не всегда может догадаться кому он был нужен. В то же время, Elastix хранит информацию о вызовах и знает разгадку – кто и когда пытался с ним связаться. Если мы, получив такой звонок, соединим абонента с последним, кто ему звонил, скорее всего окажем услугу – сэкономим время обоих. Такой функционал не входит в стандартный набор функций, но может быть относительно просто реализован нами самостоятельно. Для этого потребуется:

• настроить подпрограмму (которую мы назовем SmartCallback) и присвоить ей номер 661234 (файл "extensions_custom.conf")

• настроить запрос к статистике соединений и назвать его "LASTCALL" (файл "func_odbc.conf")

• настроить подключение к базе данных CDR со статистикой соединений (файлы "res_odbc.conf" и "/etc/odbc.ini")

• настроить Собственную функцию (Misc Destination) "SmartCallback" и присвоить ей вызов подпрограммы "661234"

• настроить Внутреннюю функцию (Misc Application) "NoSmartCallback", присвоив ей номер "601234", чтобы переключать на нее вызовы, не обработанные функцией "SmartCallback"

• настроить в правилах входящей связи (Inbound Routes) вызов Собственной функции (Misc Destination) "SmartCallback"

Настройка подпрограммы (контекста) SmartCallback

Собственные функции можно писать разными способами:

• в синтаксисе настраиваемого плана набора (файл "extensions_custom.conf")

• на языке AEL (Asterisk Extension Language) (файл "extensions.ael")

• на PHP или на другом языке, используя функцию AGI (Asterisk Gateway Interface)

Наша задача легко решается использованием файла "extensions_custom.conf". Для редактирования требуется открыть меню PBX / Tools / Asterisk File Editor:

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке