自定义变量添加到分机呼叫信息(mod_cti基于FreeSWITCH)

文章目录

  • 前言
  • 联系我们
  • 添加流程
    • [1. 修改cti.json配置](#1. 修改cti.json配置)
    • [2. 配置自动外呼进入排队转坐席](#2. 配置自动外呼进入排队转坐席)
    • [3. 变量同步到坐席通道](#3. 变量同步到坐席通道)
  • [4. 导入号码添加自定义变量](#4. 导入号码添加自定义变量)

前言

在默认配置中,分机的呼叫信息会被推送到redis的hash表中,hash表名:calls。我们可以通过修改配置,让呼叫信息推送到redis的channel和list,也可以选择不推送到redis。分机呼叫信息也支持添加自定义字段的推送

推送到redis的配置信息:

json 复制代码
"gui": {
    /*分机呼叫信息推送到redis*/
    "call": {
        /*呼叫信息需要记录的变量*/
        "fields": [ "Caller-Destination-Number", "Caller-Caller-ID-Number", "Caller-Callee-ID-Number", "Caller-Profile-Created-Time", "Caller-Profile-Created-Time", "Caller-Channel-Answered-Time","Caller-Channel-Hangup-Time", "Caller-Channel-Progress-Time", "Caller-Channel-Progress-Media-Time", "Answer-State", "variable_signal_bond" ],
        "hash": "calls",
        "remove_hangup":false, /*通话挂断后是否删除hash中对应的记call记录*/
        "channel": "",
        "list": ""
    }
}

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

联系我们

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


添加流程

例:自动外呼进入排队转坐席,导入号码的时候添加自定义变量:myID。最终在redisd的hash表中看到对应分机的自定义变量信息。

1. 修改cti.json配置

  • 在 CCAdmin-Web->CTI配置 页面可以直接操作 cti.json配置文件,只需要在该页面修改即可。分机呼叫信息添加自定义变量需要添加前缀:variable_,故新增的变量名:variable_myID
  • 修改完成后,页面上划至最上方,点击 "保存" 按钮保存配置。

2. 配置自动外呼进入排队转坐席

自动外呼进入排队转坐席的配置方法可参考该文档:自动外呼进入排队转坐席配置文档

3. 变量同步到坐席通道

分机作为坐席时,分机呼叫信息只能显示坐席通道的变量。而导入号码时添加的自定义变量属于外呼通道的变量,需要将外呼通道的变量同步到坐席通道,这才能在分机呼叫信息中显示该变量。

所以要导入号码前在拨号方案添加同步变量的动作:

bash 复制代码
<action application="export",data="nolocal:变量名:${变量名}"/>
  • 场景是自动外呼进入排队转坐席,自定义变量:myID。因此在 "进入排队" 拨号方案的cti_acd动作之上添加动作:
json 复制代码
<action application="export",data="nolocal:myID:${myID}"/>

4. 导入号码添加自定义变量

批量导入号码的方式有两种,分别是:直接插入到redis的号码队列[list],通过http接口的方式导入号码到号码队列。

  • 方式一:直接插入到redis的号码队列[list]。
    • 直接向队列外呼中配置的号码队列插入号码。没有对应的key,可在redis中创建对应的key,类型:list。
    • 导入号码格式:json
json 复制代码
 {
		"params": {
		    "number":"138xxxx6768"
		},
		"variables": {
			"myID": "1"
		}
	}
  • 方式二:通过http接口的方式导入号码到号码队列。
    • 接口:/api?token=${token}&action=ImportQueueDialerNumber&name=队列名字
    • 请求方式:post
    • 导入号码格式:数组。
      如下所示:number:被叫号码,字符串类型;variables:所有需要添加的自定义变量,都添加在这里。
json 复制代码
[
	{
		"params": {
		    "number":"138xxxx6768"
		},
		"variables": {
			"myID": "1"
		}
	},
	{
		"params": {
		    "number":"151xxxx7963"
		},
		"variables": {
			"myID": "2"
		}
	}
]
相关推荐
爱吃烤鸡翅的酸菜鱼7 小时前
Maven中BOM(Bill of Materials)的使用详解
java·中间件·maven·源代码管理
MY_TEUCK1 天前
【MY_TRUCK中间件实战】Redis 入门教程:从基础命令到 Spring Boot 实战
spring boot·redis·中间件
ILYT NCTR1 天前
SocketTool、串口调试助手、MQTT中间件基础
单片机·嵌入式硬件·中间件
小李云雾5 天前
FastAPI重要知识点---中间件(Middleware)
学习·程序人生·中间件·fastapi·middleware
fuquxiaoguang6 天前
住房公积金数字化建设中的四层思考:以江苏实践为例
中间件·自主可控·公积金平台·协通伟业
是小蟹呀^6 天前
【总结】LangChain中的中间件Middleware
python·中间件·langchain·agent
fuquxiaoguang6 天前
从47个接口到全栈适配:医疗信创的“重建”之路
中间件·医疗·金蝶天燕
Dontla6 天前
Audit Log(审计日志)介绍(对系统中关键操作行为记录,用户行为+系统变更+安全事件)中间件 / AOP、数据库层——数据库变更捕获(CDC)
数据库·中间件
8Qi87 天前
Elasticsearch 初识篇:核心概念与环境搭建
java·大数据·分布式·elasticsearch·搜索引擎·中间件
van久7 天前
Day15-5:中间件 封装为 扩展方法
中间件