呼叫中心中间件实现IVR进入排队,判断排队超时播放提示音

### 文章目录

  • [@[TOC](文章目录)](#文章目录 @TOC 前言 需求 排队结束原因 联系我们 实现步骤 1. 调用http接口返回动作 2. 启用拨号方案)
  • [前言](#文章目录 @TOC 前言 需求 排队结束原因 联系我们 实现步骤 1. 调用http接口返回动作 2. 启用拨号方案)
  • [需求](#文章目录 @TOC 前言 需求 排队结束原因 联系我们 实现步骤 1. 调用http接口返回动作 2. 启用拨号方案)
  • [排队结束原因](#文章目录 @TOC 前言 需求 排队结束原因 联系我们 实现步骤 1. 调用http接口返回动作 2. 启用拨号方案)
  • [联系我们](#文章目录 @TOC 前言 需求 排队结束原因 联系我们 实现步骤 1. 调用http接口返回动作 2. 启用拨号方案)
  • [实现步骤](#文章目录 @TOC 前言 需求 排队结束原因 联系我们 实现步骤 1. 调用http接口返回动作 2. 启用拨号方案)
  • [1. 调用http接口返回动作](#文章目录 @TOC 前言 需求 排队结束原因 联系我们 实现步骤 1. 调用http接口返回动作 2. 启用拨号方案)
  • [2. 启用拨号方案](#文章目录 @TOC 前言 需求 排队结束原因 联系我们 实现步骤 1. 调用http接口返回动作 2. 启用拨号方案)

前言

需求

呼叫中心需要实现调用IVR接口进入排队,如果是因为等待超时导致退出排队的,那就播放一段提示音再挂断通话;其他的情况就直接挂机。

排队结束原因

顶顶通呼叫中心中间件中有一字段记录了排队结束的原因:cti_acd_cause,只要获取到该字段的值,就知道了排队结束的原因:

结束原因
0 未知
1 排队名字不存在 (ERROR(acdname nonexistent))
2 排队模块未初始化 (ERROR(not init))
3 没空闲坐席不等待 (TIMEOUT(no wait))
4 播放进入提示音的时候挂机了 (ERROR(announce hangup))
5 授权无效 (ERROR(auth failed))
6 并发超过授权限制 (ERROR(limit))
7 提示是否继续等待,没选择继续等待(TIMEOUT())
8 等待时间超过了最大等待时间(TIMEOUT())
9 呼叫坐席的时候挂机了 (ERROR(caller hangup))
10 等待的时候挂机了 (ERROR(wait hangup))
11 转接坐席成功 (DONE(坐席线路))

联系我们

有意向了解呼叫中心中间件的用户,点击该链接可添加工作人员的VX:https://blog.csdn.net/H4_9Y/article/details/136148229


实现步骤

1. 调用http接口返回动作

例:拨号方案需要调用IVR的http接口,接口返回进入排队的动作,排队结束后再次调用IVR的http接口,把排队失败原因变量一并传递给接口。如果排队是因为超时而退出的,接口在返回播放提示音的动作。

首先需要在拨号方案设置页面中创建一个拨号方案,该拨号方案的用途:调用http接口,然后接口返回需要执行的动作。

bash 复制代码
<action application="cti_curl",data="http://ip/app?number=${destination_number}"/>

接口返回的数据类型是数组,可支持多个动作:

bash 复制代码
[
	{
		"application": "cti_acd",
		"data": "8001 300 1"
	},
	{
		"application": "cti_curl",
		"data": "http://ip/app?number=${destination_number}&call=${uuid}&cti_acd_cause=${cti_acd_cause}"
	}
]

动作解析:

  • cti_acd:进入排队的动作,
    • 8001:排队名称
    • 300:最大排队等待时间,单位:秒(s),如果超过了这个时间,没有接通坐席,就会强制离开排队。
    • 优先级:默认3个优先级,0:低优先级 1:中优先级 2:高优先级。
  • cti_curl:再次调用http,把排队结束原因变量传递给接口。如果${cti_acd_cause}变量值是8,就说明是超时退出的排队,此时接口返回播放提示音(playback)动作;如果该变量值不是8,接口那就返回挂断(hangup)动作。

创建调用http接口的拨号方案,如图所示:

2. 启用拨号方案

  • 手机呼入调用http接口:external呼叫路由启用拨号方案。
  • 分机呼叫调用http接口:internal呼叫路由启用拨号方案。
相关推荐
code喵喵1 天前
docker-compose安装常用中间件
docker·中间件·容器
咚咚?1 天前
docker 启动中间件
docker·中间件·容器
重生之后端学习2 天前
day08-Elasticsearch
后端·elasticsearch·spring cloud·中间件·全文检索·jenkins
云资源服务商2 天前
探秘阿里云消息队列:解锁分布式系统的异步通信奥秘
阿里云·中间件·云计算
伍哥的传说4 天前
H3初识——入门介绍之常用中间件
前端·javascript·react.js·中间件·前端框架·node.js·ecmascript
失败又激情的man6 天前
Scrapy进阶封装(第四阶段:中间件设置,动态UA,ip代理池)
爬虫·scrapy·中间件
亲爱的非洲野猪6 天前
Kafka消息积压的多维度解决方案:超越简单扩容的完整策略
java·分布式·中间件·kafka
摘星编程6 天前
深入理解责任链模式:从HTTP中间件到异常处理的实战应用
http·设计模式·中间件·责任链模式·实战应用
~山有木兮8 天前
LiteHub中间件之限流实现
网络·http·中间件
fo安方8 天前
运维的利器–监控–zabbix–第三步:配置zabbix–中间件–Tomcat–步骤+验证
运维·中间件·zabbix