Asterisk-CDR-MySQL

860 views
Skip to first unread message

David Escañuela Alonso

unread,
Nov 6, 2009, 1:04:35 PM11/6/09
to asterisk-es
Buenas a todos,
al configurar Asterisk para que guarde los registros en una base de
datos MySQL,algo sencillo y que no me ha dado problemas nunca,resulta
que no me conecta con el servidor MySQL.

Es crispante tener errores sobre algo que generalmente te sale a la
primera por su trivialidad.

Os comento lo que he hecho:

Comprobar desde el menuselect de Asterisk-Addons que los modulos de
MySQL estan activados

Crear una base de datos en MySQL llamada cdr dandole privilegios
pertinentes:

+---------------+
| Tables_in_cdr |
+---------------+
| cdr |
+---------------+
1 row in set (0.00 sec)

Modificar el archivo modules.conf :

load => app_addon_sql_mysql.so
load => cdr_addon_mysql.so

Modificar el archivo cdr_mysql.conf:

[global]
hostname=database.host.name
dbname=cdr
table=cdr
password=root
user=root
port=3306
sock=/var/lib/mysql/mysql.sock
userfield=1

Comprobar la activacion de los modules desde CLI:

localhost*CLI> module unload app_addon_sql_mysql.so
== Unregistered application 'MYSQL'
localhost*CLI> module load app_addon_sql_mysql.so
== Parsing '/etc/asterisk/mysql.conf': Found
== Registered application 'MYSQL'
Loaded app_addon_sql_mysql.so => (Simple Mysql Interface)

localhost*CLI> module unload app_cdr.so
== Unregistered application 'NoCDR'
localhost*CLI> module load app_cdr.so
== Registered application 'NoCDR'
Loaded app_cdr.so => (Tell Asterisk to not maintain a CDR for the
current call)

Comprobar estado de cdr y mysql :

localhost*CLI> cdr status
CDR logging: enabled
CDR mode: simple
CDR output unanswered calls: no
CDR registered backend: cdr-custom
CDR registered backend: cdr_manager
CDR registered backend: csv
CDR registered backend: mysql

localhost*CLI> cdr mysql status

Not currently connected to a MySQL server. <-----------------------AKI
ESTA EL PROBLEMA

Posiblemente sea una chorrada pero no la encuentro.



Richard Alvarez

unread,
Nov 6, 2009, 1:15:12 PM11/6/09
to aster...@googlegroups.com
cdr_mysql.conf

[global]
hostname= aca_va_la_ip_de_tu_equipo_con_mysql
dbname=asterisk ;nombre de la base de datos
table=cdr ; nombre de la tabla en tu base de datos
password=aca_va_la_password_de_tu_mysql
user=aca_va_el_usuario_de_tu_base_de_datos
port=3306
sock=/var/lib/mysqld/mysql.sock
userfield=1


Fijate como tienes la configuracion de este archivo ...

Saludos


Raúl Alexis Betancor Santana

unread,
Nov 6, 2009, 2:01:53 PM11/6/09
to aster...@googlegroups.com
On Friday 06 November 2009 18:04:35 David Escañuela Alonso wrote:

> Os comento lo que he hecho:

[...]

> Comprobar la activacion de los modules desde CLI:
>
> localhost*CLI> module unload app_addon_sql_mysql.so
> == Unregistered application 'MYSQL'
> localhost*CLI> module load app_addon_sql_mysql.so
> == Parsing '/etc/asterisk/mysql.conf': Found
> == Registered application 'MYSQL'
> Loaded app_addon_sql_mysql.so => (Simple Mysql Interface)
>
> localhost*CLI> module unload app_cdr.so
> == Unregistered application 'NoCDR'
> localhost*CLI> module load app_cdr.so
> == Registered application 'NoCDR'
> Loaded app_cdr.so => (Tell Asterisk to not maintain a CDR for the
> current call)

¿y donde dice que estas cargando el cdr_addon_mysql.so?, yo solo veo que
intentas cargar el app_cdr ...

>
> Comprobar estado de cdr y mysql :
>
> localhost*CLI> cdr status
> CDR logging: enabled
> CDR mode: simple
> CDR output unanswered calls: no
> CDR registered backend: cdr-custom
> CDR registered backend: cdr_manager
> CDR registered backend: csv
> CDR registered backend: mysql

Aquí si te dice que está cargado el backend ...

> localhost*CLI> cdr mysql status
>
> Not currently connected to a MySQL server. <-----------------------AKI
> ESTA EL PROBLEMA
>
> Posiblemente sea una chorrada pero no la encuentro.

descarga y carga el cdr_addon_mysql.so en la consola, a ver si te dice cual es
el error.


--
Raúl Alexis Betancor Santana
Dimensión Virtual

Saúl Ibarra

unread,
Nov 6, 2009, 4:56:40 PM11/6/09
to aster...@googlegroups.com
Has comprobado que el usuario que usas tiene permisos con la clave
dada a la DB en cuestion?

Otra opcion es habilitar el log de MySQL, para ver que queries esta
ejecutando...


--
/Saúl
http://www.saghul.net | http://www.sipdoc.net

David Escañuela Alonso

unread,
Nov 6, 2009, 5:13:09 PM11/6/09
to asterisk-es
Nada como comente era una chorrada como una casa ,revise el fichero de
configuracion cdr_mysql.conf y tenia el parametro en el que hay que
poner la IP del servidor Asterisk con lo que venia puesto por
defeecto...penoso...lose.

PERDONAD LAS MOLESTIAS ,testeare mas antes de escribir aqui.

Respondiendo a Raul lo del modulo ese tb lo habia comprobado se me
paso ponerlo aqui.
Reply all
Reply to author
Forward
0 new messages