手机打电话时由对方DTMF响应切换多级IVR语音菜单(完结)

手机打电话时由对方DTMF响应切换多级IVR语音菜单(完结)

--本地AI电话机器人

上一篇:手机打电话时由对方DTMF响应切换多级IVR语音菜单(话术脚本与实战)

下一篇:编写中


  • 一、前

经过前面几个篇章的详细阐述中,我们在手机上实现了“打电话时由对方DTMF响应切换多级IVR语音菜单”的功能。完全可以将个人SIM卡手机号用来当作企业400电话,进行通话IVR反馈和DTMF按键响应了。

但依照前文篇章中对【多级IVR菜单】功能的描述,我们仍然需要最后做一件事情:实现在多个手机设备之间同步IVR语料。实现在某一个手机上编辑和导入的IVR菜单和语音文件,能够同样完整的复用到多个自己的其它手机上。

在【蓝牙电话SDK的示例App】中,我们使用“用户名”这一个概念来对多级IVR菜单和语料进行区分。在阿里云上搭建的服务器中开辟一个临时存储的空间,供同一个用户名下所有的手机之间无阻碍的上传和拉取多级IVR菜单和IVR语音资料。

示例App中将用户名写在了代码中,默认的示例App的用户名都是“anonymous”。有需要的用户可以用最新的代码自己修改为自己注册的用户名,这样就不会跟别人的IVR菜单产生冲突。

体验和下载地址:

拨号器SDK示例app:http://120.78.211.195:8060/sdk/SdkDemo.apk

USB蓝牙配件购买路径(参考):https://item.taobao.com/item.htm?_u=pk10l4ccbcd&id=649368472986

  • 二、多级IVR菜单的序列化

由蓝牙电话SDK示例App界面的【多级IVR语音片段-编辑】区域的列表展示效果,我们很容易得知:编辑完成的多级IVR菜单,是一个典型的树形结构

示例App中使用Json格式,将该树形结构存储到手机本地的一个multIVR.json文件,并在IVR菜单的上传和下载操作中,率先对这个文件进行获取和操作。从而解析出当前用户有哪些IVR子菜单已经录制或导入了语音文件数据,在上传操作时将该语音文件也同步上传到阿里云服务器进行存储。

multIVR.json文件的解析内容大致如下图所示:

存储后的json文件也同样会上传到云服务器中进行存储。

  • 三、IVR菜单和语料的上传

用户可以使用【上传IVR】按钮,将本地手机已编辑好的多级IVR菜单及其语音数据,同步上传到阿里云服务器对应用户名的目录下存放。

这样当该用户的其它手机安装和使用示例App时,就可以使用“拉取”功能,下载并恢复多级IVR菜单到另外的手机上,并正常的进行IVR导航和使用了。

由于云服务器“中心化”的思想,同一个用户名在服务器上只会维持同一份数据。在不同手机都可以上传的情况下,示例App对上传操作进行了弹框确认,手机的上传行为会覆盖旧的上传的数据。界面效果如下图所示:

上传操作中,示例App会将多级IVR菜单的各个节点序列化到multIVR.json文件,并将该文件也一起上传到云服务器中。(所以此处上传的总数是14,但下面拉取的总数是13

上传操作完成后,进度框会自动消失,并于界面中弹出Toast文字提示上传完成。

  • 四、IVR菜单和语料的拉取

用户在新手机中安装了蓝牙电话SDK示例App后,可使用设置图标的弹出功能中【拉取多级IVR】的功能菜单来进行“IVR菜单和语料的拉取”。

示例App初次启动时,由于多级IVR菜单列表中内容为空,默认会自动拉取一次云服务器上已有的IVR菜单进行覆盖。

由于拉取操作会对手机当前已创建的IVR子菜单造成影响,在操作之前会弹出界面提示框,提醒用户是否继续拉取?界面的展示效果如下图所示:

点击【继续拉取】按钮后,将使用http://协议,快速的从阿里云服务器中逐个拉取数据。(受服务器下行速度的影响,拉取的速度非常快,进度对话框一闪就消失提示拉取成功了。)如下图所示:

另外,在多级IVR菜单的编辑功能中:用户删除IVR菜单,由于是级联删除的,一般会进行弹框提醒。再次确认后才真正开始做删除操作,界面提示内容如下图所示:

  • 五、总结

本文在上一篇的手机上实现了“打电话时由对方DTMF响应切换多级IVR语音菜单”功能的基础之上,锦上添花的增加了多级IVR菜单的上传和下载功能。

使同一用户的多个不同的手机设备,能够快捷的使用同样的IVR引导菜单统一对外提供业务和功能服务。这样有利于业务的快速部署并消除服务的体验差异。对业务起到一定程度的帮助。至此,“打电话时由对方DTMF响应切换多级IVR语音菜单”这一课题探索完毕。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/bicheng/82040.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android.mk解析

一、变量说明: 1.LOCAL_PATH:= $(call my-dir) 此行代码在Android.mk的开头,用于给出当前文件的路径 LOCAL_PATH 用于在开发树中查找源文件 宏函数’my-dir’, 由编译系统提供,用于返回当前路径(即包含Android.mk file文件的目录) 2.LOCAL_PACKAGE_NAME := SecSettings …

ip地址改了网络还能用吗?ip地址改了有什么后果

当用户发现自己的网络出现异常时,常常会疑惑:如果IP地址被更改,网络是否还能正常使用?要解答这个问题,需要从IP地址的作用、修改方式以及网络配置等多个角度来分析。 一、IP地址的作用 IP地址是设备在网络中的唯一标识…

Python-Django系列—日志

Python 程序员通常会在其代码中使用 print() 作为一种快速和方便的调试工具。使用日志框架只比这多花一点点工夫,但更加优雅和灵活。除了用于调试之外,日志还可以为您提供有关应用程序状态和健康状况的更多信息,而且这些信息结构更清晰。 一…

ArcGIS Pro对图斑进行等比例、等面积、等宽度的分割

ArcGIS全系列实战视频教程——9个单一课程组合系列直播回放_arcgis视频教程我要自学网-CSDN博客 4大遥感软件!遥感影像解译!ArcGISENVIErdaseCognition_遥感解译软件-CSDN博客 今天介绍一下ArcGIS Pro对图斑进行等比例、等面积、等宽度的分割&#xff0…

”故茗”茶文化网站

摘 要 计算机网络发展到现在已经好几十年了,在理论上面已经有了很丰富的基础,并且在现实生活中也到处都在使用,可以说,经过几十年的发展,互联网技术已经把地域信息的隔阂给消除了,让整个世界都可以即时通话…

【和春笋一起学C++】(十五)字符串作为函数参数

1. char指针作为函数参数 在C语言中,表示字符串的方式有3种: char数组用引号括起的字符串常量char指针 这3种形式都可以将其作为实参传递给函数中的参数(char*),因此函数的形参需要使用char*类型。将字符串作为参数…

VueRouter路由组件的用法介绍

1.1、<router-link>标签 <router-link>标签的作用是实现路由之间的跳转功能&#xff0c;默认情况下&#xff0c;<router-link>标签是采用超链接<a>标签显示的&#xff0c;通过to属性指定需要跳转的路由地址。当然&#xff0c;如果你不想使用默认的<…

【C/C++】胜者树与败者树:多路归并排序的利器

文章目录 胜者树与败者树&#xff1a;多路归并排序的利器1 胜者树简介1.1 定义1.2 胜者树结构与原理1.2.1 构造流程1.2.2 归并过程 2 败者树简介2.1 背景场景2.2 基本定义2.3 败者树结构和原理2.3.1 树的构造&#xff08;初始建树&#xff09;2.3.2 查询和更新 3 胜者树 vs 败者…

零基础设计模式——第二部分:创建型模式 - 原型模式

第二部分&#xff1a;创建型模式 - 5. 原型模式 (Prototype Pattern) 我们已经探讨了单例、工厂方法、抽象工厂和生成器模式。现在&#xff0c;我们来看创建型模式的最后一个主要成员——原型模式。这种模式关注的是通过复制现有对象来创建新对象&#xff0c;而不是通过传统的…

C++(初阶)(十九)——红黑树

红黑树 红黑树概念规则实现结点插入变色变色参考代码&#xff1a; 查找查找参考代码 遍历 红黑树检查完整代码 概念 红⿊树是⼀棵⼆叉搜索树。它的每个结点增加⼀个存储位来表示结点的颜⾊&#xff0c;可以是红色或者黑色&#xff08;并不会出现第三种颜色&#xff09;。 通过…

Mistral AI 开源最新 Small 模型——Devstral-Small-2505

Devstral 是一款专为软件工程任务设计的代理型大语言模型&#xff08;LLM&#xff09;&#xff0c;由 Mistral AI 和 All Hands AI 合作开发 &#x1f64c;。Devstral 擅长使用工具探索代码库、编辑多个文件以及驱动软件工程代理。该模型在 SWE-bench 上表现出色&#xff0c;使…

CDGA|一线二线企业数据治理项目目前发展状况

一线城市与二线城市企业在数据治理项目的发展状况上存在一定差异&#xff0c;主要体现在目标、资源投入、策略实施以及文化培育等方面。 一线城市企业数据治理项目发展状况 ‌数据治理目标全面系统‌&#xff1a; ‌数据质量与安全‌&#xff1a;一线城市的大型企业通常拥有海量…

Lyra学习笔记1地图角色加载流程

目录 1 地图加载流程1.1 默认Experience的加载1.2 加载角色1.3 加载场景中的几个传送点 2 几个内建类的笔记2.1 UDataAsset2.2 UAssetManager 纯个人笔记&#xff0c;有错误欢迎指正&#xff0c;学习阶段基本看到不会的就写一写&#xff0c;最后有时间会梳理整体结构 先看完了官…

SurfaceFlinger及Android应用RenderThread角度观察Jank丢帧卡顿

SurfaceFlinger及Android应用RenderThread角度观察Jank丢帧卡顿 CPU、GPU、Display 三个部分&#xff1a;CPU 负责计算帧数据&#xff0c;把计算好的数据交给 GPU&#xff0c;GPU 会对图形数据进行渲染&#xff0c;渲染好后放到 buffer &#xff08;图像缓冲区&#xff09;存起…

《牛客》数组中出现次数超过一半的数字

牛客的刷题之路不停歇 ⌓‿⌓ 不积跬步无以至千里&#xff0c;不积小流无以成江海 The harder you work,the luckier you will be 题目及示例 题目链接 描述 给一个长度为 n 的数组&#xff0c;数组中有一个数字出现的次数超过数组长度的一半&#xff0c;请找出这个数字。 例…

七彩喜康养护理——科技赋能下的全周期健康守护

在当今社会&#xff0c;随着人们健康意识的不断提高&#xff0c;护理行业逐渐走向专业化、精细化&#xff0c;而七彩喜智养护理作为一种新兴的护理方式&#xff0c;逐渐受到了广泛的关注和应用。 它不仅仅是针对单一病症的治疗护理&#xff0c;而是一种全面的、全方位的健康管…

【爬虫】12306自动化购票

上文&#xff1a; 【爬虫】12306查票-CSDN博客 下面是简单的自动化进行抢票&#xff0c;只写到预定票&#xff0c;没有写完登陆&#xff0c; 跳出登陆后与上述代码同理修改即可。 感觉xpath最简单&#xff0c;复制粘贴&#xff1a; 还有很多写法&#xff1a; 官网地址&#…

Java设计模式之组合模式:从入门到精通(保姆级教程)

文章目录 1. 组合模式概述1.1 专业定义1.2 通俗解释1.3 模式结构2. 组合模式详细解析2.1 模式优缺点2.2 适用场景3. 组合模式实现详解3.1 基础实现3.2 代码解析4. 组合模式进阶应用4.1 透明式 vs 安全式组合模式4.2 组合模式与递归4.3 组合模式与迭代器5. 组合模式在实际开发中…

游戏如何应对反编译工具dnspy

Unity Mono 是 Unity 引擎默认的脚本运行时环境&#xff0c;由跨平台的开源 .NET 框架实现&#xff0c;它允许开发者使用 C# 等编程语言编写游戏逻辑&#xff0c;凭借简单易用的开发环境和高效的脚本编译速度&#xff0c;得到了众多游戏的青睐。 在 Mono 模式下&#xff0c;游…

腾讯云证书过期提醒的应对措施,Caddy 自动管理的 Let‘s Encrypt 证书.

用腾讯的免费证书&#xff0c;90天需要换一次。 Caddy 自动管理的 Lets Encrypt 证书. 在网站上按F12然后找到security选项&#xff0c;然后选择View certifcate 就可以看到证书的有效期。 完全无需操作 你的网站实际使用的是 Caddy 自动管理的 Lets Encrypt 证书&#xff0c;…