Asteriskの設定を、ファイル(*.conf)からDB化した際に設定ファイルの関連付けにハマったときのメモです。
参考
Voip-info.org - Asterisk RealTime Static
Ubuntu manuals - odbcinst
環境
- CentOS 6.5
- Asterisk 11.6.0
- Mysql OBDC
設定ファイルの関連
sip.confをリアルタイム化した場合
/etc/asterisk/extconfig.conf
[settings]
;
; Static configuration files:
sip.conf => odbc, mysql-odbc, tbl_sip_conf (sip.confのTABLE)
mysql-odbcは、res_odbc.confのセクション名になります。
tbl_sip_confは、TABLE名です。
/etc/asterisk/res_odbc.conf
[mysql-odbc]
enabled => yes
dsn => ASTERISK_CDR
username => username (Databaseのログインユーザー)
password => pass (Databaseのログインパスワード)
pre-connect => yes
limit => 5
pooling => no
isolation => repeatable_read
dsnのASTERISK_CDRは、odbc.iniのセクション名になります。
/etc/odbc.ini
[ASTERISK_CDR]
Driver = MySQL
Description = ASTERISK_CDR
SERVER = localhost
PORT = 3306
USER = root
Password = pass (Databaseのログインパスワード)
Database = DATABASE (DATABASE名)
OPTION = 3
SOCKET = /var/lib/mysql/mysql.sock
CHARSET = utf8
DriverのMySQLは、odbcinst.iniのセクション名になります。
/etc/odbcinst.ini
# Driver from the mysql-connector-odbc package
# Setup from the unixODBC package
[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/libmyodbc5.so
Setup = /usr/lib/libodbcmyS.so
Driver64 = /usr/lib64/libmyodbc5.so
Setup64 = /usr/lib64/libodbcmyS.so
FileUsage = 1
最後に下記のコマンドを実行して、設定を反映します。
$ odbcinst -i -s -f /etc/odbc.ini
-i インストール
-s DSN名
-f ファイル名