转自 80000hz.com

freeswitch 使用mysql替换默认的sqlite

No Reply , Posted in 默认分类 on January 14, 2014

目标
使用mysql替换掉freeswitch默认的sqlite数据库

环境

Centos6.x
freeswitch 1.2.16



安装odbc和mysql-connector

yum install mysql-connector-odbc.x86_64 unixODBC-devel.x86_64



配置DSN

创建数据库realtime

打开/etc/odbc.ini

添加内容如下

[MYSQLTP]Description=MySQL realtime database
Driver=MySQL
SERVER =172.16.1.195
PORT =3306 
DATABASE = realtime
OPTION  =67108864
CHARSET = UTF8

测试数据库是否配置成功

isql -v MYSQLTP root '123456'


配置模块DSN

配置主程序和部分模块使用ODBC, 如果有新加模块, 请参考以下自行配置.

1.修改conf/autoload_configs中的db.conf.xml文件 
<param name="odbc-dsn" value="MYSQLTP:root:123456"/> 

2. 修改conf/autoload_configs中的switch.conf.xml 
修改字段
<param name="core-db-dsn" value="MYSQLTP:root:123456" />
添加
<param name="odbc-dsn" value="MYSQLTP:root:123456"/>

3.修改conf/autoload_configs中的voicemail.conf.xml 
修改字段<param name="odbc-dsn" value="MYSQLTP:root:123456"/> 

4.修改conf/autoload_configs中的callcenter.conf.xml 
<param name="odbc-dsn" value="MYSQLTP:root:123456"/>

5.修改conf/sip_profiles中的internal.xml 和external.xml,internal-ipv6.xml
<param name="odbc-dsn" value="MYSQLTP:root:123456"/> 

备注: 其他模块请搜索odbc-dsn.


测试
rm -f /usr/local/freeswitch/db/*.db
./freeswitch -c -nonat -rp

查看控制台是否有错误

进入目录/usr/local/freeswitch/db
查看是否有新的文件生成, 如果有则确定文件是哪个模块生成, 修改模块DSN配置.