pbx指标绝密用法(pbx指标的妙用)
ISMS
ISMS是组织开展并改进安全工作的系统的一套思路、方法。(PDCA)
项目准备
项目范围确定
- 组织部门
- 无理地点
- IT资源
初次做不建议做特别大,尽量周期比较快
项目的组织
- 高管
- 重点参与部门
- 协作部门
项目沟通机制
- 高层领导
- 各个部门
ISMS实施注意事项
现状调研
首先
- 业务特征、组织结构及职责
- 组织文化与管控模式
其次
- IT规划、IT制度文件、IT基础设施资料、IT应用系统资料、IT运维程序等
- 信息安全与相关的政策、策略、程序、记录及相关报告
现状
- 控制措施有没有
- 是否充分
- 是否有效
期望
调研方式
- 文档审查
- 问卷调查
-
人员访谈
- 覆盖面
- 访谈提纲
- 现场走查必要性
- 技术评估
调研的范围不宜过大,时间跨度不宜过长
调研内容不仅14个域和114个控制项
把握访谈时间
访谈纪要
是否有补偿控制
调研报告的内容与形式:先写总结。领导一般就看看总结
风险管理
风险管理是信息安全的基础
基于资产的风险评估
资产评估与资产价值
- 分类的意义
- 关于人员、服务、无形资产
- 资产相对价值的确定
资产的意义
资产价值不同不能划为同一资产组
评估的不同层次与方法
层次
- 战略与治理
- 组织与管理
- 项目执行
- 日常运行方面
方法
- 基于详细资产
- 基于合规标准
- 基于应用系统
- 基于IT流程
- 基于数据分析
风险评估建议由客户主导,机构为辅
不要期望一次发现所有风险
前几次风险评估效果不佳是正常的
风险是动态的:需要风险监控
风险评估不是目的:需要进行风险处置
风险处置与安全规划
体系建立
SOA适用性声明
- 根据业务需求选择试用项
- 适用项最好映射到文件框架
文件框架
- 按照27001各个域来组织
- 按照企业的各个部门来组织
体系融合
- ISO2W
- CMMI
- ISO9001
- 等保
- 其他规范
制度文件最好自己写,乙方协助
并非越复杂越好,言简意赅最好
不要追求太完美
策略
- 方针、策略、政策
- 四级文件体系
- 正式发布
- 传达相关人
- 更新与评审
安全组织
- 没有最好的,只有适合的安全组织
- 安全处(部)≠安全组织
- 通常的安全组织形态
- 安全自责落实到部门和岗位(最好与考核指标相关联)
- 关注职责分离与补偿控制
- 与外部机构建立联系(政府机构、监管机构、安全厂商、服务商、协会、论坛)
密码管理
- 分析针对哪些信息在什么环节采用密码保护
- 选择密码算法要考虑合规性(对称、非对称、哈希)
- 选择第三方或自建CA中心
- 针对密钥管理
人力资源安全
任用前
- 安全职责包含在岗位说明中
- 背景调查的必要性及成本控制
- 劳动合同中的条款与保密协议
任用中
- 入职培训时强调安全政策
-
制定一个提升人员安全意识和能力的计划
- 针对安全从业人员提供专业培训
- 针对安全联络员开展必要的技能培训
- 针对全员开展安全意识宣教工作
- 处理好全体员工开展安全意识宣教工作
开展网络安全意识和教育工作
网络安全法案
人是最薄弱的环节——社会工程学
安全培训≠意识宣教工作
安全意识宣教是安全投入性价比最高的
要系统、生动、持之以恒
任用变更与离职
- 违规处理的必要性
- 违规处理需要结合具体情况而定
- 注意权限蔓延问题
- 信息资产回收
- 账号与权限及时清除
- 强调保密责任,竞业限制协议
访问控制
原则
- 访问控制的申请与授权
- 知所必须
- 最小特权
- 职责分离
- 针对管理员实施安全控制
- 阶段性进行检查
内容
- 身份识别
- 身份验证(鉴别)
- 授权管理
- 审计
范围
- 网络
- 应用、中间件、数据库
- 主机
- 终端、移动智能设备
- 物理
综合信息资产分类分级、在不同层面上建立访问控制策略
删除或禁用不必要的实用工具软件
对于源代码的控制
通过技术手段落实口令策略!!!!!!
身份管理解决方案的难点(4A)
通信安全
网络管理安全性
- 网络协议
- 网络流量
- 网络设备
- 人员管理
网络服务安全性
- 接入服务
- 网络运维服务
- 安全服务
网络隔离
- 内外网隔离
- WLAN划分
- 准入控制
信息传输安全
- site to site VPN
- SSL VPN
- 信息交换
网络安全控制
- 下一代防火墙、WAF
- 网闸、信息交换系统
- 防垃圾邮件、病毒网关、UTM
- 网络沙箱、防APT攻击
- 上网行为管理、非法外联检测
- IDS/IPS、攻击诱捕(蜜罐)
- 抗DDOS
无限安全
- 安全配置
- 热点检测
- IDS/IPS
传统通信
- PBX
- 电话
- 传真
操作安全
文件操作规程
- 三四级文件
变更流程
- 有变更走流程
容量管理
开发、测试和运行环境分离
防恶意代码
- 终端、移动设备、服务器
安全配置
- 建立安全配置基线
备份
- 与灾难恢复一起考虑
日志
- 日志保护
时钟同步
- 设置时钟服务器
限制软件安装
- 建立软件白名单
安全检查审计
- 基线配置
- 权限
- 违规操作
- 后续处理
管理漏洞
- 漏扫工具
- 漏洞挖掘
- 补丁流程
监控
- 威胁情报
- 态势感知
- 事件处理
物理安全
物理安全范畴
- 物理位置选择
- 建造安全
- 场所周边安全
- 内部区域划分与控制
- 线缆安全
-
设备安全
- 场内设备
- 场外设备
- 无人值守设备
-
环境安全
- 雷击
- 火灾预防与扑灭
- 温湿度
- 通风
- 电力供应
- 防干扰
物理计划要素
- 通过威慑预防犯罪和破坏
- 通过使用延迟机制减少损失(多重控制措施)
- 犯罪或破坏检测
- 安全事故评估
- 物理安全事件响应
常见的控制措施
- 门
- 锁
- 玻璃
- 栅栏
- 照明
- 文件柜
- 保安
- 门禁系统
- CCTV
- 屏蔽线缆和机房
- 入侵检测系统
- 防雷击
- HVAC(暖通空调)
- 水灾、火灾探测器
- 灭火系统
- UPS和发电机(偶尔启动确定可用性)
- 场所撤离计划(需进行演练)
- 物理安全审计
信息系统获取,开发和运维
漏洞的成因
- 只关注功能实现,忽略安全需求
- 团队的安全开发经验欠缺
- 缺乏安全开发流程,或项目管理流程未包含安全机制
- 缺乏安全部署标准或部署
- 缺乏安全开发规范或安全开发规范没有融入项目
- 缺乏评审环节,没有人对交质量把关
- 缺乏上线、发布流程,未执行安全部署,验收审核
- 安全上缺少投入,寄希望于后期补救
安全开发过程SDL
- 安全需求
- 安全设计
- 安全编码
- 安全测试
- 安全上限
识别安全需求
-
业务特点
- 交易安全
- 防欺诈
- 合规需求
- 通用需求
-
威胁设计
- 威胁建模
- 攻击面缩减
-
安全开发
- 编码规范
-
安全测试
- 代码审核
- 模糊测试
-
安全发布
- 上线安全检查
- 渗透测试、众测
建立基本安全设计原则
建立安全开发环境
人
过程
技术
管理及监视外包开发
严格管理变更
保护测试数据
资产管理和供应关系
信息资产识别
建立信息资产分类分级标准
- 分类与分级的意义
- 简单性原则
- 是否与保密、商业秘密保护相结合
通过建立资产清单识别信息资产
- 明确所有者
建立信息资产管理流程
信息资产标记
- 物理资产贴标签
- 非结构化数据、结构化数据标记的问题
信息资产权限梳理
- 实施DLP的前提
介质管理
- 技术控制方法
- 管理的难点
- 介质在传输中的安全控制
- 介质的销毁
识别供应商
-
供应商服务
- ISP提供商
- 网络提供商
- 网络安全服务
- IT维护
- 支持服务
- IT设备外包和运行外包
- 管理与业务咨询顾问及审计师
- 开发人员和测试人员
- 清洁工、餐饮人员及其他外包服务支持人员
- 临时人员、学生实习及其他人员
供应商管理
- 针对供应商工作场景建立安全策略
-
其他注意事项
- 供应商分类与筛选
- 招投标管理、供应商协议
- 人员管理、变更管理、风险管理、应急管理
- 管理供应商服务交付
- 供应商评价
信息安全事件管理
事件响应是一种能力
-
事件响应的重要性
- 安全模型的演进
- 自适应的安全机构
-
事件响应能力的要素
- 最关键:人
- 技术、工具、流程、写作
事件管理
- 信息安全事件分类分级
- 应鼓励人员报告可疑事件
-
建立安全事件处理流程
- 预案-检测-评估-响应-恢复-总结
- 注意事件升级与汇报渠道
- 注意证据收集
- 注意多方协作
业务连续性
在业务连续性中考虑安全问题
管理恢复过程
- 确定灾难恢复时的安全服务需求和级别
- 确定信息安全服务恢复方案并落实
- 开发恢复计划并纳入到BCP/DRP中
- 在演练过程中检验信息安全服务恢复
符合性
- 法律法规、行业监管、组织要求、相关合同
- 符合性清单建立与维护
- 理解符合性要求落实到ISMS制度要求
- 针对相关记录、表单、电子日志等提供必要的保护
保护知识产权
- 识别组织相关版权、商标、专利
- 文件、邮件等增加声明或水印等
- 防止盗版软件、建立软件白名单
- 建立组织商业秘密规范
-
落实商业秘密保护
- DRM、DLP、云桌面≠DLP
- 数据安全、商业秘密保护项目成功的关键
保护隐私
- 确定负责人、识别隐私范围
- 建立组织内的隐私声明
- 落实隐私保护控制
- 内外部环境变化时开展隐私评估
- 大数据平台带来的新问题
符合性检查
- 多标准合规体系的必要性
- 针对集团行组织、建立信息安全管理工作平台的必要性
-
组织定期的安全检查
- 技术性检查(渗透测试、众测)
- 第三方审核
体系运行
试运行启动
- 制定详细的试运行计划
-
召开试运行启动会
- 组织级领导、各部门领导、及信息安全联络员
落实相关工作
- 基于前期现状调研发现的问题和风险评估的结果,落实处置计划
- 相关任务落实到部门和责任人
-
对于整改任务进行跟踪
- 配置基线、资产标签、物理安全区域
- 定期向管理小组汇报整改进展
- 各部门按照文件体系要求执行
- 反馈文件执行结果进行修订
体系测量
-
指定适合的测量指标
- 年度、季度、月、周
- 整体、部门、个人
- 指标的多或少
- 不能照搬别人的指标体系
- 指标不是一成不变的
- 指标必须要有数据来源
全员安全意识宣教
- 如何选择安全意识服务商
- 确定本年度安全意识宣教的内容与形式
- 针对管理层进行开展意识培训
- 开展安全意识宣传周
- 发放安全手册、安全台历
- 动画、宣传片、微电影、课件、电子期刊、知识图片
- 海报、易拉宝、展板、现场培训、测试系统
内审
内审的目的
- 验证安全控制的有效性,发现问题
- 确保ISMS体系正常运转
内审过程
- 计划
- 准备
- 实施
- 报告
- 跟踪
确定内审范围与时间
根据被审对象制定内审检查表
组件内审团队、进行内审培训、交叉审核
管理评审
- 纳入安全组织决策层职责中
- 评审的评率
- 评审的内容
- 管理评审报告
评审的内容
- 内部审核或外部审核的结果
- 以往管理评审的跟踪措施
- 有效性测量的结果
- 合规与隐私符合情况
- 安全任务完成的情况
- 重大安全事件及处理情况
- 风险评估结果及整改落实状况
- 信息安全管理体系的变更
- 业务变化引出新的安全需求
- 安全架构变化
- 安全预算及资源需求
认证
- 认证机构的选择(国际,国内)
- 认证的范围与证书
- 认证的费用
- 认证审核阶段
- 审核前的准备
现场审核注意事项
- 首末次会议
- 时间安排
- 审核陪同
- 后勤保障
- 面对不满足项
- 与审核员的关系
- 年度复审
一、背景
智能语音对话作为人工智能领域最先落地的分支之一,可以实现与人进行自然语言多轮对话,其核心技术在近年来不断地发展成熟,包括语音识别、自然语言理解、对话管理等。伴随着技术的成熟,越来越多的电话机器人开始走进我们的生活,这些电话机器人在客户服务、智能销售、通知触达等场景发挥着重要的作用。
当你和智能语音机器人对话交互时,你是否好奇电话背后的机器人如何“听懂”你的意思,又如何像人一样“回答”你的问题?经典的技术实现路径是:机器人首先通过“语音识别(ASR)”将用户输入语音识别成文字,再通过“自然语言理解(NLU)”识别意图,之后根据意图、系统信号等输入结合对话管理技术得到相应的回复,最后通过“语音合成(TTS)”生成语音播报给电话对端的用户。但要将 ASR、TTS 这些技术应用到电话系统上,还需要一些额外的工作和技术支撑,其中比较重要的技术之一也就是本文将要介绍的 MRCP。
备注:本文涉及较多的专业名词,我们特别在文末附上了名词解释,以帮助大家进行阅读。
1.1 MRCP 是什么
MRCP(Media Resource Control Protocol, MRCP)是一种通讯协议,中文定义是:媒体资源控制协议,用于语音服务器向客户端提供各种语音服务(如语音识别和语音合成)。该协议定义了控制媒体处理资源所必需的请求(Request)、应答(Response)和事件(Event)等消息,它需要借助 RTP(Real-Time Transport Protocol, 实时传输协议)创建一个媒体会话、借助 SIP(Session Initiation Protocol, 会话初始化协议) 和 SDP(Session Description Protocol, 会话描述协议) 创建一个控制会话来实现媒体资源服务器端和客户端之间的控制[1]。
在传统的语音应用中,各集成商必须针对不同的 ASR/TTS 厂商提供的 API 接口进行专门的集成开发,不同 ASR/TTS 引擎的接口各不相同,从而导致了集成过程的复杂性和局限性。因此,在实现语音和网络技术集成方面必须需要比较规范的协议来进行处理。MRCP 协议是目前针对媒体资源和 IP 网络起草的标准协议。有了 MRCP 协议后,ASR/TTS 厂商提供 MRCP 协议的标准统一接口,语音集成开发商们不必再针对特定的 ASR/TTS 进行开发,为各种语音应用开发提供了更加灵活的选择,并有效地降低业务开发周期和成本[2]。
以语音合成(TTS)为例,图 1 展示了一个 MRCP 客户端连接媒体资源服务器的流程,在连接中会创建一个媒体会话和一个控制会话。假设连接成功,此时 MRCP 客户端对服务器端发起了一个 SPEAK 语音合成的请求,处理此请求的过程中包括了3个消息指令:SPEAK指令表示发送语音合成请求,IN-POGRESS指令表示正在处理中,SPEAK—COMPLETE指令表示处理完成[3]。
图1 MRCP 协议交互
MRCP 协议的消息格式和 HTTP 消息格式类似,如下以一次语音合成的 MRCP 消息为例,展示了 MRCP 消息的主要构成。
发起语音合成请求:
MRCP/2.0 380 SPEAK 14321 Channel-Identifier: 43b9ae17@speechsynth Content-Type: application/ssml+xml Content-Length: 253 您好,有什么能帮助您?
IN-PROGRESS 响应消息:
MRCP/2.0 119 14321 200 IN-PROGRESS #消息长度是119 bytes,ID是14321,200 表示成功,正在处理中 Channel-Identifier: 43b9ae17@speechsynth Speech-Marker: timestamp=857206027059
COMPLETE 响应消息:
MRCP/2.0 157 SPEAK-COMPLETE 14321 COMPLETE Channel-Identifier: 43b9ae17@speechsynth Speech-Marker: timestamp=861500994355 #表示SPEAK请求的正常处理结束 Completion-Cause: 000 normal
1.2 MRCP 使用场景
目前,语音行业几乎所有的重要厂商都承诺支持 MRCP。MRCP 使用场景丰富,它支持目前最热门的开源语音通信平台 Asterisk 和 FreeSWITCH ,并且提供了丰富的接口文档,其中呼叫中心就是一个典型的案例。一个简单的呼叫中心如下图 2 所示:
图2 简单呼叫中心系统示意
- 当分机拨打外呼用户时,需要从运营商那里获得一条电话通讯线路,FreeSWITCH 指定路由通过网关到达运营商线路,通过运营商基础网络、连接用户通讯设备终端。
- 智能语音服务通过 MRCP 协议与 FreeSWITCH 进行对接,用户接通电话后,智能语音服务从呼叫中心设备中实时获取声音讯号,将语音讯号转化为文本流实时输出,并将要回复的文本话术经过语音合成转化为语音讯号,交由呼叫中心进行语音播报。
在此场景中可以看到,采用 MRCP 协议,调用方仅需要面向 MRCP 接口撰写程序,而无需考虑不同语音引擎产品之间的差异,可以真正做到一次开发、多种环境下应用,任何支持 MRCP 标准的语音引擎都可以被无缝集成和调用。
1.3 美团自研的 ASR/TTS 能力
自 2018 年起至今,美团语音交互部持续投入语音识别(ASR)和语音合成(TTS)的自主研发,目前已形成平台级的服务能力。美团语音识别重点针对美团场景进行优化,相比通用场景的识别率更高;参考 2022 年的数据,在电话呼叫场景的测试集中,美团语音识别的字准率达到 94.6%(很多业界头部厂商的字准率在 89% 左右)。在骑手语音助理、客服中心语音转译、美团 App / 外卖 App语音助理等典型业务场景中进行了落地和应用。
美团语音合成从美团各场景出发,建立起从端到云一体化,全面覆盖客服、配送、听书等各个方向的合成音色群,并支持不同数据量级的语音定制化能力,做到了通用场景好、特色场景精、定制周期短。其中现有声音的客服场景效果已领先于行业,具有小样本声音克隆、强表现力的配音能力,在性能和效果层面达到了业界一流水准;同时,美团语音合成在美团外卖配送、美团商家端、美团打车、美团客服等核心业务场景落地,支持日均亿级别的调用。
1.4 我们为什么需要 MRCP
1.4.1 赋能内部业务
随着美团自研的 ASR/TTS 逐步达到业界一流水平,美团内部越来越多业务接入美团自研的 TTS 和 ASR 能力。特别是 TTS,在应用的业务场景中取得超过外采系统捷通华声的效果,但在业务对接和优化过程中,也存在一些问题,可以概括为音色机械、音色不统一、合成延时过高等。
这几类问题,主要是在业务升级替换音色过程中,采取了将业务系统(如外呼系统)与语音的合成和识别能力的 HTTP/RPC 接口直接对接的方式,这种方式不仅投入大,需要逐个业务系统、逐个流程的对接,也容易因为系统复杂性、运营疏漏等问题出现音色不统一等体验问题。因此,按行业通用标准,以 MRCP 将语音合成和识别与电话系统直接对接的方式,可以有效地降低业务使用、升级语音能力的成本,平滑地提升用户体验。
音色不统一示例:对话流程中,一部分固定的话术文本使用的提前合成好的音频文件,另一部分动态的话术文本(如,录音中“请问你是某某店吗”)采用的实时合成的音频,两部分拼接在一起播放,音色不统一。
延时过高:部分业务对于动态话术文本,特别是本身句子较长的话术,待一整句合成完成后再播放到用户,给用户带来严重的迟滞感。
1.4.2 支撑对外商业化
另一方面,越来越多美团外部企业如中通天鸿、微呼科技、马上消费金融等,认可并计划接入美团语音自研的 TTS 和 ASR 能力;预期以标准的 MRCP 协议完成对接,在客户服务、通知触达、电话提示语音识别等场景,提升其呼叫中心的基础用户体验。
二、设计与实现
2.1 设计目标
如下图 3 所示,美团的小美机器人平台、木星通讯平台分别提供不同类型的语音对话机器人能力。以语音合成(TTS)为例,这些机器人平台直接调用 TTS 引擎的服务接口,将合成好的语音文件交由电话软交换平台(如FreeSWITCH)去播报,如链路 ① 所示。
我们的目标是将这种调用关系简化,以标准 MRCP 下的语音合成服务对接电话软交换平台,那么上述机器人平台则只用核心关注机器人的对话逻辑,将具体的语音合成逻辑解耦出来,那么链路 ② 所传递的内容即为机器人待播报的话术文本,由电话软交换平台去调用和处理语音合成。
图3 语音能力与业务系统对接方式比较
总而言之,目标结合自研流式 TTS 和 ASR 能力,建设 MRCP 协议下标准的语音合成和识别服务,达到:
- 支持标准协议下的 TTS 和 ASR 能力对接方式,追齐业界主流厂商能力。
- 以横向可扩展、业务解耦的方式,支持和助力美团内部业务,在智能外呼、内呼热线等场景下提升用户体验;并为美团语音能力的对外商业化探索,提供更好的支撑。
2.2 总体系统架构
2.2.1 系统层次架构
在系统层次上,围绕联络场景,美团语音交互部正在建设全联络场景智能化的平台化解决方案。具体来说,美团智能对话平台 AICC(AI for Contact Center),基于美团语音交互部领先的语音识别、自然语言理解、多轮对话、知识图谱等人工智能技术,为美团业务提供智能文字客服(在线客服)、智能语音客服(热线客服)、智能外呼、智能营销、智能质检等完整解决方案;帮助业务从传统服务模式向智能服务模式转型,助力美团业务的服务成本优化、客户服务体验提升,实现客户服务及营销智能化升级。
AICC 的层次架构如下图 4 所示,从整个 AICC 架构来看,TTS 和 ASR 处于语音技术平台,提供语音合成和识别的 PaaS 级能力;相应地,MRCP-TTS、MRCP-ASR扩充已有的 HTTP/RPC 接口的能力范围。
图4 MRCP在AICC层次架构中的位置关系
2.2.2 系统间调用关系
以热线电话机器人的系统调用过程为例,MRCP 在系统中所处的位置以及同其他各环节的配合关系如下图 5 所示:
图5 MRCP服务调用关系
- FreeSWITCH 电话软交换平台,负责和运营商打通通讯线路,以具备基础的电话通讯能力。
- FreeSWITCH 除了以内置模块(如 mod_java)的方式开发控制接口外,也以 ESL(Event Socket Library)的 Inbound/Outbound 方式开放接口,提供事件监听、通话控制等能力。
- ESL Server 将监听到的事件、消息传递给具体的业务逻辑,可以提供通讯层所有的事件供监听和处理,籍此实现机器人的语音对话交互能力。
- 将调语音相关的事件和信号处理解耦以后来看,热线、在线机器人的交互逻辑则可以简化、抽象为统一的模型和系统。
- 管理配置台主要负责一般对话机器人所需要的意图、槽位的定义、管理和配置任务型对话流程。
- 配置管理也可对 ASR、TTS 引擎需要的领域知识进行管理,比如客服领域的词库、样本数据集的持续标注等。
- 本文所述的MRCP在系统调用中处于此位置:在FreeSWITCH 收到合成/识别请求后,发起与 MRCP-Server 的交互,MRCP-Server 调用内部实现的 MRCP-TTS Plugin 与 MRCP-ASR Plugin 分别完成相应的合成或识别结果。
- ASR Engine 和 TTS Engine 指美团语音自研的语音合成和语音识别引擎,MRCP 通过 HTTP/RPC 接口与之完成通讯。
2.3 关键技术组件
要实现一个工业可用的 MRCP Server,有两个关键技术能力:一是 MRCP 协议本身的支持,二是 MRCP Server 的高可用,如多节点的负载均衡。
2.3.1 MRCP 协议实现
对于 MRCP 协议的实现,不仅仅需要支持 MRCP 协议本身,也需要支持一套完整的协议栈,包括文章开头部分提到的 SIP、RTP 协议等,这是一个复杂且庞大的工作。
参考业界的一般做法,我们选择基于开源的 UniMRCP 完成这些工作。UniMRCP 是一个开源的、跨平台的 MRCP 协议实现,由 C/C++ 语言编写,包括了 MRCP 客户端和服务端两个部分,它封装了 SIP、SDP、MRCPv1、MRCPv2、RTP/RTCP 协议栈,并为语音服务集成商提供了一致的 API[4]。
UniMRCP 完成了 MRCP 协议栈的封装,并没有实现 ASR 或 TTS ;基于其对底层协议栈的完整支持,我们在 UniMRCP的框架下实现相应的 Recog(ASR)和 Synth(TTS)插件(即 MRCP-TTS Plugin,MRCP-ASR Plugin),并改造适配美团日志框架、监控打点等基础技术组件,从而保障服务的稳定性和可维护性。
2.3.2 MRCP Server 负载均衡
对于实现 MRCP-Server 的负载均衡,我们选用开源的 Kamailio 来完成。Kamailio 的前身叫 Openser,作为出色的 SIP proxy,在大并发量使用时常常用于负载均衡媒体服务器,对 Asterisk、FreeSWITCH、MRCP 等实现集群能力[5]。Kamailio 经常与 FreeSWITCH 配合使用,最常用的场景是 Kamailio 作呼叫负载均衡服务器(一般主备配置),FreeSWITCH做媒体相关的处理如转码、放音、录音、呼叫排队等。
2.4 MRCP-Server 模块结构
由于 UniMRCP 提供的基础框架已经实现了服务接口、连接管理、协议管理,如何加载自定义插件,以及系统层的日志框架;并且 TTS 引擎与 ASR 引擎作为基础的依赖,已以 HTTP/RPC 协议的方式提供稳定的基础语音服务。因此,开发工作是在 UniMRCP 的基础上进行 TTS/ASR 插件的开发,模块结构如下图 6 所示,主要新增的模块已在图中标灰,其中:
图6 MRCP服务模块结构
- MRCP-TTS Plugin 和 MRCP-ASR Plugin 两个为核心的模块,以插件的形式加载到 MRCP-Server。
-
MRCP-TTS Plugin 和 MRCP-ASR Plugin 抽象出公共的模块:
- 事件/接口管理:订阅和注册 MRCP-Server 收到事件和消息,如信道建立事件、请求消息等等。
- 会话管理:管理会话的创建、打开、关闭、销毁过程。
- 线程池管理:管理调用 TTS 和 ASR 引擎服务接口所需的任务线程池。
- 配置管理:读取配置文件对各自 Plugin 定义的配置项。
- 语音数据处理:包括语音数据缓冲、时长计算等。
- 服务注册:负责将服务注册到 OCTO,支持 MRCP 服务实例激活、摘除的自动发现。
- 应用日志模块,将插件这一层的日志与美团的日志框架打通,将应用日志接入美团日志中心。
- 监控打点模块,将合成首包延时、状态事件等支持,接入美团 Raptor 监控平台。
- 鉴权模块,使用美团语音开放平台的统一认证服务,完成调用 TTS 和 ASR 引擎前的鉴权过程。
2.5 部署方案
在语音交互场景中,用户可以连续不间断的“说话”并听到“回应”,是保证本次交互顺利完成的重要基础。因此,高可用是 MRCP-Server 在部署方案设计中核心关注和考虑的维度,部分节点故障不影响整体的可用性,并可以快速摘除、恢复、替换故障节点。其中,关键的措施包括:
- 统一的服务入口:使用美团 MGW(美团内部自研的四层负载均衡网关) 创建固定的虚拟 IP (VIP),提供唯一的服务访问入口。
- 资源隔离:为了减少语音合成和语音识别服务彼此间的影响,我们将 MRCP Server 拆分成两个服务,即 MRCP-TTS 和 MRCP-ASR,对二者进行隔离部署。
- 跨地域、多机房部署:将 MRCP-TTS 和 MRCP-ASR 服务部署在多个机房,并且跨地域部署,以提高服务稳定性。
- Kamailio 热备:为了防止 Kamailio 出现故障以影响整个链路,我们对 Kamailio 也采用了跨地域、多机房的部署,并且由 MGW 完成对 Kamailio 的多机热备。
- 负载均衡:显而易见地,需要对 MRCP-TTS 和 MRCP-ASR 进行负载均衡。如何进行负载均衡?起初我们打算直接使用 MGW 对 MRCP-TTS 进行负载均衡,MGW 是支持到传输层的四层负载均衡,可以路由分发到具体的服务。在我们场景中所使用的 SIP、MRCP 均属于应用层的协议,数据传输基于 TCP/UDP,理论上四层负载均衡能够满足需要。但实际协议交互过程中,支持七层负载均衡的 Kamailio 能够在 SIP 协议经过的路由点时,在协议头中加入 <Via address> 和 <Contact address> 等字段,层层路由能够始终保持与同一台机器进行交互。比如,客户端通过 SIP-INVITE 经由 Kamalio 与 MRCP服务完成握手后,结束服务、客户端发送 SIP-BYE 消息时,Kamailio 可以准确路由到当时接受 INVITE 消息的同一个 MRCP 服务。因此,最终使用 Kamailio 完成对 MRCP-TTS 和 MRCP-ASR 的负载均衡。
对应地,整体部署如图7所示,在美团通过这种部署方式为业务提供稳定可用的服务。
图7 MRCP整体系统部署方案
三、实践与应用效果
3.1 应用范围
3.1.1 美团内部业务赋能
目前 MRCP 已经在美团内外呼热线电话下的多个业务场景中广泛应用:
- 美团外呼业务语音合成:结合小美智能外呼与木星自动外呼,在美团内部的太平洋客服坐席辅助外呼、营销类外呼、通知触达类外呼等场景,逐步接入 MRCP 协议下的流式语音合成。目前已接入 MRCP 的外呼机器人日均百万次合成调用,峰值约千路并发。
- 美团内呼业务语音合成:内呼主要是支持美团呼入热线的语音合成,包括:10107888-美团客服热线、10109777-外卖客服热线、10105777-美团商服热线、10101777-美团骑手热线以及其他长尾业务热线。目前已接入 MRCP 的热线呼入机器人日均近千万次合成调用量,峰值千余路并发。
3.1.2 外部商业化应用
在外部商业化落地过程中,客户一般要求将 MRCP-Server 私有化部署到客户机房,服务的运维工作由客户自行保证;MRCP-Server 本身在 8C16G 容器中测试,可承载约 600 路并发访问。目前已支持的美团外部客户包括:
- 微呼科技,接入了美团提供的 MRCP 语音合成和识别服务,在通知触达等场景使用美团语音提供的流式语音合成能力,在“空号”、“忙音”、“助手秘书提示”等场景使用美团提供的语音识别能力。
- 中通天鸿,接入了美团提供的 MRCP 语音合成服务,支持其外呼机器人等业务下的客户选择美团语音提供的多种场景化音色。
3.2 应用效果
MRCP 将语音合成和识别能力接口标准化以后,在美团对接了外采的 Genesys 电话系统(主要支持内呼电话),以及自研的木星通讯系统(主要支持外呼电话),也在支持语音合成和识别能力商业化的过程中对接了中通天鸿、微呼科技等外部公司的电话系统。在这些业务对接和支持的过程中,一次开发多处复用,相较于早期的对接方式,极大提高了业务支持的效率。
此外,对于使用 MRCP-TTS 的业务,在语音合成的性能有明显提升,具体体现在:首包延时显著降低,且与待合成的话术文本句长无关。此前,使用 HTTP 接口进行整句合成播报,以大约 6~8 字每秒的合成速度、需要整句完成后用户才能听到声音。目前,MRCP-TTS 支持一边合成一边为用户播报语音。
从线上观测来看,内呼机器人的端到端延时降低了约 55%,外呼机器人的端到端延时降低了约 33%,并且做到了音色统一、无变量导致的音色跳跃问题。从业务使用 MRCP-TTS 前后的业务指标对比来看,有较为显著的效果:
- 在美团电话热线的呼入场景,使用 MRCP-TTS 升级原来的语音播报服务后,不满意度下降 0.25pp~3.92pp,平均电话服务时长缩短 2.19s~5.3s,可见 MRCP-TTS 的应用带来了更好用户体验。
- 在美团的智能外呼场景,结合 MRCP-TTS 提供流式语音合成服务后,对外呼机器人进行替换自研音色「美凡楠」的 A/B 试验,数据表明智能外呼通话成功率有效提升了 15% 。
在业务支持中,我们结合 MRCP 提供了多种音色,音色更加丰富真实,尽可能满足各个业务场景。下面列举了部分实际业务过程的录音,以及前文提到的语音合成问题改善情况。
四、结语
MRCP 协议及相关技术已经相对成熟,围绕技术本身而言的迭代和演进相对较少。未来,除了语音合成(TTS)和语音识别 (ASR) 外,语音交互部自研的声纹识别(VPR)技术也逐步成熟;其中,娇喘识别效果大幅提升、目前性能已超过头部厂商服务,年龄识别误差小于7.5岁(公开测试集评测)。预计结合 MRCP 在电话智能等场景提供相应技术能力,支持优化和提升业务流程及效果(如金服生意贷场景,通过声纹识别判断是否为虚假申贷人,减少恶意申贷造成的损失)。
从技术运用上看,一方面 MRCP 协议下的 TTS、ASR 为美团智能外呼机器人、智能呼入机器人等多个业务场景提供稳定的服务,并带来可观的业务效果提升;我们预期将其接入更多的业务场景,以客户为中心、给每一个用户带来流畅丝滑的人机对话体验,助力业务优化。另一方面,在标准化的 MRCP 协议接口的承载下,持续推进美团 TTS 和 ASR 能力的商业化。
五、名词解释
名词 |
解释 |
RTP |
RTP(Real-Time Transport Protocol)实时传输协议,适用于传输实时数据的应用程序,如音频、视频或模拟数据,可通过RTP的子协议 RTCP(RTP Control Protocol)保证服务质量。在 MRCP 中负责对媒体资源进行传输。 |
SIP |
SIP (Session Initiation Protocol)会话初始化协议,是一个基于文本的应用层控制协议,用于创建、修改和释放一个或多个参与者的会话。 |
SDP |
SDP(Session Description Protocol)会话描述协议,定义了会话描述的统一格式,与 SIP 配合使用在 MRCP 中达到创建一个 Media Control Channel 的目的。 |
Asterisk |
用于构建通信应用程序的开放源码框架。可以将普通计算机转换为通信服务器,实现 IP PBX 系统、 VoIP 网关、会议服务器和其他定制解决方案。 |
FreeSWITCH |
一个跨平台的、伸缩性极好的、开源免费的、多协议的电话软交换平台。 |
ESL |
Event Socket Library,外部的程序通过 Socket 方式使用 FreeSWITCH 提供的所有的 App 程序和 API 命令,控制 FreeSWITCH。 |
OCTO |
美团基础研发团队开发的分布式服务通信框架及服务治理平台,为业务提供标准化微服务技术方案。 |
MGW |
Meituan Gateway 缩写,是美团基础研发团队自研的四层负载均衡网关,并针对美团自己的需求做了额外的功能定制。 |
小美机器人平台 |
美团语音交互部自研的智能外呼机器人平台。 |
木星通讯平台 |
美团服体技术部自研的集人工呼叫,智能外呼功能于一体,支持快速配置接入的全自主研发通讯平台。 |
首包延时 |
从 MRCP 接到合成请求,到用户首次听到音频内容之间的时间间隔。 |
端到端延时 |
从用户侧发起合成请求到开始播放之间的延时。 |
六、本文作者
唐锐、森彬、子丰、亚男、王程、国桥、俞涛等,均来自美团平台/语音交互部。
七、参考文献
- [1] Media Resource Control Protocol (2022) Wikipedia. Wikimedia Foundation. Available at: https://en.wikipedia.org/wiki/Media_Resource_Control_Protocol.
- [2] 史俊波,詹舒波 (2010) MRCPv2协议及其在分布式语音资源解决方案中的应用, 中国科技论文在线-科技论文. Available at: http://www.paper.edu.cn/releasepaper/content/201009-322.
- [3] zhu, james (2018) MRCP概要, CTI. Available at: http://www.ctiforum.com/news/guonei/534456.html.
- [4] UniMRCP Introduction (no date) Home. Available at: https://www.unimrcp.org/.
- [5] Kamailio Introduction (2022) The Kamailio SIP Server Project | The Open Source SIP Server. Available at: https://www.kamailio.org/w/.
文章来源:美团技术团队
_https://tech.meituan.com/2023/03/09/practice-and-application-of-mrcp-in-voice-interaction-of-meituan.html
下一篇:三沙概念是什么意思(海南三沙市)