怎样设置呼叫系统的通话质检接口

简介: 实时质检原理:通过ASR接口(依赖cti_asr接口),识别出实时识别说话内容,然后和关键词匹配执行挂机等动作。支持群集,配置和记录都存储到REDIS。使用实例<action application="export" data="nolocal:execute_on_answer_qc=cti_qc_session:bleg_group|common_group"/><action application="set" data="execute_on_answer_qc=cti_qc_session:aleg_group|common_group"/><action applicat

实时质检

原理:通过ASR接口(依赖cti_asr接口),识别出实时识别说话内容,然后和关键词匹配执行挂机等动作。支持群集,配置和记录都存储到REDIS。

使用实例

<action application="export" data="nolocal:execute_on_answer_qc=cti_qc_session:bleg_group|common_group"/>
<action application="set" data="execute_on_answer_qc=cti_qc_session:aleg_group|common_group"/>
<action application="export" data="execute_on_answer_asr=cti_detect_speech_session:^^|127.0.0.1:9988|0|150|1000|3|0.2|5000|60000|''|''|0|''|1"/>
<action application="bridge" data="sofia/external/callin@180.76.224.191:35580"/>
复制代码

redis 配置说明

cti_rt_call_qc_keyword 和cti_rt_call_qc_keyword@domain[哈希表] 配置实时质检关键词和对应的动作,关键词支持正则表达式。

cti_rt_call_qc_keyword和cti_rt_call_qc_keyword@domain的区别,cti_rt_call_qc_keyword@domain指定的domain的fs才加载,cti_rt_call_qc_keyword连接这个redis的所有fs都会加载用于群集模式。

  1. key 组名
  2. value 具体关键词JSON格式
    | ``` { "脏话": { "keyword": ["他妈的", "去死吧","regex:.*操.妈."], "command": "uuid_kill", "params": "" }, "自定义分类": { "keyword": ["公账", "高新"], "command": "uuid_sendmessage", "params": "" } }
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-   keyword 关键词列表,如果正则表达式用前缀“regex:”。
-   command 匹配到关键词执行的API,可以执行挂机,发送通知等命令。
-   params API参数,参数前面会自动加上UUID。
复制代码

cti_rt_call_qc_keyword 改变通知

cti_rt_call_qc_keyword 改变PUBLISH 通知到config@all [通道] ,cti_rt_call_qc_keyword@domain改变PUBLISH 通知到config@domain[通道]

{
  "type":"config_change",
  "table":"cti_rt_call_qc_keyword",
  "key":"t1"
}
复制代码

qc 通知

配置cti.json

| ``` "qc": {   "log": true,      "redis": {     "qc_asr": {       "channel": "cti_qc",       "list": "cti_rt_call_qc_asr"     },      "qc_hit": {       "channel": "cti_qc",       "list": "cti_rt_call_qc_hit"     },      "qc_start": {       "channel": "cti_qc",       "list": "cti_rt_call_qc_start",       "variables": [ "caller_id_number", "callee_id_number", "direction" ]     },      "qc_stop": {       "channel": "cti_qc",       "list": "cti_rt_call_qc_stop"     }   } }

| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-   log 是否输出qc记录日志
-   channel qc记录推送redis的channels名字
-   list qc记录写入redis的list名字
#### [](http://www.ddrj.com/callcenter/callqc.html#qc-start-%E5%90%AF%E5%8A%A8%E9%80%9A%E7%9F%A5 "qc_start 启动通知")qc_start 启动通知
| ```
{   "datetime": "2021-07-21 20:58:58",  "domian": "my",   "type": "qc_start",   "groupnames": ["bleg"],   "uuid": "f26805ca-7069-4a28-bde0-6bcbd32ad570",   "call_uuid": "71bda206-0cbb-4ea0-b975-64a995b7b59e",  "caller_id_number": "123",  "callee_id_number": "123",  "direction": "outbound" } 
``` |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-   groupnames start_qcc 使用的关键词组
-   uuid 通道的uuid
-   call_uuid call_uuid 如果有通话的双方,2边会使用一样的call_uuid,估计是主叫的uuid
#### [](http://www.ddrj.com/callcenter/callqc.html#qc-stop-%E5%81%9C%E6%AD%A2%E9%80%9A%E7%9F%A5 "qc_stop 停止通知")qc_stop 停止通知
| ```
{   "uuid": "f26805ca-7069-4a28-bde0-6bcbd32ad570",   "call_uuid": "71bda206-0cbb-4ea0-b975-64a995b7b59e",  "domian": "my",   "type": "qc_stop",  "datetime": "2021-07-21 20:59:07" } 
``` |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
#### [](http://www.ddrj.com/callcenter/callqc.html#qc-asr-asrt%E9%80%9A%E7%9F%A5 "qc_asr asrt通知")qc_asr asrt通知
复制代码

{

"uuid": "71bda206-0cbb-4ea0-b975-64a995b7b59e",
"type": "qc_asr",
"domian": "my",
"datetime": "2021-07-21 20:58:58",
"bridge_uuid": "f26805ca-7069-4a28-bde0-6bcbd32ad570",
"call_uuid": "71bda206-0cbb-4ea0-b975-64a995b7b59e"
"speak_start": "说话开始时间,接通开始计算单位毫秒",
"speak_stop": "说话停止时间,接通开始计算单位毫秒",
"text": "识别到的句子,第一个字符F表示句子,E表示错误",
"domian":"cti.conf.xlm配置的domain,用于分别来自那台fs",
复制代码

}

-   bridge_uuid 桥接的通道ID(通话的对方)
-   datetime 开始说话的事件
#### [](http://www.ddrj.com/callcenter/callqc.html#qc-hit-%E5%8C%B9%E9%85%8D%E5%85%B3%E9%94%AE%E8%AF%8D%E9%80%9A%E7%9F%A5 "qc_hit 匹配关键词通知")qc_hit 匹配关键词通知
复制代码

{ "uuid":"uuid",  "type": "qc_hit", "datetime": "2021-07-21 20:59:04", "bridge_uuid": "f26805ca-7069-4a28-bde0-6bcbd32ad570", "call_uuid": "71bda206-0cbb-4ea0-b975-64a995b7b59e", "speak_start": "说话开始时间,接通开始计算单位毫秒", "speak_stop": "说话停止时间,接通开始计算单位毫秒", "text": "识别到的句子,第一个字符F表示句子,E表示错误,S表示没识别到说话停止就挂掉", "domian":"cti.conf.xlm配置的domain,用于分别来自那台fs", "group":"组名,cti_rt_call_qc_keyword的KEY", "category":"keyword所属的分类", "keyword": "关键词", "match":"keyword和text的匹配信息", "command":"执行命令信息" }

### [](http://www.ddrj.com/callcenter/callqc.html#FreeSWITCH-%E6%8E%A5%E5%8F%A3%E8%AF%B4%E6%98%8E "FreeSWITCH 接口说明")FreeSWITCH 接口说明
#### [](http://www.ddrj.com/callcenter/callqc.html#APP-cti-start-qc-group-%E5%BC%80%E5%A7%8B%E5%AE%9E%E6%97%B6%E9%80%9A%E8%AF%9D%E8%B4%A8%E6%A3%80 "APP cti_start_qc(group) 开始实时通话质检")APP cti_start_qc(group) 开始实时通话质检
-   group rt_call_qc_keyword配置的组,多个组用|隔开,使用那些组中的关键词。
#### [](http://www.ddrj.com/callcenter/callqc.html#API-uuid-cti-start-qc-uuid-group-%E5%BC%80%E5%A7%8B%E5%AE%9E%E6%97%B6%E9%80%9A%E8%AF%9D%E8%B4%A8%E6%A3%80 "API uuid_cti_start_qc uuid group 开始实时通话质检")API uuid_cti_start_qc uuid group 开始实时通话质检
参数和start_qc一样。
#### [](http://www.ddrj.com/callcenter/callqc.html#API-uuid-cti-stop-ac-uuid-%E5%81%9C%E6%AD%A2%E5%AE%9E%E6%97%B6%E9%80%9A%E8%AF%9D%E8%B4%A8%E6%A3%80 "API uuid_cti_stop_ac uuid 停止实时通话质检")API uuid_cti_stop_ac uuid 停止实时通话质检
#### [](http://www.ddrj.com/callcenter/callqc.html#API-cti-show-qc-all-%E6%98%BE%E7%A4%BAqc%E5%B7%B2%E7%BB%8F%E5%8A%A0%E8%BD%BD%E7%9A%84%E5%85%B3%E9%94%AE%E8%AF%8D%E7%BB%84 "API cti show qc_all 显示qc已经加载的关键词组")API cti show qc_all 显示qc已经加载的关键词组
复制代码


相关文章
|
15天前
|
人工智能 数据可视化 安全
王炸组合!阿里云 OpenClaw X 飞书 CLI,开启 Agent 基建狂潮!(附带免费使用6个月服务器)
本文详解如何用阿里云Lighthouse一键部署OpenClaw,结合飞书CLI等工具,让AI真正“动手”——自动群发、生成科研日报、整理知识库。核心理念:未来软件应为AI而生,CLI即AI的“手脚”,实现高效、安全、可控的智能自动化。
34802 40
王炸组合!阿里云 OpenClaw X 飞书 CLI,开启 Agent 基建狂潮!(附带免费使用6个月服务器)
|
9天前
|
人工智能 自然语言处理 安全
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
本文介绍了Claude Code终端AI助手的使用指南,主要内容包括:1)常用命令如版本查看、项目启动和更新;2)三种工作模式切换及界面说明;3)核心功能指令速查表,包含初始化、压缩对话、清除历史等操作;4)详细解析了/init、/help、/clear、/compact、/memory等关键命令的使用场景和语法。文章通过丰富的界面截图和场景示例,帮助开发者快速掌握如何通过命令行和交互界面高效使用Claude Code进行项目开发,特别强调了CLAUDE.md文件作为项目知识库的核心作用。
10019 30
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
|
4天前
|
人工智能 JavaScript Ubuntu
低成本搭建AIP自动化写作系统:Hermes保姆级使用教程,长文和逐步实操贴图
我带着怀疑的态度,深度使用了几天,聚焦微信公众号AIP自动化写作场景,写出来的几篇文章,几乎没有什么修改,至少合乎我本人的意愿,而且排版风格,也越来越完善,同样是起码过得了我自己这一关。 这个其实OpenClaw早可以实现了,但是目前我觉得最大的区别是,Hermes会自主总结提炼,并更新你的写作技能。 相信就冲这一点,就值得一试。 这篇帖子主要就Hermes部署使用,作一个非常详细的介绍,几乎一步一贴图。 关于Hermes,无论你赞成哪种声音,我希望都是你自己动手行动过,发自内心的选择!
2021 21
|
27天前
|
人工智能 JSON 机器人
让龙虾成为你的“公众号分身” | 阿里云服务器玩Openclaw
本文带你零成本玩转OpenClaw:学生认证白嫖6个月阿里云服务器,手把手配置飞书机器人、接入免费/高性价比AI模型(NVIDIA/通义),并打造微信公众号“全自动分身”——实时抓热榜、AI选题拆解、一键发布草稿,5分钟完成热点→文章全流程!
45690 155
让龙虾成为你的“公众号分身” | 阿里云服务器玩Openclaw
|
2天前
|
人工智能 自然语言处理 安全
|
9天前
|
机器学习/深度学习 存储 人工智能
还在手写Skill?hermes-agent 让 Agent 自己进化能力
Hermes-agent 是 GitHub 23k+ Star 的开源项目,突破传统 Agent 依赖人工编写Aegnt Skill 的瓶颈,首创“自我进化”机制:通过失败→反思→自动生成技能→持续优化的闭环,让 Agent 在实践中自主构建、更新技能库,持续自我改进。
1637 5
|
16天前
|
人工智能 JSON 监控
Claude Code 源码泄露:一份价值亿元的 AI 工程公开课
我以为顶级 AI 产品的护城河是模型。读完这 51.2 万行泄露的源码,我发现自己错了。
5791 26
|
7天前
|
IDE Java 编译器
【全网最详细】JDK17下载安装图文教程 | Java17编程环境搭建步骤详解
JDK 17是Java官方长期支持(LTS)版本,提供编译、调试、运行Java程序的完整工具链。具备高稳定性、强安全性及现代语言特性(如密封类、模式匹配),广泛用于企业开发、教学入门与生产环境,是学习和实践Java的首选基础工具。(239字)
1186 15
下一篇
开通oss服务