顶顶通呼叫中心中间件实现随时启动和停止质检(mod_cti基于FreeSWITCH)

文章目录

  • 前言
  • 联系我们
  • 拨号方案
  • 启动停止ASR
    • 执行FreeSWITCH 命令接口
    • 启动ASR接口
    • 停止ASR接口
  • 通知配置
    • cti.json配置
    • 质检结果写入数据库


前言

顶顶通呼叫中心中间件的实时质检功能是由两个模块组成:mod_asrmod_qc

  • mod_asr:负责调用ASR将用户们在通话时说的话转换成文本模式。
  • mod_qc:负责将识别出的文本进行质检,如果命中了质检词库,中间件会执行相应的动作,如:挂断、播放警告音等。

那么就可以对通话全程开启质检,但不启动ASR,在有需要的时候通过http接口启动ASR,这样就可以实现随时启动和停止实时质检。


联系我们

有意向了解呼叫中心中间件的用户,可以点击该链接添加工作人员的微信:顶顶通小何

提示:以下是本篇文章正文内容,下面案例可供参考

拨号方案

  • 创建新的拨号方案,名称:随时质检
<action application="set",data="execute_on_answer_qc=cti_qc_session:keywords"/>
<action application="export",data="nolocal:execute_on_answer_qc=cti_qc_session:keywords"/>

!](https://i-blog.csdnimg.cn/direct/5e6455d5cb5a40a6a997598fdfd28e3d.png)

  • 呼叫路由:internal启用拨号方案:随时质检。如果是呼叫手机,将该拨号方案移动到呼叫外线的上方:
    在这里插入图片描述

启动停止ASR

当用户通过分机呼叫手机后,质检功能已经启动了,由于没有启动ASR功能,无法对通话进行质检。当用户想要对通话质检时,可以通过http接口去启动和停止ASR,从而实现随时启动和停止质检。

执行FreeSWITCH 命令接口

用法:/api?token=${token}&action=FsTerminal

{
"cmd":"fs_api",
"commandline":"FreeSWITCH 命令"
}

启动ASR接口

在调用ASR的接口前,需要获取到操作通道的UUID。通过操作通道UUID来启动主被叫的ASR。

  • API
uuid_cti_start_detect_speech UUID 127.0.0.1:9988 0 150 1000 3 0.2 0 60000 '' '' 0 '' 1

在这里插入图片描述

停止ASR接口

在调用ASR的接口前,需要获取到操作通道的UUID。通过操作通道UUID来停止主被叫的ASR。

  • API
uuid_cti_stop_detect_speech UUID

在这里插入图片描述

通知配置

通知配置的具体用法可参考此链接:实时质检通知配置

cti.json配置

配置到cti.json文件的最后一个"}"上方:

"qc": {"log": true,   //通知到数据库的配置,不需要通知到数据库可删除该配置,后续配置的数据库表也不用添加。"database":{"table":"qc_record"},"redis": {//asr通知,默认一句话说完了才发送通知,如果需要通知识别的中间件结果 需要设置通道变量 qc_push_intermediate_result=true 就可以发送实时的识别结果,注意:中间件结果只支持通道到redis的channel。"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" ]  //该参数可添加所需的字段,在质检开启时将这些字段推送到redis中。默认字段说明:"caller_id_number":主叫,"callee_id_number":被叫, "direction":方向。},//质检停止通知配置。"qc_stop": {"channel": "cti_qc","list": "cti_rt_call_qc_stop"}}
}

质检结果写入数据库

cti.json 配置文件里面 qc.database.table 配置上记录的表名,就会把质检结果记录到数据库。

表结构如下:

CREATE TABLE `qc_record` (`uuid` VARCHAR(50) NOT NULL,`datetime` DATETIME NULL DEFAULT CURRENT_TIMESTAMP,`hit` JSON NULL DEFAULT NULL,`speak` JSON NULL DEFAULT NULL,`level` TINYINT(3) NULL DEFAULT NULL,PRIMARY KEY (`uuid`) USING BTREE
)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/46178.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

进程通信(1):无名管道(pipe)

无名管道(pipe)用来具有亲缘关系的进程之间进行单向通信。半双工的通信方式&#xff0c;数据只能单向流动。 管道以字节流的方式通信&#xff0c;数据格式由用户自行定义。 无名管道多用于父子进程间通信&#xff0c;也可用于其他亲缘关系进程间通信。 因为父进程调用fork函…

开发个人Ollama-Chat--10 绑定域名

开发个人Ollama-Chat–10 绑定域名 域名购买最好找正规的渠道购买&#xff0c;不要因贪图小便宜而多走很多的弯路。我就是第一次购买域名&#xff0c;到了一个坑壁的平台"西部数码"&#xff0c;SSL证书申请了2个月&#xff0c;没下来&#xff0c;客服也贼不专业&…

猫头虎:什么是内耗?

猫头虎 &#x1f42f; 建联猫头虎&#xff0c;商务合作&#xff0c;产品评测&#xff0c;产品推广&#xff0c;个人自媒体创作&#xff0c;超级个体&#xff0c;涨粉秘籍&#xff0c;一起探索编程世界的无限可能&#xff01; 摘要 内耗是指在工作或学习过程中&#xff0c;个…

leetcode日记(37)旋转图像

方法是看评论区想出来的&#xff1a;先将矩阵转置&#xff0c;再将每一行逆转 class Solution { public: int n,m,l,k; struct bian{int u;int v;int d; }; void digui(int loc,int c[],vector<bian> bi,int now,int q,bool colour[],int& maxx,bool jg[]){if(q>…

网络协议 — Keepalived 高可用方案

目录 文章目录 目录Keepalived 是实现了 VRRP 协议的软件Keepalived 的软件架构VRRP StackCheckersKeepalived 的配置Global configurationvrrp_scriptVRRP Configurationvrrp synchroization groupvrrp instancevirtual ip addressesvirtual routesLVS Configurationvirtual_s…

偶数位的数c++

题目描述 给你两个整数 l,r&#xff0c;求 l∼r 范围内有多少个位数为偶数的数。 输入 一行两个整数 l,r。 输出 输出位数为偶数的数的数量。 样例输入 5 15样例输出 6 提示 样例解释 10,11,12,13,14,15 位数为偶数&#xff0c;都是两位数。 数据规模与约定 对于 1…

数据结构之线性表表示集合详解与示例(C,C#,C++)

文章目录 基本特征线性表的特点&#xff1a;线性表的表示方法&#xff1a;C、C#和C语言如何实现一个线性表表示集合1. C实现2. C#实现3. C实现 总结 线性表是计算机数据结构中的一个基本概念&#xff0c;它是一种最简单的抽象数据类型。在线性表中&#xff0c;数据元素之间的关…

Qt进阶版五子棋

五子棋是一种两人对弈的棋类游戏&#xff0c;目标是在横、竖、斜任意方向上连成五个子。在Qt中实现五子棋程序&#xff0c;你需要设计棋盘界面、处理下棋逻辑、判断胜负等。以下是实现一个基本五子棋程序的步骤&#xff1a; 创建项目和界面 使用Qt Creator创建一个新的Qt Widge…

academic-homepage:快速搭建个人学术主页,页面内容包括个人简介、教育经历、发布过的学术列表等,同时页面布局兼容移动端。

今天给大家分享GitHub 上一个开源的 GitHub Pages 模板 academic-homepage。 可帮助你快速搭建个人学术主页&#xff0c;页面内容包括个人简介、教育经历、发布过的学术列表等最基本内容&#xff0c;同时页面布局兼容移动端。 相关链接 github.com/luost26/academic-homepage …

Java语言程序设计——篇四(1)

类和对象 面向对象概述面向过程与面向对象面向对象基本概念面向对象的基本特征面向对象的优势及应用 为对象定义类类的修饰符成员变量成员变量-修饰符 构造方法⭐️成员方法成员方法-修饰符例题讲解 ⚠️理解栈和堆 面向对象概述 两种程序设计方法 结构化程序设计&#xff0c…

Linux RTL8111/RTL8168 不能联网 / 最新版驱动下载安装

注&#xff1a; 机翻&#xff0c;未校对。 如何让 Realtek RTL8111/RTL8168 在 Linux 下工作 这篇文章于 2016 年 8 月在我原来的博客上发布。尽管如今 Linux 下的 RTL8111/RTL8168 网络接口的情况变得越来越稳定&#xff0c;但它们仍然会导致数据包丢失或网络连接不稳定等问题…

Python统计实战:时间序列分析之Winters指数平滑法预测

为了解决特定问题而进行的学习是提高效率的最佳途径。这种方法能够使我们专注于最相关的知识和技能&#xff0c;从而更快地掌握解决问题所需的能力。 &#xff08;以下练习题来源于《统计学—基于Python》。请在Q群455547227下载原始数据。&#xff09; 练习题 下表是某地区2…

C到C嘎嘎的衔接篇

本篇文章&#xff0c;是帮助大家从C向C嘎嘎的过渡&#xff0c;那么我们直接开始吧 不知道大家是否有这样一个问题&#xff0c;学完C的时候感觉还能听懂&#xff0c;但是听C嘎嘎感觉就有点难度或者说很难听懂&#xff0c;那么本篇文章就是帮助大家从C过渡到C嘎嘎。 C嘎嘎与C的区…

企业级移动门户平台是什么?

企业级移动门户平台是为企业提供移动应用和服务的一站式平台。它将企业内部的应用程序和数据集成在一个统一的界面中&#xff0c;方便员工使用&#xff0c;提高工作效率和增强企业的数字化转型能力。WorkPlus作为一种企业级移动门户平台&#xff0c;为企业提供了全面的移动应用…

网络流问题

文章目录 1. 网络流问题基础1.1 概述1.2 常规算法1.3 总结 2. Ford-Fulkerson Algorithm 链接&#xff1a; B站学习视频 1. 网络流问题基础 1.1 概述 最大流问题主要是关于有向图问题。有向图中有m个边&#xff0c; n个节点,其中有一个节点为s[source],还有一个终点 t [sink]…

2A高效率18V输入同步降压稳压器SY8120

前言 SOT23-6封装SY8120外观和丝印&#xff1a;qG 某创批量价格4毛多 概述 SY8120I是一款高效率、同步降压型 DC/DC 转换器&#xff0c;能够提供 2A 负载电流。该SY8120I可在 4.2V 至 18V 的宽输入电压范围内工作&#xff0c;并集成了主开关和同步开关&#xff0c;具有非常低的…

前端JS特效第34波:jQuery支持拖拽图片上传的图片批量上传插件

jQuery支持拖拽图片上传的图片批量上传插件&#xff0c;先来看看效果&#xff1a; 部分核心的代码如下&#xff1a; <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <title>jQuery支持拖拽图片上传的图片批…

freertos源码分析DAY3(二值/计数信号量)

目录 1. 二值信号量 1.1. 二值信号量的创建 1.2 任务中二值信号操作函数 1.2.1 二值信号量的释放 1.2.2 等待二值信号量资源函数 1.3 中断中二值信号量操作函数 1.3.1 中断中释放二值信号量 1.3.2 中断中接收信号量 2. 计数信号量 2.1 计数信号量的创建 信号量&#xff08;Sem…

Backpropagation

在使用gradient descent的时候&#xff0c;神经网络参数θ有很多参数&#xff08;w&#xff0c;b&#xff09;。那gradient就会是一个有成千上万维的vector。所以&#xff0c;Backpropagation在做的事情就是有效的把它&#xff08;上图左侧的向量&#xff09;计算出来。 复习一…

C++初学者指南-5.标准库(第一部分)--标准算法介绍

C初学者指南-5.标准库(第一部分)–标准算法介绍 文章目录 C初学者指南-5.标准库(第一部分)--标准算法介绍C的标准算法是&#xff1a;第一个示例组织输入范围自定义可调用参数并行执行(C17)迭代器和范围的类别错误消息命名空间std::ranges中的算法 (C20)算法参数图标相关内容 C的…