Asterisk Call Center Stats

Интерфейс статистики очереди - Queue Stats. Прямой лог в нативную БД приложения app_queue. Описание, установка и настройка. Модификация Asternic Call Center Stats lite.

Требования

PHP >= 5.4

Ключевые изменения:

  1. Вместо парсинга текстового queue_log, используется нативный реалтайм лог приложения app_queue в MySQL.
  2. MySQLi, оптимизированы запросы к БД.
  3. Отдельные таблицы агентов и очередей с синхронизацией по требованию.
  4. Новые чарты - Google Charts, вместо flash.
  5. Почасовая выборка.
  6. Детализация принятых (с записью разговора) и пропущенных вызовов.
  7. Поиск по Uniqueid, CallerID и агенту в принятых, пропущенных вызовах.
  8. Русский и английский интерфейс.

Описание Asterisk Call Center Stats

Сортировка

  • Выборка данных по: очередям, агентам, дате и времени.

Отвеченные вызовы

  • Отвеченные вызовы по очередям и агентам.
  • Среднее время ожидания для очередей и агентов.
  • Среднее время разговора для очередей и агентов.
  • Количество отвеченных вызовов по агентам.
  • Процент отвеченных вызовов для очередей и агентов.

Неотвеченные вызовы/Поиск по "сырой" базе данных

  • Количество неотвеченных вызовов по очередям.
  • Средняя позиция в очереди при выходе.
  • Причина разъединения: повесили трубку или отключены по таймауту.
  • Распределение неотвеченных вызовов по очередям и период выхода.

Установка Asterisk Call Center Stats

Для установки Asterisk Call Center Stats вам потребуется:

  • Включить запись лога очередей в БД MySQL через ODBC. (подробнее: Asterisk: queue_log в MySQL через unixODBC)
  • Задать имя пользователя и пароль базы данных в конфиге Asterisk Call Center Stats.

Включим лог очереди Asterisk в БД MySQL

По умолчанию данные статистики очереди сохраняются в текстовый лог var/log/asterisk/queue_log. Назначим для хранения данных таблицу БД MySQL - asterisk.queuelog

CREATE TABLE IF NOT EXISTS `queuelog` (
`id` INT NOT NULL AUTO_INCREMENT,
`time` char(32) DEFAULT NULL,
`callid` char(64) DEFAULT NULL,
`queuename` char(64) DEFAULT NULL,
`agent` char(64) DEFAULT NULL,
`event` char(32) DEFAULT NULL,
`data` char(64) DEFAULT NULL,
`data1` char(64) DEFAULT NULL,
`data2` char(64) DEFAULT NULL,
`data3` char(64) DEFAULT NULL,
`data4` char(64) DEFAULT NULL,
`data5` char(64) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


CREATE TABLE IF NOT EXISTS `agents_new` (
`id` MEDIUMINT NOT NULL AUTO_INCREMENT,
`agent` char(64) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `queues_new` (
`id` MEDIUMINT NOT NULL AUTO_INCREMENT,
`queuename` char(64) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

В файле /etc/asterisk/logger.conf (logger_general_custom.conf для FreePBX) выключим лог в файл, если он больше не нужен, но можно вести, как текстовый лог, так и реалтайм лог, одновременно:

 queue_log_to_file = no

В файле /etc/asterisk/asterisk.conf добавив в раздел options:

 [options]
 queue_adaptive_realtime = no

В файле настроек реалтайм /etc/asterisk/extconfig.conf определим драйвер, family и таблицу назначения:

 [settings]
 queue_log => odbc,asterisk,queuelog

где asterisk - db конфиг, например в /etc/asterisk/res_odbc_custom.conf

Если файл extconfig.conf не существует, создайте его командой:

 touch /etc/asterisk/extconfig.conf

и задайте права:

 chown asterisk. /etc/asterisk/extconfig.conf

/etc/asterisk/res_odbc_custom.conf

[asterisk]
enabled => yes
dsn => asterisk
username => dbuser
password => dbpass
pre-connect => yes

Примените конфигурацию

 asterisk -rx 'core reload'

Проверьте соединение Asterisk c базой данных через odbc:

[root@asterisk]# asterisk -rx 'odbc show'

ODBC DSN Settings
-----------------

  Name:   asterisk
  DSN:    qs-asterisk
    Last connection attempt: 1970-01-01 06:00:00
    Number of active connections: 1 (out of 1)

где DSN, настройки из файла /etc/odbc.ini

Скачать Asterisk Call Center Stats

Скачайте приложение в директорию веб сервера (в примере /var/www/html):

 wget https://asterisk-pbx.ru/downloads/call_center/queue-stats-current.tar.gz

Распакуйте:

 cd /var/www/html
 tar zxvf queue-stats-current.tar.gz
 cd queue-stats-current

Конфиг Asterisk Call Cetnter Stats

Отредактируйте файл config.php в соответствии в вашими данными, где

  • $DBServer - хост (localhost)
  • $DBUser - Пользователь БД.
  • $DBPass - Пароль БД.
  • $DBName - Имя БД.
  • $DBTable = - Имя таблицы БД.
// Credentials for MYSQL database
$DBServer = 'localhost';
$DBUser   = 'root';
$DBPass   = '';
$DBName   = 'asterisk';
$DBTable   = 'queuelog';

$connection = new mysqli($DBServer, $DBUser, $DBPass, $DBName);

Задайте права на директорию queue-stats:

 chown -R asterisk. /var/www/html/queue-stats

Откройте статистику в вашем любимом веб браузере:

http://ip.add.res.s/queue-stats

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

Только авторизованные участники могут оставлять комментарии.

Войти через: Google Facebook