MYSQL CDR und XAMPP?

baeckerman83

Mitglied
Mitglied seit
1 Sep 2005
Beiträge
238
Punkte für Reaktionen
0
Punkte
0
Hi!
Ich versuche die CDR von Asterisk in eine Datenbank zuschreiben. Ich habe XAMPP installiert und es funktioniert auch.
Leider schreibt aber Asterisk nichts in die Datenbank. Die Tabelle habe ich genauso erstellt wie auf http://www.voip-info.org/wiki-Asterisk+cdr+mysql beschrieben.
Das CSV File wird erstellt.
Funktioert das evt mit dem XAMPP nicht?
 
aber geladen ist das cdr_addon_mysql.so modul schon schon, oder?
Code:
*CLI> cdr mysql status
von der asterisk-cli aus zeigt dir, ob du überhaupt eine verbindung zum mysql-server hast.

logge doch mal die mysql statements auf dem mysql server mit, wahrscheinlich war die tabellen-struktur veraltet:

my.cnf:
Code:
...
[mysqld]
...
log=/var/log/mysqld.log
...

danach mysql-server neu starten.

grüße,
laureen
 
OK da gibts schon das erste Problem:

cdr mysql status
No such command 'cdr mysql status' (type 'help cdr mysql status' for other possible commands)
 
damit dieser befehl funktionert, musst du das asterisk-addons paket kompilieren und installieren, und dann muss das modul "cdr_addon_mysql.so" geladen werden:
Code:
*CLI> load cdr_addon_mysql.so

grüße,
laureen
 
[Jun 22 22:08:04] WARNING[6082]: loader.c:647 load_resource: Module 'cdr_addon_mysql.so' already exists.

Das kommt wenn ich den load Befehl ausführe. Die Addons habe ich complimiert gehabt.
 
mach mal ein
Code:
*CLI> unload cdr_addon_mysql.so
*CLI> load cdr_addon_mysql.so
und schau mal ob da irgendwelche fehler beim laden angezeigt werden

welche versionen verwendest du denn (asterisk, asterisk-addons)?

grüße,
laureen
 
Ja da kommt ein Fehler:

[Jun 22 23:40:13] ERROR[6630]: cdr_addon_mysql.c:467 my_load_module: Failed to connect to mysql database asterisk on localhost.

Muss ich denn den Socket angeben?
 
na dann ist es ja klar, die verbindungsinfos in der cdr_mysql.conf stimmen nicht. so sollte es aussehen:
Code:
[global]
hostname = localhost
dbname = asterisk
table = ast_cdr
user = asterisk
password = asterisk
port = 3306
sock = /var/run/mysqld/mysqld.sock
userfield = 1
dann wird die asterisk den socket verwenden. du musst aber dennoch einen eigenen user im mysql anlegen, den root solltest du nicht verwenden! hier hast du die gesamten sql statements, einfach in den phpmyadmin reinkopieren und los gehts, vorher halt eventuell die alten daten löschen oder diese folgenden anpassen:
Code:
SET NAMES utf8;
CREATE DATABASE IF NOT EXISTS `asterisk` DEFAULT CHARACTER SET=utf8 DEFAULT COLLATE=utf8_general_ci;
CREATE USER 'asterisk'@'localhost' IDENTIFIED BY 'asterisk';
GRANT SELECT, INSERT, UPDATE, DELETE ON `asterisk`.* to 'asterisk'@'localhost';
USE `asterisk`;
CREATE TABLE IF NOT EXISTS `asterisk`.`ast_cdr` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `uniqueid` varchar(32) collate utf8_general_ci default NULL,
  `userfield` varchar(255) collate utf8_general_ci default NULL,
  `accountcode` varchar(20) collate utf8_general_ci default NULL,
  `src` varchar(80) collate utf8_general_ci default NULL,
  `dst` varchar(80) collate utf8_general_ci default NULL,
  `dcontext` varchar(80) collate utf8_general_ci default NULL,
  `clid` varchar(80) collate utf8_general_ci default NULL,
  `channel` varchar(80) collate utf8_general_ci default NULL,
  `dstchannel` varchar(80) collate utf8_general_ci default NULL,
  `lastapp` varchar(80) collate utf8_general_ci default NULL,
  `lastdata` varchar(80) collate utf8_general_ci default NULL,
  `calldate` datetime NOT NULL default '0000-00-00 00:00:00',
  `duration` int(10) unsigned NOT NULL default '0',
  `billsec` int(10) unsigned NOT NULL default '0',
  `disposition` varchar(45) collate utf8_general_ci default NULL,
  `amaflags` int(10) unsigned NOT NULL default '0',
  PRIMARY KEY  (`id`),
  KEY `calldate` (`calldate`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

grüße,
laureen
 
Zuletzt bearbeitet:
Danke!
[global]
hostname=127.0.0.1
dbname=asterisk
table=cdr
password=geheim
user=asterisk

so gehts auch. :) Mein fehler war ich hatte nen ; vor dem [global] stehen. Und das wo ich die Info hier im Forum ja schon gelesen hatte das man darauf achten muss.
 
Kostenlos!

Statistik des Forums

Themen
248,887
Beiträge
2,303,985
Mitglieder
378,568
Neuestes Mitglied
me2k