Курсы по использованию Asterisk

IP-телефония — технология будущего. Обучитесь работе с IP-АТС Asterisk для того чтобы внедрить и профессионально использовать при решении коммуникационных задач.

Работайте с Asterisk профессионально!

Многоуровневая защита IP-АТС Asterisk

Телефонные станции очень часто становятся объектами хакерских атак. Узнайте, каким образом необходимо строить многоуровневую защиту для Вашей IP-АТС.

Не оставьте хакерам шансов. Защитите свой Asterisk от атак.

Используйте Веб-Интерфейс для удобства настройки

Панель управление FreePBX позволяет легко и удобно управлять всей системой. Научитесь эффективно использовать FreePBX для решения своих задач.

Управление станцией и статистика в окне браузера.

Научитесь работать с Asterisk из консоли

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

Научитесь «тонкой» настройке Asterisk

Цель курсов - максимум практики.

Обучение нацелено на практическую работу с IP-оборудованием: платы потоков E1, VoIP-телефонные аппараты, голосовые шлюзы FXS и прочее.

Обучение на реальном оборудовании — залог успеха.

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

База знаний Использование 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

 

сервер, asterisk, установка, Call-файл, FreePBX, call, asternic