顶顶通呼叫中心中间件介绍

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
云原生网关 MSE Higress,422元/月
性能测试 PTS,5000VUM额度
简介: 顶顶通呼叫中心中间件包含IPPBX、自动外呼、质检、ACD、呼叫路由等呼叫中心功能,也包含电话机器人开发接口(ASR【对接了华为云,腾讯云,科大讯飞,阿里云,捷通华声等,mrcp等语音识别接口】,TTS【支持外呼时预先文字转换成声音和mrcp实时TTS】,VAD【集成噪音人声识别引擎】),话术引擎等ai机器人功能。所有数据都存储redis【话单可以存储到数据库】,支持群集,超大并发,可用于开发呼叫中心系统,智能外呼机器人系统,机器人客服系统。

原文地址 http://www.ddrj.com/callcenter/index.html

顶顶通呼叫中心中间件介绍

顶顶通呼叫中心中间件包含IPPBX、自动外呼、质检、ACD、呼叫路由等呼叫中心功能,也包含电话机器人开发接口(ASR【对接了华为云,腾讯云,科大讯飞,阿里云,捷通华声等,mrcp等语音识别接口】,TTS【支持外呼时预先文字转换成声音和mrcp实时TTS】,VAD【集成噪音人声识别引擎】),话术引擎等ai机器人功能。所有数据都存储redis【话单可以存储到数据库】,支持群集,超大并发,可用于开发呼叫中心系统,智能外呼机器人系统,机器人客服系统。

怎么和业务系统对接

顶顶通呼叫中心中间件配置接口完全使用redis接口,用户可以通过修改redis实现自己的配置界面(用户只需要参考CCAdmin开发一个web配置界面,配置数据写入redis)。

  • 比如创建一个外呼任务,只需要往redis的hash表cti_queue_dialer_task插入一个记录,key为任务名,value为任务配置的json数据。
  • 比如导入外呼号码,只需要往任务定义的号码表redis的list中push号码列表。
  • 通话记录可以配置写入数据库也可以推送到redis的list(类似消息队列),或者redis的订阅发布模式通知到业务程序。
  • web发起点击拨号、挂断、监听、转接等坐席工具条功能,通过http接口实现。
  • 电话机器人对话控制(NLP)通过http接口对接。
  • IVR业务(支持语音输入和按键输入)通过话术引擎对接。

怎么安装配置

  1. 根据安装文档【程序安装包里】完成系统安装。
  2. 先看一遍使用指南熟悉基本的操作。

基本电话功能(IPPBX)

  1. 第一步肯定是对接电话线路,请看线路管理
  2. 第二步如果需要配置SIP分机,请看分机配置
  3. 第三步配置呼入呼出路由,请看拨号方案。系统默认预设了常见的拨号方案,需要熟悉FreeSWITCH才可以配置的来这个,可以把业务需求发给顶顶通技术支持,由顶顶通技术人员来协助配置。

自动外呼功能

  1. 队列外呼,导入一批号码顺序或者随机呼叫,从redis的list或者set获取号码外呼,支持群集,多个fs从一个list或者set获取号码外呼,可实现超级大并发外呼系统。请看队列外呼
  2. 定时外呼,导入号码的时候设置外呼时间,到了时间才呼叫这个号码,从redis的SortSet获取号码外呼,可用于定时回访,定时通知等指定时间外呼的业务场景。请看定时呼叫

话务排队

话务自动分配功能(ACD),支持接通前报工号,通话结束满意度调查。比如自动外呼转人工接听,来电坐席组接听,类似10086这样的呼叫中心,就需要话务排队功能。

电话机器人

  1. 如果需要自己控制对话逻辑,比如自己对接NLP,可以使用http接口,用户说话时cti中间件把ASR识别结果pos到web服务器,web服务器返回放音内容给cti中间件。
  2. IVR业务,或者根据关键词和正则表达式匹配流程的机器人系统,可以使用话术引擎
  3. 根据意向转人工

    1. 通过话务排队转人工,通话结束后可以回到机器人对话。
    2. 伴随转人工,根据意向设置触发通知人工坐席,人工接听前,机器人可以和用户继续对话,人工接通后,可以选择监听还是对话。

实时质检

就是通话过程把双方说话内容进行语音识别,可以根据敏感词挂断电话,或者播放警告音,请看实时质检

通话记录

比如分机呼叫手机,有2条记录,一个是aleg,一个是bleg。可以把任意通道变量记录到CDR里面,配置在cti.json的cdr里面,详细请看 CDR说明

通话录音

默认拨号方案就配置了,呼叫路由里面启用即可。

点击拨号 、坐席工具条等

就是通过http接口执行FreeSWITCH的cli命令,分机监听、挂断、转接等操作点这里。点击拨号、放音等操作详细请看 httpcli接口

监控

查询分机注册和通话状态,通话时间等,顶顶通呼叫中心中间件会把这些状态写入redis,可以直接redis获取到的。可以看分机配置页面通话记录页面

打断

使用基于神经网络训练的噪音人声模型,请看VAD

群集和高可用

  • 在大规模的外呼或者呼入系统,比如整个系统需要1万并发,单机最高也就3000-5000并发,这时候就需要多机群集了。顶顶通呼叫中心中间件使用redis数据库,多个FreeSWITCH(mod_cti)连接同一个redis就可以很容易的配置成群集系统。配置方法请看群集方案
  • 高可用,就是一台服务器宕机,系统整体还可以继续使用,通过redis配置哨兵模式集群,就可以实现高可用。mod_cti模块为了更高的性能,内存状态没有同步到redis, 宕机服务器的通话会被挂断,没办法恢复通话,但是不影响新呼叫的通话和系统整体的使用。

和市面上常见产品技术比较

CTI模块 市面上常见产品
和FreeSWITCH交互方式 模块
优点:性能最高,直接调用FreeSWITCH API 函数,内存交互,无其他开销。
缺点:只能使用C/C++开发,需要精通FreeSWITCH源代码才可以,门槛高。备注:用户使用我的CTI程序是不需要会C/C++开发的,我已经开发好了。
ESL接口或者脚本语言
优点:开发简单,支持各种开发语言。
缺点:大并发下容易卡,ESL接口有网络延时,脚本语言效率底下。
和数据库交互方式 使用REDIS<br/>优点:性能非常高,1秒内可以处理几万次查询。<br/>缺点:无 mysql或者其他关系数据库<br/>优点:开发简单,网络上可以找到很多现成代码和例子。<br/>缺点:大并发下查询延时,或者需要配置很强的数据库服务器,成本高。
和外部程序交互方式 Redis发布订阅机制和Redis的LIST消息队列<br/>优点:所以语言都支持redis,开发简单,性能高。<br/>缺点:无 web接口<br/>优点:适合web开发者使用。<br/>缺点:大并发下web服务器压力高,甚至出现请求超时。
和ASR交互方式 自带VAD的流接口(支持科大讯飞,阿里云,腾讯云,MRCP)<br/>优点:自带VAD算法,检测到声音才提交ASR识别,可以节省ASR费用。实时识别,可按次或者按分钟计费,支持私有云。<br/>缺点:无。 1. 一句话识别<br/>优点:占用并发少。<br/>缺点:大于3秒的句子识别反应慢。<br/>2. MRCP<br/>优点:FreeSWITCH原生支持,不需要额外的开发工作。<br/>缺点:对打断支持不好,不支持VAD,ASR费用高。<br/>3. 不支持VAD的流接口<br/>优点:开发简单,本公司有开源过改实现方式<br/>缺点:没声音时也会调用ASR,ASR费用高。
和话术交互方式 话术解析引擎<br/>优点:话术流程直接载入内存,不需要调用数据库,处理速度快。<br/>缺点:无 话术处理的web接口<br/>优点:开发简单,和开发web程序一样简单。<br/>缺点:话术存放数据库,每次交互都调用web接口和执行SQL查询,大并发需要很多台web服务器和数据库服务器。
噪音人声识别 神经网络训练的噪音人声模型<br/>防止错误的意向判断<br/>防止噪音打断机器人说话<br/>机器人反应更灵敏<br/>节约ASR费用 没这个功能
相关文章
|
9月前
|
网络协议 中间件 机器人
通过顶顶通呼叫中心中间件玩转FreeSWITCH媒体流
怎么获取FreeSWITCH的媒体流是一个老生常谈的问题了,最常见的方法media_bug 很多人需要直接获取原始的声音流,然后自己处理,其实FreeSWITCH也是支持的,只是知道的极少,FreeSWITCH原生支持 unicast 通过udp 把声音流推送到一个UDP端口,和播放网络的声音流。 fs实现的unicast,有一个缺陷如果启动了unicast 就没办法调用playback等放音函数了。
261 0
|
机器学习/深度学习 中间件 Linux
顶顶通呼叫中心中间件(mod_cti基于FreeSWITCH)-语音识别(asr)接口
顶顶通呼叫中心中间件(mod_cti基于FreeSWITCH)-语音识别(asr)接口 接口说明
309 2
|
NoSQL 中间件 Redis
vos3000,外呼系统,呼叫中心中间件-sofia(SIP)配置
配置sofia profile ,这个配置修改后不能实时生效的,需要重启FreeSWITCH,或者通过执行命令相关命令才可以生效。 添加删除sofia profile 需要重启fs,或者执行reload mod_sofia,才生效。 添加了网关需要执行命令 sofia profile [profilename] rescan 删除了网关需要执行命令sofia profile [profilename] killgw [gatewayname] 修改了网关配置需要先执行删除命令sofia profile [profilename] killgw [gatewayname],然后执行 sofi
|
人工智能 中间件
呼叫中心中间件-网关配置
支持给网关指定变量,设置网关的语音编码编码和主叫号码。网关配置编辑后,不能实时生效 ,需要执行sofia命令才可以生效,具体看SIP设置。 配置 cti_gateway@domain [哈希表] key 网关名字 value 网关配置 | ``` { "param": { "register": "true", "caller-id-in-from": "true", "realm": "180.76.224.191:35560", "from-user": "", "destination-prefi
|
存储 XML NoSQL
呼叫系统,电话机器人,呼叫中心中间件-分机配置
把分机信息存储到redis,需要验证的时候,从redis读取存储的信息转换成XML格式,让FreeSWITCH完成验证。优点就是redis的读取性能非常快,可以让FreeSWITCH支持大量的分机,并且配置可以实时生效。 配置说明 cti_exten@domain [哈希表] key 分机名 value | ``` { "param": { "allow-empty-password": false, "password": "123", "auth-acl": "", "sip-forbid-register": f
|
3月前
|
消息中间件 存储 负载均衡
消息中间件的选择:RabbitMQ是一个明智的选择
消息中间件的选择:RabbitMQ是一个明智的选择
81 0
|
2月前
|
消息中间件 存储 中间件
【消息中间件】详解三大MQ:RabbitMQ、RocketMQ、Kafka
【消息中间件】详解三大MQ:RabbitMQ、RocketMQ、Kafka
152 0
|
1月前
|
消息中间件 编解码 Docker
Docker部署RabbitMQ消息中间件
【7月更文挑战第4天】Docker部署RabbitMQ消息中间件
166 3
|
1天前
|
消息中间件 Java 测试技术
消息中间件RabbitMQ---SpringBoot整合RabbitMQ【三】
这篇文章是关于如何在SpringBoot应用中整合RabbitMQ的消息中间件。内容包括了在SpringBoot项目中添加RabbitMQ的依赖、配置文件设置、启动类注解,以及如何通过单元测试来创建交换器、队列、绑定,并发送和接收消息。文章还介绍了如何配置消息转换器以支持对象的序列化和反序列化,以及如何使用注解`@RabbitListener`来接收消息。
消息中间件RabbitMQ---SpringBoot整合RabbitMQ【三】
|
1天前
|
消息中间件 Docker 容器
消息中间件RabbitMQ---Docker安装RabbitMQ、以及RabbitMQ的基本使用【二】
这篇文章提供了RabbitMQ的安装和基本使用教程,包括如何使用Docker拉取RabbitMQ镜像、创建容器、通过浏览器访问管理界面,以及如何创建交换机、队列、绑定和使用direct、fanout和topic三种类型的交换器进行消息发布和接收的测试。
消息中间件RabbitMQ---Docker安装RabbitMQ、以及RabbitMQ的基本使用【二】