On Monday 25 August 2008 07:08:30 Szasz Szabolcs wrote: > Hi! > I am running CentOS 5 with Asterisk 1.4.21.2 I am trying to setup storage > of voicemail messages into MySQL. I installed unixODBC unixODBC-devel > libtool-ltdl libtool-ltdl-devel and mysql-connector-odbc. I reconfigured > and built Asterisk, using menuconfig to turn on ODBC voicemail storage. > Here is the output of some config files: > > [MySQL] > Description = ODBC for MySQL > Driver = /usr/lib/libmyodbc3.so > Setup = /usr/lib/libodbcmyS.so > UsageCount = 3 > > [MySQL ODBC 3.51 Driver] > Description = ODBC 3.51 for MySQL > DRIVER = /usr/lib/libmyodbc3.so > SETUP = /usr/lib/libmyodbc3S.so > UsageCount = 3 > > [EMAIL PROTECTED] ~]# cat /usr/local/etc/odbc.ini > [astrealtime] > Description = MySQL Asterisk database > Trace = Off > TraceFile = stderr > Driver = MySQL > SERVER = localhost > USER = asterisk > PASSWORD = 123qwe > PORT = 3306 > DATABASE = asterisk > > [EMAIL PROTECTED] ~]# cat /etc/asterisk/res_odbc.conf > ;;; odbc setup file > > ; ENV is a global set of environmental variables that will get set. > ; Note that all environmental variables can be seen by all connections, > ; so you can't have different values for different connections. > [ENV] > INFORMIXSERVER => my_special_database > INFORMIXDIR => /opt/informix > > ; All other sections are arbitrary names for database connections. > > [asterisk] > enabled => yes > dsn => astrealtime > username => asterisk > password => 123qwe > pre-connect => yes > > > ;[mysql2] > ;enabled => no > ;dsn => MySQL-asterisk > ;username => myuser > ;password => mypass > ;pre-connect => yes > ; > ; On some databases, the connection times out and a reconnection will be > ; necessary. This setting configures the amount of time a connection > ; may sit idle (in seconds) before a reconnection will be attempted. > ;idlecheck => 3600 > > ; Certain servers, such as MS SQL Server and Sybase use the TDS protocol, > which ; limits the number of active queries per connection to 1. By > setting up pools ; of connections, Asterisk can be made to work with these > servers. ;[sqlserver] > ;enabled => no > ;dsn => mickeysoft > ;pooling => yes > ;limit => 5 > ;username => oscar > ;password => thegrouch > ;pre-connect => yes > ; Many databases have a default of '\' to escape special characters. MS > SQL ; Server does not. > ;backslash_is_escape => no > > > When I am testing the odbc-mysql connection it seems that's OK: > [EMAIL PROTECTED] ~]# isql -v astrealtime > +---------------------------------------+ > > | Connected! | > | > | sql-statement | > | help [tablename] | > | quit | > > +---------------------------------------+ > SQL> > > But when I'm trying to access my voicemail from an extension I get these > error messages is Asterisk CLI: > > [Aug 25 16:55:58] WARNING[5080]: res_odbc.c:463 ast_odbc_request_obj: > Failed to connect to asterisk [Aug 25 16:55:58] ERROR[5080]: > res_config_odbc.c:130 realtime_odbc: No database handle available with the > name of 'asterisk' (check res_odbc.conf) [Aug 25 16:55:58] NOTICE[5080]: > res_odbc.c:530 odbc_obj_connect: Connecting asterisk [Aug 25 16:55:58] > WARNING[5080]: res_odbc.c:541 odbc_obj_connect: res_odbc: Error > SQLConnect=-1 errno=0 [unixODBC][Driver Manager]Data source name not found, > and no default driver specified > > Where is the problem? Please help!
Might be something as simple as having two different libraries installed, one in /usr/local, and the other in /usr. A simple way to fix this would be to: ln -s /usr/local/etc/odbc.ini /etc/odbc.ini ln -s /usr/local/etc/odbcinst.ini /etc/odbcinst.ini If that works, you have library skew. Remove either one of the library sets, re-configure, and recompile Asterisk. -- Tilghman _______________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- AstriCon 2008 - September 22 - 25 Phoenix, Arizona Register Now: http://www.astricon.net asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
