Jean-Marc Salsa
2006-Oct-29 14:27 UTC
[asterisk-users] Asterisk Voicemail with ODBC Realtime Access
Hi I was trying to have realtime voicemail working with ODBC Driver. Everything works fine with MySQL Realtime access, BUT as I want to implement ODBC Storage as well, it seems that everything should go through ODBC ( what I read on voip-info wiki page ) But I do not manage to make it work with ODBC. Outside Asterisk, ODBC works fine, I can access my databases & tables ! Asterisk fails to start if I use "pre-connect = yes" in res_odbc.conf ( See errors below ) If I do not use it, then, I get another error message : "res_config_odbc.c: SQL Alloc Handle failed!" when I try to access the voicemail. Any ideas would be more than welcome ! Thanks ! *Here is my config* /etc/odbcinst.ini [MySQL] Description = ODBC for MySQL Driver = /usr/lib/libmyodbc.so Setup = /usr/lib/libodbcmyS.so FileUsage = 1 /etc/odbc.ini [MySQLast] Description = MySQL ODBC Driver Testing Driver = MySQL #Socket = /var/run/mysqld/mysqld.sock Trace = Yes TraceFile = odbc_mysql.log Server = localhost User = asteriskuser Password = amp109 Database = asteriskrealtime #Option = 3 Port = 3306 isql -v MySQLast and then "help" shows me my Tables correctly, SELECT queries work perfectly /etc/asterisk/res_odbc.conf [asterisk] enabled = yes dsn = MySQLast username = asteriskuser password = amp109 ;pre-connect = yes /etc/asterisk/extconfig.conf [settings] voicemail => odbc,asterisk,voicemail_users Modules in Asterisk : asterisk*CLI> show modules like odbc Module Description Use Count res_config_odbc.so ODBC Configuration 1 res_odbc.so ODBC Resource 0 cdr_odbc.so ODBC CDR Backend 0 3 modules loaded *Error Messages:* *if "pre-connect = yes" is used in res_odbc.conf* Oct 29 16:23:21 VERBOSE[15016] logger.c: MySQL RealTime driver loaded. Oct 29 16:23:21 VERBOSE[15016] logger.c: [res_adsi.so]Oct 29 16:23:21 VERBOSE[15016] logger.c: [res_adsi.so] => (ADSI Resource) Oct 29 16:23:21 VERBOSE[15016] logger.c: [res_odbc.so]Oct 29 16:23:21 VERBOSE[15016] logger.c: [res_odbc.so] => (ODBC Resource) Oct 29 16:23:21 VERBOSE[15016] logger.c: == Parsing '/etc/asterisk/res_odbc.conf': Oct 29 16:23:21 VERBOSE[15016] logger.c: =Parsing '/etc/asterisk/res_odbc.conf': Found Oct 29 16:23:21 NOTICE[15016] res_odbc.c: registered database handle 'asterisk' dsn->[MySQLast] Oct 29 16:23:21 NOTICE[15016] res_odbc.c: Connecting asterisk *And this is what I get on the standard error output:* *** glibc detected *** malloc(): memory corruption: 0x09f4daf0 *** /usr/sbin/safe_asterisk: line 50: 14920 Aborted (core dumped) ${ASTSBINDIR}/asterisk ${CLIARGS} ${ASTARGS} >&/dev/${TTY} </dev/${TTY} Asterisk ended with exit status 134 Asterisk exited on signal 6. Automatically restarting Asterisk. *** glibc detected *** malloc(): memory corruption: 0x0a023af0 *** /usr/sbin/safe_asterisk: line 50: 15016 Aborted (core dumped) ${ASTSBINDIR}/asterisk ${CLIARGS} ${ASTARGS} >&/dev/${TTY} </dev/${TTY} Asterisk ended with exit status 134 Asterisk exited on signal 6. Automatically restarting Asterisk. *If no pre-connect, then I can start asterisk, but I get this error when I try to access VM:* Oct 29 16:24:43 VERBOSE[15262] logger.c: -- Executing VoiceMail("IAX2/telegrupp-4", "200@default|") in new stack Oct 29 16:24:43 DEBUG[15178] channel.c: Avoiding initial deadlock for 'IAX2/telegrupp-4' Oct 29 16:24:43 DEBUG[15178] channel.c: Avoiding initial deadlock for 'IAX2/telegrupp-4' Oct 29 16:24:43 DEBUG[15178] channel.c: Avoiding initial deadlock for 'IAX2/telegrupp-4' Oct 29 16:24:43 WARNING[15262] res_config_odbc.c: SQL Alloc Handle failed! Oct 29 16:24:43 WARNING[15262] app_voicemail.c: No entry in voicemail config file for '200' Oct 29 16:24:43 VERBOSE[15262] logger.c: -- Executing Goto("IAX2/telegrupp-4", "exit-FAILED|1") in new stack Oct 29 16:24:43 VERBOSE[15262] logger.c: -- Goto (macro-vm,exit-FAILED,1) Oct 29 16:24:43 VERBOSE[15262] logger.c: -- Executing Playback("IAX2/telegrupp-4", "im-sorry&an-error-has-occured") in -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20061029/80747bcf/attachment.htm
Jean-Marc Salsa
2006-Oct-30 11:07 UTC
[asterisk-users] Asterisk Voicemail with ODBC Realtime Access
Sorry to re-post, but as noone has answered me ... Maybe somebody will this time :o) Thanks ! JM On 10/29/06, Jean-Marc Salsa <> wrote:> > Hi > > I was trying to have realtime voicemail working with ODBC Driver. > Everything works fine with MySQL Realtime access, BUT as I want to > implement ODBC Storage as well, it seems that everything should go through > ODBC ( what I read on voip-info wiki page ) > But I do not manage to make it work with ODBC. > Outside Asterisk, ODBC works fine, I can access my databases & tables ! > > Asterisk fails to start if I use "pre-connect = yes" in res_odbc.conf ( > See errors below ) > If I do not use it, then, I get another error message : > "res_config_odbc.c: SQL Alloc Handle failed!" when I try to access the > voicemail. > > Any ideas would be more than welcome ! > > Thanks ! > > *Here is my config* > > /etc/odbcinst.ini > [MySQL] > Description = ODBC for MySQL > Driver = /usr/lib/libmyodbc.so > Setup = /usr/lib/libodbcmyS.so > FileUsage = 1 > > /etc/odbc.ini > [MySQLast] > Description = MySQL ODBC Driver Testing > Driver = MySQL > #Socket = /var/run/mysqld/mysqld.sock > Trace = Yes > TraceFile = odbc_mysql.log > Server = localhost > User = asteriskuser > Password = amp109 > Database = asteriskrealtime > #Option = 3 > Port = 3306 > > > isql -v MySQLast and then "help" shows me my Tables correctly, > SELECT queries work perfectly > > /etc/asterisk/res_odbc.conf > [asterisk] > enabled = yes > dsn = MySQLast > username = asteriskuser > password = amp109 > ;pre-connect = yes > > > /etc/asterisk/extconfig.conf > [settings] > voicemail => odbc,asterisk,voicemail_users > > > Modules in Asterisk : > asterisk*CLI> show modules like odbc > Module Description > Use Count > res_config_odbc.so ODBC Configuration 1 > res_odbc.so ODBC Resource 0 > cdr_odbc.so ODBC CDR Backend 0 > 3 modules loaded > > > *Error Messages:* > > *if "pre-connect = yes" is used in res_odbc.conf* > Oct 29 16:23:21 VERBOSE[15016] logger.c: MySQL RealTime driver loaded. > Oct 29 16:23:21 VERBOSE[15016] logger.c: [res_adsi.so]Oct 29 16:23:21 > VERBOSE[15016] logger.c: [res_adsi.so] => (ADSI Resource) > Oct 29 16:23:21 VERBOSE[15016] logger.c: [res_odbc.so]Oct 29 16:23:21 > VERBOSE[15016] logger.c: [res_odbc.so] => (ODBC Resource) > Oct 29 16:23:21 VERBOSE[15016] logger.c : == Parsing > '/etc/asterisk/res_odbc.conf': Oct 29 16:23:21 VERBOSE[15016] logger.c: > == Parsing '/etc/asterisk/res_odbc.conf': Found > Oct 29 16:23:21 NOTICE[15016] res_odbc.c: registered database handle > 'asterisk' dsn->[MySQLast] > Oct 29 16:23:21 NOTICE[15016] res_odbc.c: Connecting asterisk > > *And this is what I get on the standard error output:* > *** glibc detected *** malloc(): memory corruption: 0x09f4daf0 *** > /usr/sbin/safe_asterisk: line 50: 14920 Aborted (core > dumped) ${ASTSBINDIR}/asterisk ${CLIARGS} ${ASTARGS} >&/dev/${TTY} > </dev/${TTY} > Asterisk ended with exit status 134 > Asterisk exited on signal 6. > Automatically restarting Asterisk. > *** glibc detected *** malloc(): memory corruption: 0x0a023af0 *** > /usr/sbin/safe_asterisk: line 50: 15016 Aborted (core > dumped) ${ASTSBINDIR}/asterisk ${CLIARGS} ${ASTARGS} >&/dev/${TTY} > </dev/${TTY} > Asterisk ended with exit status 134 > Asterisk exited on signal 6. > Automatically restarting Asterisk. > > > *If no pre-connect, then I can start asterisk, but I get this error when I > try to access VM:* > Oct 29 16:24:43 VERBOSE[15262] logger.c: -- Executing > VoiceMail("IAX2/telegrupp-4", " 200@default|") in new stack > Oct 29 16:24:43 DEBUG[15178] channel.c: Avoiding initial deadlock for > 'IAX2/telegrupp-4' > Oct 29 16:24:43 DEBUG[15178] channel.c: Avoiding initial deadlock for > 'IAX2/telegrupp-4' > Oct 29 16:24:43 DEBUG[15178] channel.c: Avoiding initial deadlock for > 'IAX2/telegrupp-4' > Oct 29 16:24:43 WARNING[15262] res_config_odbc.c: SQL Alloc Handle failed! > Oct 29 16:24:43 WARNING[15262] app_voicemail.c: No entry in voicemail > config file for '200' > Oct 29 16:24:43 VERBOSE[15262] logger.c: -- Executing > Goto("IAX2/telegrupp-4", "exit-FAILED|1") in new stack > Oct 29 16:24:43 VERBOSE[15262] logger.c: -- Goto > (macro-vm,exit-FAILED,1) > Oct 29 16:24:43 VERBOSE[15262] logger.c: -- Executing > Playback("IAX2/telegrupp-4", "im-sorry&an-error-has-occured") in >-------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20061030/fa69a895/attachment-0001.htm