消息類業務的流程交互采用W3C標準的VXML腳本技術來進行定義,通過對VXML規則及解釋器進行簡單的升級改造來實現對數據多媒體交互的支持,并后向兼容語音交互,使之能夠同時支持語音、數據多媒體和視頻等全方位的媒體通道,幫助我們實現一個流程到處應用的目標。
在IVR中,定義基于語音的菜單推送是通過播放一個語音文件或者TTS(也是通過轉換為語音文件)來實現的。相關的定義在VXML中是prompt標簽,提示語可以是預先錄音的文件、音頻流和合成語音這3種方式的任意組合。其中,audio標簽用于指定播放一個語音文件,里面有一個src或expr的屬性,可以填寫語音文件的URL或變量值;prompt里面放置的文本內容將作為TTS來解析執行,如下面代碼所示。
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標簽內插入一段文字,作為數據通道的推送菜單。代碼如下。
prompt>
audio expr="''">
您好,歡迎致電上卡網絡公司,售前咨詢請按1,售后支持請按2,投訴請按3,人工服務請按0
!--即為提供給全業務IVR的文字菜單-->
/audio>
/prompt>
在上面的代碼中我們看到,audio標簽的語法沒有被破壞,依舊符合VXML語言的規范定義。這樣設計的流程可以在各種VXML解釋器中運行而不會出錯。但是由于沒有設置audio標簽的src或expr屬性,所以在只支持IVR交互的平臺中,該節點將不會放音,但不影響流程的執行。