Установка модуля Asternic Call Center Stats во FreePBX
Данная статья посвящена установке бесплатной версии модуля Asternic Call Center Stats на Asterisk-сервер с веб-интерфейсом FreePBX. Он предназначен для мониторинга работы Call-центра и позволяет увидеть статистику по отвеченным и неотвеченным звонкам операторов и очередей, а также содержит средства наблюдения за работой Call-центра в реальном времени.
Для загрузки актуальной версии модуля переходим на официальный сайт Asternic:
Далее идем в раздел 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
Остались вопросы?
Я - Виталий Шелест, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.
категории
- DECT
- Linux
- Вспомогательный софт при работе с Asterisk
- Интеграция с CRM и другими системами
- Интеграция с другими АТС
- Использование Elastix
- Использование FreePBX
- Книга
- Мониторинг и траблшутинг
- Настройка Asterisk
- Настройка IP-телефонов
- Настройка VoIP-оборудования
- Новости и Статьи
- Подключение операторов связи
- Разработка под Asterisk
- Установка Asterisk
VoIP оборудование
ближайшие курсы
Новые статьи
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 сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.