Abhishek Singh Bailoo

Weblog

Sep 28

Install Asterisk Stats

Asterisk Stats has now been renamed as CDR-stats and is available at http://www.cdr-stats.org/

However, an older version in PHP is available for download at Areski’s Asterisk Stats and locally mirrored at Asterisk Stats

Here is how to Install this older PHP version of Asterisk Stats.

1. Install mysql client library

On centos

#yum install mysql-devel

On debian

#apt-get install libmysqlclient-dev

2. For Asterisk > Version 1.8, the asterisk-addons package is integrated in the main trunk and need not be installed separately. For Asterisk V1.6 and lower, download the asterisk-addons package and install it after installing asterisk main package.

./configure

make menuselect

In addons, select cdr_mysql, app_mysql

make all; make install

3. Edit /etc/asterisk/cdr_mysql.conf

[global]
hostname=localhost
dbname=asterisk
table=cdr
password=password
user=asterisk
port=3306
sock=/var/lib/mysql/mysql.sock ; check, this could be /tmp/mysql.sock instead
timezone=UTC ; Previously called usegmtime

4. Create user asterisk and give all privileges on database asterisk.

CREATE DATABASE asterisk;

GRANT INSERT
ON asterisk.*
TO asterisk@localhost
IDENTIFIED BY ‘yourpassword’;

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’,
`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 ”
);

ALTER TABLE `cdr` ADD `uniqueid` VARCHAR(32) NOT NULL default ”;
ALTER TABLE `cdr` ADD INDEX ( `calldate` );
ALTER TABLE `cdr` ADD INDEX ( `dst` );
ALTER TABLE `cdr` ADD INDEX ( `accountcode` );

5. Untar and copy asterisk-stats package to webserver root

Edit lib/defines.php with appropriate values for webroot, mysql user, database, password etc.