CDR logging fehlerhaft

jhansen

Neuer User
Mitglied seit
1 Nov 2004
Beiträge
66
Punkte für Reaktionen
0
Punkte
0
Hallo,

manchmal passiert sowas, wenn ein CDR in die postgres datenbank geschrieben werden soll:

Code:
Apr  4 10:41:56 ERROR[21692]: cdr_pgsql.c:154 pgsql_log: cdr_pgsql: Failed to insert call detail record into database!
Apr  4 10:41:56 ERROR[21692]: cdr_pgsql.c:155 pgsql_log: cdr_pgsql: Reason: ERROR:  invalid UTF-8 byte sequence detected near byte 0x90

Apr  4 10:41:56 ERROR[21692]: cdr_pgsql.c:156 pgsql_log: cdr_pgsql: Connection may have been lost... attempting to reconnect.
Apr  4 10:41:56 ERROR[21692]: cdr_pgsql.c:159 pgsql_log: cdr_pgsql: Connection reestablished.
Apr  4 10:41:56 ERROR[21692]: cdr_pgsql.c:165 pgsql_log: cdr_pgsql: HARD ERROR!  Attempted reconnection failed.  DROPPING CALL RECORD!
Apr  4 10:41:56 ERROR[21692]: cdr_pgsql.c:166 pgsql_log: cdr_pgsql: Reason: ERROR:  invalid UTF-8 byte sequence detected near byte 0x90


Im allgemeinen funktioniert es aber. Habe das mit verschiedenen, aktuellen bristuff Versionen.

Danke
Jens
 
Moin, vielleicht hilfts hier auch...
Die Verbindung von Asterisk, PSQL und HARD ERROR, lässt sich bei mir meistens mit neu einlesen der Datenbank lösen.
Dazu im Asterisk CLI ( rasterisk )
Modul unloaden
a*CLI> module unload cdr_pgsql.so

...und wieder neu laden
a*CLI> module load cdr_pgsql.so
Loaded cdr_pgsql.so
== Parsing '/etc/asterisk/cdr_pgsql.conf': == Found
> Found column 'id' of type 'int4'
> Found column 'calldate' of type 'timestamptz'
> Found column 'clid' of type 'varchar'
> Found column 'src' of type 'varchar'
> Found column 'dst' of type 'varchar'
> Found column 'dcontext' of type 'varchar'
> Found column 'channel' of type 'varchar'
> Found column 'dstchannel' of type 'varchar'
> Found column 'lastapp' of type 'varchar'
> Found column 'lastdata' of type 'varchar'
> Found column 'duration' of type 'int4'
> Found column 'billsec' of type 'int4'
> Found column 'disposition' of type 'varchar'
> Found column 'amaflags' of type 'int4'
> Found column 'accountcode' of type 'varchar'
> Found column 'uniqueid' of type 'varchar'
> Found column 'userfield' of type 'varchar'
Loaded cdr_pgsql.so => (PostgreSQL CDR Backend)
Damit ließt Asterisk die Datenbank (Spalten, Datentypen der Spalten, usw.) neu ein.

Reason: ERROR: invalid UTF-8 byte sequence detected near byte 0x90
Das deutet auf einen Umlaut hin, den Postgress nicht fressen will.
Wahrscheinlich ist die Datenbank UTF-8-Codiert und Asterisk versucht ein nach ISO-Standart codiertes Sonderzeichen einzutragen.

Bitte,
Jan
 
Du hast aber schon gesehen, von wann der Thread ist?! :alt:
 
Ja, das habe ich gesehen.
Aber trotzdem habe ich ein ähnliches Problem und zu dem so auch nix passenderes im Netz gefunden.
Also habe ich meine Lösung zu meinem und wahrscheinlich auch dem Problem geteilt und in einem vorhandenen Thread dokumentiert.
Vielleicht brauche ich es ja selber nochmal...
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.