... # Установим unix-odbc и mysql драйвер odbc {code} yum install unixODBC mysql-connector-odbc asterisk-odbc {code} # Сконфигурируем odbc через конфиг-файл /etc/odbc.ini {code:title=/etc/odbc.ini} [ODBC Data Sources] myodbc3 = MyODBC Driver DSN [mysql_odbc] Driver = MySQL ;/usr/lib64/libmyodbc5.so {code} # Проверим подключение к mysql. MySQL сервер установлен локально, слушает на всех интерфейсах порт 3306. Username: asterisk password: servicemode {code} [root@voip asterisk]# isql mysql_odbc asterisk servicemode +---------------------------------------+ | Connected! | | | | sql-statement | | help [tablename] | | quit | | | +---------------------------------------+ SQL> {code} # Включим модули odbc в /etc/asterisk/modules.conf. Для этого добавить в конфиг-файл следующие строчки: _preload => res_odbc.so_ _preload => res_config_odbc.so_ В нашем случае результирующий конфиг-файл выглядит так: {code:title=/etc/asterisk/modules.conf} [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 ;
|
... ; Uncomment the following if you wish to use the Speech Recognition API ;preload => res_speech.so ; ; If you want Asterisk to fail if a module does not load, then use ; the "require" keyword. Asterisk will exit with a status code of 2 ; if a required module does not load. ; ; require = chan_sip.so ; If you want you can combine with preload ; preload-require = res_odbc.so ; ; If you want, load the GTK console right away. ; noload => pbx_gtkconsole.so ;load => pbx_gtkconsole.so ; load => res_musiconhold.so ; ; Load one of: chan_oss, alsa, or console (portaudio). ; By default, load chan_oss only (automatically). ; noload => chan_alsa.so ;noload => chan_oss.so noload => chan_console.so {code} # Настроим биндинг к realtime базе данных asterisk. Для этого необходимо создать файл /etc/asterisk/res_crb_odbc.conf со следующим содержимым: {code} [crb_mysql_conn] enabled => yes; dsn => mysql_odbc; DSN из /etc/odbc.ini username => asterisk; логин к базе данных password => servicemode; пароль к базе данных
|
pre-connect => yes {code}
|
# Подключим этот файл в конфигурационный файл _/etc/asterisk/res_odbc.conf_ модуля _res_odbc.so_, добавив в конец этого файла строчку *\#include "res_crb_odbc.conf"*
|
# Для отображения realtime пиров при выполнении _sip show peers_ необходимо раскомментировать или добавить строку rtcachefriends=yes в /etc/asterisk/sip.conf
|