呼叫中心中间件实现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呼叫路由启用拨号方案。
相关推荐
阿昌喜欢吃黄桃8 小时前
RocketMq事务消息原理
java·中间件·消息队列·rocketmq·mq
半夜修仙1 天前
延迟队列的介绍及常见问题
java·数据库·中间件·rabbitmq
手握风云-1 天前
一条消息的旅程:RabbitMQ 学习与实践(一)
中间件·rabbitmq
RH2312112 天前
2026.6.8Linux
java·数据库·中间件
理人综艺好会3 天前
双Token机制在实际项目中的应用与实践
中间件·token
番茄去哪了3 天前
神领物流面试题(一)
java·大数据·中间件
念何架构之路3 天前
消息中间件
中间件
都说名字长不会被发现3 天前
Spring Boot Starter 中间件账号密码加密方案设计与实现
java·spring boot·后端·中间件
瀚高PG实验室4 天前
java中间件无法连接数据库
java·数据库·中间件·瀚高数据库
之歆4 天前
Day11_Express 深入解析:从中间件到项目实战
中间件·express