[asterisk-users] MySQL Voicemail Storage Questions\Errors

Mike Hammett asterisk-users at ics-il.net
Tue Mar 11 22:10:38 CDT 2008


[root at Aiur asterisk]# cat /etc/odbc.ini
[astrealtime]
Description             = MySQL ODBC For Asterisk
Trace           = Yes
TraceFile               = /tmp/odbc.log
Driver          = MySQL
Server          = localhost
User            = astrealtime
Password                = XXXX
Database                = asterisk
Socket          = /var/lib/mysql/mysql.sock

[root at Aiur asterisk]# cat /etc/odbcinst.ini
[MySQL]
Description             = ODBC for MySQL
Driver          = /usr/lib/libmyodbc.so
Setup           = /usr/lib/libodbcmyS.so
UsageCount              = 4

[MySQL ODBC 3.51 Driver]
Description             = ODBC 3.51 for MySQL
DRIVER          = /usr/lib/libmyodbc3.so
SETUP           = /usr/lib/libmyodbc3S.so
UsageCount              = 4

[root at Aiur asterisk]# isql astrealtime astrealtime XXXX
[ISQL]ERROR: Could not SQLConnect
[root at Aiur asterisk]# locate libmyodbc
/usr/lib64/libmyodbc3-3.51.12.so
/usr/lib64/libmyodbc3.so
/usr/lib64/libmyodbc3_r-3.51.12.so
/usr/lib64/libmyodbc3_r.so
[root at Aiur asterisk]# locate libodbcmyS
/usr/lib/libodbcmyS.a
/usr/lib/libodbcmyS.so
/usr/lib/libodbcmyS.so.1
/usr/lib/libodbcmyS.so.1.0.0
/usr/lib64/libodbcmyS.a
/usr/lib64/libodbcmyS.so
/usr/lib64/libodbcmyS.so.1
/usr/lib64/libodbcmyS.so.1.0.0
[root at Aiur asterisk]# rpm -qa | grep odbc
mysql-connector-odbc-3.51.12-2.2
[root at Aiur asterisk]# rpm -qa | grep ODBC
unixODBC-2.2.11-7.1
unixODBC-2.2.11-7.1
unixODBC-devel-2.2.11-7.1
unixODBC-devel-2.2.11-7.1
[root at Aiur asterisk]# mysql -u astrealtime -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 484 to server version: 5.0.22

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use asterisk;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+--------------------+
| Tables_in_asterisk |
+--------------------+
| cdr                |
| extensions_table   |
| iax                |
| queue_members      |
| queues             |
| sip                |
| voicemail_messages |
| voicemail_users    |
+--------------------+
8 rows in set (0.00 sec)


    -- Executing [s-NOANSWER at macro-stdexten:1] VoiceMail("SIP/9826-ac087500", "200 at ics|u") in new stack
[Mar 11 21:29:36] NOTICE[26144]: res_odbc.c:508 odbc_obj_connect: Connecting mysql
[Mar 11 21:29:36] WARNING[26144]: res_odbc.c:519 odbc_obj_connect: res_odbc: Error SQLConnect=-1 errno=0 [unixODBC][Driver Manager]Data source name not found, and no default driver specified
[Mar 11 21:29:36] WARNING[26144]: res_odbc.c:444 ast_odbc_request_obj: Failed to connect to mysql
[Mar 11 21:29:36] WARNING[26144]: app_voicemail.c:1122 retrieve_file: Failed to obtain database object for 'mysql'!
[Mar 11 21:29:36] NOTICE[26144]: res_odbc.c:508 odbc_obj_connect: Connecting mysql
[Mar 11 21:29:36] WARNING[26144]: res_odbc.c:519 odbc_obj_connect: res_odbc: Error SQLConnect=-1 errno=0 [unixODBC][Driver Manager]Data source name not found, and no default driver specified
[Mar 11 21:29:36] WARNING[26144]: res_odbc.c:444 ast_odbc_request_obj: Failed to connect to mysql
[Mar 11 21:29:36] WARNING[26144]: app_voicemail.c:1122 retrieve_file: Failed to obtain database object for 'mysql'!
[Mar 11 21:29:36] NOTICE[26144]: res_odbc.c:508 odbc_obj_connect: Connecting mysql
[Mar 11 21:29:36] WARNING[26144]: res_odbc.c:519 odbc_obj_connect: res_odbc: Error SQLConnect=-1 errno=0 [unixODBC][Driver Manager]Data source name not found, and no default driver specified
[Mar 11 21:29:36] WARNING[26144]: res_odbc.c:444 ast_odbc_request_obj: Failed to connect to mysql
[Mar 11 21:29:36] WARNING[26144]: app_voicemail.c:1122 retrieve_file: Failed to obtain database object for 'mysql'!
    -- <SIP/9826-ac087500> Playing 'vm-theperson' (language 'en')
    -- <SIP/9826-ac087500> Playing 'digits/2' (language 'en')
    -- <SIP/9826-ac087500> Playing 'digits/0' (language 'en')
    -- <SIP/9826-ac087500> Playing 'digits/0' (language 'en')
    -- <SIP/9826-ac087500> Playing 'vm-isunavail' (language 'en')
    -- <SIP/9826-ac087500> Playing 'vm-intro' (language 'en')
[Mar 11 21:29:46] NOTICE[26144]: res_odbc.c:508 odbc_obj_connect: Connecting mysql
[Mar 11 21:29:46] WARNING[26144]: res_odbc.c:519 odbc_obj_connect: res_odbc: Error SQLConnect=-1 errno=0 [unixODBC][Driver Manager]Data source name not found, and no default driver specified
[Mar 11 21:29:46] WARNING[26144]: res_odbc.c:444 ast_odbc_request_obj: Failed to connect to mysql
[Mar 11 21:29:46] WARNING[26144]: app_voicemail.c:1187 last_message_index: Failed to obtain database object for 'mysql'!
    -- <SIP/9826-ac087500> Playing 'beep' (language 'en')
    -- Recording the message
    -- x=0, open writing:  /var/spool/asterisk/voicemail/ics/200/tmp/oDVLVZ format: wav49, 0x1230a0a0
    -- x=1, open writing:  /var/spool/asterisk/voicemail/ics/200/tmp/oDVLVZ format: gsm, 0x122ea400
    -- x=2, open writing:  /var/spool/asterisk/voicemail/ics/200/tmp/oDVLVZ format: wav, 0x122f3740
    -- User hung up
[Mar 11 21:30:25] NOTICE[26144]: res_odbc.c:508 odbc_obj_connect: Connecting mysql
[Mar 11 21:30:25] WARNING[26144]: res_odbc.c:519 odbc_obj_connect: res_odbc: Error SQLConnect=-1 errno=0 [unixODBC][Driver Manager]Data source name not found, and no default driver specified
[Mar 11 21:30:25] WARNING[26144]: res_odbc.c:444 ast_odbc_request_obj: Failed to connect to mysql
[Mar 11 21:30:25] WARNING[26144]: app_voicemail.c:1233 message_exists: Failed to obtain database object for 'mysql'!
[Mar 11 21:30:25] NOTICE[26144]: res_odbc.c:508 odbc_obj_connect: Connecting mysql
[Mar 11 21:30:25] WARNING[26144]: res_odbc.c:519 odbc_obj_connect: res_odbc: Error SQLConnect=-1 errno=0 [unixODBC][Driver Manager]Data source name not found, and no default driver specified
[Mar 11 21:30:25] WARNING[26144]: res_odbc.c:444 ast_odbc_request_obj: Failed to connect to mysql
[Mar 11 21:30:25] WARNING[26144]: app_voicemail.c:1263 delete_file: Failed to obtain database object for 'mysql'!
[Mar 11 21:30:25] NOTICE[26144]: res_odbc.c:508 odbc_obj_connect: Connecting mysql
[Mar 11 21:30:25] WARNING[26144]: res_odbc.c:519 odbc_obj_connect: res_odbc: Error SQLConnect=-1 errno=0 [unixODBC][Driver Manager]Data source name not found, and no default driver specified
[Mar 11 21:30:25] WARNING[26144]: res_odbc.c:444 ast_odbc_request_obj: Failed to connect to mysql
[Mar 11 21:30:25] WARNING[26144]: app_voicemail.c:1400 store_file: Failed to obtain database object for 'mysql'!
[Mar 11 21:30:25] NOTICE[26144]: res_odbc.c:508 odbc_obj_connect: Connecting mysql
[Mar 11 21:30:25] WARNING[26144]: res_odbc.c:519 odbc_obj_connect: res_odbc: Error SQLConnect=-1 errno=0 [unixODBC][Driver Manager]Data source name not found, and no default driver specified
[Mar 11 21:30:25] WARNING[26144]: res_odbc.c:444 ast_odbc_request_obj: Failed to connect to mysql
[Mar 11 21:30:25] WARNING[26144]: app_voicemail.c:1122 retrieve_file: Failed to obtain database object for 'mysql'!
[Mar 11 21:30:25] NOTICE[26144]: res_odbc.c:508 odbc_obj_connect: Connecting mysql
[Mar 11 21:30:25] WARNING[26144]: res_odbc.c:519 odbc_obj_connect: res_odbc: Error SQLConnect=-1 errno=0 [unixODBC][Driver Manager]Data source name not found, and no default driver specified
[Mar 11 21:30:25] WARNING[26144]: res_odbc.c:444 ast_odbc_request_obj: Failed to connect to mysql
[Mar 11 21:30:25] WARNING[26144]: app_voicemail.c:2277 messagecount: Failed to obtain database object for 'mysql'!
[Mar 11 21:30:25] NOTICE[26144]: res_odbc.c:508 odbc_obj_connect: Connecting mysql
[Mar 11 21:30:25] WARNING[26144]: res_odbc.c:519 odbc_obj_connect: res_odbc: Error SQLConnect=-1 errno=0 [unixODBC][Driver Manager]Data source name not found, and no default driver specified
[Mar 11 21:30:25] WARNING[26144]: res_odbc.c:444 ast_odbc_request_obj: Failed to connect to mysql
[Mar 11 21:30:25] WARNING[26144]: app_voicemail.c:2277 messagecount: Failed to obtain database object for 'mysql'!
  == Spawn extension (macro-stdexten, s-NOANSWER, 1) exited non-zero on 'SIP/9826-ac087500' in macro 'stdexten'
  == Spawn extension (macro-stdexten, s-NOANSWER, 1) exited non-zero on 'SIP/9826-ac087500'



----------
Mike Hammett
Intelligent Computing Solutions
http://www.ics-il.com


  ----- Original Message ----- 
  From: Mike Hammett 
  To: Asterisk Users Mailing List - Non-Commercial Discussion 
  Sent: Friday, February 22, 2008 7:28 PM
  Subject: [asterisk-users] MySQL Voicemail Storage Questions\Errors


  I am running CentOS 5 with Asterisk 1.4.14.  I am trying to setup storage of voicemail messages into MySQL.  It is my understanding that I can only do this via ODBC.  I installed per http://www.voip-info.org/wiki/view/CentOS+5+and+Asterisk+1.4.x+installation  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:

  [root at Aiur asterisk]# cat /etc/odbcinst.ini
  # Example driver definitinions
  #
  #

  # Included in the unixODBC package
  #[PostgreSQL]
  #Description    = ODBC for PostgreSQL
  #Driver         = /usr/lib/libodbcpsql.so
  #Setup          = /usr/lib/libodbcpsqlS.so
  #FileUsage      = 1


  # Driver from the MyODBC package
  # Setup from the unixODBC package
  [MySQL]
  Description     = ODBC for MySQL
  Driver          = /usr/lib64/libmyodbc3.so
  Setup           = /usr/lib64/libodbcmyS.so
  FileUsage       = 1
  You have new mail in /var/spool/mail/root
  [root at Aiur asterisk]# cat /etc/odbc.ini
  [astrealtime]
  Description     = Asterisk realtime FUNC_ODBC access
  Driver          = MySQL
  Socket          = /var/lib/mysql/mysql.sock
  Server          = localhost
  User            = astrealtime
  Pass            = XXXX
  Database        = asterisk
  Option          = 3
  [root at Aiur asterisk]# 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 => no
  dsn => asterisk
  ;username => myuser
  ;password => mypass
  pre-connect => yes


  [mysql]
  enabled => yes
  dsn => MySQL-asterisk
  username => astrealtime
  password => XXXX
  pre-connect => yes

  ; 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



  [root at Aiur asterisk]# cat /etc/asterisk/voicemail.conf
  odbcstorage=mysql
  odbctable=voicemail_messages

  [root at Aiur asterisk]# asterisk -vvv | grep odbc
    == Parsing '/etc/asterisk/res_odbc.conf': Found
  [Feb 22 18:21:46] NOTICE[21214]: res_odbc.c:229 load_odbc_config: Adding ENV var: INFORMIXSERVER=my_special_database
  [Feb 22 18:21:46] NOTICE[21214]: res_odbc.c:229 load_odbc_config: Adding ENV var: INFORMIXDIR=/opt/informix
  [Feb 22 18:21:46] NOTICE[21214]: res_odbc.c:508 odbc_obj_connect: Connecting mysql
  [Feb 22 18:21:46] WARNING[21214]: res_odbc.c:519 odbc_obj_connect: res_odbc: Error SQLConnect=-1 errno=0 [unixODBC][Driver Manager]Data source name not found, and no default driver specified
  [Feb 22 18:21:46] WARNING[21214]: res_odbc.c:444 ast_odbc_request_obj: Failed to connect to mysql
  [Feb 22 18:21:46] NOTICE[21214]: res_odbc.c:302 load_odbc_config: Registered ODBC class 'mysql' dsn->[MySQL-asterisk]
  [Feb 22 18:21:46] NOTICE[21214]: res_odbc.c:684 load_module: res_odbc loaded.
  res_odbc.so => (ODBC Resource)
  [Feb 22 18:21:46] NOTICE[21214]: config.c:1250 ast_config_engine_register: Registered Config Engine odbc
  res_config_odbc loaded.
  res_config_odbc.so => (ODBC Configuration)
    == Parsing '/etc/asterisk/func_odbc.conf': Found
  func_odbc.so => (ODBC lookups)
    == Parsing '/etc/asterisk/cdr_odbc.conf': Found
  cdr_odbc.so => (ODBC CDR Backend)



  [root at Aiur asterisk]# mysql -u root -p
  Enter password:
  Welcome to the MySQL monitor.  Commands end with ; or \g.
  Your MySQL connection id is 22 to server version: 5.0.22

  Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

  mysql> use asterisk;
  Reading table information for completion of table and column names
  You can turn off this feature to get a quicker startup with -A

  Database changed
  mysql> describe voicemail_messages;
  +----------------+-------------+------+-----+---------+----------------+
  | Field          | Type        | Null | Key | Default | Extra          |
  +----------------+-------------+------+-----+---------+----------------+
  | id             | int(11)     | NO   | PRI | NULL    | auto_increment |
  | msgnum         | int(11)     | NO   |     | 0       |                |
  | dir            | varchar(80) | YES  | MUL | NULL    |                |
  | context        | varchar(80) | YES  |     | NULL    |                |
  | macrocontext   | varchar(80) | YES  |     | NULL    |                |
  | callerid       | varchar(40) | YES  |     | NULL    |                |
  | origtime       | varchar(40) | YES  |     | NULL    |                |
  | duration       | varchar(20) | YES  |     | NULL    |                |
  | mailboxuser    | varchar(80) | YES  |     | NULL    |                |
  | mailboxcontext | varchar(80) | YES  |     | NULL    |                |
  | recording      | longblob    | YES  |     | NULL    |                |
  +----------------+-------------+------+-----+---------+----------------+
  11 rows in set (0.00 sec)

  mysql> exit;
  Bye
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20080311/3b8415aa/attachment.htm 


More information about the asterisk-users mailing list