Умная маршрутизация вызовов

Чтобы разгрузить секретаря, на которого валится множество вызовов с голосового меню решил сделать умную маршрутизацию чтобы вызовы клиентов направлять на звонивших им операторов, в том числе полезно учитывая множество переадресаций на сотовые в компании. Решил зайдествовать func_odbc - добавляем в файл /etc/asterisk/func_odbc.conf: ; это уже должно быть там [general] dsn=asteriskcdrdb prefix=ODBC ;а это наша функция [MOBILE] writehandle=asteriskcdrdb synopsis=The function searches for the extension that last dialed this number. syntax=${CALLERID(number):-10} readsql=SELECT cnum FROM cdr WHERE dst like '%${ARG1}' ORDER BY calldate DESC LIMIT 1 Добавляем в /etc/asterisk/extensions_custom....

18 February 2025 · 1 min · Dmitriy Q

Оценка качества обслуживания в Asterisk (альтернатива)

Альтернативное решение для оценки качества (на примере 200 очереди). В файл /etc/asterisk/queues_post_custom.conf вносим редакцию для 200 очереди чтобы получить номер ответившего агента (можно и проще, но не срабатывало с IAX): [200](+) setinterfacevar=yes Создаем таблицу service_survey в БД asteriskcdrdb для значений: CREATE TABLE `service_survey` ( `num` varchar(20) DEFAULT NULL, `operator` varchar(20) DEFAULT NULL, `queue` varchar(20) DEFAULT NULL, `valuation` varchar(20) DEFAULT NULL, `date` datetime DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; В func_odbc.conf добавляем функцию записи в базу: [qam] writehandle=asteriskcdrdb writesql=INSERT INTO service_survey (num,operator,queue,valuation,date) VALUES ('${ARG1}','${ARG2}','${ARG3}','${ARG4}',NOW()) Клепаем само меню в /etc/asterisk/extensions_custom....

25 November 2024 · 2 min · Dmitriy Q

Оценка качества обслуживания в Asterisk

Поступил заказ сделать модуль оценки работы оператора и качества оказания услуги. За основу взял статью merion networks. Всё делалось на FreePBX 15 и Asterisk 18. В файл /etc/asterisk/queues_post_custom.conf вносим редакцию для нужной очереди (например 500) чтобы получить номер ответившего агента (можно и проще, но не срабатывало с IAX): [500](+) setinterfacevar=yes Клепаем само меню в /etc/asterisk/extensions_custom.conf: [assessment] exten => _X.,1,Answer() same => n,Set(CHANNEL(language)=ru) same => n,Set(COUNT=1) same => n,Wait(1) same => n,Playback(custom/qam-intro) same => n,Set(TIMEOUT(digit)=1) same => n,NoOP(Count: ${COUNT}) same => n,GotoIf($["${COUNT}" = "1"]?...

22 November 2024 · 3 min · Dmitriy Q

Задание определенного направления (выход через конкретный транк)

Для начала создаем нужный нам маршрут: Подключения → Исходящая маршрутизация. Задаем произвольно описание, необходимый нам CallerID и транк, через который будет передаваться вызов с этим CallerID (если транк с регистрацией и допустим только один CallerID, то можно указать «Форсировать использование транкового CID (Force Trunk CID) в настройках транка») Задаем необходимые (допустимые) нам шаблоны набора номеров: Можете включить запись вызова: После этого обязательно Сохраняем и Применяем изменения. Как видим — появился новый маршрут в исходящих маршрутах....

2 November 2024 · 2 min · Dmitriy Q