Инструменты пользователя

Инструменты сайта


asterisk_cdr_viewer

Asterisk CDR viewer

Настройка MySql

Итак поплыли, то есть пошли. Для начала нам понадобится старый добрый MySQL сервер. С него пожалуй и начнем. Все манипуляции, будут описаны для CentOs. Для debian и иже с ними, все монописуально.

Собственно ставим сам сервер

yum install mysql-server

Стартанем его для приличия.

service mysqld start

Проверим, появился ли данный тип в атозагрузке, если нет - добавим его туда.

chkconfig mysqld on

На всякий случай, хотя это вовсе не обязательно, зададим пароль для root, а то он пустенький как мой холодильничек.

/usr/bin/mysqladmin -u root password 'rootpass'

Еще, православные атеисты рекомендуют запустить скрипт, который - установит новый пароль root (пароль будет запрошен), удалит пользователя anonymous, запретит логинится с удаленных машин под root-ом, удалит тестовую базу

/usr/bin/mysql_secure_installation

На этом, установка и минимальная настройка MySQL сервера - выполнена.

Переходим к водным процедурам. Заходим на MySQL сервер

mysql -u root -p

И создаем базу данных. Назовем ее незамысловато - asterisk. Также создадим пользователя, со звучным именем asterisk_user, и дадим этому чуваку, все права на созданную базу

create database asterisk;
create user 'asterisk_user'@'%' identified by 'asterisk_password';
grant all on asterisk.* to 'asterisk_user'@'%';
flush privileges;

Теперь пришло время, заполнить нашу базу. А то на фига мы ее создавал!?) Подключаемся, к свежей, блестящей, только, что созданной базе данных. Это восторг!

use asterisk;

И немного накидаем в нее всяких таблиц, вдруг пригодятся.

CREATE TABLE cdr (
 calldate datetime NOT NULL default '0000-00-00 00:00:00',
 clid varchar(80) NOT NULL default '',
 src varchar(80) NOT NULL default '',
 dst varchar(80) NOT NULL default '',
 dcontext varchar(80) NOT NULL default '',
 channel varchar(80) NOT NULL default '',
 dstchannel varchar(80) NOT NULL default '',
 lastapp varchar(80) NOT NULL default '',
 lastdata varchar(80) NOT NULL default '',
 duration int(11) NOT NULL default '0',
 billsec int(11) NOT NULL default '0',
 start datetime NULL default NULL,
 answer datetime NULL default NULL,
 end datetime NULL default NULL,
 disposition varchar(45) NOT NULL default '',
 amaflags int(11) NOT NULL default '0',
 accountcode varchar(20) NOT NULL default '',
 userfield varchar(255) NOT NULL default '',
 uniqueid varchar(32) NOT NULL default ''
 );

Теперь необходимо установить библиотеки mysql. Они дадут возможность собирать программы, предназначенные для работы с MySQL

yum install mysql-devel

Теперь пришло время для небольшой магии. Нужно повторно собрать asterisk для работы с MySQL. Перейдем в директорию с исходными кодами. И запускаем команду конфигурирования.

 cd /usr/src/asterisk/asterisk-11.25.3
./configure --disableasteriskssl --libdir=/usr/lib64
make menuselect

В открывшемся меню включите использование следующих компонентов

  • Add-ons ⇒ res_config_mysql
  • Add-ons ⇒ cdr_mysql

После выхода из меню выбора компонентов, выполняем сборку и повторную установку asterisk

make
make install

Сборка окончена. Проверим связь с MySQL Server

mysql -h localhost -u asterisk_user -puser_password asterisk

Настройка asterisk для работы с MySQL Server

Для настройки asterisk создадим (или откроем) файл /etc/asterisk/cdr_mysql.conf и впишите туда

hostname=192.168.1.1  ; хост, где находится mysql сервер (может быть localhost или 127.0.0.1
dbname=asterisk       ; имя базы данных asterisk
table=cdr             ; имя таблицы asterisk
user=asterisk_user    ; имя пользователя для базы данных sql
password=ast_password ; пароль для пользователя asterisk_user
;timezone=UTC         ; часовой пояс (раньше называлась usegmtime)
;charset=UTF-8        ; кодировка базы данных, ее можно узнать в процессе настройки MySQL(необязательный параметр)

И из командной строки asterisk (asterisk CLI) выполните следующую команду

module load cdr_mysql.so

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

module show like cdr_mysql.so

На этом настройка asterisk закончена

Установка Asterisk CDR Viewer

Установим веб сервер

yum -y install httpd php php-mysql

И дадим поджопника, чтоб завелся. И грузился. САМ!

service httpd start
chkconfig httpd on

Теперь собственно сам сабж. Скачиваем его с официального сайта GitHub Либо скачиваем прямо тута, но как только допру как файл прикреплять!

cd /usr/src
wget https://github.com/g613/asterisk-cdr-viewer/raw/master/asterisk-cdr-viewer-latest.tgz

разархивируем пациента

tar -xzvf asterisk-cdr-viewer-latest.tgz

Скопируем папку с разархивированными файлами в корень сайта apache ( по умолчанию /var/www/html/ ), а файл asterisk-cdr-viewer.conf (из папки contrib/httpd) - в папку с конфигурацией apache ( по умолчанию - /etc/httpd/conf.d/
файл /var/www/html/asterisk-cdr-viewer/include/config.inc.php приводим к виду

$db_type = 'mysql';
$db_host = 'localhost';
$db_port = '3306';
$db_user = 'asterisk_user';
$db_pass = 'P@$$w0rd';
$db_name = 'asterisk';
$db_table_name = 'cdr';
$db_options = array();

На этом установка Asterisk CDR Viewer завершена. Теперь топаем на сайт:

http://<Ваш-IP-адрес>/asterisk-cdr-viewer/

Должна показаться очаровательная веб мордочка

Допиливаем Asterisk CDR Viewer

Установка пароля для веб морды. Для CentOs должен присутствовать пакет httpd-tools а для Debian apache2-utils. Переходим в директорию веб сервера, для CentOs etc/httpd для Debian etc/apache2 и создем юзер/пароль для статистики:

htpasswd -c passwordfile username

Далее в файле asterisk-cdr-viewer.conf снимаем комменты с кода авторизации

<Location "/acdr/">
        AuthName "Asterisk-CDR-Stat"
        AuthType Basic
        AuthUserFile /var/www/asterisk-cdr-viewer/.htpasswd
        AuthGroupFile /dev/null
        require valid-user
</Location>
asterisk_cdr_viewer.txt · Последнее изменение: 2019/10/01 16:13 (внешнее изменение)