Asterisk realtime odbc настройка

Skip to end of metadata
Go to start of metadata
  1. Установим unix-odbc и mysql драйвер odbc
    yum install unixODBC mysql-connector-odbc asterisk-odbc
    
  2. Сконфигурируем odbc через конфиг-файл /etc/odbc.ini
    /etc/odbc.ini
    [ODBC Data Sources]
    myodbc3     = MyODBC Driver DSN
    
    [mysql_odbc]
    Driver       = MySQL
    ;/usr/lib64/libmyodbc5.so
    
  3. Проверим подключение к mysql. MySQL сервер установлен локально, слушает на всех интерфейсах порт 3306. Username: asterisk password: servicemode
    [root@voip asterisk]# isql mysql_odbc asterisk servicemode
    +---------------------------------------+
    | Connected!                            |
    |                                       |
    | sql-statement                         |
    | help [tablename]                      |
    | quit                                  |
    |                                       |
    +---------------------------------------+
    SQL>
    
  4. Включим модули odbc в /etc/asterisk/modules.conf. Для этого добавить в конфиг-файл следующие строчки:
    preload => res_odbc.so
    preload => res_config_odbc.so
    В нашем случае результирующий конфиг-файл выглядит так:
    /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
    
  5. Настроим биндинг к realtime базе данных asterisk. Для этого необходимо создать файл /etc/asterisk/res_crb_odbc.conf со следующим содержимым:
    [crb_mysql_conn]
    enabled => yes;
    dsn => mysql_odbc; DSN из /etc/odbc.ini
    username => asterisk; логин к базе данных
    password => servicemode; пароль к базе данных
    pre-connect => yes
    
  6. Подключим этот файл в конфигурационный файл /etc/asterisk/res_odbc.conf модуля res_odbc.so, добавив в конец этого файла строчку #include "res_crb_odbc.conf"
  7. Для отображения realtime пиров при выполнении sip show peers необходимо раскомментировать или добавить строку rtcachefriends=yes в /etc/asterisk/sip.conf

Метки

Введите метки, чтобы добавить к этой странице:
Please wait 
Ищите метку? просто начните печатать.