顶顶通呼叫中心中间件-群集配置方法讲解(mod_cti基于FreeSWITCH)

群集介绍

比较多的外呼或呼入系统,假如整个系统需要1万并发,单机最高就3000-5000并发,这时就需要多机群集了。顶顶通呼叫中心中间件使用redis数据库,多个FreeSWITHC(mod_cti)连接同一个redis就可以很容易的配置成群集系统。


想了解呼叫中心中间件可以点此链接添加联系方式:顶顶通小孙


群集配置流程

fs配置相同redis数据库

打开需要群集的 Freeswitch 的配置文件cti.json ,文件路径:/ddt/fs/conf/:修改Redis部分,使需要集群的 Freeswitch连接到同一个 Redis中。具体配置如图所示

fs配置相同的domain

具体路径在"/ddt/fs/conf/autoload_configs"里面找到"cti.conf.xml"在这个文件里面找到这一行然后把"具体的domain"修改为所有fs相同的,修改然后保存这个文件,保存之后需要重新启动fs

bash 复制代码
<param name="domain" value="具体的domain"/>
创建private_vars.xml

cd /ddt/fs/conf 进入/ddt/fs/conf目录

vim private_vars.xml 创建并且编辑private_vars.xml内容,需要把下面这些内容全部复制进去,然后保存并且退出vi。(群集中不同的fs单独配置本机外网IP)

  • 如果当前 Freeswitch 需要公网使用sip服务,就把内容中的本机外网IP替换成公网IP;如果只是纯内网使用,则把内容中的本机外网IP替换成$${local_ip_v4}。
  • 如果cluster的SIP配置是:sip-ip:$${local_ip_v4},就把第三行内容删除;但如果cluster的SIP配置是:sip-ip:233.22.12.32这种配置了具体IP的,则根据第三行内容提示,设置成互通的IP
bash 复制代码
<include>
  <X-PRE-PROCESS cmd="set" data="external_ip=本机外网IP"></X-PRE-PROCESS>
  <X-PRE-PROCESS cmd="set" data="cluster_ip=如果群集互通用的profile配置sip-ip是$${local_ip_v4},这个配置删除,如果是单独IP,这里设置互通IP"></X-PRE-PROCESS>
</include>

配置文件配置

一、acl配置

1点击配置文件-->2点击acl.conf-->3把群集所以服务器的IP添加在图中所说位置-->4点击提交XML

上图配置完后根据下图去操作即可

1点击运维调试-->2图中2输入的是reloadacl-->3点击执行

二、vars配置

根据图中步骤执行,执行完了以后,重启fs。

bash 复制代码
 <X-PRE-PROCESS cmd="set" data="external_ip=$${local_ip_v4}"/>  图中的步骤4是这一行删除不要删除错了
bash 复制代码
 <X-PRE-PROCESS cmd="include" data="private_vars.xml"/>  图中的步骤5是添加这一行不要添加错了
三、SIP配置

添加一个名为cluster的sip profile,以下几个配置按如下修改,其他用默认的

|---------------------|------------------|
| 呼叫路由 | cluster |
| sip-port | $${cluster_port} |
| sip-ip | $${local_ip_v4} |
| rtp-ip | $${local_ip_v4} |
| apply-inbound-acl | cluster |
| disable-refister | true |
| auth-calls | false |
| auth-calls-acl-only | false |

可以根据下图配置

四、分机线路配置

单机版本使用拨号串配置为"user/分机号",群集版本拨号串配置为"cluster/分机号"

五、拨号方案配置

检查拨号方案有没有群集分机这一拨号方案,如果有就跳过这一步骤,如果没有可以根据下图配置。

六、呼叫路由配置

创建名为"cluster"的呼叫路由,然后在该呼叫路由中启用"群集分机"这一拨号方案。具体操作如图所示:

七、检查群集是否配置成功

重启 Freeswitch,然后打开 CCAdmin ,验证群集模式是否配置成功的方法,如图所示:

群集模式下呼叫

在群集系统中,转接分机是最棘手的问题,因为分机一般只注册到一个FreeSWITCH上面。顶顶通呼叫中心中间件把分机注册信息和当前通话信息存储到redis里面,转接分机的时候,从redis中获取分机注册的FreeSWITCH ip,然后把呼叫转给这个FreeSWITCH,这样分机只需要注册到群集中的任意一个FreeSWITCH,就可以接听群集中的所有FreeSWITCH的来电了。

转接流程: 呼叫分机1000

  • 判断分机1000注册在哪个FS
  • 如果注册在本机直接呼叫1000 (拨号串 user/1000 )
  • 如果注册到其他fs, 呼叫1000送到指定fs(拨号串 sofia/cluster/1000@fsip)
  • 1000实际注册的fs接收到呼叫1000的请求,执行呼叫1000
相关推荐
问道飞鱼3 小时前
分布式中间件-Pika一个高效的分布式缓存组件
分布式·缓存·中间件
懒洋洋的华36910 小时前
消息队列-Kafka(概念篇)
分布式·中间件·kafka
happycao1231 天前
kafka 一步步探究消费者组与分区分配策略
中间件·kafka
问道飞鱼2 天前
分布式中间件-redis相关概念介绍
redis·分布式·中间件
苹果酱05672 天前
使用 React Testing Library 测试自定义 React Hooks
java·开发语言·spring boot·后端·中间件
没有名字的小羊2 天前
fastjson漏洞
运维·网络·web安全·中间件
竹等寒2 天前
中间件常见漏洞
android·web安全·网络安全·中间件
problc2 天前
零拷贝技术在现代编程语言和中间件中的应用
中间件
傻傻虎虎2 天前
【系统架构设计】基于中间件的开发
中间件·系统架构
老K(郭云开)3 天前
汉王手写签批控件如何在谷歌、火狐、Edge等浏览器使用
前端·chrome·中间件·edge·创业创新·html5