Probleme: Ich benutze AsteriskNow, die Asterisk 2.0 Server in VirtualBox läuft. Und ich möchte Asterisk mit MySQL-Datenbanken über ODBC-Module verbinden. Aber es schlägt fehl. Als ich mit asterisk*CLI> odbc show gestartet habe, zeigt die Eingabeaufforderung "No such command ODBC SHOW" an.
Meine Ziele: ODBC in Asterisk konfigurieren, um direkt und dynamisch auf MySQL aus dem Dialplan von Asterisk zuzugreifen.
Was ich getan habe: Ich habe mein AsteriskNow in VirtualBox installiert. Die Version von Asterisk ist 2.0, die CentOS Version 5.8 final. Ich installierte zunächst die entsprechenden Linux-RPMs von
yum -y install unixODBC-devel
yum -y install libdbi-dbd-mysql
yum -y install mysql-connector-odbc
Meine detailliert konfigurierten Dateien sind wie folgt:
/etc/odbc.ini
[asterisk-connector]
Description = MySQL connection to 'asterisk' database
Driver = MySQL
Database = asterisk
Server = localhost
UserName = root
Password = mypassword
Port = 3306
Socket = /var/lib/mysql/mysql.sock
/etc/odbcinst.ini
# Driver from the mysql-connector-odbc package
# Setup from the unixODBC-libs package
[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/libmyodbc3_r.so
Setup = /usr/lib/libodbcmyS.so
;Driver64 = /usr/lib64/libmyodbc3_r.so
;Setup64 = /usr/lib64/libodbcmyS.so
FileUsage = 1
/etc/asterisk/res_odbc.conf
[asterisk]
enabled=>yes
dsn=>asterisk-connector
;dsn=>asterisk
username=>root
password=>mypassword
pooling=>no
limit=>0
pre-connect=>yes
Wenn ich den Befehl "isql" zum Verbinden von MySQL-Datenbanken verwende, funktioniert es einwandfrei
Aber als ich die Konsole in CLI startete, gab ich den Befehl odbc anzeigen . es zeigt Kein SOLCHER BEFEHL "odbc show "
Und ich bin hier verwirrt und weiß nicht, wie ich das Problem lösen kann. Ich habe gegoogelt und jemanden gefunden, der empfiehlt, das Problem zu lösen, indem man das Modul res_odbc.so lädt. Also ging ich durch die Datei modules.conf und fügte diese Änderungen in die Dateien ein
autoload=yes
preload => res_odbc.so
preload => res_config_odbc.so
Nach der Änderung sieht die vollständige Datei wie folgt aus" /etc/asterisk/modules
;
; Asterisk Module Loader configuration file
;
;
[modules]
autoload=yes
;
; Any modules that need to be loaded before the Asterisk core has been
; initialized (just after the logger has been initialized) can be loaded
; using 'preload'. This will frequently be needed if you wish to map all
; module configuration files into Realtime storage, since the Realtime
; driver will need to be loaded before the modules using those configuration
; files are initialized.
;
; An example of loading ODBC support would be:
preload => res_odbc.so
preload => res_config_odbc.so
;
; As FreePBX is using Local as the channel for queue members we need to make sure
; that pbx_config.so and chan_local.so are preloaded. If not, queue members
; will be marked as invalid until app_queue is reloaded.
preload => pbx_config.so
preload => chan_local.so
;
; Uncomment the following if you wish to use the Speech Recognition API
;preload => res_speech.so
;
; If you want, load the GTK console right away.
; KDE console is obsolete and was removed from Asterisk 2008-01-10
;
noload => pbx_gtkconsole.so
;load => pbx_gtkconsole.so
noload => pbx_kdeconsole.so
;
; Intercom application is obsoleted by
; chan_oss. Don't load it.
;
noload => app_intercom.so
;
; DON'T load the chan_modem.so, as they are obsolete in * 1.2
noload => chan_modem.so
noload => chan_modem_aopen.so
noload => chan_modem_bestdata.so
noload => chan_modem_i4l.so
; Trunkisavail is a broken module supplied by Trixbox
noload => app_trunkisavail.so
; Ensure that format_* modules are loaded before res_musiconhold
;load => format_ogg_vorbis.so
load => format_wav.so
load => format_pcm.so
; format_au.so is removed from Asterisk 1.4 and later, remove ; to enable
;load => format_au.so
; This isn't part of 'Asterisk' iteslf, it's part of asterisk-addons. If this isn't
; installed, asterisk will fail to start. But it does need to go here for native MOH
; to work using mp3's.
; Note that on a system with a high number of calls, using a compressed audio format for
; musiconhold takes CPU resources. Converting these files to ulaw/alaw makes the job
; much easier for your CPU.
load => format_mp3.so
load => res_musiconhold.so
;
; Load either OSS or ALSA, not both
; By default, load no console driver
;
noload => chan_alsa.so
noload => chan_oss.so
;
noload => app_directory_odbcstorage.so
noload => app_voicemail_odbcstorage.so
Nachdem ich dies getan hatte, ging ich zurück in die CLI-Konsole, um die res_odbc.so neu zu laden. Aber die res_odbc.so wurde nicht gefunden
Ich brauche jemanden, der mir Tipps zur Lösung der ODBC-Verbindungsprobleme gibt.