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

embedded/2025/1/8 17:33:44/

文章目录

    • @[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接口,然后接口返回需要执行的动作。

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

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

[{"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呼叫路由启用拨号方案。
    在这里插入图片描述

http://www.ppmy.cn/embedded/152340.html

相关文章

一则问答:211集成电路专业,转互联网还是FPGA?

问&#xff1a; 我于2016年毕业于西安电子科技大学集成电路设计与集成系统专业。毕业后&#xff0c;我在一家不知名私企从事PCB绘制和单片机调试工作&#xff0c;持续了一年半。之后&#xff0c;我受律师职业光鲜外表的吸引&#xff0c;尝试了两年的司法考试&#xff0c;但未能…

图漾相机基础操作

1.客户端概述 1.1 简介 PercipioViewer是图漾基于Percipio Camport SDK开发的一款看图软件&#xff0c;可实时预览相机输出的深度图、彩色图、IR红外图和点云图,并保存对应数据&#xff0c;还支持查看设备基础信息&#xff0c;在线修改gain、曝光等各种调节相机成像的参数功能…

C++二十三种设计模式之装饰模式

C二十三种设计模式之装饰模式 一、组成二、特点三、目的四、缺点五、示例代码 一、组成 抽象组件类&#xff1a;为具体组件类和抽象装饰器类提供共同的父类。 具体组件类&#xff1a;被具体装饰器类装饰的类。 抽象装饰器类&#xff1a;持有具体组件类的引用。继承抽象组件类&…

【Unity笔记】资源包导入后是洋红色(粉色)怎么办?

1.导入后发现是这样的 2.这个问题是渲染管道不匹配引起的。 导入的素材用的是 「通用渲染管线 Universal Render Pipeline, URP」&#xff0c;而项目里默认配置的是「内置渲染管线」&#xff0c;如图&#xff1a; 【知识补充】什么是渲染管线&#xff1f;&#xff1f;&#x…

SQL从入门到实战

学前须知 sqlzoo数据介绍 world nobel covid ge game、goal、eteam teacher、dept movie、casting、actor 基础语句 select&from SELECT from WORLD Tutorial - SQLZoo 基础查询select单列&多列&所有列&别名应用 例题一 SELECT name, continent, population …

李宏毅机器学习课程笔记02 | 机器学习任务攻略General Guide

第一步&#xff1a;分析loss on training data 先检查在训练数据上模型是否很好的学习 情况1&#xff1a;如果在训练集上&#xff0c;loss很大&#xff0c;说明在训练资料上没有训练好 可能性1&#xff1a;设置的模型太简单了&#xff0c;模型存在model bias模型偏差&#x…

Redis数据库笔记——ZSet的底层实现(跳表)

大家好&#xff0c;这里是Good Note&#xff0c;关注 公主号&#xff1a;Goodnote&#xff0c;专栏文章私信限时Free。本文详细介绍ZSet数据类型中跳表的底层实现&#xff0c;包括基本特点和常用操作。 文章目录 ZSet&#xff08;有序集合&#xff09;概述基本特点底层实现 Ski…

使用vue项目中,使用webpack模板和直接用vue.config来配置相关插件 区别是什么,具体有哪些提现呢

在 Vue 项目中&#xff0c;使用 Webpack 模板 和 vue.config.js 来配置相关插件的主要区别在于配置的复杂度、灵活性和易用性。以下是两者的详细对比&#xff1a; 1. Webpack 模板 Webpack 模板是 Vue CLI 早期版本&#xff08;如 Vue CLI 2.x&#xff09;中提供的项目初始化模…