FreeSwitch 1.10及以上版本 配置 远程连接 mysql

make mod_mariadb-install

安装 FreeSwitch mod_mariadb 模块

apt-get install -y libmariadb-dev mariadb-client

配置加载mysql
/usr/local/freeswitch/conf/autoload_configs/pre_load_modules.conf.xml

配置
/usr/local/freeswitch/conf/autoload_configs/switch.conf.xml
/usr/local/freeswitch/conf/sip_profiles/internal.xml
/usr/local/freeswitch/conf/autoload_configs/directory.conf.xml

<param name="core-db-dsn" value="mariadb://Server=172.0.0.1;Port=3306;Database=freeswitch_test;Uid=root;Pwd=123456"/> 

配置
/usr/local/freeswitch/conf/autoload_configs/voicemail.conf.xml
/usr/local/freeswitch/conf/autoload_configs/callcenter.conf.xml

<param name="odbc-dsn" value="mariadb://Server=172.0.0.1;Port=3306;Database=freeswitch_test;Uid=root;Pwd=123456"/> ```


配置重启fs后,fs在启动日志中会报错,找不到对应的表
可以通过观察是否自动创造表来验证配置成功与否。
效果如下图
![最终效果](https://img-blog.csdnimg.cn/0882979fb9044e33950c25b9841ccde2.png)

2022-11-24 补充
freeswitch切换远程mysql后,mod_callcenter 中queue 进线分配策略为random时,sql会报错

[ERR] mod_callcenter.c:697 SQL ERR: [SELECT instance_id, name, status, contact, no_answer_count, max_no_answer, reject_delay_time, busy_delay_time, no_answer_delay_time, tiers.state, agents.last_bridge_end, agents.wrap_up_time, agents.state, agents.ready_time, tiers.position, tiers.level, agents.type, agents.uuid, external_calls_count FROM agents LEFT JOIN tiers ON (agents.name = tiers.agent) WHERE tiers.queue = ‘1582929384610889728’ AND (agents.status = ‘Available’ OR agents.status = ‘On Break’ OR agents.status = ‘Available (On Demand)’) ORDER BY level, random()] FUNCTION freeswitch_test.random does not exist

freeswitch 原生支持 PostgreSQL ,在random分配坐席时,会调用 random() 方法,而mysql不支持 random()

百度PostgreSQL的 random() 方法的作用后,在mysql中找到了平替 ->  rand(),有兴趣的网友可以自行对比
解决方法:
找到mod_callcenter.c 源代码文件
./freeswitch/src/mod/applications/mod_callcenter/mod_callcenter.c
修改 random() 为 rand() ,重新编译 mod_callcenter
make mod_callcenter-install
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值