Linux 下 FreeSWITCH 远程连接使用 MySQL 替代 SQLite

1. 安装unixODBC 和 MySQL ODBC Connector

yum install unixODBC-devel mysql-connector-odbc


2. 创建软连接

ln -s libmyodbc5.so libmyodbc.so


3. 在远程MySQL服务器中创建数据库“freeswitch” ,创建有密码用户


4. 添加如下 DSN 到 /etc/odbc.ini和 /root/.odbc.ini

[freeswitch]
DRIVER   = MySQL
SERVER   = 192.168.0.104
PORT     = 3306
DATABASE = freeswitch
USER     = fsu
PASSWORD = 123456
OPTION   = 3


5.执行如下命令测试连接:

isql freeswitch -v

报错:

[S1000][unixODBC][MySQL][ODBC 5.1 Driver]Host '192.168.0.105' is not allowed to connect to this MySQL server
[ISQL]ERROR: Could not SQLConnect


6.远程MySQL 服务器下,进入“mysql”数据库执行如下SQL命令

update user set host = '%' where user = 'root';
再执行如下命令

isql freeswitch 用户名 密码 -v

返回

+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+

7. 下载最新版freeswitch:http://files.freeswitch.org/

8. 解压,配置,编译 FreeSWITCH

tar -xf freeswitch-1.2.5.3.tar.bz2

./configure --enable-core-odbc-support

make&& make install


9./usr/local/freeswitch执行如下命令

grep -ir dsn .


查出全部希望使用MySQL 替代SQLite 的功能的配置文件

显示如下

...

./autoload_configs/switch.conf.xml:    <param name="core-db-dsn" value="freeswitch:fsu:123456" />
./autoload_configs/db.conf.xml.bak:    <!--<param name="odbc-dsn" value="dsn:user:pass"/>-->   
./autoload_configs/cidlookup.conf.xml:    <param name="odbc-dsn" value="phone:phone:phone"/>
./autoload_configs/voicemail.conf.xml:      <!--<param name="odbc-dsn" value="dsn:user:pass"/>-->
./autoload_configs/callcenter.conf.xml:    <!--<param name="odbc-dsn" value="dsn:user:pass"/>-->
./autoload_configs/nibblebill.conf.xml:    <param name="db_dsn" value="bandwidth.com"/>
./autoload_configs/db.conf.xml:    <param name="odbc-dsn" value="freeswitch:fsu:123456"/>

...

这些功能都可以改用MySQL修改这些配置文件中的参数value


<param name="core-db-dsn"value="dsn:user:pass"/>

<param name="odbc-dsn"value="phone:phone:phone"/>


10.运行FreeSWITCH

启动过程中自动在已建的freeswitch数据库中创建表


提醒:在Linux 下修改重要文件之前,先要备份,如 cp xxx.conf xxx.conf.bak

参考文档:
Using ODBC in the core
http://wiki.freeswitch.org/wiki/Using_ODBC_in_the_core

©️2020 CSDN 皮肤主题: 酷酷鲨 设计师:CSDN官方博客 返回首页