artem
27.08.2014
27881

Установка модуля 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

 

Подписаться
Уведомление о
guest
0 Комментарий
Inline Feedbacks
View all comments

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

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

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

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

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

ONLINE

10 доводов в пользу Asterisk

Распространяется бесплатно.

Asterisk – программное обеспечение с открытым исходным кодом, распространяется по лицензии GPL. Следовательно, установив один раз Asterisk вам не придется дополнительно платить за новых абонентов, подключение новых транков, расширение функционала и прочие лицензии. Это приближает стоимость владения станцией к нулю.

Безопасен в использовании.

Любое программное обеспечение может стать объектом интереса злоумышленников, в том числе телефонная станция. Однако, сам Asterisk, а также операционная система, на которой он работает, дают множество инструментов защиты от любых атак. При грамотной настройке безопасности у злоумышленников нет никаких шансов попасть на станцию.

Надежен в эксплуатации.

Время работы серверов некоторых наших клиентов исчисляется годами. Это значит, что Asterisk работает несколько лет, ему не требуются никакие перезагрузки или принудительные отключения. А еще это говорит о том, что в районе отличная ситуация с электроэнергией, но это уже не заслуга Asterisk.

Гибкий в настройке.

Зачастую возможности Asterisk ограничивает только фантазия пользователя. Ни один конструктор шаблонов не сравнится с Asterisk по гибкости настройки. Это позволяет решать с помощью Asterisk любые бизнес задачи, даже те, в которых выбор в его пользу не кажется изначально очевидным.

Имеет огромный функционал.

Во многом именно Asterisk показал какой должна быть современная телефонная станция. За многие годы развития функциональность Asterisk расширилась, а все основные возможности по-прежнему доступны бесплатно сразу после установки.

Интегрируется с любыми системами.

То, что Asterisk не умеет сам, он позволяет реализовать за счет интеграции. Это могут быть интеграции с коммерческими телефонными станциями, CRM, ERP системами, биллингом, сервисами колл-трекинга, колл-бэка и модулями статистики и аналитики.

Позволяет телефонизировать офис за считанные часы.

В нашей практике были проекты, реализованные за один рабочий день. Это значит, что утром к нам обращался клиент, а уже через несколько часов он пользовался новой IP-АТС. Безусловно, такая скорость редкость, ведь АТС – инструмент зарабатывания денег для многих компаний и спешка во внедрении не уместна. Но в случае острой необходимости Asterisk готов к быстрому старту.

Отличная масштабируемость.

Очень утомительно постоянно возвращаться к одному и тому же вопросу. Такое часто бывает в случае некачественного исполнения работ или выбора заведомо неподходящего бизнес-решения. С Asterisk точно не будет такой проблемы! Телефонная станция, построенная на Asterisk может быть масштабируема до немыслимых размеров. Главное – правильно подобрать оборудование.

Повышает управляемость бизнеса.

Asterisk дает не просто набор полезных функций, он повышает управляемость организации, качества и комфортности управления, а также увеличивает прозрачность бизнеса для руководства. Достичь этого можно, например, за счет автоматизации отчетов, подключения бота в Telegram, санкционированного доступа к станции из любой точки мира.

Снижает расходы на связь.

Связь между внутренними абонентами IP-АТС бесплатна всегда, независимо от их географического расположения. Также к Asterisk можно подключить любых операторов телефонии, в том числе GSM сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.