Skip to content
Navigation Menu
Provide feedback
Saved searches
Use saved searches to filter your results more quickly
Sign up
Repository files navigation
Simple and fast viewer for asterisk CDRs / recordings. ( 1.0.14, Oct 7 2017 )
Asterisk regexp support ( like _XNZ. ) for source / destination / DID numbers.
PHP without any additional dependencies.
Easy to install and use.
CSS based.
User / Admin mode
Plugins support for custom reports.
ASR report
( from http://code.google.com/p/asterisk-cdr-viewer )
Web-интерфейс для просмотра и прослушивания записей звонков Asterisk
За основу взят одноименный проект на английском языке, который можно найти в интернете. Это его значительно переработанная версия, Asterisk CDR Viewer Mod.
Также использовался материал статьи на Хабрахабре, автор которой FessAectan. За что ему большое спасибо.
Ниже можно прочитать об основных особенностях и посмотреть скриншоты. Подробную информацию о том, как все установить и настроить можно найти в файле Readme, который находится в папке docs.
Если нашлись какие-либо баги или недоработки, то оставляйте свои заявки на GitHub.
Историю изменений можно посмотреть здесь.
Скрипт распространяется под лицензией GNU GPL v3
Основные особенности
- Полностью русский интерфейс
- Подробнейшая документация
- Работа без обновления страницы
- HTML5 плеер для прослушивания записей разговоров
- Возможность удаления записей разговоров через веб-интерфейс
- Возможность редактировать поле «Комментарий» (userfield) через веб-интерфейс
- Возможность удаления записей CDR из базы с помощью контекстного меню
- Возможность скрыть фильтры поиска и типы отчетов, которые редко используются
- Возможность использования разных конфиг-файлов. В каждом могут быть разные параметры
- Возможность скопировать в буфер содержимое всплывающей подсказки при клике на соответствующее поле
- Проверка обновлений
- Экспорт отчета в CSV файл
- Просмотр стоимости каждого звонка (плагин)
- Возможность вывода без дублирующихся записей для Asterisk 13 и выше
- Быстрый выбор периода для отчета. Например: Последние 3 недели
- Возможность установки своего логотипа
- Имя файла записи разговора хранится в базе
- Файлы для скачивания отдаются скриптом с возможностью докачки
- Папка для хранения записей может находиться в любой директории вашего сервера
И еще много всего…
Общий вид
Расширенный вид
Свой логотип
Просмотр записей звонков. Здесь же указана стоимость каждого звонка
Прослушивание записей
Всплывающие подсказки
Редактирование комментария
Удаление записей CDR из базы с помощью контекстного меню
Экспорт в CSV
Графики звонков
Длительность звонков
Стоимость звонков
Проверка обновлений
Веб интерфейс статистики вызовов Asterisk (Call Detail Recordings). Используется, также, в модуле статистики FreePBX. Прекрасное приложение, для просмотра статистики и прослушивания записей.
Страница программы на Google Code или На Github
Скачайте исходный код в директорию веб сервера:
cd /var/www/html wget https://github.com/g613/asterisk-cdr-viewer/raw/master/asterisk-cdr-viewer-latest.tgz
Распакуйте архив:
tar -xzvf asterisk-cdr-viewer-*.tgz
Скопируйте конфиг в директорию настроек веб вервера:
cp asterisk-cdr-viewer/contrib/httpd/asterisk-cdr-viewer.conf /etc/httpd/conf.d/ //asterisk-cdr-viewer.conf//
Настройте алиас acdr для директории asterisk-cdr-veiwer:
Если аутентификация не требуется, можно пропустить этот пункт.
Alias /acdr/ "/var/www/html/asterisk-cdr-viewer/"
<Location "/acdr/">
AuthName "Asterisk-CDR-Stat"
AuthType Basic
AuthUserFile /var/www/html/asterisk-cdr-viewer/.htpasswd
AuthGroupFile /dev/null
require valid-user
</Location>
Вернитесь в директорию программы:
cd /var/www/html/asterisk-cdr-viewer
При помощи команды htpasswd задайте имя пользователя и пароль для аутентификации в интерфейсе.
htpasswd -b .htpasswd user password
Перезапустите httpd:
service restart httpd
config.inc.php
Настройка подключения к базе данных и настройки веб интерфейса производятся в файле /var/www/asterisk-cdr-viewer/include/config.inc.php
Откройте интерфейс в вашем любимом браузере:
http://your_ip/acdr/index.php
Asterisk CDR MySQL
Создание таблицы MySQL для данных и конфигурация Asterisk.
Создайте файл, например:
touch asteriskcdrdb.sql
И скопируйте структуру таблицы БД:
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', disposition varchar(45) NOT NULL default '', amaflags int(11) NOT NULL default '0', accountcode varchar(20) NOT NULL default '', uniqueid varchar(32) NOT NULL default '', userfield varchar(255) NOT NULL default '', did varchar(50) NOT NULL default '', recordingfile varchar(255) NOT NULL default '', KEY `calldate` (`calldate`), KEY `dst` (`dst`), KEY `accountcode` (`accountcode`), KEY `uniqueid` (`uniqueid`) );
Создайте базу данных:
mysqladmin create asteriskcdrdb
Создайте таблицу cdr при помощи файла asteriskcdrdb:
mysql asteriskcdrdb < asteriskcdrdb.sql
Задайте привилегии для БД, где dbuser — ваш пользователь, а DB_PASSWORD — пароль.
mysql> GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO dbuser@localhost IDENTIFIED BY 'DB_PASSWORD'; flush privileges; \q
Настройка Asterisk cdr_mysql.conf
Нативный драйвер MySQL в Asterisk.
Также вы можете использовать ODBC. или adaptive ODBC.
Подробнее о настройке cdr в Asterisk.
Отредактируйте файл
/etc/asterisk/cdr_mysql.conf
в соответствии с заданным логином и паролем бд.
[global] hostname=localhost dbname=asteriskcdrdb table=cdr password=DB_PASSWORD user=dbuser ;port=3306 ;sock=/tmp/mysql.sock ;timezone=UTC ; Previously called usegmtime
Убедитесь что модули cdr_mysql загружены:
localhost*CLI> module show like mysql Module Description Use Count cdr_mysql.so MySQL CDR Backend 0 res_config_mysql.so MySQL RealTime Configuration Driver 0 app_mysql.so Simple Mysql Interface 0 3 modules loaded
Настройка записи разговоров
Чтобы ссылки на файлы отображались в интерфейсе, укажите директорию записи и формат файла в конфиге config.inc.php
В диалплане Asterisk, запись производится при помощи команды MixMonitor
[macro-monitor]
exten => s,1,Set(MONITOR_FILE=/var/spool/asterisk/monitor/${UNIQUEID})
exten => s,n,MixMonitor(${MONITOR_FILE}.wav,b)
Проверка. Выберете 5 последних строк из таблицы cdr:
select * from cdr ORDER BY calldate DESC LIMIT 5;
Модификация Asterisk-CDR-Viewer
Asterisk CDR Viewer Mod v2.2.5
Руссифицированный и немного переделанный интерфейс на основе asterisk-cdr-viewer.
Простейшая настройка
..viewer/inc/config.inc.php
$system_column_name = 'recordingfile';
$system_storage_format = 0;
$system_monitor_dir = '/var/spool/asterisk/monitor/mp3';
Asterisk запись разговоров в mp3
[from-om]
exten => _X.,1,GoSub(sub-monitor,s,1(${EXTEN}))
exten => _X.,n,Dial(PJSIP/${EXTEN}@sip_trunk,,)
[sub-monitor]
exten => s,1,Set(WAV=/var/spool/asterisk/monitor/${UNIQUEID})
exten => s,n,Set(MP3=/var/spool/asterisk/monitor/mp3/${UNIQUEID})
exten => s,n,Set(monopt=nice -n 19 /usr/local/bin/lame -b 32 --silent "${WAV}.wav" "${MP3}.mp3" && rm -f "${WAV}.wav" && chmod o+r "${MP3}.mp3")
exten => s,n,Set(CDR(recordingfile)=${UNIQUEID}.mp3)
exten => s,n,Set(CDR(userfield)=${ARG1})
exten => s,n,MixMonitor(${WAV}.wav,b,${monopt})
exten => s,n,return
директория /var/spool/asterisk/monitor/mp3 должна быть создана.
Установлен ли Lame? Проверить:
which lame /usr/local/bin/lame
Tips&Tricks
Чтобы начать запись, только когда абонент поднял трубку, используйте опцию U( ) команды Dial
Dial(PJSIP/${EXTEN},,trU(sub-monitor^s^1))
Страницы с тегом cdr:
Asterisk app: ForkCDR
Asterisk app: NoCDR
Asterisk app: ResetCDR
Настройка Asterisk
Asterisk CDR — Статистика звонков
Asterisk: cdr.conf
cdr_adaptive_odbc.conf
Asterisk:cdr_custom.conf
cdr_manager.conf
Asterisk: cdr_mysql.conf
cdr_odbc.conf
cdr_pgsql.conf
cdr_sqlite3_custom.conf
Asterisk: cdr_tds.conf
Dynamic Clip Routing
function ‘CDR’
function ‘CDR_PROP’
Установка Asterisk 15/16 и FreePBX 14 на Centos 7
FreePBX Call Recordings + Asternic CDR Reports 1.5.1
FreeSwitch CDR ODBC Postgesql
Freeswitch CDR NAtive Postgresql
Freeswitch CDR in SQLite
Freeswitch CDR ODBC MySQL
Приложения
Asterisk CDR Viewer — программная утилита, предоставляющая веб-интерфейс для детализированного просмотра и создания отчетов по звонкам, работающий на основе PBX Asterisk. Asterisk CDR Viewer поддерживает практически все версии Asterisk, начиная с 1.8. Asterisk CDR Viewer предоставляет пользователю удобный интерфейс, позволяя делать выборки по различным параметрам, среди которых: По дате; По названию транка; По источнику; По […]
Asterisk CDR Viewer — программная утилита,
предоставляющая веб-интерфейс для детализированного просмотра и создания
отчетов по звонкам, работающий на основе PBX Asterisk. Asterisk CDR Viewer
поддерживает практически все версии Asterisk, начиная с 1.8.
Asterisk CDR Viewer предоставляет пользователю удобный интерфейс, позволяя делать выборки по различным параметрам, среди которых:
- По дате;
- По названию транка;
- По источнику;
- По назначению;
- По Caller ID;
- По внутреннему номеру;
- По внешнему номеру (DID);
- По продолжительности вызова;
- По статусу звонка.
Также данная утилита позволяет создавать отчеты в
различных форматах, среди которых CDR, CSV, также присутствует возможность
формирования отчетов в виде графиков, вывод статистики по отвеченным вызовам и процентное соотношение
отвеченных звонков к их общему количеству. Имеется возможность добавления
функционала по созданию отчетов за счет плагинов.
Asterisk CDR Viewer является очень легковесным ПО, для
его работы требуется лишь наличие веб-сервера, библиотек PHP и БД MySQL для
взаимодействия с Asterisk.
В данной статье мы рассмотрим пример установки
Asterisk CDR Viewer в связке с веб-сервером Apache и БД MySQL на дистрибутив
CentOS 7.
Установка Apache
Подключим репозиторий epel-release и произведем
установку веб-сервера Apache:
yum install epel-release
yum install htppd
Добавляем apache в автозагрузку и запускаем его:
systemctl enable httpd
systemctl start httpd
Проверяем, что
сервер запустился и работает:
# netstat -tulnp | grep httpd
>tcp6 0 0 :::80 :::* LISTEN 21586/httpd
Затем в файрволле
разрешим подключения к apache:
firewall-cmd —zone=public —permanent —add-service=http
firewall-cmd —zone=public —permanent —add-service=https
firewall-cmd —reload
Проверим работу Apache, перейдя в веб-браузере по адресу
сервера, на который мы производили установку:
Установка PHP
Т.к. для работы Asterisk CDR Viewer требуются
библиотеки php, произведем их установку на нашу систему:
yum install -y php
yum install -y php-mysql php-mbstring php-mcrypt php-devel php-xml php-gd
Выполним перезапуск Apache:
systemctl restart httpd
Создадим файл в директории виртуального хоста для того
чтобы протестировать работу php:
nano /var/www/html/php/index.php
со следующим содержимым:
<?php phpinfo(); ?>
Назначим права на его выполнение пользователю Apache:
chown apache. /var/www/html/php/index.php
Заходим по адресу http://*адрес_сервера*/php и при
успешной настройке должны увидеть следующую страницу:
Установка и настройка MySQL
Установим СуБД из репозиториев:
yum install -y mariadb mariadb-server
Добавим ее в автозапуск:
systemctl enable mariadb.service
Запускаем:
systemctl start mariadb
Проверяем успешный запуск:
netstat -tulnp | grep mysqld
>tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 22276/mysqld
Затем создадим БД, в которой Asterisk будет хранить записи разговоров. Установка самого Asterisk описана в данной статье.
Подключаемся
к БД:
mysql -u root -p
создадим базу для хранения записей разговоров:
>CREATE DATABASE asteriskcdrdb;
создадим пользователя asteriskcdr и назначим ему права доступа к только что созданной БД:
>GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskcdr@localhost IDENTIFIED BY ‘passwd’;
>flush privileges;
На данном этапе все компоненты для функционирования
утилиты Asterisk CDR-Viewer подготовлены, можно переходить непосредственно к ее
установке.
Установка и
настройка Asterisk CDR-Viewer
После того, как все инструменты для
CDR-Viewer подготовлены, его установка не представляет каких-либо сложностей.
Достаточно клонировать исходные коды
утилиты из svn-репозитория в каталог /var/www/html.
cd /var/www/html
svn checkout http://asterisk-cdr-viewer.googlecode.com/svn/trunk/ asterisk-cdr-viewer
Затем необходимо скопировать
файл asterisk-cdr-viewer.conf из директории
asterisk-cdr-viever/contrib/httpd в каталог с конфигурацией apache /etc/httpd/conf.d
Настройка подключения CDR-Viewer к
MySQL выполняется в файле asterisk-cdr-viever/include/config.inc.php
…
$db_type = ‘mysql’; // тип базы данных
$db_host = ‘localhost’; // адрес хоста
$db_port = ‘3306’; // порт MySQL
$db_user = ‘asterisk’; // имя пользователя для подключения к БД asteriskcdrdb
db_pass = ‘paswd’; // пароль для подключения к БД asteriskcdr:
$db_name = ‘asteriskcdrdb’; // имя базы данных для хранения голосровых записей
$db_table_name = ‘cdr’; // имя таблицы
…
После выполнения данных настроек можно получить доступ
к веб-интерфейсу приложения, перейдя в браузере по адресу http://*адрес_сервера*/asterisk-cdr-viewer/
Статистику по принятым и не принятым вызовам можно
посмотреть выбрав пункт ASR/ASD report.
Графические отчеты доступны в режиме CallGraph
Отчет по продолжительности звонков доступен в режиме
Minutes Report
В данной статье я хочу рассказать Вам как использовать Asterisk CDR Reports под Wondows.
Почему под Windows?
Всё просто. Windows — это основная операционная система на компьютерах во всех компаниях России.
Если, вдруг, у Вас не Windows, то срочно закройте этот сайт.
Продолжим. Windows — очень удобная операционная система. Она переведена на Русский язык. Все программы под Windows также переведены на Русский. И всё такое и прочие прелести.
Так почему же начать пользоваться статистикой Asterisk CDR Reports в удобной Windows программе?
Представляю Вашему вниманию программу Hello Asterisk. Это программа для пользователей. Она имеет дружественный простому офисному работнику интерфейс. Hello Asterisk позволяет работать с CDR Reports. То есть со статистикой телефонных звонков.
Если Вам необходимо регулярно формировать список входящих звонков, список исходящих, и список пропущенных, тогда Hello Asterisk — это то, что Вам нужно.
Увидеть все фишки этой бесплатной программы Вы сможете на видео:
