您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > VXml语音业务开发培训
1VoiceXML开发知识——iAvp平台系列培训通信增值事业部张磊2019年10月20日2对象和目标•课程对象业务流程开发、测试人员VUI设计人员平台开发、测试人员•课程目标了解VoiceXML基本概念和标记使用VoiceXML开发流程3相关课程•《iAvp基础知识培训》•《VUI基础》4主要内容•VoiceXML概述•VoiceXML基本概念•VoiceXML中的变量和基本标记•VoiceXML中的输入输出标记•VoiceXML高级标记•VoiceXML与服务器端应用开发•一个完整的VoiceXML应用5概述—什么是VoiceXML•全称:VoiceeXtensibleMarkupLanguage•VoiceXML是一种基于XML规范的标准,是XML子集。•它允许通过电话和语音访问Web上的信息和服务。可以用来开发基于语音的电话应用程序。6概述—VoiceXML历史AT&TPhoneMarkedLanguage(PML)MotorolaVoxMLIBMSpeechMLHPTalkMLPIPEBEACHVoiceHTML1998,W3C召开Voicebrowsers会议VoiceXMLforum2000,VoiceXML1.02003VoiceXML2.02004VoiceXML2.17概述—VoiceXML的目标•为应用开发者屏蔽底层的、平台相关的细节•分离交互代码和服务逻辑•提高应用在不同平台的可移植性•既能提供对简单应用快捷开发,也提供对复杂应用语言级的支持•单文档表示多次交互,减少了Client/Server交互负荷8概述–VoiceXML与传统语音开发的区别InternetOperatorsNetworkPlatf.VoiceMailAppl.Platf.VividRingAppl.VoiceXMLInterface9概述–VoiceXML与传统语音开发的区别InternetOperatorsNetworkPlatf.VoiceMailAppl.Platf.VividRingAppl.VoiceXMLInterface10概述–VoiceXML与传统语音开发的区别InternetOperatorsNetworkPlatf.VoiceMailAppl.Platf.VividRingAppl.VoiceXMLInterface11概述—VoiceXML与HTML开发比较formaction=“url”EnteryourId:inputname=‘id’inputtype=‘submit’/formformfieldname=‘id’promptYourID,please./prompt/fieldblocksubmitnext=“url”//block/formVoiceXML语音应用开发与HTML页面开发具有很高的相似度12概述—我们的VoiceXML•基于VoiceXML1.0规范•实现了VoiceXML1.0中的大部分标记和属性•扩展了一些1.0中没有的标记,如传真等•识别支持built-in、justintime和dgdb13概述—iAvp支持的标记(1)元素功能支持描述assign给一个变量赋值audio在一个提示中放音频片段block可执行代码,不是交互代码break在输出中增加暂停的JSML元素不支持catch捕捉一个事件clear清除一个或多个form变量choice定义一个菜单项目不支持disconnect退出一个sessiondiv把一些text定义为特殊类的JSML元素不支持dtmf定义一个按键文法不支持enumerate在一个菜单中枚举选择的缩写不支持14概述—iAvp支持的标记(2)元素功能支持描述error抓获一个错误事件exit退出一个document或者applicationelseif元素中使用elseifif元素中使用emp改变语音输出重音的JSML元素不支持form提交信息和收集数据的dialogfield定义一个form中的fieldTYPE属性仅支持iAVP定义的Built-in语法filledfield被填充完毕后要执行的动作goto到同一个或另外一个文档的其它dialoggrammar定义一个语音识别的语法15概述—iAvp支持的标记(3)元素功能支持描述help捕捉一个help事件if简单的条件逻辑initial在form的入口定义初始化逻辑link为link中的所有dialog定义一个转移不支持menu定义一个选择菜单不支持nomatch捕捉一个nomatch事件noinput捕捉一个noinput事件option为field域指定一个option不支持object在一个特定的范围内作用(例如、讲话对象)不支持paramsubdialog和object中的参数prompt向用户输出音频文件语音和TTS语音16概述—iAvp支持的标记(4)元素功能支持描述property控制实现平台参数的设置pros改变语音输出重音和语调模式的JSML元素不支持record记录一个音频采样不支持属性modalreprompt当再次访问一个field,请求播放提示音return从subdialog中返回sayas修改怎样拼写一个词或短语的JSML元素不支持script指定一块ECMAscript客户端的脚本逻辑subdialog调用另一个dialog,作为当前dialog的subdialogsubmit将值提交给文档服务器17概述—iAvp支持的标记(5)元素功能支持描述throw抛出一个事件transfer把呼叫转移到另外一个目的地value在提示中插入变量值var声明变量vxml每个VXML文件的最高层元素sendfax发送传真iAVP扩展元素receivefax接收传真iAVP扩展元素log记录节目编码和系统日志iAVP扩展元素18主要内容•VoiceXML概述•VoiceXML基本概念•VoiceXML中的变量和基本标记•VoiceXML中的输入输出标记•VoiceXML高级标记•VoiceXML与服务器端应用开发•一个完整的VoiceXML应用19基本概念—Dialog•对话(Dialog/DialogStates)VoiceXML应用程序的用户总是处于一种对话状态或对话中。每个对话都跟着另一个对话,如果没有指定下一个对话,就终止VoiceXML应用程序的执行。有两种对话:表单(Form)和菜单(Menu)。20基本概念—Document•文档(Document)一个VoiceXMLdocument由多个dialog组成。单个document的执行缺省是从第一个dialog开始执行。也可以指定从某个对话执行。在一个application中有多个document时,应选一个document作为rootdocument,并且在其他document的vxml标记里引用它,并且它的变量和语法在整个应用中有效。在含多个document的application中,最多只能有两个document可以同时被加载,一个是正在执行的document,另一个是rootdocument。21基本概念—RootDocument?xmlversion=1.0encoding=UTF-8?vxmlversion=2.0application=app-root.vxmlformid=say_goodbyefieldname=answergrammartype=application/srgs+xmlsrc=/grammars/boolean.grxml/promptShallwesayvalueexpr=application.bye/?/promptfilledifcond=answerexit//ifclearnamelist=answer//filled/field/form/vxmlLeaf.vxml将app_root.vxml作为当前文档的根文档?xmlversion=1.0encoding=UTF-8?vxmlversion=2.0varname=byeexpr='Ciao'/formblockhello,world./block/form/vxmlapp-root.vxml22基本概念—Application•Application(应用)应用(application)是由共享同一应用根文档(applicationrootdocument)的一系列文档组成的。在一个application内,rootdocument总是处于加载状态,此时rootdocument的变量和语法在整个application都是保持激活状态。23基本概念—Application(续)24基本概念—Session•会话(Session)会话开始:呼入接通呼出接通会话过程:交互文档获取会话结束:用户挂机上下文挂机25基本概念—SubDialog•子对话(SubDialog)类似函数调用,它提供了调用一个新的交互的机制,并返回到原来的form。返回时保存内部数据、所用语法以及状态信息,以供在调用该Subdialog的document中使用。26基本概念—文档之间的跳转(1)•保留根文档上下文的跳转RRRRL1L2234127基本概念—文档之间的跳转(2)•重新初始化上下文的跳转R1R2R3R1L1234128基本概念—文档之间的跳转(3)•SubDailog的上下文跳转(1)MaindialogexecutecontextD1D2D3SubDialogexecutecontextSD1SD2Subdialogsrc=“SD1.vxml”gotonext=“SD2.vxml”return29SubDialogexecutecontext2基本概念—文档之间的跳转(4)•SubDailog的上下文跳转(2)MaindialogexecutecontextD1D2D3SubDialogexecutecontext1SD1SD2Subdialogsrc=“SD1.vxml”Subdialogsrc=“SD2.vxml”returnreturn30基本概念—Event•事件(Event)事件可以是预先定义的或者是应用程序定义。对于各种的情况,由平台抛出事件,如:用户没用响应,请求帮助。当VoiceXML文档有语义错误时,解释器也会抛出事件(throw)。事件由catch或由它的快捷形式捕捉;一个事件能产生的每个标记都可指定catch标记。在任何层次都可以指定共有事件的处理方式,并且这适用于所有较低层。在VoiceXML的事件模式中,事件可以由平台或应用产生,这些事件可以由应用程序捕获和处理,也可以由平台捕获和处理。31基本概念—FIA•FIA(FormInterpretationAlgorithm)初始化Form,重新设置状态选择要执行的FormItem并播放提示音收集用户输入,或者填充一个或多个field,或者抛出各种事件查找执行filled动作32基本概念—FIA(续)初始化选择Item获取输入处理输入结果没有Item可以继续处理Event处理Link其它Dialog33基本概念—Grammar•语法(Grammar)语法指定一份准许的词汇列表,供用户从中选择,以便与VoiceXML应用程序交互每一个dialog都有一个或多个语法(识别、按键),在directeddialog的应用中,每个dialog的语法只有在用户使用该dialog时,才处于激活状态语法的
本文标题:VXml语音业务开发培训
链接地址:https://www.777doc.com/doc-1635098 .html