ohjelmistoarkkitehti a... Guest
|
Posted: Tue Feb 03, 2015 3:35 am Post subject: [asterisk-users] Problem with odbc connector with cdr |
|
|
Hello,
I'm stuck with getting cdr records stored in MySql database. I have a working realtime environment and have verified that the db connection works fine when used via res_config_mysql.conf. I'd appreciate Your help on how to get the odbc connector working as I think there's something wrong with its configuration.
The problem presented itself as an error when making a call that was supposed to be stored in mysql cdr: Unable to retrieve database handle. CDR failed.
This kept popping up every time I was trying to have a call be stored in my mysql cdr table, and I traced the problem to the odbc connector, where my knowhow is about to end.
One problem may be that odbcinst -j outputs wrong ini files, I believe I need these to be under /etc/ instead of /usr/local/etc/, but I'm unsure about how to change those permanently.
# odbcinst -j
unixODBC 2.3.2
DRIVERS............: /usr/local/etc/odbcinst.ini
SYSTEM DATA SOURCES: /usr/local/etc/odbc.ini
FILE DATA SOURCES..: /usr/local/etc/ODBCDataSources
USER DATA SOURCES..: /root/.odbc.ini
SQLULEN Size.......: 4
SQLLEN Size........: 4
SQLSETPOSIROW Size.: 2
Odbcinst does see the connection, it reads it from /usr/local/etc/odbcinst.ini.
# odbcinst -q -d
[MySQL]
I tried copying my connection information onto those files listed above and I'm not getting any errors in Asterisk logs when restarting Asterisk. However:
# echo "select 1" | isql -v MySQL
[IM002][unixODBC][Driver Manager]Data source name not found, and no default driver specified
[ISQL]ERROR: Could not SQLConnect
Here's the contents of odbc.ini:
[MySQL-asterisk]
Description = MySQL Asterisk database
Trace = Off
TraceFile = stderr
Driver = MySQL
SERVER = serverip
USER = myuser
PASSWORD = mypass
PORT = 3306
DATABASE = asterisk
And odbcinst.ini:
[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/libmyodbc5.so
Setup = /usr/lib/libodbcmyS.so
Driver64 = /usr/lib64/libmyodbc5.so
Setup64 = /usr/lib64/libodbcmyS.so
FileUsage = 1
And here I hit a wall, how can I fix the configuration?
MySQL-asterisk is referred to in res_odbc.conf, whose label is referred to in cdr_odbc.conf. When the odbc connector starts working, is this the correct way to configure the cdr db connection in Asterisk?
Thanks,
Olli |
|