Asterisk-cdr-viewer
Отличное приложение, сменившее в FreePBX 2.10 устаревший asterisk-stat
Asterisk статистика звонков
установка
- cd /var/www/html
- tar -xzvf asterisk-cdr-viewer-*.tgz
- cp asterisk-cdr-viewer/contrib/httpd/asterisk-cdr-viewer.conf /etc/httpd/conf.d/
asterisk-cdr-viewer.conf
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 -b .htpasswd user password
- service restart httpd
- change settings in /var/www/asterisk-cdr-viewer/include/config.inc.php
- open browser with url http://your_ip/acdr/index.php
Asterisk CDR MySQL table
Создайте файл, например:
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 mysql asteriskcdrdb < asteriskcdrdb.sql
mysql> GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO db_asteriskuser@localhost IDENTIFIED BY 'DB_PASSWORD'; flush privileges; \q
Asterisk cdr_mysql
/etc/asterisk/cdr_mysql.conf
[global] hostname=localhost dbname=asteriskcdrdb table=cdr password=DB_PASSWORD user=db_asteriskuser ;port=3306 ;sock=/tmp/mysql.sock ;timezone=UTC ; Previously called usegmtime
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
настройка записи
To display the links to the recorded files:
* change the following settings in configuration file ( config.inc.php ): 1. $system_monitor_dir = '/var/spool/asterisk/monitor'; - is the directory where call recordings are stored 2. $system_audio_format = 'wav'; - audio file format * Use like this command to start recording ( in asterisk dialplan ):
[macro-monitor] exten => s,1,Set(MONITOR_FILE=/var/spool/asterisk/monitor/${UNIQUEID}) exten => s,n,MixMonitor(${MONITOR_FILE}.wav,b)
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';
Spoiler
диалплан
[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 должна быть создана.
# which lame
/usr/local/bin/lame