Asterisk i MySQL

A continuació teniu els passos que s’han de seguir per a que Asterisk guarde els logs sobre una MySQL. Per fer-ho amb Gentoo s’ha de compilar l’Asterisk amb USE="mysql".

Crear el fitxer /etc/asterisk/cdr_mysql.conf amb el següent contingut.

 ; Note - if the database server is hosted on the same machine as the
 ; asterisk server, you can achieve a local Unix socket connection by
 ; setting hostname=localhost
 ;
 ; port and sock are both optional parameters.  If hostname is specified
 ; and is not \"localhost\", then cdr_mysql will attempt to connect to the
 ; port specified or use the default port.  If hostname is not specified
 ; or if hostname is \"localhost\", then cdr_mysql will attempt to connect
 ; to the socket file specified by sock or otherwise use the default socket
 ; file.
 ;
 [global]
  hostname=localhost
  dbname=cdr
  password=yourpassword
  user=asteriskuser
  ;port=3306
  ;sock=/tmp/mysql.sock
  ;userfield=1

Crear la base de dades cdr amb la taula cdr. Només cal copiar les següents senténcies SQL en un fitxer de text:

CREATE DATABASE cdr;
	
 GRANT INSERT
   ON cdr.*
   TO asteriskuser@localhost
   IDENTIFIED BY 'yourpassword';
	
 USE cdr;
	
 CREATE TABLE cdr (
   uniqueid varchar(32) NOT NULL default '',
   userfield varchar(255) NOT NULL default '',
   accountcode varchar(20) NOT NULL default '',
   src varchar(80) NOT NULL default '',
   dst varchar(80) NOT NULL default '',
   dcontext varchar(80) NOT NULL default '',
   clid 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 '',
   calldate datetime NOT NULL default '0000-00-00 00:00:00',
   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'
);

I seguidament executar la comanda:

mysql -u root -p < nom_del_fitxer

Reiniciem l’asterisk i a partir d’ara les trucades es guardaran a la mysql.

També podeu instal·lar asterisk-stat, un programa amb php que serveix per accedir als CDR de forma gràfica, aquí podeu veure un exemple:

asterisk-stat

This entry was posted in Uncategorized. Bookmark the permalink.

One Response to Asterisk i MySQL

  1. Enric says:

    Iep pau, que tal?

    El asterisk es conecta a la bbdd de cdr, pero no me la actualitza :S
    saps pq pot ser? :S

    salut!

    Enric

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>