祁長(zhǎng)興
1序言
交互式語(yǔ)音應(yīng)答(IVR)是呼叫中心系統(tǒng)的重要組成部分。通過(guò)IVR系統(tǒng),客戶(hù)可以在普通的電話上通過(guò)按鍵輸入其服務(wù)請(qǐng)求及相關(guān)信息,而IVR系統(tǒng)則根據(jù)客戶(hù)請(qǐng)求,自動(dòng)訪問(wèn)呼叫中心或企業(yè)后臺(tái)業(yè)務(wù)系統(tǒng)中的資源,完成客戶(hù)的服務(wù)請(qǐng)求,并將執(zhí)行結(jié)果通過(guò)電話、傳真等方式提供給客戶(hù)。本文主要論述使用強(qiáng)訊的SmarTele語(yǔ)音流程腳本語(yǔ)言構(gòu)建IVR系統(tǒng)。
2IVR語(yǔ)音服務(wù)器
IVR語(yǔ)音服務(wù)器一般與PBX直接相連,來(lái)話首先接入PBX,然后轉(zhuǎn)到IVR系統(tǒng)。IVR服務(wù)器主要完成自動(dòng)語(yǔ)音導(dǎo)航、自動(dòng)語(yǔ)音及流程、傳真服務(wù)器的功能。強(qiáng)訊公司的ctsIVR語(yǔ)音服務(wù)器,包含了自動(dòng)語(yǔ)音應(yīng)答及流程設(shè)定、數(shù)據(jù)庫(kù)訪問(wèn)及修改、傳真服務(wù)器、VoIP電話網(wǎng)關(guān)、語(yǔ)音合成及識(shí)別、人工座席服務(wù)、與呼叫中心(CTI)接口、通過(guò)TCP/IP與其他系統(tǒng)透明連接、業(yè)務(wù)量統(tǒng)計(jì)查詢(xún)等多種功能。IVR語(yǔ)音服務(wù)器是語(yǔ)音流程文件的運(yùn)行環(huán)境,是保證IVR系統(tǒng)能正確穩(wěn)定運(yùn)行的基礎(chǔ)。
3用SmarTele構(gòu)建語(yǔ)音流程文件
SmarTele是用于實(shí)現(xiàn)語(yǔ)音流程定制的語(yǔ)音流程腳本語(yǔ)言。SmarTele腳本語(yǔ)言采用開(kāi)放式結(jié)構(gòu),以獨(dú)立文本文件為信息存放基礎(chǔ),文件之間可以相互調(diào)用,簡(jiǎn)便易學(xué),維護(hù)方便。同時(shí)提供了“TeleEdit.exe腳本編輯器”工具編輯修改,也可以使用記事本等工具編寫(xiě)。
3.1SmarTele的基本功能
一個(gè)完整的語(yǔ)音流程,可以由一個(gè)或多個(gè)語(yǔ)音流程文件組成,一個(gè)流程文件是由若干個(gè)語(yǔ)音節(jié)點(diǎn)組成的,通常,以.dat為文件的擴(kuò)展名。一個(gè)流程文件不能超過(guò)10000行,每個(gè)節(jié)點(diǎn)不能超過(guò)100行。
一個(gè)語(yǔ)音節(jié)點(diǎn)的模式為:
NODE=1
節(jié)點(diǎn)命令[參數(shù)1、參數(shù)2……]NEXT=[下一個(gè)節(jié)點(diǎn)號(hào)]或
節(jié)點(diǎn)命令[參數(shù)1、參數(shù)2……]NEXT=[Sx:下一個(gè)節(jié)點(diǎn)號(hào)]或
節(jié)點(diǎn)命令[參數(shù)1、參數(shù)2……]LINK=[系統(tǒng)流程號(hào)]
NODE=2
節(jié)點(diǎn)命令[參數(shù)1、參數(shù)2……]NEXT=[下一個(gè)節(jié)點(diǎn)號(hào)]
說(shuō)明:
(1)語(yǔ)音節(jié)點(diǎn):
節(jié)點(diǎn)格式1:“NODE=x”
節(jié)點(diǎn)格式2:NODE=x:
(2)節(jié)點(diǎn)命令:完成語(yǔ)音的一個(gè)基本操作,例如:用于錄音、放音、撥號(hào)等的PLAY_VOX、PLAY_ONE_DTMF等命令或內(nèi)置函數(shù)。
(3)參數(shù)1、參數(shù)2……:不同的節(jié)點(diǎn)命令,需要不同的參數(shù)。
NEXT=[下一個(gè)節(jié)點(diǎn)號(hào)]:流程下一步要執(zhí)行的操作。
NEXT=[Sx:下一個(gè)節(jié)點(diǎn)號(hào)]:Sx:必須為$1-$99,存放流程文件名;下一個(gè)節(jié)點(diǎn)號(hào):為數(shù)字或D1-D99。
LINK=[系統(tǒng)流程號(hào)]:將流程下一步連接到應(yīng)用程序中。
3.2通過(guò)SmarTele實(shí)現(xiàn)動(dòng)態(tài)操作和播報(bào)語(yǔ)音信息
在通常的呼叫中心的IVR系統(tǒng)中,對(duì)數(shù)據(jù)庫(kù)基礎(chǔ)數(shù)據(jù)及外部文件等動(dòng)態(tài)數(shù)據(jù)的訪問(wèn)和調(diào)用是非常必要的。SmarTele主要通過(guò)以下幾種主要的方式實(shí)現(xiàn)對(duì)動(dòng)態(tài)信息的調(diào)用和訪問(wèn):
(1)通過(guò)內(nèi)置函數(shù)來(lái)直接訪問(wèn)ODBC,操作SQL語(yǔ)句來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)與操作
格式:DB_CONNECT DATABASE=[數(shù)據(jù)庫(kù)名]:UID=[user];PWD=[pass];DSN=[ODBC名],然后通過(guò)調(diào)用DB_FIND、DB_UPDATE、DB_ADD等內(nèi)置函數(shù),輸入相應(yīng)的SQL語(yǔ)句,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的調(diào)用與操作。
(2)通過(guò)訪問(wèn)DLL調(diào)用動(dòng)態(tài)連接庫(kù)文件
由于SmarTele內(nèi)置函數(shù)有限,有時(shí)候不能解決某些比較復(fù)雜的操作,系統(tǒng)提供了一個(gè)名稱(chēng)為ctaCallDll.dll的函數(shù)集,增強(qiáng)對(duì)業(yè)務(wù)處理的功能。
(3)通過(guò)通訊網(wǎng)關(guān)訪問(wèn)數(shù)據(jù)庫(kù)
IVR語(yǔ)音平臺(tái)向網(wǎng)絡(luò)中的代理服務(wù)器(客戶(hù)端)通過(guò)TCP協(xié)議發(fā)出一個(gè)請(qǐng)求,等待(最長(zhǎng)三分鐘)客戶(hù)端返回消息后,語(yǔ)音流程繼續(xù)執(zhí)行下面任務(wù)。
用法:REQUEST inReg outReg Wait-Time NEXT=X
參數(shù):
inReg:是向客戶(hù)端傳送的消息變量,可以是S1-$99,最大長(zhǎng)度為250。
TCP格式為:IVRCMD;CH=XX;RE-QUEST=inReg;
outReg:是客戶(hù)端傳回的消息變量,可以是$1-$99,最大長(zhǎng)度為250。
客戶(hù)端返回的消息格式應(yīng)為:RE-SPONSE XXX,系統(tǒng)自動(dòng)將XXX存入out-Reg中。
WaitTime:等待的時(shí)間,單位是秒,如沒(méi)有此參數(shù)則系統(tǒng)默認(rèn)最大等三分鐘。
通過(guò)這種方法,可以通過(guò)代理服務(wù)器。訪問(wèn)遠(yuǎn)程數(shù)據(jù)庫(kù)、大型數(shù)據(jù)庫(kù)、保密數(shù)據(jù)庫(kù)等。
(4)與FIS引擎結(jié)合動(dòng)態(tài)播報(bào)信息
通過(guò)FIS語(yǔ)音播報(bào)引擎,將相應(yīng)的播報(bào)內(nèi)容生成語(yǔ)音文件,返回該語(yǔ)音文件所在的路徑后調(diào)用節(jié)點(diǎn)命令,實(shí)現(xiàn)對(duì)語(yǔ)音信息的播報(bào)。
4語(yǔ)音文件的測(cè)試與部署
通常編寫(xiě)好的語(yǔ)音流程文件的入口文件為start.dat,可以通過(guò)TeleDebug.exe對(duì)IVR系統(tǒng)進(jìn)行調(diào)試,同時(shí)以TeleSpy.exe為系統(tǒng)環(huán)境測(cè)試監(jiān)控。這兩個(gè)工具為開(kāi)發(fā)測(cè)試提供了便捷。將IVR相關(guān)的語(yǔ)音流程文件放入IVR服務(wù)器指定的目錄下,啟動(dòng)并正確配置ctsIVR語(yǔ)音服務(wù)器。
5總結(jié)
綜上所述,用SmarTele語(yǔ)音流程腳本語(yǔ)言來(lái)構(gòu)建IVR,簡(jiǎn)單易學(xué),部署方便,系統(tǒng)運(yùn)行穩(wěn)定,目前很多大的企業(yè)和單位都有著可靠的應(yīng)用。