artem
27.08.2014
21896

Установка модуля Asternic Call Center Stats во FreePBX

Данная статья посвящена установке бесплатной версии модуля Asternic Call Center Stats на Asterisk-сервер с веб-интерфейсом FreePBX. Он предназначен для мониторинга работы Call-центра и позволяет увидеть статистику по отвеченным и неотвеченным звонкам операторов и очередей, а также содержит средства наблюдения за работой Call-центра в реальном времени.

Для загрузки актуальной версии модуля переходим на официальный сайт Asternic:

 http://www.asternic.net/

 Далее идем в раздел Downloads. На открывшейся странице мы увидим таблицу сравнений различных версий модуля Asternic Call Center Stats — Lite, PRO и Devel. Нас интересует версия Lite, так как она бесплатная. Также на странице предлагаются две платные версии продукта: версия PRO содержит большие функционала, а версия Devel, предназначенная для разработчиков, открывает доступ еще и к исходному коду.

Копируем в буфер обмена ссылку на скачивание версии Lite по кнопке Download в соответствующей колонке. Эта ссылка понадобится нам, чтобы закачать архив с исходником модуля на сервер Asterisk.

На момент написания статьи актуальной была версия 1.5.

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

cd /usr/src
wget http://www.asternic.net/download/asternic-stats-1.5.tgz
tar zvxf asternic-stats-1.5.tgz
cd asternic-stats

Далее мы создаем базу данных MySQL под названием qstats, в которой наш модуль будет хранить собираемую статистику. В консоли сервера выполняем следующую команду:

mysqladmin -u root -p create qstats

Система запросит ввод пароля пользователя root MySQL. Если вы не знаете этот пароль, то вы можете поменять его на тот, который вам нужен. Как это сделать подробно описано в данной статье

Создаем таблицы для базы данных:

 mysql -u root -p qstats < sql/qstats.sql

 Далее создаем пользователя MySQL, который будет иметь полный доступ ко всем таблицам базы данных qstats и через которого модуль Asternic Call Center Stats будет работать с этой базой. Входим в консоль MySQL под root:

 mysql -u root -p

 После ввода пароля мы оказываемся в консоли MySQL.

 

Далее с помощью команды GRANT создаем пользователя qstatsuser с паролем qstatsPass, которому будут доступны все права на базу данных qstats. Водим следующую команду:

 GRANT ALL PRIVILEGES ON qstats.* TO qstatsuser@localhost IDENTIFIED BY ‘qstatsPass’ WITH GRANT OPTION;

 Выходим из консоли MySQL, введя

 exit

 Редактируем файл /usr/src/asternic-stats/html/config.php и заносим в соответствующие строки следующее содержимое:

$dbhost = "localhost";
$dbname = "qstats";
$dbuser = "qstatsuser";
$dbpass = "qstatsPass";

$manager_host = "localhost";
$manager_user = "admin";
$manager_secret = "AdminPass";

$language = "ru";

Здесь qstatsPass — это пароль пользователя qstatsuser MySQL.

AdminPass — пароль учетной записи admin из файла /etc/asterisk/manager.conf.

 

Аналогичным образом редактируется файл /usr/src/asternic-stats/parselog/config.php. Просматриваем все строки и заносим в соответствующие строки следующие значения:

 

$queue_log_dir = "/var/log/asterisk/";
$queue_log_file = "queue_log";

$dbhost = "localhost";
$dbname = "qstats";
$dbuser = "qstatsuser";
$dbpass = "qstatsPass";

Перемещаем папку html в корневую папку документов Apache:

mv /usr/src/asternic-stats/html /var/www/html/queue-stats

 

Перемещаем папку parselog в ее новую домашнюю директорию:

mv /usr/src/asternic-stats/parselog /usr/local

Теперь нам нужно сделать так, чтобы скрипт парсинга данных из лога queue_log выполнялся каждый час. Для этого мы воспользуемся специальным демоном cron в Linux.

cron — демон-планировщик в UNIX-подобных операционных системах, использующийся для периодического выполнения заданий в определённое время. Выполняемые действия описываются инструкциями, помещенными в файлы crontab, а также в специальные директории.

В консоли Linux вводим команду:

crontab -e

Мы попадаем в режим редактирования правил демона cron для пользователя root в Linux. Эти правила записаны в особом файле crontab, который состоит из строк, записанных в особом формате:

 

В тот момент, когда системное время достигает значения, указанного в строке, выполняется та команда, которая на рисунке символически записана красным цветом. При этом если вместо соответствующего значения стоит звездочка, то данный параметр игнорируется.

 

Сейчас этот файл открыт у нас в текстовом редакторе vim. Чтобы перейти в режим редактирования, нажимаем на клавиатуре “i”. Перемещаемся по файлу стрелочками на клавиатуре и добавляем в его конец новую строчку:

0 * * * * php -q /usr/local/parselog/parselog.php convertlocal

Чтобы сохранить изменения и выйти, нажимаем на клавиатуре “:wq”.

 

Таким образом, в каждый момент времени, когда у нас прошло 0 минут от начала нового часа, будет запускаться скрипт командой “php -q /usr/local/parselog/parselog.php convertlocal”. Ясно, что событие, когда прошло ноль минут, бывает один раз в час.

 

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

 

https://ip-станции-asterisk/queue-stats

 

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

 

Возможные проблемы при установке

 

Иногда бывает, что на главной странице модуля после установки и настройки выводятся сообщения об ошибке базы данных. Это выглядит примерно так:

 

С испанского языка сообщение «Error en la Base de Datos» переводится как «Ошибка в базе данных». Этих сообщений может быть разное количество, и вызваны они обычно неправильным заполнением двух файлов, в которые мы вносили свои настройки выше. Нужно обязательно проверить правильность значений $dbname, $dbuser и $dbpass в этих файлах.

 

Так как в процессе установки эти файлы были перемещены нами в другие директории, то теперь у них следующий полный адрес:

 

/var/www/html/queue-stats/config.php

/usr/local/parselog/config.php

 

Также иногда бывает такое, что на главной странице модуля отображается «мусор» из php-кода. Обычно это выглядит следующим образом:

 

Эта проблема возникает на серверах с PHP версии младше 5.4. Дело в том, что в коде Asternic Call Center Stats используется короткая форма записи (<? ?>) тегов PHP, поддержка которой по умолчанию отключена в PHP версии младше 5.4, но мы можем включить ее вручную. Чтобы сделать это, необходимо открыть файл /etc/php.ini и в опции short_open_tag поставить значение On.

 

Для того, чтобы изменения вступили в силу, нужно перезапустить службу httpd:

service httpd restart

 

 
avatar
  Подписаться  
Уведомление о

Остались вопросы?

Я - Компаниец Никита, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.

VoIP оборудование

ближайшие курсы

ближайшие Вебинары

ONLINE

Why Choose HUGE?

Unlimited pre-designed elements

Each and every design element is designed for retina ready display on all kind of devices

User friendly interface and design

Each and every design element is designed for retina ready display on all kind of devices

100% editable layered PSD files

Each and every design element is designed for retina ready display on all kind of devices

Created using shape layers

Each and every design element is designed for retina ready display on all kind of devices