Всем доброго дня! Поставленная задача - писать CEL лог в mysql. Нашел адаптированный гайд на русском https://habrahabr.ru/post/202404/. Сделал все по нему, получил следующее.
UPD: Добавлю что используется Ubuntu 12.04 и 1.8 Asterisk.
[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/i386-linux-gnu/odbc/libmyodbc.so
Setup = /usr/lib/i386-linux-gnu/odbc/libodbcmyS.so
FileUsage = 1
С драйверами все порядке, оба находятся. Тут конфигурация /etc/odbc.ini - самого подключения к базе.
[MySQL-asteriskcel]
Description = MySQL connection to 'asteriskcel' database
Driver = MySQL
Database = asteriskcel
Server = localhost
UserName = root
Password = pass
Port = 3306
Socket = /var/run/mysqld/mysqld.sockroot
/etc/asterisk/res_odbc.conf содержит следующее:
[asterisk-events]
enabled=>yes
dsn=>MySQL-asteriskcel
username=>admin
password=>pass
pooling=>no
pre-connect=>yes
Также прописал в /etc/asterisk/cel_odbc.conf
[first]
connection=>asterisk-events
table=>cel
loguniqueid=>yes
Но когда начинаю проверять:
core reload
[Jan 31 23:44:21] WARNING[9522]: res_odbc.c:1508 odbc_obj_connect: res_odbc: Error SQLConnect=-1 errno=1045 [unixODBC]
[Jan 31 23:44:21] WARNING[9522]: res_odbc.c:1329 _ast_odbc_request_obj2: Failed to connect to asterisk-events
[Jan 31 23:44:21] WARNING[9522]: cel_odbc.c:125 load_config: No such connection 'asterisk-events' in the 'first' section of cel_odbc.conf. Check res_odbc.conf.
root@astes:~# isql test -v
[IM002][unixODBC][Driver Manager]Data source name not found, and no default driver specified
[ISQL]ERROR: Could not SQLConnect
odbc show
Name: asterisk-events
DSN: MySQL-asteriskcel
Last connection attempt: 2016-01-31 23:44:21
Я новичок в этом вопросе, приношу извинения, если где то допустил совсем глупость.
Попробуйте по инструкции. У меня получилось.
http://voipnotes.ru/podkluchenie-asterisk-k-mysql-cherez-draiver-odbc/
Задан: Feb 1 '16
Просмотрен: 1,231 раз
Обновлен: Feb 01 '16
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
могу сказать только, что все работает. ищите косяк. в частности на шаге 2 вы используете имя test которого в конфигурации НИГДЕ НЕТ.
meral (Feb 1 '16)edittest да, этого имени нет. Я проверил isql MySQL-asteriskcel получил [ISQL]ERROR: Could not SQLConnect
flybox (Feb 1 '16)editВ вашем комментарии непонятно, что работает.
flybox (Feb 1 '16)editну так у вас вообще в конфигах куча ошибок. например сокет mysql указан не правильно. isql надо запускать с опциями -vvvv
meral (Feb 1 '16)editisql MySQL-asteriskcdrdb -vvvvvv Пошел по гайду в комментарии ниже, просто все закопипастил. Не работает вторая команда. Все конфиги переписал.
flybox (Feb 2 '16)edit@meral У меня не работает само подключение к MySQL, когда я его начинаю проверять. Может ли это зависеть от системы? Вы очень просто говорите, что я допустил ошибки, когда я уже не раз все проверил и исправил. Может ли влиять на это, что у меня виртуальная Ubuntu?
flybox (Feb 2 '16)editПредставьте на одну секунду, что ошибка SQLConnect=-1 errno=1045 [unixODBC] выдается не потому, что я накосячил в конфигах, и попробуйте дать логичный ответ.
flybox (Feb 2 '16)editвы накосячили. у вас сокет неправильный. я вам уже говорил. поищите сокет и убедитесь, что у него тот же путь. потом попробуйте с этими параметрами подключится mysql клиентом. потом isql. потом астериском.
meral (Feb 2 '16)editПисал я, что сделал все как надо. И переправил. Вы же уверены что в проблема в криворукстве. А проблема в том, что мой ODBC драйвер был старый и не поддерживал нужную мне версию MySQL. При переустановке драйвера все получилось. Очень рад, что у Вас объективные ответы.
flybox (Feb 4 '16)editя отвечаю на основе того, что вы тут запостили. если вы постите одно,а у вас в конфигах реально другое - ну так это вы сами себе буратино.
meral (Feb 5 '16)edit