顶顶通呼叫中心中间件(mod_cti基于FreeSWITCH)

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

顶顶通呼叫中心中间件包含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业务(支持语音输入和按键输入)通过话术引擎对接。

顶顶通呼叫中心中间件,也提供了httpapi二次开发接口 http://www.ddrj.com/callcenter/httpapi.html

有没有web管理后台

有的,演示地址 http://demo.ddrj.com:88 密码 abc 这个web管理接口是基于httpapi二次开发接口 http://www.ddrj.com/callcenter/httpapi.html开发的。

怎么安装配置

  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, 宕机服务器的通话会被挂断,没办法恢复通话,但是不影响新呼叫的通话和系统整体的使用。

国产服务器和操作系统支持吗

顶顶通呼叫中心中间件支持银河麒麟(KylinOS)和华为鲲鹏arm架构,等国产化环境,已经用于很多政府项目。

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

CTI模块 市面上常见产品
和FreeSWITCH交互方式 模块
优点:性能最高,直接调用FreeSWITCH API 函数,内存交互,无其他开销。
缺点:只能使用C/C++开发,需要精通FreeSWITCH源代码才可以,门槛高。备注:用户使用我的CTI程序是不需要会C/C++开发的,我已经开发好了。
ESL接口或者脚本语言
优点:开发简单,支持各种开发语言。
缺点:大并发下容易卡,ESL接口有网络延时,脚本语言效率底下。
和数据库交互方式 使用REDIS
优点:性能非常高,1秒内可以处理几万次查询。
缺点:无
mysql或者其他关系数据库
优点:开发简单,网络上可以找到很多现成代码和例子。
缺点:大并发下查询延时,或者需要配置很强的数据库服务器,成本高。
和外部程序交互方式 Redis发布订阅机制和Redis的LIST消息队列
优点:所以语言都支持redis,开发简单,性能高。
缺点:无
web接口
优点:适合web开发者使用。
缺点:大并发下web服务器压力高,甚至出现请求超时。
和ASR交互方式 自带VAD的流接口(支持科大讯飞,阿里云,腾讯云,MRCP)
优点:自带VAD算法,检测到声音才提交ASR识别,可以节省ASR费用。实时识别,可按次或者按分钟计费,支持私有云。
缺点:无。
1. 一句话识别
优点:占用并发少。
缺点:大于3秒的句子识别反应慢。
2. MRCP
优点:FreeSWITCH原生支持,不需要额外的开发工作。
缺点:对打断支持不好,不支持VAD,ASR费用高。
3. 不支持VAD的流接口
优点:开发简单,本公司有开源过改实现方式
缺点:没声音时也会调用ASR,ASR费用高。
和话术交互方式 话术解析引擎
优点:话术流程直接载入内存,不需要调用数据库,处理速度快。
缺点:无
话术处理的web接口
优点:开发简单,和开发web程序一样简单。
缺点:话术存放数据库,每次交互都调用web接口和执行SQL查询,大并发需要很多台web服务器和数据库服务器。
噪音人声识别 神经网络训练的噪音人声模型
防止错误的意向判断
防止噪音打断机器人说话
机器人反应更灵敏
节约ASR费用
没这个功能