LINUX.ORG.RU

odbc asterisk cdr - не коннектится к Mysql

 , ,


0

1

Здравствуйте, уважаемое сообщество. Заметил по поиску, что тут могут помочь и по asterisk, не затруднит ли кого-нибудь направить в нужное русло мой, по-видимому «замыленный» моск. Имеется slackware 13.37 x86 + mysql 5.5 + odbc_connector 5.3 + asterisk 1.8.17, собранный c cdr и odbc. Нужная база и таблица в ней созданы. Определен dsn, подключен драйвер. Судя по isql, odbc работает. В астериске: res_odbc.conf

cat /etc/asterisk/res_odbc.conf
[sql]
enabled => yes
dsn => asterisk
username => root
pre-connect => yes
pooling => no
limit => 1
cdr_adaptive_odbc.conf
cat /etc/asterisk/cdr_adaptive_odbc.conf
[cdr_adaptive_connection]
connection = sql
table = cdr
alias start => calldate 
но в логе астериска
asterisk*CLI> module reload cdr_adaptive_odbc.so
    -- Reloading module 'cdr_adaptive_odbc.so' (Adaptive ODBC CDR backend)
  == Parsing '/etc/asterisk/cdr_adaptive_odbc.conf': [Feb 11 10:01:00] DEBUG[12229]: config.c:1522 config_text_file_load: Parsing /etc/asterisk/cdr_adaptive_odbc.conf
  == Found
[Feb 11 10:01:00] NOTICE[12229]: res_odbc.c:1531 odbc_obj_connect: Connecting sql
[Feb 11 10:01:00] WARNING[12229]: res_odbc.c:1556 odbc_obj_connect: res_odbc: Error SQLConnect=-1 errno=2002
[Feb 11 10:01:00] WARNING[12229]: res_odbc.c:1371 _ast_odbc_request_obj2: Failed to connect to sql
[Feb 11 10:01:00] WARNING[12229]: cdr_adaptive_odbc.c:123 load_config: No such connection 'sql' in the 'cdr_adaptive_connection' section of cdr_adaptive_odbc.conf.  Check res_odbc.conf. 
странно, вроде все указано, а пишет, что нет коннекции по имени sql
вот на всякий случай odbc.ini
cat /etc/odbc.ini
[ODBC Data Sources]
asterisk = MySQL
[asterisk]
Driver = /usr/lib/libmyodbc5w.so
Server = localhost
Socket = /var/run/mysqld/mysql.sock
Database = asterisk
User = root
Charset = utf8 
делал по этой инструкции



Последнее исправление: Ilya_Nsk (всего исправлений: 1)

Check res_odbc.conf

???

zgen ★★★★★
()

У вас и сокет и порт одновременно доступны?

cdr через odbc я не делал, но делал логику через запросы в mysql. Базу я описывал в res_odbc.conf:

[asterisk_db]
enabled=>yes
dsn=>dpro
pooling=>no
pre-connect=>yes
odbc.ini:
[dpro]
Driver       = MySQL
Description  = MySQL ODBC 3.51 Driver DSN 
Server       = 1.1.1.2
Port         = 3306
User         = dpro
Password     = nobodyknowmypassword
Database     = dpro
Option       = 3
Socket       = 
func_odbc.conf
[VALIDATE_STATE]
prefix=check
dsn=asterisk_db
readsql = select * from woohoo

invokercd ★★★★
()
Ответ на: комментарий от invokercd

в моем дистрибутиве 1.8.17 напрочь отсутствует депрекативный модуль cdr_mysql - собран без него. Хотел пересобрать «в сторонке» и подсунуть модуль - а фиг

   [CC] cdr_mysql.c -> cdr_mysql.o
cdr_mysql.c:47:25: фатальная ошибка: mysql/mysql.h: Нет такого файла или каталога
Компиляция прервана.
make[1]: *** [cdr_mysql.o] Ошибка 1
make: *** [addons] Ошибка 2 
и действительно, в сорцах папки mysql нет и не могу найти, а от новых, боюсь, не пойдет, даже если хэш времени компиляции подправить

Ilya_Nsk
() автор топика
Ответ на: комментарий от Ilya_Nsk

Может просто собрать без динамической линковки?

Не знаю как в Slackware, но в Gentoo это просто флаг «static». Или ручками собрать статически, а потом залить бинарники - главное что бы libc были подходящие (хотя не думаю что будут проблемы в этом).

invokercd ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.