Está en la página 1de 3

CDR to MYSQL

Para llevar un completo control de todos los eventos de llamadas en Asterisk o hacer un sistema de
facturacin no hay como CL !Channel vent Lo""in"#$ Sin em%ar"o para ciertas tareas puede ser
m&s 'ue suficiente almacenar los CDR !Call Detail Record# de Asterisk en una ((DD MySQL$
Desde la versin )$* ya viene incluido y no hace falta descar"arse las +addons,$
Simplemente necesitamos instalar la dependencia +li%mys'lclient-dev, y +mys'l-server, si la
((DD va a ir en el mismo servior y al compilar asterisk seleccionar la opcin +Add-ons .
/01cdr2mys'l
Yo voy a tener la ((DD en otro servidor !)34$)5*$6$6#$ As7 'ue la creamos$
)- 8os conectamos a MySQL9
# mysql -u root -p
4- Creamos la data%ase9
mysql> CREATE DATABASE asteriskCDR;
6- Creamos un usuario +asterisk, para esta data%ase +asteriskCDR,9
mysql> GRANT INSERT ON asteriskCDR! TO asterisk"lo#al$ost
IDENTI%IED B& 'pass(or)';
:- Creamos la ta%la9
mysql> *SE asteriskCDR;
Data+ase #$a,-e)
mysql> CREATE TAB.E /#)r/ 0
/#all)ate/ )atetime NOT N*.. )e1ault '2222-22-22 22322322'4
/#li)/ 5ar#$ar0627 NOT N*.. )e1ault ''4
/sr#/ 5ar#$ar0627 NOT N*.. )e1ault ''4
/)st/ 5ar#$ar0627 NOT N*.. )e1ault ''4
/)#o,te8t/ 5ar#$ar0627 NOT N*.. )e1ault ''4
/#$a,,el/ 5ar#$ar0627 NOT N*.. )e1ault ''4
/)st#$a,,el/ 5ar#$ar0627 NOT N*.. )e1ault ''4
/lastapp/ 5ar#$ar0627 NOT N*.. )e1ault ''4
/last)ata/ 5ar#$ar0627 NOT N*.. )e1ault ''4
/)uratio,/ i,t0997 NOT N*.. )e1ault '2'4
/+illse#/ i,t0997 NOT N*.. )e1ault '2'4
/)ispositio,/ 5ar#$ar0:;7 NOT N*.. )e1ault ''4
/ama1la-s/ i,t0997 NOT N*.. )e1ault '2'4
/a##ou,t#o)e/ 5ar#$ar0<27 NOT N*.. )e1ault ''4
/user1iel)/ 5ar#$ar0<;;7 NOT N*.. )e1ault ''4
/u,iquei)/ =ARC>AR0?<7 NOT N*.. )e1ault ''4
/li,ke)i)/ =ARC>AR0?<7 NOT N*.. )e1ault ''4
/seque,#e/ =ARC>AR0?<7 NOT N*.. )e1ault ''4
/peera##ou,t/ =ARC>AR0?<7 NOT N*.. )e1ault ''
7;
;na ve< hecho esto ponemos como 7ndices para optimi<ar la %=s'ueda por estos campos9
A.TER TAB.E /#)r/ ADD INDE@ 0 /#all)ate/ 7;
A.TER TAB.E /#)r/ ADD INDE@ 0 /)st/ 7;
A.TER TAB.E /#)r/ ADD INDE@ 0 /a##ou,t#o)e/ 7;
>- Si 'ueremos le damos permiso para acceder solo desde nuestra P(? Asterisk !)34$)5*$6$4#9
GRANT A.. ON asteriskCDR! TO asterisk"'9A<9B6?<' IDENTI%IED B&
',uestro pass()';
Para 'ue se pueda acceder a la ((DD desde otro servidor puede 'ue necesitemos confi"urar nuestra
data%ase editando el archivo @etc@mys'l@my$cnf y cam%iando la opcin +%ind-address A )4B$C$C$)D
por +%ind-address A C$C$C$CD y reiniciando el servidor +service mys'l restart,$
A continuacin confi"uramos nuestra P(? Asterisk !)34$)5*$6$4# para "uardar los CDR en esa
data%ase$
ditamos el archivo @etc@asterisk@cdr2mys'l$so y ponemos al"o tal 'ue as79
C-lo+alD
$ost,ameE9A<9B6?? ;ip )e ,uestra )ata+ase Si 1uese lo#al
po,)rFamos lo#al$ost
)+,ameEasteriskCDR
ta+leE#)r
pass(or)Eel que sea
userEasterisk
portE??2B
so#kEGtmpGmysqlso#k
C#olum,sD
;stati# H
alias #alleri) E> #li)
;alias sr# E> sr#
;alias )st E> )st
;alias )#o,te8t E> )#o,te8t
;alias #$a,,el E> #$a,,el
;alias )st#$a,,el E> )st#$a,,el
;alias lastapp E> lastapp
;alias last)ata E> last)ata
;alias )uratio, E> )uratio,
;alias +illse# E> +illse#
;alias )ispositio, E> )ispositio,
;alias ama1la-s E> ama1la-s
;alias a##ou,t#o)e E> a##ou,t#o)e
;alias user1iel) E> user1iel)
;alias u,iquei) E> u,iquei)
Salvamos el archivo y compro%amos desde el CLE. 'ue tenemos soporte para el mdulo
cdr2mys'l$so
C.I> mo)ule s$o( like #)rImysqlso
Jo)ule Des#riptio, *se Cou,t
#)rImysqlso JySK. CDR Ba#ke,) 2
9 mo)ules loa)e)
Para 'ue empiece a "ra%ar los CDR en la data%ase descar"amos y car"amos el mdulo9
C.I> mo)ule u,loa) #)rImysqlso
EE *,re-istere) 'mysql' CDR +a#ke,)
C.I> mo)ule loa) #)rImysqlso
.oa)e) #)rImysqlso
EE Larsi,- 'Get#GasteriskG#)rImysql#o,1'3 EE %ou,)
-- %ou,) alias start 1or #olum, #all)ate
-- %ou,) alias #alleri) 1or #olum, #li)
.oa)e) #)rImysqlso E> 0JySK. CDR Ba#ke,)7
Y compro%amos 'ue est& todo %ien9
C.I> #)r mysql status
Co,,e#te) to asteriskCDR"9A<9B6??4 port ??2B usi,- ta+le #)r
1or 9 $ours4 9 mi,utes4 :A se#o,)s
Mrote < re#or)s si,#e last restart
C.I> #)r s$o( status
Call Detail Re#or) 0CDR7 setti,-s
----------------------------------
.o--i,-3 E,a+le)
Jo)e3 Simple
.o- u,a,s(ere) #alls3 No
! Re-istere) Ba#ke,)s
-------------------
mysql
#s5
#)r-#ustom

También podría gustarte