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

正文內容

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

2025-06-24 14:03本頁面
  

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