FreeSWITH 默认使用 sqlite 作为数据库,但是很多时候我们需要使用 MySQL 等数据库作为服务器数据库使用,比如集群主备的时候,可以方便从数据库读取信息。这里以 MySQL 为例介绍相关配置
主备的集群安装见: FreeSwitch高可用解决方案
yum -y install mysql-connector-odbc.x86_64 unixODBC-devel.x86_64
vi /etc/odbc.ini #该文件默认没有,直接新建保存
[freeswitch] Description=FreeSwitch MySQL database Driver=MySQLSERVER =192.168.2.190PORT =3306DATABASE = freeswitch OPTION =67108864CHARSET = UTF8 USER = root PASSWORD = WenFei@123Threading = 0
cat /etc/odbcinst.ini #ODBC装完后就已经产生
# Example driver definitions # Driver from the postgresql-odbc package # Setup from the unixODBC package [PostgreSQL] Description = ODBC for PostgreSQL Driver = /usr/lib/psqlodbcw.so Setup = /usr/lib/libodbcpsqlS.so Driver64 = /usr/lib64/psqlodbcw.so Setup64 = /usr/lib64/libodbcpsqlS.so FileUsage = 1# 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
如果你的服务器没有安装 MySQL 可以按照下述方法安装,如果已经有了数据库,则跳过这个步骤。
初始化数据库后创建 freeswitch 数据库 create database freeswitch;
接下来测试 ODBC 是否正常
isql -v freeswitch
如果登陆成功,那么就说明是OK的。此时的 MySQL 数据库里面的表还是空的。
回到编译目录,重新编译,加入 --enable-core-odbc-support 参数。
./configure --enable-core-odbc-supportmake && make install
这里的数据库账号 root 假设密码为 123456
找到相应的文件按照如下配置:
<!-- vi conf/autoload_configs/db.conf.xml --><param name="odbc-dsn" value="freeswitch:root:123456"/><!-- vi conf/autoload_configs/switch.conf.xml --><param name="core-db-dsn" value="freeswitch:root:123456" /><param name="odbc-dsn" value="freeswitch:root:123456"/><!-- vi conf/autoload_configs/voicemail.conf.xml --><param name="odbc-dsn" value="freeswitch:root:123456"/><!-- vi conf/autoload_configs/callcenter.conf.xml --><param name="odbc-dsn" value="freeswitch:root:123456"/><!-- vi conf/sip_profiles/external.xml --><param name="odbc-dsn" value="freeswitch:root:123456"/><!-- vi conf/sip_profiles/internal.xml --><param name="odbc-dsn" value="freeswitch:root:123456"/><!-- vi conf/sip_profiles/internal-ipv6.xml --><param name="odbc-dsn" value="freeswitch:root:123456"/><!-- vi conf/sip_profiles/external-ipv6.xml --><param name="odbc-dsn" value="freeswitch:root:123456"/><!-- vi conf/autoload_configs/fifo.conf.xml --><settings> <param name="delete-all-outbound-member-on-startup" value="false"/> <param name="odbc-dsn" value="freeswitch:root:123456"/></settings><!-- vi conf/vars.xml --><X-PRE-PROCESS cmd="set" data="json_db_handle=odbc://freeswitch:root:123456"/>
重启 FreeSWITCH 基本流程就完成了。
程序起来后,发现数据库有表有信息了!
from:https://www.cnblogs.com/cash/p/13331299.html