CCAdmin - 顶顶通呼叫中心中间件Web管理系统 CCAdmin - 顶顶通呼叫中心中间件Web管理系统
空号识别
  • 介绍
  • 基本功能(ippbx)
  • 电话机器人(AI)
  • 语音识别
  • 空号识别
  • 在线预览 (opens new window)
  • 顶顶通官网 (opens new window)
  • 顶顶通博客 (opens new window)
日志 (opens new window)
空号识别
  • 介绍
  • 基本功能(ippbx)
  • 电话机器人(AI)
  • 语音识别
  • 空号识别
  • 在线预览 (opens new window)
  • 顶顶通官网 (opens new window)
  • 顶顶通博客 (opens new window)
日志 (opens new window)
  • 部署正式版mod_cti
  • 接口控制质检的开启和关闭
    • 功能介绍
    • 实现流程
      • 1. 实现思路
      • 2. 创建质检关键词组
      • 3. 创建拨号方案
      • 4. 使用场景
      • 5. 执行FreeSWITCH 命令接口
      • 6. 获取uuid
      • 7. 启动asr识别
      • 8.关闭asr识别
    • 通知配置
      • cti.json配置
      • 质检结果写入数据库
  • 实时质检的场景运用
  • 其他
顶顶通
2024-09-18
目录

接口控制质检的开启和关闭

# 功能介绍

顶顶通呼叫中心中间件的实时质检功能由两个模块实现,分别是:cti_asr和cti_qc。

  • cti_asr:负责调用asr,进行识别。
  • cti_qc:负责把识别出来的文字进行质检,如果有命中词库中的关键词,就执行对应的动作,如:挂断、播放警告音。

# 实现流程

# 1. 实现思路

质检功能是对语音识别出的文字进行质检,如果不启用语音识别,那么就不会进行质检。所以通过接口控制语音识别的开启关闭,就可以变相地控制质检功能的开启关闭。

# 2. 创建质检关键词组

例:在 CCAdmin->机器人->实时质检 中创建一个名称为keywords的关键词组,然后配置该词组的关键词列表、触发命令、等级等。

创建关键词组

# 3. 创建拨号方案

在 CCAdmin-Web->呼叫中心->拨号方案设置 页面创建一个拨号方案,名称:随时质检。这个拨号方案只有质检功能,没有语音识别功能。因为语音识别需要由接口来调用。

  • 拨号方案中的keywords是需要质检的关键词组,如果需要质检其他关键词组,可将该拨号方案中的keywords替换成需要质检的关键词组名称。
  • 拨号方案中第一行的动作是对本端进行质检,第二行的动作是对对端进行质检。
<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"/>
1
2

创建拨号方案

# 4. 使用场景

不同使用场景需要在不同的呼叫路由中启用上一步骤创建的拨号方案。例如:

  • 自动外呼进入排队转坐席:acd呼叫路由启用随时质检这一拨号方案,并且将该拨号方案移动到进入排队的上方。

  • 自动外呼进入机器人:robot呼叫路由启用随时质检这一拨号方案,并且将该拨号方案移动到json话术或者http话术的上方。

  • 电话呼入:external呼叫路由启用随时质检这一拨号方案,并且将该拨号方案移动到最上方。

  • 手动外呼:internal呼叫路由启用随时质检这一拨号方案,并且将该拨号方案移动到呼叫外线的上方。

    创建拨号方案

# 5. 执行FreeSWITCH 命令接口

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

{
"cmd":"fs_api",
"commandline":"FreeSWITCH 命令"
}
1
2
3
4

# 6. 获取uuid

在调用ASR的接口前,需要获取到操作通道的UUID。通过操作通道UUID来启动asr识别主叫或者被叫。获取通道uuid的freeswitch命令:cti show channels,在 CCAdmin-Web->运维调试->接口测试 页面中可以进行接口测试:

例:号码1001呼叫号码1002,在呼叫的过程中利用命令获取号码1001通道uuid。

获取通道uuid

# 7. 启动asr识别

asr启动就会识别用户所说的话,然后就会对识别的文字进行质检。

例:如果我想识别号码1001所说的话,那么就需要利用号码1001的通道uuid开启这个通道的asr。这样就可以识别号码1001所说的话,然后对识别的文字进行质检。

  • 开启asr识别的API

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

开启asr

# 8.关闭asr识别

关闭asr就会停止识别用户所说的话,质检也会跟着停止了。

例:如果我不想质检识别号码1001了,那么就关闭号码1001通道的asr。这样就停止对号码1001的质检了。

  • 关闭asr识别的API

    uuid_cti_stop_detect_speech uuid
    
    1

    关闭asr

# 通知配置

# cti.json配置

将下面配置配置到cti.json文件中,可以把质检结果推送到redis和mysql中:

"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"
    }
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

# 质检结果写入数据库

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
)
1
2
3
4
5
6
7
8
上次更新: 2024/11/30, 17:49:57
部署正式版mod_cti
实时质检的场景运用

← 部署正式版mod_cti 实时质检的场景运用→

微信:cdevelop
Copyright © 2024-2025 福州晋安区顶顶通软件有限公司  |  闽ICP备17029631号-2
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式