toufic.khreish at gmai... Guest
|
Posted: Fri Apr 15, 2016 1:00 pm Post subject: [asterisk-users] CDR ODBC error |
|
|
Hello,
I am trying to get CDR work for my asterisk installation.
My OS is Ubuntu 15 with asterisk 13.8 compiled locally on the machine.
MYSQL Server version is 5.6.28-0ubuntu0.15.04.1 (Ubuntu)
Would appreciate if someone can help solving this issue
The error that I am getting:
[2016-04-15 19:24:34] WARNING[1709]: res_odbc.c:503 load_odbc_config: The 'pooling', 'shared_connections', 'limit', and 'idlecheck' options are deprecated. Please see UPGRADE.txt for information
[2016-04-15 19:24:34] WARNING[1709]: res_odbc.c:503 load_odbc_config: The 'pooling', 'shared_connections', 'limit', and 'idlecheck' options are deprecated. Please see UPGRADE.txt for information
[2016-04-15 19:24:34] WARNING[1709]: res_odbc.c:821 odbc_obj_connect: res_odbc: Error SQLConnect=-1 errno=1045 [unixODBC]
[2016-04-15 19:24:34] NOTICE[1709]: res_odbc.c:585 load_odbc_config: Registered ODBC class 'asteriskcdrdb' dsn->[MySQL-asteriskcdrdb]
.
The command isql MySQL-asteriskcdrdb is working fine.
isql MySQL-asteriskcdrdb
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
Note that could help . once on the sql command line I have to issue :
<![if !supportLists]>1. <![endif]>use asteriskcdrdb
then
<![if !supportLists]>2. <![endif]>select * from cdr
I cannot issue first : select * from cdr it does not work. Could be that my connection MySQL-asteriskcdrdb is not sending the database name along ?
The following command returns errors : module reload cdr_adaptive_odbc.so
Module 'cdr_adaptive_odbc.so' reloaded successfully.
-- Reloading module 'cdr_adaptive_odbc.so' (Adaptive ODBC CDR backend)
== Parsing '/etc/asterisk/cdr_adaptive_odbc.conf': Found
[2016-04-15 19:31:41] WARNING[1758]: cdr_adaptive_odbc.c:135 load_config: No such connection 'MySQL-asteriskcdrdb' in the 'asteriskcdrdb' section of cdr_adaptive_odbc.conf. Check res_odbc.conf.
odbc show, returns the following
ODBC DSN Settings
-----------------
Name: asteriskcdrdb
DSN: MySQL-asteriskcdrdb
Last connection attempt: 2016-04-15 19:24:40
cdr show status
Call Detail Record (CDR) settings
----------------------------------
Logging: Enabled
Mode: Simple
Log unanswered calls: No
Log congestion: No
* Registered Backends
-------------------
Adaptive ODBC
cdr_manager
My ODBC related files:
<![if !supportLists]>1. <![endif]>cdr_adaptive_odbc.conf
[asteriskcdrdb]
connection=MySQL-asteriskcdrdb
loguniqueid=yes
table=cdr
alias start => calldate
<![if !supportLists]>2. <![endif]>odbcinst.ini
[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/arm-linux/odbc/libmyodbc.so
Setup = /usr/lib/arm-linux/odbc/libodbcmyS.so
FileUsage = 1
polling=no
<![if !supportLists]>3. <![endif]>odbc.ini
[MySQL-asteriskcdrdb]
Description=MySQL connection to 'asteriskcdrdb' database
driver=MySQL
server=localhost
Port=3306
username=asterisk
password=xxxxxxxxxxxxxx
Socket=/run/mysqld/mysqld.sock
option=3
database=asteriskcdrdb
<![if !supportLists]>4. <![endif]>res_odbc_additional.conf
[asteriskcdrdb]
enabled=>yes
dsn=>MySQL-asteriskcdrdb
pooling=>no
limit=>1
pre-connect=>yes
username=>asterisk
password=>xxxxxxxxxxxxxx
database=>asteriskcdrdb
<![if !supportLists]>5. <![endif]>cel_odbc_custom.conf
[cel]
connection=MySQL-asteriskcdrdb
loguniqueid=yes
table=cel
Thank you in advance.
From: asterisk-users-bounces@lists.digium.com [mailto:asterisk-users-bounces@lists.digium.com] On Behalf Of Matthew Jordan
Sent: Thursday, February 11, 2016 2:03 PM
To: Asterisk Users Mailing List - Non-Commercial Discussion <asterisk-users@lists.digium.com>
Subject: Re: [asterisk-users] CDR ODBC error
On Tue, Feb 9, 2016 at 4:39 PM, Carlos Chavez <cursor@telecomabmex.com (cursor@telecomabmex.com)> wrote: Quote: |
I am trying to get cdr via odbc to work on Asterisk 13.7.2 but I keep getting this error:
[Feb 9 16:21:43] WARNING[2088]: cdr_odbc.c:160 execute_cb: cdr_odbc: Error in ExecDirect: -1, query is: INSERT INTO cdr (calldate,clid,src,dst,dcontext,channel,dstchannel,lastapp,lastdata,duration,billsec,disposition,amaflags,accountcode,uniqueid,userfield,peeraccount,linkedid,sequence) VALUES ({ts '2016-02-09 16:21:28'},?,?,?,?,?,?,?,?,?,?,?,?,?,?,? ,?,?,?)
[Feb 9 16:21:43] WARNING[2088]: res_odbc.c:612 ast_odbc_direct_execute: SQL Execute error! Verifying connection to asterisk [asterisk]...
[Feb 9 16:21:43] WARNING[2088]: cdr_odbc.c:160 execute_cb: cdr_odbc: Error in ExecDirect: -1, query is: INSERT INTO cdr (calldate,clid,src,dst,dcontext,channel,dstchannel,lastapp,lastdata,duration,billsec,disposition,amaflags,accountcode,uniqueid,userfield,peeraccount,linkedid,sequence) VALUES ({ts '2016-02-09 16:21:28'},?,?,?,?,?,?,?,?,?,?,?,?,?,?,? ,?,?,?)
[Feb 9 16:21:43] ERROR[2088]: cdr_odbc.c:189 odbc_log: CDR direct execute failed
First thing I do not get is that calldate does not exist in the CDR database (I am using the table structure that comes with the asterisk source). If I add that column then start, answer and end do not get populated when the call ends. Next question is which odbc cdr module I should use, cdr_odbc or cdr_adaptive_odbc?
Also Asterisk has crashed at least three times with this message:
asterisk: /builddir/build/BUILD/mysql-connector-odbc-5.2.5-src/driver/desc.c:110: desc_free_paramdata: Assertion `aprec' failed.
[Feb 9 16:28:48] WARNING[3781]: res_odbc.c:1405 _ast_odbc_request_obj2: SetConnectAttr (Txn isolation) returned an error: HY000: [MySQL][ODBC 5.2(w) Driver]Lost connection to MySQL server during query
[Feb 9 16:28:48] WARNING[3781]: res_config_odbc.c:117 custom_prepare: SQL Prepare failed![SELECT * FROM ps_domain_aliases WHERE id = ?]
[Feb 9 16:28:48] WARNING[3781]: res_odbc.c:765 ast_odbc_sanity_check: Connection is down attempting to reconnect...
Aborted (core dumped) |
You should use cdr_adaptive_odbc. It is far more flexible than cdr_odbc, and is essentially a replacement for it. cdr_odbc doesn't receive much attention as a result.
Frankly, we should probably just remove cdr_odbc.
--
Matthew Jordan
Digium, Inc. | Director of Technology
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
Check us out at: http://digium.com & http://asterisk.org |
|