freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

隨著通信技術(shù)和計(jì)算機(jī)技術(shù)的日益發(fā)展-資料下載頁

2025-06-24 14:03本頁面
  

【正文】 的按鍵動作做互相關(guān)聯(lián)。例如我們可以把系統(tǒng)響應(yīng)呼叫接入而播放語音看成是一個節(jié)點(diǎn),這就是大多數(shù)IVR系統(tǒng)的最開始的節(jié)點(diǎn),我們稱它為根節(jié)點(diǎn)。在對IVR系統(tǒng)的節(jié)點(diǎn)作全面的抽象以后,可以發(fā)現(xiàn),整個IVR系統(tǒng)是一個樹形結(jié)構(gòu)的節(jié)點(diǎn)集。我們設(shè)計(jì)節(jié)點(diǎn)類型有:前進(jìn)節(jié)點(diǎn)、放音按鍵選擇、放音繼續(xù)、格式放音繼續(xù)、放音申請數(shù)據(jù)、放音返回父節(jié)點(diǎn)或根節(jié)點(diǎn)、放音跳轉(zhuǎn)其他節(jié)點(diǎn)、放音接收數(shù)據(jù)、放音掛機(jī)、條件放音繼續(xù)、條件跳轉(zhuǎn)其他節(jié)點(diǎn)、發(fā)送傳真繼續(xù)、接受傳真繼續(xù)、申請座席繼續(xù)、申請傳真通道繼續(xù)、申請并進(jìn)行外撥、錄音繼續(xù)等。下面是一個典型企業(yè)的流程樹抽象圖。通過對流程樹的抽象,我們發(fā)現(xiàn)整個IVR系統(tǒng),可以看成是條件和動作的集合。IVR的語音通道,在一定時刻只處于IVR系統(tǒng)的一個特定的節(jié)點(diǎn)的狀態(tài),在每一個節(jié)點(diǎn),都有可能發(fā)生多種事件,例如客戶按鍵事件或操作超時、錯誤事件, IVR首先偵測或判斷在某個節(jié)點(diǎn)所發(fā)生的事件類型,然后根據(jù)事先設(shè)置好的路徑執(zhí)行節(jié)點(diǎn)轉(zhuǎn)接動作,當(dāng)這個節(jié)點(diǎn)動作結(jié)束的時候,節(jié)點(diǎn)根據(jù)結(jié)束條件跳到下一個節(jié)點(diǎn)狀態(tài)。如果把所有的動作做成動作函數(shù),讓系統(tǒng)根據(jù)讀入內(nèi)存的條件集合,比照當(dāng)前狀態(tài)和結(jié)束條件來調(diào)用下一個動作函數(shù),這樣,控制系統(tǒng)就不需要因?yàn)榱鞒痰母淖兌淖儯瑥亩鴮?shí)現(xiàn)了IVR流程的控制和流程設(shè)置的分開,只要通過重新設(shè)置條件集合就可以對IVR系統(tǒng)進(jìn)行靈活配置,通過擴(kuò)充動作函數(shù),也很容易的實(shí)現(xiàn)了IVR功能的擴(kuò)充。4. 1. 2 IVR流程樹的構(gòu)造與實(shí)現(xiàn)(1) IVR流程樹的構(gòu)造由于流程樹是由節(jié)點(diǎn)抽象成的樹,所以我們構(gòu)造流程樹就必須抽象出節(jié)點(diǎn)與節(jié)點(diǎn)之間的屬性,節(jié)點(diǎn)是對一定請求或者條件的響應(yīng),節(jié)點(diǎn)必須要有響應(yīng)對應(yīng)的動作函數(shù),對于不是最后的節(jié)點(diǎn)還要有一定的結(jié)束條件,如果是語音播放操作,還要知道播放的文件名,這樣一個完整的節(jié)點(diǎn)可以設(shè)置如下:typedef struct process{ char service[16]。 //服務(wù)號碼 char node[11]。 //節(jié)點(diǎn)編號 char order[3]。 //節(jié)點(diǎn)順序號 char desc[50]。 //節(jié)點(diǎn)描述 char voice[80]。 //放音文件名 int type。 //節(jié)點(diǎn)類型 int data1。 //節(jié)點(diǎn)數(shù)據(jù)1 int data2。 //節(jié)點(diǎn)數(shù)據(jù)2 int data3。 //節(jié)點(diǎn)數(shù)據(jù)3 int data4[50]。 //節(jié)點(diǎn)數(shù)據(jù)4}PROCESSINFO。說明:1. 節(jié)點(diǎn)只能是前進(jìn)節(jié)點(diǎn)或按鍵選擇節(jié)點(diǎn)(因?yàn)楦?jié)點(diǎn)無兄弟節(jié)點(diǎn))。2.節(jié)點(diǎn)類型不同時,節(jié)點(diǎn)數(shù)據(jù)14具有不同的表示內(nèi)容。3.每一個被叫服務(wù)號碼(節(jié)目號)對應(yīng)一組樹狀語音流程,該組流程的節(jié)點(diǎn)描述中服務(wù)號碼相同。節(jié)點(diǎn)基本信息說明:(1)服務(wù)號碼 本節(jié)點(diǎn)信息所對應(yīng)的服務(wù)號碼(被叫號碼)(2)節(jié)點(diǎn)編號 共8位,表示有根節(jié)點(diǎn)開始,最多經(jīng)過8次按鍵選擇,而到達(dá)最終的葉節(jié)點(diǎn),為選擇的填充字符為 ’a’ 每一位為09,表示由父節(jié)點(diǎn)進(jìn)入此節(jié)點(diǎn)的按鍵選擇值(3)節(jié)點(diǎn)順序號兩位,099,表示該節(jié)點(diǎn)所在父節(jié)點(diǎn)下的順序號,其順序以設(shè)置時的添加順序?yàn)闇?zhǔn),但在刪除節(jié)點(diǎn)后,剩余兄弟節(jié)點(diǎn)需作相應(yīng)調(diào)整,對于流程的定義,要求其節(jié)點(diǎn)編號的順序性而不是連續(xù)性(4)節(jié)點(diǎn)描述(應(yīng)在50個字符即25個漢字以內(nèi),其中不可有空格)。節(jié)點(diǎn)內(nèi)容的文字說明,在運(yùn)行過程中會在監(jiān)控界面中顯示出來;(5)放音文件名包含全路徑的語音文件名(應(yīng)在50個字符以內(nèi)),如該文件不存在,系統(tǒng)終止該通道的語音流程,并掛機(jī);說明: 當(dāng)前綴為’amp。’時將不放音,但流程繼續(xù);當(dāng)前綴為’$’時將播放09,a,b,c,d,*,范圍內(nèi)后續(xù)的DTMF碼(最多30個);當(dāng)前綴為’%’時將使用在輸出緩沖區(qū)中指定的文件名(需包含全路徑),這時后跟輸出緩沖區(qū)代碼(015),如果該輸出緩沖區(qū)為空或所指定的文件不存在,則不放音,但流程繼續(xù)。(6)節(jié)點(diǎn)類型指出該流程節(jié)點(diǎn)所要執(zhí)行的功能,根據(jù)語音流程服務(wù)中的典型應(yīng)用,外撥、傳真、座席、錄音、收發(fā)數(shù)據(jù)、放音、跳轉(zhuǎn)等,我們設(shè)計(jì)了如下節(jié)點(diǎn)類型,包括:特殊根節(jié)點(diǎn),放音按鍵選擇,放音繼續(xù),格式放音繼續(xù),放音申請數(shù)據(jù),放音返回父節(jié)點(diǎn)或根節(jié)點(diǎn),放音跳轉(zhuǎn)其他節(jié)點(diǎn),放音接收數(shù)據(jù),放音掛機(jī),條件放音繼續(xù),條件跳轉(zhuǎn)其他節(jié)點(diǎn),發(fā)送傳真繼續(xù),接收傳真繼續(xù)等;( 7) 數(shù)據(jù)緩沖區(qū)系統(tǒng)為每一條語音通道配置了數(shù)據(jù)緩沖區(qū),包括16個輸入緩沖區(qū)和16個輸出緩沖區(qū),可以用于語音流程中數(shù)據(jù)的輸入(用戶按鍵輸入)和輸出(播報(bào)查詢結(jié)果,比較輸入結(jié)果,指定語音文件名等操作),對于某條語音通道的輸入緩沖區(qū),在執(zhí)行對某一個輸入緩沖區(qū)的輸入動作之前,系統(tǒng)會對其清空,一旦完成輸入動作,則除非再一次對該緩沖區(qū)進(jìn)行輸入,否則其內(nèi)容將一直保持到本次語音流程結(jié)束;對于某條語音通道的輸出緩沖區(qū),在執(zhí)行申請數(shù)據(jù)的操作之前,系統(tǒng)會對所有的輸出緩沖區(qū)清空,一旦完成數(shù)據(jù)申請動作,則除非該通道再一次進(jìn)行數(shù)據(jù),否則輸出緩沖區(qū)的內(nèi)容將一直保持到本次語音流程結(jié)束。(2) 服務(wù)器端的實(shí)現(xiàn)為實(shí)現(xiàn)IVR樹的流程配置,我們在Server程序中設(shè)計(jì)了一個結(jié)構(gòu)樹組processinfo,和一個通道信息結(jié)構(gòu)vox_info,同時,全盤考慮了整個運(yùn)行過程中的各種狀態(tài)后,我們設(shè)計(jì)了一個狀態(tài)機(jī)結(jié)構(gòu)表。在IVR系統(tǒng)啟動的時候,將流程信息寫入結(jié)構(gòu)數(shù)組,每一個結(jié)構(gòu)對應(yīng)流程配置文件中的一個節(jié)點(diǎn),而每一個節(jié)點(diǎn)又都屬于所定義節(jié)點(diǎn)類型中的一種。用戶接入時,根據(jù)通道的當(dāng)前狀態(tài)和用戶的響應(yīng),系統(tǒng)截獲終止條件(EVENT),在狀態(tài)機(jī)表中找到匹配的狀態(tài)機(jī)結(jié)構(gòu),調(diào)用相應(yīng)的動作函數(shù),在動作函數(shù)中,會根據(jù)不同的節(jié)點(diǎn)類型,進(jìn)行相應(yīng)的處理,從而驅(qū)動流程繼續(xù)。這樣,在服務(wù)器端就實(shí)現(xiàn)了流程設(shè)置和流程控制的分開。流程的控制由語音流程樹和狀態(tài)機(jī)實(shí)現(xiàn)。用戶只需要根據(jù)具體業(yè)務(wù)設(shè)置流程配置文件即可實(shí)現(xiàn)流程功能。如果需要擴(kuò)充系統(tǒng)功能,只需要增加節(jié)點(diǎn)類型,在狀態(tài)機(jī)處理函數(shù)中添加對相應(yīng)節(jié)點(diǎn)的處理即可,而不需要改變整個控制程序,所以很好的滿足了程序的可擴(kuò)充性。4. 2數(shù)據(jù)庫監(jiān)控程序程序介紹為了方便、可靠地與各種大型數(shù)據(jù)庫通信,開發(fā)了IVR與數(shù)據(jù)庫的標(biāo)準(zhǔn)接口,用戶只需通過示例就可很快地完成與數(shù)據(jù)庫的連接。整個程序由三個線程構(gòu)成:(1) 主線程管理數(shù)據(jù)請求(2) ThreadCallerCheck 線程負(fù)責(zé)管理來電時候的主叫檢查(3) ThreadCallLog線程負(fù)責(zé)管理呼叫日志,同時對通道掛機(jī)進(jìn)行監(jiān)視,用來記費(fèi)。每個線程都在相應(yīng)的端口接受和發(fā)送各自線程所處理的UDP包,比如主線程接受和發(fā)送數(shù)據(jù)申請UDP包,主叫檢查線程接受和發(fā)送主叫檢查申請UDP包。數(shù)據(jù)庫操作Visual C++,包括ODBC、DAO、ADO等。其中最關(guān)鍵也是最基本的就是ODBC標(biāo)準(zhǔn)數(shù)據(jù)庫訪問方式(Open Database Connectivity,開放數(shù)據(jù)庫連接)。ODBC是非常獨(dú)特的基于DLL的結(jié)構(gòu),它使得系統(tǒng)完全模塊化。它包含了一組動態(tài)連接庫,這些動態(tài)連接庫提供了一個標(biāo)準(zhǔn)的數(shù)據(jù)庫應(yīng)用程序的設(shè)計(jì)接口,通過它可以實(shí)現(xiàn)對所有ODBC驅(qū)動程序的數(shù)據(jù)庫的訪問。在程序的執(zhí)行過程中,,也就是常說的驅(qū)動程序。MFC 數(shù)據(jù)庫應(yīng)用程序ODBC驅(qū)動程序管理器()驅(qū)動程序數(shù)據(jù)源或者數(shù)據(jù)庫圖:ODBC接口ODBC是基于SQL語句而設(shè)計(jì)的,而且它還定義了C語言同SQL數(shù)據(jù)庫之間的程序設(shè)計(jì)接口。ODBC的方便性不僅體現(xiàn)在VC++,很多數(shù)據(jù)庫軟件或具有數(shù)據(jù)庫訪問功能的軟件都可以利用ODBC訪問不同種類的數(shù)據(jù)庫。通過ODBC,我們在編程時不必關(guān)心數(shù)據(jù)庫的類型以及它們的數(shù)據(jù)存儲格式,用同樣的數(shù)據(jù)庫訪問函數(shù)就可以對各種數(shù)據(jù)庫進(jìn)行操作,是的應(yīng)用程序可以方便的移植。MFC中封裝了對ODBC編程的類,它們中最主要的兩個是Cdatabase和CRecordset。利用它們可以代替連接句柄和語句句柄。同數(shù)據(jù)庫建立連接后,接下來的工作就是對數(shù)據(jù)庫中存儲的數(shù)據(jù)進(jìn)行操作。而這些是依靠編寫程序來實(shí)現(xiàn)的。在編程中可以動態(tài)生成SQL語句。4.3 功能性流程信息4. 3. 1前進(jìn)節(jié)點(diǎn)放音并自動前進(jìn)到選擇號碼為"0"的子節(jié)點(diǎn)service 服務(wù)號碼node 節(jié)點(diǎn)編號order 節(jié)點(diǎn)順序號dsec 節(jié)點(diǎn)描述voice 放音文件名type 節(jié)點(diǎn)類型:0data1 節(jié)點(diǎn)數(shù)據(jù)1:放音是否可以被用戶按鍵終止,0可以,1不可以data2 節(jié)點(diǎn)數(shù)據(jù)2:未用data3 節(jié)點(diǎn)數(shù)據(jù)3:未用data4 節(jié)點(diǎn)數(shù)據(jù)4:返回重新輸入按鍵,未設(shè)為’amp。’4. 3. 2 放音按鍵選擇放音并按照用戶的按鍵(09)前進(jìn)到相應(yīng)選擇號碼的子節(jié)點(diǎn)service 服務(wù)號碼node 節(jié)點(diǎn)編號order 節(jié)點(diǎn)順序號dsec 節(jié)點(diǎn)描述voice 放音文件名type 節(jié)點(diǎn)類型:1data1 節(jié)點(diǎn)數(shù)據(jù)1:接收按鍵等待時間data2 節(jié)點(diǎn)數(shù)據(jù)2:未用data3 節(jié)點(diǎn)數(shù)據(jù)3:未用data4 節(jié)點(diǎn)數(shù)據(jù)4:返回重新輸入按鍵,未設(shè)為’amp?!?. 3. 3 放音繼續(xù)放音并將節(jié)點(diǎn)順序號加1以繼續(xù)流程service 服務(wù)號碼node 節(jié)點(diǎn)編號order 節(jié)點(diǎn)順序號dsec 節(jié)點(diǎn)描述voice 放音文件名type 節(jié)點(diǎn)類型:2data1 節(jié)點(diǎn)數(shù)據(jù)1:放音是否可以被用戶按鍵終止,0可以,1不可以 當(dāng)設(shè)為可以終止,并且用戶按下的終止按鍵為’*’鍵時,語音流程將返回本節(jié)點(diǎn)的父節(jié)點(diǎn)data2 節(jié)點(diǎn)數(shù)據(jù)2:未用data3 節(jié)點(diǎn)數(shù)據(jù)3:未用data4 節(jié)點(diǎn)數(shù)據(jù)4:未用4. 3. 5放音申請數(shù)據(jù)播放語音(如"請稍侯"),然后將本通道的輸入緩沖區(qū)內(nèi)       容發(fā)出以提交數(shù)據(jù)申請到后臺的數(shù)據(jù)處理進(jìn)程,等待數(shù)據(jù)處       理進(jìn)程將結(jié)果發(fā)回到輸出緩沖區(qū)service 服務(wù)號碼node 節(jié)點(diǎn)編號order 節(jié)點(diǎn)順序號dsec 節(jié)點(diǎn)描述voice 提交申請之前的提示語音文件名type 節(jié)點(diǎn)類型:4data1 節(jié)點(diǎn)數(shù)據(jù)1:數(shù)據(jù)申請編號 數(shù)據(jù)申請編號約定: 1100 座席呼入消息,data1為座席號 101200 數(shù)據(jù)申請將發(fā)送到相應(yīng)座席終端地址,data1100為座席號 201300 數(shù)據(jù)申請將發(fā)送到數(shù)據(jù)服務(wù)程序IP地址1 301400 數(shù)據(jù)申請將發(fā)送到數(shù)據(jù)服務(wù)程序IP地址2 … 901999 數(shù)據(jù)申請將發(fā)送到數(shù)據(jù)服務(wù)程序IP地址8data2 節(jié)點(diǎn)數(shù)據(jù)2:是否播放等待音樂,0不放,110播放音樂編號          ?。ㄖ徊ヒ槐椋?,1120循環(huán)播放,直到數(shù)據(jù)申請結(jié)果返回或等待超時而被停止(減10為音樂編號)data3 節(jié)點(diǎn)數(shù)據(jù)3:是否等待數(shù)據(jù)申請結(jié)果,0為等待,1為不等待data4 節(jié)點(diǎn)數(shù)據(jù)4:未用4. 3. 6放音返回父節(jié)點(diǎn)或根節(jié)點(diǎn)放音并返回到根節(jié)點(diǎn),或順序號為0的父節(jié)點(diǎn)service 服務(wù)號碼node 節(jié)點(diǎn)編號order 節(jié)點(diǎn)順序號dsec 節(jié)點(diǎn)描述voice 放音文件名type 節(jié)點(diǎn)類型:5data1 節(jié)點(diǎn)數(shù)據(jù)1:返回標(biāo)志(1父節(jié)點(diǎn),2根節(jié)點(diǎn))data2 節(jié)點(diǎn)數(shù)據(jù)2:未用data3 節(jié)點(diǎn)數(shù)據(jù)3:未用data4 節(jié)點(diǎn)數(shù)據(jù)4:未用4. 3. 7放音跳轉(zhuǎn)其他節(jié)點(diǎn)放音并按照指定節(jié)點(diǎn)號和順序號跳轉(zhuǎn),如果所指定的節(jié)點(diǎn)不存在,則系統(tǒng)將終止本通道的語音流程,并掛機(jī)service 服務(wù)號碼node 節(jié)點(diǎn)編號order 節(jié)點(diǎn)順序號dsec 節(jié)點(diǎn)描述voice 放音文件名type 節(jié)點(diǎn)類型:6data1 節(jié)點(diǎn)數(shù)據(jù)1:跳轉(zhuǎn)節(jié)點(diǎn)之順序號data2 節(jié)點(diǎn)數(shù)據(jù)2:未用data3 節(jié)點(diǎn)數(shù)據(jù)3:未用data4 節(jié)點(diǎn)數(shù)據(jù)4:跳轉(zhuǎn)節(jié)點(diǎn)之編號4. 3. 8放音接收數(shù)據(jù)播放語音并接受用戶的按鍵輸入,存入指定的輸入數(shù)據(jù)緩沖       區(qū)service 服務(wù)號碼node 節(jié)點(diǎn)編號order 節(jié)點(diǎn)順序號dsec 節(jié)點(diǎn)描述voice 放音文件名type 節(jié)點(diǎn)類型:7data1 節(jié)點(diǎn)數(shù)據(jù)1:接收按鍵等待時間data2 節(jié)點(diǎn)數(shù)據(jù)2:存放接收按鍵的輸入緩沖區(qū)代碼**data3 節(jié)點(diǎn)數(shù)據(jù)3:接收按鍵個數(shù)(≤31)data4 節(jié)點(diǎn)數(shù)據(jù)4:第0字節(jié)為確認(rèn)按鍵,第1字節(jié)為重新輸入按鍵          ?。?9。039。39。939。,39。*39。或39。39。,如不設(shè)則為39。amp。39。),第2字節(jié)為超時忽略標(biāo)志(當(dāng)設(shè)為39。amp。39。時表示忽略接收按鍵的超時錯誤,流程繼續(xù),確省為不設(shè)置,這時如果用戶超過“接收按鍵等待時間”而沒有完成輸入,系統(tǒng)會自動提示重新輸入)4. 3. 9放音掛機(jī)放音并結(jié)束本次服務(wù)流程service 服務(wù)號碼node 節(jié)點(diǎn)編號order 節(jié)點(diǎn)順序號dsec 節(jié)點(diǎn)描述voice 放音文件名type 節(jié)點(diǎn)類型:8data1 節(jié)點(diǎn)數(shù)據(jù)1:未用data2 節(jié)點(diǎn)數(shù)據(jù)2:未用data3 節(jié)點(diǎn)數(shù)據(jù)3:未用data4 節(jié)點(diǎn)數(shù)據(jù)4:未用4. 3. 10發(fā)送傳真繼續(xù)按照指定的傳真文件名發(fā)送傳真,如果發(fā)送過程失敗,則跳轉(zhuǎn)指定節(jié)點(diǎn),同時將失敗原因記入最后一個輸入緩沖區(qū),(可在本節(jié)點(diǎn)之后調(diào)用數(shù)據(jù)申請節(jié)點(diǎn),由后臺的支撐進(jìn)程處理這個錯誤信息)se
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1