顶顶通呼叫中心中间件-群集配置方法讲解(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
相关推荐
阿昌喜欢吃黄桃4 天前
RocketMq事务消息原理
java·中间件·消息队列·rocketmq·mq
半夜修仙5 天前
延迟队列的介绍及常见问题
java·数据库·中间件·rabbitmq
手握风云-5 天前
一条消息的旅程:RabbitMQ 学习与实践(一)
中间件·rabbitmq
RH2312116 天前
2026.6.8Linux
java·数据库·中间件
理人综艺好会7 天前
双Token机制在实际项目中的应用与实践
中间件·token
番茄去哪了7 天前
神领物流面试题(一)
java·大数据·中间件
念何架构之路7 天前
消息中间件
中间件
都说名字长不会被发现7 天前
Spring Boot Starter 中间件账号密码加密方案设计与实现
java·spring boot·后端·中间件
瀚高PG实验室8 天前
java中间件无法连接数据库
java·数据库·中间件·瀚高数据库
之歆8 天前
Day11_Express 深入解析:从中间件到项目实战
中间件·express