软件环境: SpringBoot+Spring+MyBatis+Kafka+Zookeeper+Redis
开发工具: IDEA+Maven+Git+Jenkins+Kubernetes+Docker+Mysql
项目描述: IVR 系统是一套通过调用底层 CTI 系统的接口来完成复杂的呼叫流程控制的系统。它可以用来做语音导航、满意度/问卷调查、机器人会话管理等功能。前端支持拖拽生成 IVR 流程;服务端主要包含三个模块:导航流程管理模块(IVR-Web)、导航流程执行引擎(IVR-Engine)、IVR 支持组件(IVR-Support)。
责任描述: 完成 IVR 系统服务端的设计与开发,包含如下模块:
1、IVR-Web 负责导航流程的创建、编辑与配置等功能。导航流程会缓存到 Redis 中,并持久化到 Mysql 数据库。
2、IVR-Engine 负责解析和执行导航流程,并调用 CTI 系统的接口来控制整个呼叫。它从 Kafka 接收到呼叫开始事件后,
会产生一个 Session 对象,该 Session 对象会维护整个 IVR 呼叫的生命周期。为了使服务能够无状态运行,该 Session 对象被缓存在 Redis 中,导航流程的执行状态、执行位置等信息会实时变更到 Redis 里,保证了单实例出现故障,呼
叫能够被其他实例所接管,确保了 IVR 系统的高可靠性。该服务为呼叫中心系统的核心服务之一,支持水平拓展,其
被用来作为某大型银行信用卡中心的机器人系统,最大业务量 3000+并发。
3、IVR-Support 提供了 RESTful 接口调用、脚本执行、逻辑计算、TTS 语音合成、ASR 语音识别等功能。