消息類業(yè)務(wù)的流程交互采用W3C標(biāo)準(zhǔn)的VXML腳本技術(shù)來進(jìn)行定義,通過對VXML規(guī)則及解釋器進(jìn)行簡單的升級改造來實(shí)現(xiàn)對數(shù)據(jù)多媒體交互的支持,并后向兼容語音交互,使之能夠同時支持語音、數(shù)據(jù)多媒體和視頻等全方位的媒體通道,幫助我們實(shí)現(xiàn)一個流程到處應(yīng)用的目標(biāo)。
在IVR中,定義基于語音的菜單推送是通過播放一個語音文件或者TTS(也是通過轉(zhuǎn)換為語音文件)來實(shí)現(xiàn)的。相關(guān)的定義在VXML中是prompt標(biāo)簽,提示語可以是預(yù)先錄音的文件、音頻流和合成語音這3種方式的任意組合。其中,audio標(biāo)簽用于指定播放一個語音文件,里面有一個src或expr的屬性,可以填寫語音文件的URL或變量值;prompt里面放置的文本內(nèi)容將作為TTS來解析執(zhí)行,如下面代碼所示。
prompt>
Welcome to the CINCC.
audio src="rtsp://www.cincc.cn/menu.wav"/>
We have the most advanced NGCC products
audio src="http://www.cincc.cn/product.wav"/>
/prompt>
為了最大限度地保留原有語法,并保持與語音交互流程的兼容,在不改變audio語法的情況下,在audio標(biāo)簽內(nèi)插入一段文字,作為數(shù)據(jù)通道的推送菜單。代碼如下。
prompt>
audio expr="''">
您好,歡迎致電上卡網(wǎng)絡(luò)公司,售前咨詢請按1,售后支持請按2,投訴請按3,人工服務(wù)請按0
!--即為提供給全業(yè)務(wù)IVR的文字菜單-->
/audio>
/prompt>
在上面的代碼中我們看到,audio標(biāo)簽的語法沒有被破壞,依舊符合VXML語言的規(guī)范定義。這樣設(shè)計的流程可以在各種VXML解釋器中運(yùn)行而不會出錯。但是由于沒有設(shè)置audio標(biāo)簽的src或expr屬性,所以在只支持IVR交互的平臺中,該節(jié)點(diǎn)將不會放音,但不影響流程的執(zhí)行。