CDR-ODBC Problem

nieslpriem

Neuer User
Mitglied seit
27 Apr 2006
Beiträge
19
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,

vielleicht kann mir jemand helfen - ich bekomme CDR über ODBC einfach nicht zu laufen.

Konfiguration:
- Asterisk 1.2.7.1-BRIstuffed-0.3.0-PRE-1n auf Ubuntu 6.06 (64-bit)
- unixODBC 2.2.11
- CDR-Datenbank auf IBM iSeries DB2 mit passendem ODBC-Treiber

Der Zugriff über die angelegte DSN funktioniert einwandfrei, wenn ich ihn von der Kommandozeile mit isql versuche. Also denke ich mal, dass es an der ODBC-Geschichte eigentlich nicht liegen kann.

Allerdings landen keine CDR Sätze in der Tabelle - wohl aber z.B. in der CDR-Custom Datei.

Fehlermeldung - Fehlanzeige - und CDR scheint alles passend zu haben:
Code:
niobe*CLI> cdr status
CDR logging: enabled
CDR mode: simple
CDR registered backend: ODBC
CDR registered backend: sqlite
CDR registered backend: cdr-custom
CDR registered backend: cdr_manager
CDR registered backend: csv

Einzig irritierend ist beim hochfahren von Asterisk:
Code:
...
 [res_config_odbc.so] => (ODBC Configuration)
Jul 10 12:30:50 NOTICE[5164]: config.c:863 ast_config_engine_register: Registered Config Engine odbc
res_config_odbc loaded.
 [res_odbc.so] => (ODBC Resource)
  == Parsing '/etc/asterisk/res_odbc.conf': Found
Jul 10 12:30:50 NOTICE[5164]: res_odbc.c:265 load_odbc_config: Adding ENV var: INFORMIXSERVER=my_special_database
Jul 10 12:30:50 NOTICE[5164]: res_odbc.c:265 load_odbc_config: Adding ENV var: INFORMIXDIR=/opt/informix
Jul 10 12:30:50 NOTICE[5164]: res_odbc.c:294 load_odbc_config: registered database handle 'asterisk' dsn->[asterisk]
mpg123: Unknown option "mono".
Jul 10 12:30:50 NOTICE[5164]: res_odbc.c:554 odbc_obj_connect: Connecting asterisk
Jul 10 12:30:50 WARNING[5164]: res_odbc.c:565 odbc_obj_connect: res_odbc: Error SQLConnect=-1 errno=0 [unixODBC][Driver Manager]Data source name not found, and no default driver specified
Jul 10 12:30:50 NOTICE[5164]: res_odbc.c:599 load_module: res_odbc loaded.
...
 [cdr_csv.so] => (Comma Separated Values CDR Backend)
 [cdr_manager.so] => (Asterisk Call Manager CDR Backend)
  == Parsing '/etc/asterisk/cdr_manager.conf': Found
 [cdr_custom.so] => (Customizable Comma Separated Values CDR Backend)
  == Parsing '/etc/asterisk/cdr_custom.conf': Found
 [cdr_odbc.so] => (ODBC CDR Backend)
  == Parsing '/etc/asterisk/cdr_odbc.conf': Found
    -- cdr_odbc: dsn is AsteriskCDR
    -- cdr_odbc: retreiving username and password from odbc config
    -- cdr_odbc: table is mycdr
 [cdr_pgsql.so] => (PostgreSQL CDR Backend)
  == Parsing '/etc/asterisk/cdr_pgsql.conf': Found
 [cdr_sqlite.so] => (SQLite CDR Backend)
...

Hier mal die cdr_odbc.conf:
Code:
[global]
dsn=AsteriskCDR
loguniqueid=yes
dispositionstring=yes
usegmtime=no
table=mycdr
User und Passwort sind in der /etc/odbc.ini hinterlegt - und die geht einwandfrei:
Code:
admin@niobe:~/$ isql AsteriskCDR
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> select * from mycdr
+---------------------------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------------+---------------------+---------------------+----------------------------------------------+---------------------+---------------------+---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| CALLDATE                  | CLID                                                                            | SRC                                                                             | DST                                                                             | DCONTEXT                                                                        | CHANNEL                                                                         | DSTCHANNEL                                                                      | LASTAPP                                                                         | LASTDATA                                                                        | DURATION            | BILLSEC             | DISPOSITION                                  | AMAFLAGS            | ACCOUNTCODE         | UNIQUEID                        | USERFIELD                                                                                                                                                                                                                                                      |
+---------------------------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------------+---------------------+---------------------+----------------------------------------------+---------------------+---------------------+---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 2006-07-10 10:58:25.884232|                                                                                 |                                                                                 |                                                                                 |                                                                                 |                                                                                 |                                                                                 |                                                                                 |                                                                                 | 0                   | 0                   |                                              | 0                   |                     |                                 | Hello World                                                                                                                                                                                                                                                    |
| 2006-07-10 11:22:15.884000|                                                                                 |                                                                                 |                                                                                 |                                                                                 |                                                                                 |                                                                                 |                                                                                 |                                                                                 | 0                   | 0                   |                                              | 0                   |                     |                                 | Test #2                                                                                                                                                                                                                                                        |
+---------------------------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------------+---------------------+---------------------+----------------------------------------------+---------------------+---------------------+---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
SQLRowCount returns -1
2 rows fetched
Ach ja, die beiden Einträge habe ist selbst mit isql und INSERT in die Tabelle geschrieben, um zu sehen, ob auch Schreibbereichtigung da ist - wie man sieht, ist sie das.

So - was kann ich jetzt noch tun? Muss ich irgendwelche Module laden _bevor_ die CDR's per ODBC abgesetzt werden können? Ich bin einigermaßen ratlos.

Im Voraus Danke für jeden Tip.

Gruß
Daniel


Ergänzung :idea:
Wenn ich User und Passwort aus der /etc/odbc.ini rausnehme und in der cdr_odbc.conf nur einen User eintrage, dann erhalte ich beim Laden eine Fehlermeldung:
Code:
 [cdr_odbc.so] => (ODBC CDR Backend)
  == Parsing '/etc/asterisk/cdr_odbc.conf': Found
    -- cdr_odbc: dsn is AsteriskCDR
    -- cdr_odbc: username is GFCTCP
    -- cdr_odbc: password is [secret]
    -- cdr_odbc: table is mycdr
Jul 10 12:50:56 ERROR[5264]: cdr_odbc.c:358 odbc_load_module: cdr_odbc: Unable to connect to datasource: AsteriskCDR
    -- cdr_odbc: Unable to connect to datasource: AsteriskCDR
Das ist auch irgendwie verständlich, weil ja das Passwort nirgends hinterlegt ist.

Wenn ich dann das Password in cdr_odbc.conf eintrage, dann läuft alles wie gehabt:
Code:
 [cdr_odbc.so] => (ODBC CDR Backend)
  == Parsing '/etc/asterisk/cdr_odbc.conf': Found
    -- cdr_odbc: dsn is AsteriskCDR
    -- cdr_odbc: username is GFCTCP
    -- cdr_odbc: password is [secret]
    -- cdr_odbc: table is mycdr
Nur dass trotzdem kein einziger Datensatz in der Tabelle steht.

:confused: :confused: :confused:
 
Zuletzt bearbeitet:
[gelöst] CDR-ODBC Problem

Problem gelöst - es lag an der DB2-Datenbank - die will einen Timestamp-Wert nicht in dem Format, welches im Source-Code leider hart codiert ist. Ich habe die Tabelle entsprechend geändert und eine CHAR(19) Feld daraus gemacht - damit geht's problemlos.

Aber es wäre wirklich besser, wenn die INSERT-Anweisung per .conf-Datei konfigurierbar wäre.
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
244,913
Beiträge
2,220,801
Mitglieder
371,665
Neuestes Mitglied
H350
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.