Запись cdr в базу MS SQL
Добавлено: 10 авг 2015, 11:14
Всем доброго дня.
Беглый поиск по форуму не дал результатов, если было ткните пальцем.
Хочу заставить elastix 2.5 писать данные о звонках не только в mysql но и в базу mssql.
Что сделано:
Установлен FreeTDS Ver. 0.91
Добавлено в /etc/odbcinst.ini
в /etc/odbc.ini
в /etc/asterisk/res_odbc_custom.conf
в /etc/asterisk/cdr_odbc.conf
С консоли Asterisk'а
Модули ODBC загружены
pbx*CLI> module show like odbc
Бэкенд odbc есть
pbx*CLI> cdr show status
DSN Asterisk видит и даже вроде как подключается к базе
pbx*CLI> odbc show all
База соответственно тоже создана на MS SQL 2008R2
При окончании звонка в логах следующее:
Куда смотреть не могу понять, т.к. ошибка не дает никакой конкретики.
Прошу о помощи.
Elastix 2.5 (в дистрибе About Elastix 2.4.0-19)
CentOS release 5.10 (Final)
FreeTDS Ver. 0.91
unixODBC Ver. 2.2.11
Беглый поиск по форуму не дал результатов, если было ткните пальцем.
Хочу заставить elastix 2.5 писать данные о звонках не только в mysql но и в базу mssql.
Что сделано:
Установлен FreeTDS Ver. 0.91
Добавлено в /etc/odbcinst.ini
Код: Выделить всё
[FreeTDS]
Description = FreeTDS ODBC driver for MSSQL
Driver = /usr/lib64/libtdsodbc.so.0
Setup = /usr/lib64/libtdsS.so.1
Driver64 = /usr/lib64/libtdsodbc.so.0
Setup64 = /usr/lib64/libtdsS.so.1
FileUsage = 1
#UsageCount = 1
#Threading = 2
Код: Выделить всё
[MSSQL-asterisk]
description = Asterisk FreeTDS ODBC driver for MSSQL
driver = FreeTDS
server = 192.168.xx.xx
port = 1433
database = asteriskcdrdb
username = asterisk
#user = asterisk
password = astdbpassword
tds_version = 8.0
language = us_english
Код: Выделить всё
[mssql-asteriskcdrdb]
enabled => yes
dsn => MSSQL-asterisk
pre-connect => yes
Код: Выделить всё
[global]
dsn=MSSQL-asterisk
table=cdr
loguniqueid=yes
;usegmtime=no
;hrtime=yes
Модули ODBC загружены
pbx*CLI> module show like odbc
Код: Выделить всё
Module Description Use Count
cdr_adaptive_odbc.so Adaptive ODBC CDR backend 0
cdr_odbc.so ODBC CDR Backend 0
cel_odbc.so ODBC CEL backend 0
func_odbc.so ODBC lookups 0
res_config_odbc.so Realtime ODBC configuration 0
res_odbc.so ODBC resource 0
6 modules loaded
Бэкенд odbc есть
pbx*CLI> cdr show status
Код: Выделить всё
Call Detail Record (CDR) settings
----------------------------------
Logging: Enabled
Mode: Simple
Log unanswered calls: No
Log congestion: No
* Registered Backends
-------------------
mysql
cdr_sqlite3_custom
cdr-custom
csv
Adaptive ODBC
ODBC
DSN Asterisk видит и даже вроде как подключается к базе
pbx*CLI> odbc show all
Код: Выделить всё
ODBC DSN Settings
-----------------
Name: mssql-asteriskcdrdb
DSN: MSSQL-asterisk
Last connection attempt: 2015-08-10 10:18:29
Name: asteriskcdrdb
DSN: MySQL-asteriskcdrdb
Last connection attempt: 2015-08-10 10:18:29
При окончании звонка в логах следующее:
Код: Выделить всё
[2015-08-10 10:21:05] ERROR[4332][C-00000003] cdr_odbc.c: Unable to retrieve database handle. CDR failed.
Прошу о помощи.
Elastix 2.5 (в дистрибе About Elastix 2.4.0-19)
CentOS release 5.10 (Final)
FreeTDS Ver. 0.91
unixODBC Ver. 2.2.11