性格决定命运 气度左右格局 拼搏方能取胜 谦虚才会进步
IVR-2 [Voice XML规范详细描述4]
上一篇 / 下一篇 2008-03-25 09:31:53 / 个人分类:做着
| <一>、Blind Transfer | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Blind Transfer是用来将主、被叫联结起来的操作。在元素<transfer>前和在元素<transfer>内的<prompt>语句都会在转接开始前依次播放,而且同样具有bargein属性。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 因为在转接过程中声音文件不能播放给主叫,所以transferaudio属性指定的语音文件在转接过程中被忽略。不管转接是否成功,VoiceXML语音平台不能再获得对呼入和转接电话的控制权。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 转接的状态不能得到。例如,不可能知道被叫是不是忙,这次呼叫是否成功等等。然而,有些错误是可以得到的,如主叫无权呼叫被叫方或者目标地址URI是错误的。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 一旦转接开始,VoiceXML解释器与电话进程脱离联系,平台将抛出一个connection.disconnect.transfer错误,解释器还会继续运行。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 表19:Blind Transfer Outcomes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <二>、Bridge Transfer | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 对于Bridge Transfer,主叫和被叫是以全双工方式进行的。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 在<transfer>语句前和在<transfer>语句内的提示语音会依次播放,bargein也是有效的。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1、Listening for user input during a transfer | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 在<transfer>元素中可以指定一个或多个语法,这样在通话过程中,就可以监视用户的输入而中断转接。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 可以指定两种输入: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ·DTMF输入; | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ·语音输入。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 如果用户的输入匹配了所指定的语法,VoiceXML解释器将继续按照VoiceXML文本所指定的操作运行。如果没有指定语法文件,在转接过程中,将不监控用户的输入。Bargein属性同样适用于元素<transfer>前和元素<transfer>内的语音提示。此时,外呼开始;Transferaudio所指定的语音播放开始;语法文件所指定的DTMF或语音识别成为Bargein的唯一方式(直到对远端的联结建立)。因此bargeintype被忽略。转接元素是模式的,因为在其作用域之外的语法没有激活。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 平台解释器没有监控被叫的输入。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 2、Handling caller, callee, or network disconnections | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 当试图去联结被叫,平台监控呼叫进程指示器(in bound或out of bound,依赖于特殊的联结类型和协议)。在成功的转接期间,平台监控(out of band)电话事件,如电话的挂机事件。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 如果被叫挂断,主叫重新继续它的任务。如果主叫挂断,平台挂断被叫。主叫或被叫挂断或两者同时挂断都不影响平台解释器的运行。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 在转接到被叫前,可能的结果如下: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 表20:Bridged Transfer Outcomes Prior to Connection Being Established | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 转接后可能的结果: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 表21:Bridged Transfer Outcomes After Connection Established | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 在转接完成后,元素<transfer>的影子变量有如下ECAMScript属性: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 表22:<transfer>元素的影子变量 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 3、Audio during bridge transfer attempt | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 在Bridge transfer过程中,也许要对主叫播放语音。例如一个广告(“Buy Joe's Spicy Shrimp Sauce”)或一个信息(“Your call is very important to us; please wait while we connect you to the next available agent.”)。这样便可以对呼叫进程中振铃、忙等情况而出现的静音起一个补偿作用。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 当远端的应答出现时,Transferaudio的播放中止。远端的应答不会永远出现的,因为远端交换机可以播放语音而不回答呼叫(这些语音包括一个特殊的音调、忙音、网络忙音、或者一个提示联结不能进行的录音)。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 如果一个语音播放的时间短于转接到远端的所需的时间,主叫也许会听到静音、平台所指定的语音、或者是呼叫进行过程中的信息。具体是何种语音依赖于不同的平台。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <三>、Transfer Errors and Events | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 表23:Events Thrown During Transfer | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 如果transfer不能进行,下列错误将会抛出: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 表24:Transfer Attempt Error Events | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <四>、Example | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 下面的例子试图将主叫转接到另一方,并等待通话的结束。语音提示可能在元素<transfer>前或内部。这也许用来通知主叫,发生了什么事情。这种通知通常是“请等待,正在转接呼叫”。在<block>、<transfer>中的<prompt>元素,在执行转接前,依次播放。语音队列开始播放,呼叫便开始。在缺省情况拢鹘辛岬酵夂舻牡缁巴ǖ馈!皌ransferaudio”属性指定对主叫播放的语音文件,它会在远端应答时停止播放。如果语音的长度大于联结所需的时间,只要远端应答,也会停止播放。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<?xml version="1.0" encoding="UTF-8"?> <vxml version="2.0" xmlns="http://www.w3.org/2001/vxml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2001/vxml http://www.w3.org/TR/voicexml20/vxml.xsd"> <form. id="xfer"> <var name="mydur" expr="0"/> <block> <!-- queued and played before starting the transfer --> <prompt> Calling Riley. Please wait. </prompt> </block> <!-- Play music while attempting to connect to far-end --> <!-- "hotword" bargeintype during transferaudio only --> <!-- Wait up to 60 seconds for the far end to answer --> <transfer name="mycall" dest="tel:+1-555-123-4567" transferaudio="music.wav" connecttimeout="60s" bridge="true"> <submit next="./voicemail_server.asp"/> <!-- queued and played before starting the transfer --> <!-- bargein properties apply during this prompt --> <prompt> Say cancel to disconnect this call at any time. </prompt> <!-- specify an external grammar to listen for "cancel" command --> <grammar src="cancel.grxml" type="application/srgs+xml"/> <filled> <assign name="mydur" expr="mycall$.duration"/> <if cond="mycall == 'busy'"> <prompt> Riley's line is busy. Please call again later. </prompt> <elseif cond="mycall == 'noanswer'"/> <prompt> Riley can't answer the phone now. Please call again later. </prompt> </if> </filled> </transfer> <!-- submit call statistics to server --> <block> <submit namelist="mycall mydur" next="/cgi-bin/report"/> </block> </form> </vxml> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ITPUB个人空间Fa _4Y{ ITPUB个人空间@Z(uH9rl`?
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
导入论坛 引用链接 收藏 分享给好友 推荐到圈子 管理 举报
TAG: