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