OpenVXI体系结构

Vocalocity OpenVXI体系结构

Vocalocity OpenVXI是一个便捷式的解释VoiceXML对话标记语言的开源工具包。它目的在于为那些想要把VoiceXML融入到自己产品的系统集成商和平台供应商充当一个组件。

说明

浏览器是一个客户端应用程序。它接收一个平台上的一个或多个输入流和执行位于被解释器标记的文档服务器上的应用程序。就VoiceXML来看,应用程序包括呼叫流程逻辑,为应用程序的提示,和任何相关的语法(见下图)。文件服务器上执行的应用程序的对话框部分提供VoiceXML标记响应文档请求的浏览器。文件服务器执行部分对话框程序以发送VoiceXML标记到浏览器来响应文档请求。标记解释器在解释器上下文中提供VoiceXML标记,或许会改变上下文,然后给应用平台一个呼叫。这个应用平台包括标记解释器提供对话框所需要的所有的资源。

流程架构

下表显示了一个VoiceXML系统的组成。当一个电话被接收到,会被应用平台检测到。应用平台发送一个事件到标记解释器,标志解释器支查看它的上下文来获取初始文档的URI。然后解释器会发送一个请求到文档服务器获取这个初始文档。文档服务器随后会发送回一个文档到标志解释器,然后在第一步会指示这个实现平台展示调用方的行为。标志解释器会解释应用平台的执行结果。这个解释器或许会导致标志解释器向文档服务器发送一个额外的文档请求。

系统架构

该图还显示了这样一个系统架构,通过增加语音引擎,平台监控,管理和电话接口把OpenVXI集成到一个平台上。这个集成平台从文档服务器接收VoiceXML页。文档服务器包括一个web服务器,一个有潜力的应用框架和一个VoiceXML应用程序组成。这个VoiceXML应用程序可能会有一个或多个VoiceXMl文件,这些文件能够通例使用CGI脚本或其他计算动态生成。


Paste_Image.png

这个应用平台执行VoiceXMl文件来向连接的呼叫或电话网络提供语音服务。实现平台可以逻辑地化分为四个组成部分:

  1. OpenVXI: 解释VoiceXML标记和调用平台服务来传递标记。
  2. Platform services: 为系统运行提供水平的服务是有必要的,包括识别引擎,提示引擎,因特网获取图书馆,和ECMAScript引擎。OpenVXI通过接口访问这些元素,为了系统的功能,这些接口必须要实现。接口的实现和潜在的软件间的沟通机制,这些接口不需要定义:通过使用C/S协议或者直接沟通时被实现。
  3. Telephony and base services: 基于操作系统服务,为了接收电话呼叫,电话服务是需要的。OpenVXI对操作系统和电话服务作了一些假设,如通过修改接口访问他们。
  4. Main process and operations, administration, and maintenance system: 负责系统管理和错误报告的工具的收集。

VoiceXML实现平台组成部分

Paste_Image.png

上面的图表描述了VoiceXML平台的回绝和组成部分。所有的组件被设置成很容易访问操作系统。OpenVXI 由下列构成:

  • VXI
    解析所有的VoiceXML标记,并且担任程序中的主控角色。VXI实现了所有Voice 2.0规范中所需要的部分功能和大部分可选功能。
  • XML Parser Interface
    提供了对XML DOM解析器的访问,当前的实现是通过直接调用开源的Apache Xerces SAX and DOM的解析接口。
  • Internet Interface
    提供了通过http://和file:// 的方式访问应用文档,同时也支持了POSTing数据返回到应用服务器。相关实现包括并实现了这个接口。
  • ECMAScript (JavaScript) Interface
    提供了对ECMAScript执行服务的访问。相关的实现也整合了Mozilla SpiderMonkey开源引擎。
  • Logging Interface
    用来报告系统操作的错误,事件以及诊断信息。涉及实现的日志到文件和可选的标准输出 实现平台必须提供下面资源接口:
  • Recognizer Interface
    提供语法管理和必须由VoiceXML指定的识别,包括动态语法创建和启用语法。它通过Telephony Service来获得呼叫输入。
  • Prompt Interface
    提供完整的放音服务,包括播放"filler"音频的能力以获取音频。它必须处理录制的音频(由URI指定)并且提供语音合成服务,将返回的音频传递给重放的电话服务。
  • Telephony Interface
    提供呼叫控制服务,包括传输和断开呼叫以及提供电话事件的能力。
  • Object Interface
    提供对象访问,平台可以通过对象元素访问已定义的VoiceXML语言扩展。对象能够很容易地被定义以满足平台指定的电话控制扩展、CTI系统的弹屏显示以及其他需求。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,084评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,129评论 18 399
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,636评论 4 61
  • 从记事起,我似乎就是个充满心事的孩子,因为我心里一直藏了一个秘密,“人都会死,死了会去哪里,如果我们都会死,那...
    yoga唯阅读 1,265评论 0 1
  • 缘续 毕业了,大家要回到各自的城市打拼,临别时,我们信誓旦旦的说着永远,以为那就是一生一世,可是欢乐总是短暂,寂...
    丞宝妈阅读 4,386评论 2 1

友情链接更多精彩内容