專利名稱::統(tǒng)一消息通信狀態(tài)改變的動(dòng)態(tài)配置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明一般涉及計(jì)算機(jī)系統(tǒng),尤其涉及便于通過文件聲明來動(dòng)態(tài)配置菜單驅(qū)動(dòng)通信應(yīng)用程序的系統(tǒng)和方法,該文件聲明以靈活、粒度化且顯式的方式指定了菜單活動(dòng)、提示或轉(zhuǎn)換,且在硬編碼狀態(tài)機(jī)或文檔服務(wù)器的域之外的。
背景技術(shù):
:通信技術(shù)處于信息時(shí)代迅速改變的需求的最前沿。僅短短幾年前,傳真機(jī)技術(shù)通過電子編碼內(nèi)容并經(jīng)由電話線傳遞消息威脅了以郵件接收信息的傳統(tǒng)方式。該技術(shù)革命了幾百年來運(yùn)作商業(yè)的方式。幾乎在傳真機(jī)普遍的同時(shí),被稱為電子郵件或email的新技術(shù)開始趕超之前且唯一地處于傳真機(jī)領(lǐng)域的眾多應(yīng)用程序。隨著電子郵件應(yīng)用程序的發(fā)展,諸如即時(shí)消息通信服務(wù)等其它通信技術(shù)也在發(fā)展,這再次威脅到較舊形式的通信。連同諸如電子郵件和傳真機(jī)等文本驅(qū)動(dòng)的技術(shù),語音通信也從硬連線連接改變?yōu)榻裉旄餍胁⒊掷m(xù)發(fā)展的無線技術(shù)。為了管理眾多用戶可用的大量通信選項(xiàng),統(tǒng)一消息通信(UM)應(yīng)用程序開始出現(xiàn),它們提供用于處理用戶可用的眾多通信選項(xiàng)的服務(wù)。統(tǒng)一消息通信一般蘊(yùn)含語音、傳真、電子郵件等的集成,從而允許用戶隨時(shí)隨地從選擇的任何終端訪問這些消息中的任一個(gè)。統(tǒng)一消息通信系統(tǒng)的一個(gè)目的是簡化并加速通信過程,來獲得公司或其它實(shí)體內(nèi)時(shí)間和成本的節(jié)省?,F(xiàn)代通信系統(tǒng)的一個(gè)公共特征是,用戶一般被給予來自不同樣式菜單的各種配置選項(xiàng),以為特定通信偏好定制這些系統(tǒng)。因此,語音郵件、統(tǒng)一消息通信和其它智能語音識(shí)別(IVR)應(yīng)用程序含有一般為菜單驅(qū)動(dòng)的用戶界面。菜單包括,例如可以在電話上向終端用戶播放的一個(gè)或多個(gè)提示。在提示的結(jié)尾,用戶使用雙音多頻(DTMF)輸入響應(yīng),使得應(yīng)用程序改變至不同的菜單?,F(xiàn)有技術(shù)的一個(gè)問題是,各種應(yīng)用程序?qū)崿F(xiàn)使用有限狀態(tài)機(jī)來映射這些菜單改變。一般這些實(shí)現(xiàn)對(duì)菜單改變進(jìn)行硬編碼,使得難以擴(kuò)展和定制菜單。在減輕硬編碼特性的負(fù)擔(dān)并控制用于處理消息的元素的嘗試中,出現(xiàn)了諸如語音可擴(kuò)展標(biāo)記語言(VoiceXML)等技術(shù)。VoiceXML的一個(gè)目的是,將Web開發(fā)和內(nèi)容傳遞的完全能力帶給語音響應(yīng)應(yīng)用程序,并將這些應(yīng)用程序的作者從低級(jí)程序設(shè)計(jì)和資源管理中解放出來。它使得能夠使用熟知的客戶機(jī)—服務(wù)器范例來將語音服務(wù)與數(shù)據(jù)服務(wù)集成。語音服務(wù)被示為用戶與實(shí)現(xiàn)平臺(tái)之間的交互對(duì)話的序列。對(duì)話是由文檔服務(wù)器提供的,文檔服務(wù)器可以在各自的實(shí)現(xiàn)平臺(tái)外部。文檔服務(wù)器維護(hù)總服務(wù)邏輯,執(zhí)行數(shù)據(jù)庫和傳統(tǒng)系統(tǒng)操作,并產(chǎn)生對(duì)話。VoiceXML文檔(或調(diào)用應(yīng)用程序的一組相關(guān)文檔)形成了常規(guī)的有限狀態(tài)機(jī)。用戶在一個(gè)時(shí)刻總是處于一個(gè)常規(guī)狀態(tài)或?qū)υ捴小C恳粚?duì)話確定將轉(zhuǎn)移至的下一對(duì)話。使用URI來指定轉(zhuǎn)移,URI定義將使用的下一文檔和對(duì)話。如果URI沒有引用文檔,那么假定為當(dāng)前文檔。如果它沒有引用對(duì)話,那么假定為文檔中的第一個(gè)對(duì)話。當(dāng)對(duì)話沒有指定后繼者,或如果它含有顯式退出對(duì)話的元素時(shí),執(zhí)行終止。在VoiceXML中如何處理狀態(tài)轉(zhuǎn)移的一個(gè)問題涉及,狀態(tài)改變可指定將由文檔服務(wù)器檢索的新文檔的事實(shí)。因此,與特定用戶的任何交互一般需要與文檔服務(wù)器的多個(gè)轉(zhuǎn)移,以完成給定的對(duì)話會(huì)話。隨著顧客的數(shù)量增長,各個(gè)文檔服務(wù)器上的負(fù)載變得不可管理。這可能會(huì)導(dǎo)致要消耗更多的資源,諸如添加更多的服務(wù)器來處理負(fù)載。文檔自身內(nèi)的另一個(gè)低效問題涉及從一個(gè)文檔或?qū)υ掁D(zhuǎn)移至另一個(gè)所需的腳本代碼的數(shù)量。
發(fā)明內(nèi)容以下呈現(xiàn)了本發(fā)明的簡化概述,以提供對(duì)本發(fā)明的某些方面的基本理解。該概述不是本發(fā)明的寬泛的概觀。它不旨在標(biāo)識(shí)本發(fā)明的關(guān)鍵/重要的元素,也不描繪本發(fā)明的范圍。它唯一的目的是以簡化的形式呈現(xiàn)本發(fā)明的某些概念,作為之后呈現(xiàn)的更詳細(xì)描述的序言。本發(fā)明涉及以靈活且有效的方式為各種消息通信應(yīng)用程序控制菜單驅(qū)動(dòng)活動(dòng)的系統(tǒng)和方法。在一個(gè)方面中,配置文件指定通信系統(tǒng)中的對(duì)話界面的活動(dòng)、提示和/或轉(zhuǎn)移。活動(dòng)和轉(zhuǎn)移在配置文件內(nèi)被顯式地調(diào)出,并為與通信系統(tǒng)交互的用戶形成對(duì)話會(huì)話??稍趯?duì)話過程中向用戶提供通信選項(xiàng)(例如,選擇“1”來離開語音郵件或選擇“2”來退出)的配置文件內(nèi)指定各個(gè)提示。通過控制配置文件界限內(nèi)的對(duì)話狀態(tài)和向其它狀態(tài)的轉(zhuǎn)移,可以實(shí)現(xiàn)這樣一種通信界面,它具有多個(gè)用戶,而當(dāng)改變與每一各個(gè)用戶的對(duì)話條件時(shí)不必依賴于與外部服務(wù)器的多個(gè)交互。配置文件提供允許管理員在系統(tǒng)需求隨時(shí)間改變時(shí)能容易地適應(yīng)對(duì)話菜單的方便和動(dòng)態(tài)的機(jī)制。例如,配置文件可以用諸如XML等語言來編碼,其中如果所需,對(duì)給定界面的改變可被指定為導(dǎo)致對(duì)話的新的或不同的狀態(tài)轉(zhuǎn)移的新的或不同的活動(dòng)。在一個(gè)特定示例中,最初可以用英語來傳遞對(duì)話,帶有以英語提供的對(duì)話交互的選項(xiàng)。隨著時(shí)間的推移,可能期望為不說英語的用戶添加后繼的語言界面。因?yàn)榕渲梦募强蛇m應(yīng)并可編程的,管理員可以輕易地在配置文件內(nèi)指定新語言選項(xiàng)而不會(huì)引起對(duì)底層通信系統(tǒng)的修改以實(shí)現(xiàn)這樣的改變。為了達(dá)到前述及相關(guān)目的,此處結(jié)合以下描述及附圖描述了本發(fā)明的某些說明性方面。這些方面指示可實(shí)現(xiàn)本發(fā)明多種方式,所有這些都旨在被本發(fā)明所覆蓋。當(dāng)結(jié)合附圖考慮,通過閱讀本發(fā)明的以下詳細(xì)描述時(shí),本發(fā)明的其它優(yōu)點(diǎn)和新穎的特征將變得明顯。圖1是示出根據(jù)本發(fā)明的一方面的可配置消息通信系統(tǒng)的示意性框圖。圖2是示出根據(jù)本發(fā)明的一方面的示例性配置文件的框圖。圖3示出了根據(jù)本發(fā)明的一方面的示例性統(tǒng)一消息通信系統(tǒng)。圖4和5是示出根據(jù)本發(fā)明的一方面用于管理調(diào)用活動(dòng)的示例服務(wù)進(jìn)程的流程圖。圖6示出了根據(jù)本發(fā)明的一方面用于處理調(diào)用的示例服務(wù)類。圖7示出了根據(jù)本發(fā)明的一方面用于處理調(diào)用的示例配置類。圖8示出了根據(jù)本發(fā)明的一方面用于處理調(diào)用的示例活動(dòng)類。圖9是示出根據(jù)本發(fā)明的一方面的合適的操作環(huán)境的示意性框圖。圖10是示出本發(fā)明可與之交互的示例計(jì)算環(huán)境的示意性框圖。具體實(shí)施例方式本發(fā)明涉及能夠進(jìn)行動(dòng)態(tài)程序設(shè)計(jì)和執(zhí)行電子通信對(duì)話的系統(tǒng)和方法。在一個(gè)方面中,提供了可配置的消息通信系統(tǒng)。該系統(tǒng)包括描述計(jì)算機(jī)化的對(duì)話會(huì)話的界面選項(xiàng)的配置文件(例如,與統(tǒng)一消息通信應(yīng)用程序交互的選項(xiàng)的電子菜單)。配置文件指定配置文件內(nèi)的界面選項(xiàng)之間的界面活動(dòng)和狀態(tài)轉(zhuǎn)移,這減少了與外部通信服務(wù)器之間不必要的交互。狀態(tài)控制器在與對(duì)話會(huì)話的通信活動(dòng)過程中執(zhí)行界面選項(xiàng)。配置文件也描述向用戶或應(yīng)用程序請(qǐng)求信息的提示元素,這允許以靈活且有效的方式對(duì)給定對(duì)話進(jìn)行改變。如在本申請(qǐng)中所使用的,術(shù)語“組件”、“文件”、“系統(tǒng)”、“對(duì)象”、“控制器”等指的是計(jì)算機(jī)相關(guān)的實(shí)體,或者是硬件、硬件和軟件的組合、軟件或者執(zhí)行中的軟件。例如,組件可以是但不限于,運(yùn)行在處理器上的進(jìn)程、處理器、對(duì)象、可執(zhí)行代碼、執(zhí)行的線程、程序和/或計(jì)算機(jī)。作為示例,運(yùn)行在服務(wù)器上的應(yīng)用程序和服務(wù)器本身都可以是組件。一個(gè)或多個(gè)組件可以駐留在執(zhí)行的進(jìn)程和/或線程內(nèi),且組件可以位于一臺(tái)計(jì)算機(jī)上和/或分布在兩臺(tái)或多臺(tái)計(jì)算機(jī)之間。同樣,這些組件也可以從其上存儲(chǔ)各種數(shù)據(jù)結(jié)構(gòu)的各種計(jì)算機(jī)可讀介質(zhì)執(zhí)行。組件可以通過本地和/或遠(yuǎn)程進(jìn)程通信,諸如根據(jù)含有一個(gè)或多個(gè)數(shù)據(jù)包的信號(hào)(例如,來自一個(gè)組件的數(shù)據(jù)通過信號(hào)與本地系統(tǒng)、分布式系統(tǒng)中的另一組件和/或跨諸如因特網(wǎng)等網(wǎng)絡(luò)與其它系統(tǒng)交互)。最初參考圖1,示出了根據(jù)本發(fā)明一方面的可配置消息通信系統(tǒng)100。系統(tǒng)100包括與一個(gè)或多個(gè)用戶和/或自動(dòng)化應(yīng)用程序120交互以便于處理各種通信應(yīng)用程序的消息通信組件110。消息通信組件110可以與各種應(yīng)用程序相關(guān)聯(lián),諸如統(tǒng)一消息通信應(yīng)用程序、語音郵件處理、或基本上任何類型的語音識(shí)別應(yīng)用程序。通常,與消息通信組件110交互是通過雙音多頻(DTMF)輸入進(jìn)行的,但是也可使用諸如語音或文字輸入等其它類型的輸入。一般而言,配置文件130存儲(chǔ)驅(qū)動(dòng)與用戶或應(yīng)用程序120的界面對(duì)話會(huì)話140的指令或命令組。這樣的指令或命令可以使得對(duì)話會(huì)話140生成并處理例如一個(gè)或多個(gè)菜單項(xiàng),它們共同控制與用戶或應(yīng)用程序120的交互。例如,第一項(xiàng)可以與標(biāo)識(shí)會(huì)話的問候相關(guān),第二項(xiàng)可以請(qǐng)求口令輸入,第三項(xiàng)可以請(qǐng)求在與消息通信組件110相關(guān)聯(lián)的文件中記錄語音郵件消息。如將在以下更詳細(xì)描述的,配置文件可以指定控制對(duì)話會(huì)話140的活動(dòng)、提示或轉(zhuǎn)移,以及最終消息通信組件將如何與用戶或應(yīng)用程序120交互。配置文件130一般指定,例如在對(duì)話會(huì)話140中將完成什么活動(dòng),以及當(dāng)完成或中止給定的活動(dòng)之后將轉(zhuǎn)移至何種狀態(tài)。狀態(tài)是由指示消息處理組件160(或諸如服務(wù)等組件)在系統(tǒng)100中執(zhí)行某些動(dòng)作(例如,記錄語音郵件、回放消息、檢查用戶輸入等)的狀態(tài)控制器150來管理的。配置文件130允許管理員為多個(gè)不同的通信應(yīng)用程序動(dòng)態(tài)地適應(yīng)消息通信組件110的功能。這通過以可擴(kuò)展標(biāo)記語言(XML)或其它類型的語言指定對(duì)話交互或命令來完成,這些對(duì)話交互或命令協(xié)助來控制消息通信組件110的狀態(tài)。在這種情況中,配置文件130內(nèi)的指令從狀態(tài)控制器150中移除硬編碼的狀態(tài)實(shí)現(xiàn),并允許管理員適應(yīng)于改變的情況,而不必在進(jìn)行改變之后修改狀態(tài)控制器。因?yàn)橹疗渌鼱顟B(tài)的轉(zhuǎn)移被包含在配置文件130內(nèi),對(duì)給定對(duì)話會(huì)話140的對(duì)話控制可以在更細(xì)粒度的級(jí)別上動(dòng)態(tài)指定(例如,將轉(zhuǎn)移指定為文件內(nèi)而不是文檔外部的組),同時(shí)減少與其它計(jì)算機(jī)/組件的交互以確定系統(tǒng)100的適當(dāng)?shù)臓顟B(tài)或動(dòng)作。因此,本發(fā)明便于在XML文件(或其它類型)中為對(duì)話會(huì)話140配置菜單及其轉(zhuǎn)移,而不是在狀態(tài)控制器150中硬編碼這些方面。該特征促進(jìn)可擴(kuò)展性,其中可以無需對(duì)消息通信組件110的改變而添加新的菜單和轉(zhuǎn)移。同樣,配置文件130減少了應(yīng)用程序開發(fā)時(shí)間并允許定制,從而管理員和終端用戶可潛在地添加新的菜單并改變現(xiàn)有菜單轉(zhuǎn)移以適應(yīng)其需求。其它方面包括,對(duì)添加其它語言(例如,德語、法語、英語等)的提示、菜單和轉(zhuǎn)移的語言支持,這是通過僅修改配置文件130(或文件),而同時(shí)保持消息通信系統(tǒng)100的底層應(yīng)用程序?qū)崿F(xiàn)不變來完成的?,F(xiàn)在參考圖2,示出了根據(jù)本發(fā)明一方面的示例性配置文件200。一般而言,配置文件200包括在210示出的一個(gè)或多個(gè)對(duì)話命令組(例如,組101、102、103等)中排列的活動(dòng)元素、提示元素和轉(zhuǎn)換元素,其中這樣的組指定用于與通信或消息通信系統(tǒng)交互的用戶界面或菜單的操作。例如,如下在附錄A中作為示例1示出了在XML配置文件中描述的統(tǒng)一消息通信示例的電話用戶界面(TUI)。具有“id”屬性的元素描述一個(gè)活動(dòng)。例如,Menu(菜單)、Record(記錄)等都是活動(dòng)的示例。Prompt(提示)元素表示向終端用戶播放的提示,而Transition(轉(zhuǎn)換)元素描述將要執(zhí)行的下一活動(dòng)以及在轉(zhuǎn)移之前采取的動(dòng)作。一般而言,對(duì)話應(yīng)用程序的一個(gè)可能的實(shí)現(xiàn)包括每一狀態(tài)映射至配置文件210中的一個(gè)活動(dòng)的狀態(tài)機(jī)。例如,狀態(tài)轉(zhuǎn)移可以被映射至XML中的轉(zhuǎn)移元素。Action(動(dòng)作)屬性表示剛好要在狀態(tài)轉(zhuǎn)換之前執(zhí)行的動(dòng)作。同樣,該模型中也支持子狀態(tài)機(jī)轉(zhuǎn)移。例如,RecordVoicemail(記錄語音郵件)可以是含有包含菜單和記錄的眾多子活動(dòng)的父活動(dòng)。當(dāng)在如以下附錄A再現(xiàn)的示例1示出的該示例中時(shí),統(tǒng)一消息通信應(yīng)用程序接收來自終端用戶的調(diào)用,可使用涉及該調(diào)用的XML配置(預(yù)先加載至存儲(chǔ)器中),且為該調(diào)用執(zhí)行整個(gè)活動(dòng)狀態(tài)機(jī)。該加載配置的預(yù)調(diào)用粒度為管理員和終端用戶擴(kuò)展、定制和支持其它語言給出了極大的靈活性。轉(zhuǎn)向圖3,示出了根據(jù)本發(fā)明一方面的示例統(tǒng)一消息通信系統(tǒng)300。在該示例中,系統(tǒng)300描述了統(tǒng)一消息通信系統(tǒng)300如何在PBX310和會(huì)話發(fā)起協(xié)議(SIP)網(wǎng)關(guān)320的環(huán)境中協(xié)作。網(wǎng)關(guān)320可以通過IP網(wǎng)絡(luò)340使用SIP協(xié)議將調(diào)用330路由至(有線或無線地)統(tǒng)一消息通信系統(tǒng)300。這允許統(tǒng)一消息通信系統(tǒng)300不與PBX310連用。其它組件可包括用于存儲(chǔ)消息的郵箱服務(wù)器350和管理消息的現(xiàn)用目錄360。如圖所示,統(tǒng)一消息通信系統(tǒng)300可以包括諸如文本—語音(TTS)和語音識(shí)別引擎370等處理輸入調(diào)用330的組件,盡管也可提供諸如DTMF控件等其它類型的組件。如將在以下更詳細(xì)描述的,可以提供一個(gè)或多個(gè)統(tǒng)一消息通信服務(wù),它加載并執(zhí)行配置文件來創(chuàng)建界面會(huì)話來與生成調(diào)用330的用戶(或應(yīng)用程序)交互。這可包括管理系統(tǒng)300的狀態(tài)操作的各個(gè)對(duì)象和類的操作。圖4和5示出了根據(jù)本發(fā)明的一方面用于管理調(diào)用的示例服務(wù)方法。盡管為了說明的簡明性起見,方法被示出和描述為一連串或多個(gè)動(dòng)作,但是可以理解和領(lǐng)會(huì),本發(fā)明不受動(dòng)作的順序的限制,如根據(jù)本發(fā)明,某些動(dòng)作可以按與此處示出和描述的不同的順序發(fā)生和/或與其它動(dòng)作同時(shí)發(fā)生。例如,本領(lǐng)域的技術(shù)人員可以理解和領(lǐng)會(huì),方法可以替換地被表示為諸如狀態(tài)圖中的一連串互相關(guān)聯(lián)的狀態(tài)或事件。而且,并非所有示出的動(dòng)作都是實(shí)現(xiàn)根據(jù)本發(fā)明的方法所必需的。圖4示出在與調(diào)用者交互的服務(wù)的啟動(dòng)過程中的該服務(wù)的調(diào)用流程400。前進(jìn)至410,進(jìn)程讀取全局配置XML文件和統(tǒng)一消息通信配置XML文件,并然后填充統(tǒng)一消息通信配置類。在420處,確定并檢索給定機(jī)器上可用的軟件信息通路(trunk)的數(shù)量,其中各個(gè)信息通路與一給定的調(diào)用者相關(guān)聯(lián)。在430,對(duì)在420處描述的每一信息通路,執(zhí)行在440中示出的以下進(jìn)程a.創(chuàng)建新的線程。b.在該新線程中創(chuàng)建語音對(duì)象(VoiceObject)并初始化該對(duì)象。c.注冊(cè)傳入調(diào)用(OnIncomingCall)事件處理程序;以及d.運(yùn)行服務(wù)應(yīng)用程序來處理各個(gè)調(diào)用。一般而言,進(jìn)程在該線程中等待。這會(huì)開始用于處理線程上的調(diào)用的應(yīng)用程序消息循環(huán),以便于將在同一線程上執(zhí)行事件回叫。圖5示出了在處理傳入調(diào)用的過程中與調(diào)用者交互的服務(wù)的調(diào)用流程500。前進(jìn)至圖5的510,該服務(wù)將在創(chuàng)建語音對(duì)象的同一線程上調(diào)用在啟動(dòng)過程中注冊(cè)的傳入調(diào)用(以上在圖4中描述)。在520處,檢索調(diào)用者、被調(diào)用者和/或其它類型的調(diào)用信息并初始化語音對(duì)象的調(diào)用上下文(CallContext)。在530處,從同一消息通信配置文件中讀取第一活動(dòng)id(ActivityId),且該進(jìn)程從該活動(dòng)id創(chuàng)建活動(dòng)。在540處,執(zhí)行Activity.OnStart(活動(dòng)開始)函數(shù),開始執(zhí)行基于上述全局配置文件和/或統(tǒng)一消息通信配置文件的內(nèi)容的與調(diào)用者的對(duì)話?;诮y(tǒng)一消息通信配置文件中的活動(dòng)配置,Onstart函數(shù)異步地執(zhí)行語音對(duì)象的功能之一(例如,播放提示(PlayPrompt)、記錄文件(RecordFile)等)并然后退出各個(gè)線程。在550處,當(dāng)完成語音對(duì)象任務(wù)之后,例如,可以調(diào)用諸如OnDtmfInput(DTMF輸入)/OnPromptComplete(提示完成)/OnRecordComplete(記錄完成)/OnUserHangup(用戶掛起)/和OnTimeout(超時(shí))等函數(shù)。該回叫基于統(tǒng)一消息通信配置文件創(chuàng)建了新的活動(dòng)。注意到,如果檢測(cè)到該新活動(dòng)為空,那么可以在550處對(duì)調(diào)用斷開連接,否則該進(jìn)程返回至540處來執(zhí)行新的活動(dòng)。圖6示出了根據(jù)本發(fā)明一方面用于處理調(diào)用的示例服務(wù)類600。在該方面中,消息服務(wù)類600負(fù)責(zé)啟動(dòng)、創(chuàng)建和結(jié)束與組件的交互,后者為用戶或應(yīng)用程序與消息通信系統(tǒng)的交互處理傳入調(diào)用并控制界面。服務(wù)類600的各方面包括初始化服務(wù)調(diào)用的對(duì)象的入口點(diǎn)610。在620處,服務(wù)類包括起始點(diǎn),在此點(diǎn)上可以讀取配置文件并可至少部分基于該文件啟動(dòng)活動(dòng)。在630處,消息類600使用在服務(wù)完成時(shí)執(zhí)行的方法,諸如調(diào)用終止給定調(diào)用者或信息通路的活動(dòng)的關(guān)閉邏輯。以下代碼示出了示例服務(wù)類600。示例2該類為實(shí)現(xiàn)服務(wù)的啟動(dòng)和關(guān)閉代碼。publicclassUMServiceSystem.ServiceProcess.ServiceBase{///頂層活動(dòng)配置列表internalstaticActivityConfigListumconfig=null;//<概述>///由services.msc調(diào)用的UM服務(wù)的構(gòu)造函數(shù)///</概述>publicUMService();///<概述>///當(dāng)從服務(wù)MSC啟動(dòng)服務(wù)時(shí)的入口點(diǎn)///</概述>protectedoverridevoidOnStart(string[]args){1.讀取全局配置文件2.讀取UM配置文件并構(gòu)造umconfig(UM配置)對(duì)象3.創(chuàng)建IncomingCallControl(傳入調(diào)用控制)對(duì)象4.將IncomingCallHandler(傳入調(diào)用處理程序)注冊(cè)為使用IncomingCallControl的回叫。5.調(diào)用IncomingCallControl.Start(傳入調(diào)用控制.開始)}///<概述>///當(dāng)從服務(wù)MSC停止服務(wù)時(shí)的入口點(diǎn)///</概述>protectedoverridevoidOnStop(){1.調(diào)用IncomingCallControl.Shutdown(傳入調(diào)用控制.關(guān)閉)}///<概述>///當(dāng)從網(wǎng)關(guān)接收到調(diào)用時(shí)的入口點(diǎn)///</概述>staticvoidIncomingCallHandler(VoiceObjectvoiceObject){1.創(chuàng)建初始活動(dòng)(基于配置)2.調(diào)用初始Activity.Start(活動(dòng).開始)}}圖7示出了根據(jù)本發(fā)明的一方面用于處理調(diào)用的示例配置類700。類700可用于在存儲(chǔ)器中存儲(chǔ)配置文件。在該文件中的每一活動(dòng)包含,例如要播放的提示、期望的DTMF、在DTMF上采取的動(dòng)作以及在DTMF上進(jìn)行的下一活動(dòng)。存在如讀取語音郵件等含有自己的一組活動(dòng)的某些活動(dòng)。類700顯示了活動(dòng)配置類的繼承性分層結(jié)構(gòu)。ActivityConfig(活動(dòng)配置)是活動(dòng)配置的基類。它為可能的事件和特定活動(dòng)的該事件的下一活動(dòng)存儲(chǔ)散列表。這是基于配置文件的。以下代碼示例示出了示例配置類700。示例3///<概述>///活動(dòng)配置的基類///</概述>internalabstractclassActivityConfig{protectedstringactivityId;///所有活動(dòng)與此活動(dòng)對(duì)等protectedActivityConfigListpeerActivities;///包含DTMF與NextActivity(下一活動(dòng))之間的映射///NextActivity是ActivityConfigList(活動(dòng)配置列表)中的引用。protectedHashtableactivityDtmfMap;///<概述>//獲取活動(dòng)id///</概述>internalstringActivityId{get{returnthis.activityId;}}///<概述>///基于DTMF獲取下一活動(dòng)///該活動(dòng)的數(shù)位(digit)///</概述>internalNextActivityGetNextActivityId(stringdtmfDigits);///<概述>///activityconfig的構(gòu)造函數(shù)///</概述>internalActivityConfig(ActivityConfigListconfig,stringactivityId);//為活動(dòng)解析XML,且如果存在如activityDtmfMap(活動(dòng)Dtmf映射)//、提示和子活動(dòng)等字段,則全部填充。從UmConfig.Parse調(diào)用internalabstractvoidLoad(XmlNoderootNode);//創(chuàng)建對(duì)應(yīng)于該ActivityConfig的NewActivity(新活動(dòng))對(duì)象并返//回。internalabstractActivityCreateNewActivity();///<概述>//向activityDtmfMap添加活動(dòng)節(jié)點(diǎn)的函數(shù)。這由Load使用。//</概述>privatevoidAddActivityNode(XmlNodenodeCurrent);}以下是由示例統(tǒng)一信使服務(wù)實(shí)現(xiàn)的不同的活動(dòng)配置。1.MenuConfig這也基于XML為該活動(dòng)存儲(chǔ)提示。2.RecordVmailConfig這也存儲(chǔ)對(duì)ActivityConfigList的引用與對(duì)該活動(dòng)本地的ActivityConfig。3.ReadVmailConfig這也存儲(chǔ)對(duì)ActivityConfigList的引用與對(duì)該活動(dòng)本地的ActivityConfig。4.ReadEmailConfig這也存儲(chǔ)對(duì)ActivityConfigList的引用與對(duì)該活動(dòng)本地的ActivityConfig。5.ReadCalendarConfig這也存儲(chǔ)對(duì)ActivityConfigList的引用與對(duì)該活動(dòng)本地的ActivityConfig。6.ReadContactsConfig這也存儲(chǔ)對(duì)ActivityConfigList的引用與對(duì)該活動(dòng)本地的ActivityConfig。圖8示出了根據(jù)本發(fā)明的一方面用于處理調(diào)用的示例活動(dòng)類800。當(dāng)調(diào)用進(jìn)入統(tǒng)一消息通信服務(wù)時(shí),可以由狀態(tài)機(jī)對(duì)其處理,狀態(tài)機(jī)基于上述的配置文件從一個(gè)狀態(tài)移動(dòng)至另一個(gè)狀態(tài)。該機(jī)器中的狀態(tài)是語音形式的,它們確定將要播放的提示或采取的動(dòng)作。事件可以是來自終端用戶的DTMF或語音輸入或諸如郵件結(jié)束等內(nèi)部事件。Activity(活動(dòng))類800實(shí)現(xiàn)狀態(tài)機(jī)的一個(gè)狀態(tài)。這是活動(dòng)的基類。示例4internalabstractclassActivity{//當(dāng)執(zhí)行動(dòng)作時(shí)生成事件protectedstringautoEvent;internalActivity();internalabstractvoidOnStart(VoiceObjectvoiceObject);internalabstractvoidOnDtmfInput(VoiceObjectvoiceObject);internaIabstractvoidOnUserHangup(VoiceObjectvoiceObject);internalabstractvoidOnPromptComplete(VoiceObjectvoiceObject);internalabstractvoidOnRecordComplete(VoiceObjectvoiceObject);internalabstractvoidOnTimeout(VoiceObjectvoiceObject);protectedvoidExecuteNextAction(stringaction,VoiceObjectvoiceObject){1.基于傳遞給它的動(dòng)作執(zhí)行適當(dāng)?shù)膭?dòng)作。2.當(dāng)執(zhí)行動(dòng)作時(shí),這可生成autoEvent(自動(dòng)事件)。}}以下是由服務(wù)實(shí)現(xiàn)的不同活動(dòng)。這些將含有可被傳遞給構(gòu)造函數(shù)的對(duì)相應(yīng)的ActivityConfig類的引用。1.MenuActivity用于播放提示和等待用戶輸入(DTMF或語音)。這是基本活動(dòng)。2.RecordVmailActivity維護(hù)記錄語音消息所需的活動(dòng)集。3.ReadVmailActivity維護(hù)讀取語音消息所需的活動(dòng)集。4.ReadEmailActivity維護(hù)讀取消息所需的活動(dòng)集。5.ReadCalendarActivity維護(hù)讀取日歷所需的活動(dòng)集。6.ReadContactsActivity維護(hù)讀取聯(lián)系人所需的活動(dòng)集。參考圖9,用于實(shí)現(xiàn)本發(fā)明各方面的示例性環(huán)境910包括計(jì)算機(jī)912。計(jì)算機(jī)912包括處理單元914、系統(tǒng)存儲(chǔ)器916和系統(tǒng)總線918。系統(tǒng)總線918將包括但不限于系統(tǒng)存儲(chǔ)器916的系統(tǒng)組件耦合至處理單元914。處理單元914可以是任何各種可用的處理器。也可以使用雙微處理器和其它多處理器體系結(jié)構(gòu)作為處理單元914。系統(tǒng)總線918可以是若干類型的總線結(jié)構(gòu)中的任一種,包括存儲(chǔ)器總線或存儲(chǔ)器控制器、外圍總線或外部總線和/或使用任何各種可用的總線體系結(jié)構(gòu)的局部總線,可用的總線體系結(jié)構(gòu)包括,但不限于,11位總線、工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)、微通道體系結(jié)構(gòu)(MCA)、擴(kuò)展的ISA(EISA)、智能驅(qū)動(dòng)器電子接口(IDE)、VESA局部總線(VLB)、外圍部件互連(PCI)、通用串行總線(USB)、高級(jí)圖形接口(AGP)、個(gè)人計(jì)算機(jī)存儲(chǔ)卡國際協(xié)會(huì)總線(PCMCIA)以及小型計(jì)算機(jī)系統(tǒng)接口(SCSI)。系統(tǒng)存儲(chǔ)器916包括易失性存儲(chǔ)器920和非易失性存儲(chǔ)器922?;据斎?輸出系統(tǒng)(BIOS)包含有助于諸如啟動(dòng)時(shí)在計(jì)算機(jī)912中元件之間傳遞信息的基本例程,它通常存儲(chǔ)在非易失性存儲(chǔ)器922中。作為說明,而非限制,非易失性存儲(chǔ)器922可以包括只讀存儲(chǔ)器(ROM)、可編程ROM(PROM)、電可編程ROM(EPROM)、電可擦除ROM(EEPROM)或閃存。易失性存儲(chǔ)器920可以包括用作外部高速緩存的隨機(jī)存取存儲(chǔ)器(RAM)。作為說明,而非限制,RAM以多種形式可用,諸如同步RAM(SRAM)、動(dòng)態(tài)RAM(DRAM)、同步DRAM(SDRAM)、雙倍數(shù)據(jù)速率SDRAM(DDRSDRAM)、增強(qiáng)型SDRAM(ESDRAM)、同步鏈路DRAM(SLDRAM)以及直接RambusRAM(DRRAM)。計(jì)算機(jī)912也包括可移動(dòng)/不可以移動(dòng)、易失性/非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)。例如,圖9示出磁盤存儲(chǔ)924。磁盤存儲(chǔ)924包括,但不限于,如磁盤驅(qū)動(dòng)器、軟盤驅(qū)動(dòng)器、磁帶驅(qū)動(dòng)器、Jaz驅(qū)動(dòng)器、Zip驅(qū)動(dòng)器、Ls-100驅(qū)動(dòng)器、閃存卡或記憶棒的設(shè)備。另外,磁盤存儲(chǔ)924可以包括獨(dú)立或與其它存儲(chǔ)介質(zhì)結(jié)合的存儲(chǔ)介質(zhì),包括但不限于,諸如光盤ROM設(shè)備(CD-ROM)、CD可記錄驅(qū)動(dòng)器(CD-R驅(qū)動(dòng)器)、CD可重寫驅(qū)動(dòng)器(CD-RW驅(qū)動(dòng)器)或數(shù)字多功能盤ROM驅(qū)動(dòng)器(DVD-ROM)等的光盤驅(qū)動(dòng)器。為了便于將磁盤存儲(chǔ)設(shè)備924連接至系統(tǒng)總線918,一般使用諸如接口926等可移動(dòng)或不可移動(dòng)接口??梢岳斫?,圖9描述了作為用戶和在合適的操作環(huán)境910中描述的基本計(jì)算機(jī)資源之間的中介的軟件。這樣的軟件包括操作系統(tǒng)928。可被存儲(chǔ)在磁盤存儲(chǔ)924上的操作系統(tǒng)928用來控制和分配計(jì)算機(jī)系統(tǒng)912的資源。系統(tǒng)應(yīng)用程序930通過存儲(chǔ)在系統(tǒng)存儲(chǔ)器916或者磁盤存儲(chǔ)914上的程序模塊932和程序數(shù)據(jù)934利用了操作系統(tǒng)928執(zhí)行的資源管理??梢岳斫?,本發(fā)明可以使用各種操作系統(tǒng)或操作系統(tǒng)的組合來實(shí)現(xiàn)。用戶通過輸入設(shè)備936向計(jì)算機(jī)912輸入命令或信息。輸入設(shè)備936包括,但不限于,諸如鼠標(biāo)、跟蹤球、指示筆等定點(diǎn)設(shè)備、觸摸墊、鍵盤、麥克風(fēng)、操縱桿、游戲墊、圓盤式衛(wèi)星天線、掃描儀、TV調(diào)諧器卡、數(shù)碼相機(jī)、數(shù)碼攝像機(jī)、網(wǎng)絡(luò)攝像頭等。這些和其它輸入設(shè)備經(jīng)由接口端口938通過系統(tǒng)總線918連接至處理單元914。接口端口938包括,例如串行端口、并行端口、游戲端口和通用串行總線(USB)。輸出設(shè)備940使用某些與輸入設(shè)備936相同類型的端口。從而,例如,USB端口可以用于向計(jì)算機(jī)912提供輸入,并向輸出設(shè)備940提供來自計(jì)算機(jī)912的輸出信息。提供輸出適配器942來示出,存在類似監(jiān)視器、揚(yáng)聲器和打印機(jī)以及其它需要專用適配器的輸出設(shè)備940的某些輸出設(shè)備940。作為說明而非限制,輸出適配器942包括提供輸出設(shè)備940和系統(tǒng)總線918之間的連接手段的顯卡和聲卡。應(yīng)該注意,諸如遠(yuǎn)程計(jì)算機(jī)944等其它設(shè)備和/或設(shè)備系統(tǒng)同時(shí)提供輸入和輸出能力兩者。計(jì)算機(jī)912可使用至一臺(tái)或多臺(tái)遠(yuǎn)程計(jì)算機(jī),諸如遠(yuǎn)程計(jì)算機(jī)944的邏輯連接在網(wǎng)絡(luò)化環(huán)境中操作。遠(yuǎn)程計(jì)算機(jī)944可以是個(gè)人計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、工作站、基于微處理器的裝置、對(duì)等設(shè)備或其它常見網(wǎng)絡(luò)節(jié)點(diǎn)等,且通常包括上文相對(duì)于計(jì)算機(jī)912描述的許多或所有元件。為簡潔起見,對(duì)于遠(yuǎn)程計(jì)算機(jī)944僅示出存儲(chǔ)器存儲(chǔ)設(shè)備946。遠(yuǎn)程計(jì)算機(jī)944通過網(wǎng)絡(luò)接口948被邏輯連接至計(jì)算機(jī)912,并且然后通過通信連接950被物理地連接。網(wǎng)絡(luò)接口948包括諸如局域網(wǎng)(LAN)和廣域網(wǎng)(WAN)的通信網(wǎng)絡(luò)。LAN技術(shù)包括光纖分布式數(shù)據(jù)接口(FDDI)、銅線分布式數(shù)據(jù)接口(CDDI)、以太網(wǎng)/IEEE802.3、令牌環(huán)/IEEE802.5等。WAN技術(shù)包括,但不限于,點(diǎn)對(duì)點(diǎn)鏈路、類似綜合業(yè)務(wù)數(shù)字網(wǎng)(ISDN)及其變體的電路交換網(wǎng)絡(luò)、分組交換網(wǎng)絡(luò)和數(shù)字用戶線(DSL)。通信連接950指的是用來將網(wǎng)絡(luò)接口948連接至總線918的硬件/軟件。盡管為說明清楚,將通信連接950示為位于計(jì)算機(jī)912內(nèi),然而它也可以在計(jì)算機(jī)912外部。僅為示例的目的,連接至網(wǎng)絡(luò)接口948所必需的硬件/軟件包括內(nèi)部和外部技術(shù),諸如包括常規(guī)電話級(jí)調(diào)制解調(diào)器、線纜調(diào)制解調(diào)器和DSL調(diào)制解調(diào)器等的調(diào)制解調(diào)器、ISDN適配器以及以太網(wǎng)卡。圖10是本發(fā)明可與之交互的示例計(jì)算環(huán)境1000的示意性框圖。系統(tǒng)1000包括一個(gè)或多個(gè)客戶機(jī)1010??蛻魴C(jī)1010可以是硬件和/或軟件(例如,線程、進(jìn)程、計(jì)算設(shè)備)。系統(tǒng)1000也包括一個(gè)或多個(gè)服務(wù)器1030。服務(wù)器1030也可以是硬件和/或軟件(例如,線程、進(jìn)程、計(jì)算設(shè)備)。例如,服務(wù)器1030可以容納通過使用本發(fā)明來執(zhí)行轉(zhuǎn)換的線程??蛻魴C(jī)1010和服務(wù)器1030之間的一種可能的通信可以是適于在兩個(gè)或多個(gè)計(jì)算機(jī)進(jìn)程之間傳輸?shù)臄?shù)據(jù)包的形式。系統(tǒng)1000包括可以被用來促進(jìn)客戶機(jī)1010和服務(wù)器1030之間通信的通信架構(gòu)1050??蛻魴C(jī)1010可操作地連接至可用來存儲(chǔ)對(duì)客戶機(jī)1010本地的信息的一個(gè)或多個(gè)客戶機(jī)數(shù)據(jù)存儲(chǔ)1060。類似地,服務(wù)器1030可操作地連接至可被用來存儲(chǔ)對(duì)服務(wù)器1030本地的信息的一個(gè)或多個(gè)服務(wù)器數(shù)據(jù)存儲(chǔ)1040。以上描述的包括本發(fā)明的示例。當(dāng)然,不可能為描述本發(fā)明而描述每個(gè)可想象的組件或方法的組合,但是本領(lǐng)域的普通技術(shù)人員可以認(rèn)識(shí)到,本發(fā)明的眾多其它組合和排列是可能的。從而,本發(fā)明旨在包括落入所附權(quán)利要求書精神和范圍內(nèi)的所有這樣的變更、修改和變化。而且,就在詳細(xì)描述和權(quán)利要求書中都使用的術(shù)語“包括”而言,當(dāng)被用作權(quán)利要求書中的過渡詞時(shí),這樣的術(shù)語旨在類似于解釋術(shù)語“包含”的方式是包含性的。附錄A示例1<?xmlversion=″1.0″e(cuò)ncoding=″utf-8″?><UmConfigfirstActivityId=″100″><!--檢查是否從網(wǎng)關(guān)接收到有效轉(zhuǎn)移--><Menuid=″100″minDtmfSize=″0″maxDtmfSize=″0″dtmfInputValue=″option″><Transitionevent=″noKey″refId=″101″action=″getExtension″></Transition><Transitionevent=″e(cuò)xtensionFound″refId=″700″action=″null″></Transition></Menu><!--歡迎來到統(tǒng)一消息通信--><Menuid=″101″minDtmfSize=″0″maxDtmfSize=″0″dtmfInputValue=″option″><Prompttype=″wave″name=″0020.wav″/><Transitionevent=″noKey″refId=″102″action=″null″/></Menu><!--僅輸入分機(jī)或#--><Menuid=″102″minDtmfSize=″1″maxDtmfSize=″6″dtmfInputValue=″option″dtmfStopTones=″#*″interDigitTimeout=″5″><Prompttype=″wave″name=″0510.wav″></Prompt><Transitionevent=″#″refId=″106″action=″validateCaller″></Transition><Transitionevent=″anyKey″refId=″102″action=″validExtension″></Transition><Transitionevent=″e(cuò)xtensionFound″refId=″700″action=″null″></Transition><Transitionevent=″invalidExtension″refId=″115″action=″null″></Transition><Transitionevent=″maxInvalidExtensions″refId=″116″action=″null″></Transition><Transitionevent=″mailboxFound″refId=″104″action=″getName″></Transition><Transitionevent=″0″action=″notImplemented″refId=″102″/><Transitionevent=″*″action=″notImplemented″refId=″102″/></Menu><Menuid=″103″minDtmfSize=″0″maxDtmfSize=″0″dtmfInputValue=″option″><Prompttype=″wave″name=″0000.wav″></Prompt><Transitionevent=″noKey″refId=″103″action=″disconnect″></Transition></Menu><!--輸入口令--><Menuid=″104″minDtmfSize=″1″maxDtmfSize=″24″dtmfInputValue=″password″dtmfStopTones=″*#″interDigitTimeout=″5″><Prompttype=″tempwave″name=″userName″/><Prompttype=″wave″name=″0015.wav″/><Transitionevent=″*″action=″null″refId=″106″/><Transitionevent=″anyKey″action=″doLogon″refId=″140″/><Transitionevent=″logonOk″action=″null″refId=″400″/><Transitionevent=″firstTimeUserTask″action=″null″refId=″600″/><Transitionevent=″changePasswordTask″action=″null″refId=″600″/><Transitionevent=″badPasswordDisconnect″action=″null″refId=″141″/><Transitionevent=″badPasswordLockout″action=″null″refId=″142″/></Menu><!--主菜單--><Menuid=″105″minDtmfSize=″1″maxDtmfSize=″2″dtmfInputValue=″option″><PromptSwitchevaluate=″more″><Casecondition=″more″><PrompttyPe=″wave″name=″0516.wav″/></Case><Casecondition=″default″><Prompttype=″wave″name=″0515.wav″/></Case></PromptSwitch><Transitionevent=″1″action=″null″refId=″800″/><Transitionevent=″2″action=″null″refId=″200″/><Transitionevent=″3″action=″notImplemented″refId=″105″/><Transitionevent=″4″action=″notImplemented″refId=″105″/><Transitionevent=″5″action=″null″refId=″130″/><Transitionevent=″6″action=″null″refId=″600″/><Transitionevent=″7″action=″notImplemented″refId=″105″/><Transitionevent=″0″action=″null″refId=″105″/><Transitionevent=″00″action=″more″refId=″105″/><Transitionevent=″*″action=″disconnect″refId=″105″/></Menu><!--記錄語音郵件管理器--><RecordVoicemailid=″700″firstActivityId=″701″><Transitionevent=″out-1″action=″null″refId=″150″/><!--記錄語音郵件獲取問候菜單--><Menuid=″701″minDtmfSize=″0″maxDtmfSize=″0″dtmfInputValue=″option″><Transitionevent=″noKey″action=″getGreeting″refId=″702″/><Transitionevent=″noGreeting″action=″null″refId=″703″/></Menu><!--記錄語音郵件找到問候菜單--><Menuid=″702″minDtmfSize=″0″maxDtmfSize=″0″dtmfInputValue=″option″><Transitionevent=″noKey″action=″null″refId=″704″/><Prompttype=″tempwave″name=″customGreeting″/></Menu><!--記錄語音郵件未找到問候菜單--><Menuid=″703″minDtmfSize=″0″maxDtmfSize=″0″dtmfInputValue=″option″><Transitionevent=″noKey″action=″null″refId=″704″/><Prompttype=″wave″name=″0003a.way″></Prompt><Prompttype=″text″name=″userName″/></Menu><!--記錄語音郵件主菜單--><Menuid=″704″minDtmfSize=″0″maxDtmfSize=″1″dtmfInputValue=″option″><Transitionevent=″noKey″action=″null″refId=″705″/><Transitionevent=″*″action=″fillCallerInfo″refId=″out-1″/><PrompttyPe=″wave″name=″0000.wav″></Prompt></Menu><Recordid=″705″saveTo=″voicemailMessage″minDtmfSize=″1″maxDtmfSize=″1″dtmfStopTones=″#*″><Transitionevent=″#″action=″recordPlayTime″refId=″706″/><Transitionevent=″*″action=″clearVoiceMail″refId=″713″/><Transitionevent=″anyKey″action=″recordPlayTime″refId=″706″/><Transitionevent=″silence″action=″null″refId=″709″/><Transitionevent=″timeout″action=″null″refId=″706″/></Record><!--記錄語音郵件記錄后菜單--><Menuid=″706″minDtmfSize=″1″maxDtmfSize=″2″dtmfInputValue=″option″><PromptSwitchevaluate=″more″><Casecondition=″more″><Prompttype=″wave″name=″0501.wav″/></Case><Casecondition=″default″><Prompttype=″wave″name=″0500.wav″/></Case></PromptSwitch><Transitionevent=″11″action=″notImplemented″refId=″706″/><Transitionevent=″1″action=″submitVoiceMail″refId=″707″/><Transitionevent=″2″action=″null″refId=″708″/><Transitionevent=″3″action=″clearVoiceMail″refId=″704″/><Transitionevent=″4″action=″notImplemented″refId=″706″/><Transitionevent=″0″action=″null″refId=″706″/><Transitionevent=″00″action=″more″refId=″706″/><Transitionevent=″*″acction=″clearVoiceMail″refId=″713″/></Menu><Menuid=″707″minDtmfSize=″0″maxDtmfSize=″0″dtmfInputValue=″option″><Prompttype=″wave″name=″1075.wav″></Prompt><Prompttype=″wave″name=″0565.wav″></Prompt><Transitionevent=″noKey″refId=″707″action=″disconnect″></Transition></Menu></RecordVoicemail></UmConfig>權(quán)利要求1.一種可配置的消息通信系統(tǒng),包括描述計(jì)算機(jī)化對(duì)話會(huì)話的界面選項(xiàng)的配置文件,所述配置文件指定所述配置文件內(nèi)界面選項(xiàng)之間的界面活動(dòng)和狀態(tài)轉(zhuǎn)移;以及在與所述對(duì)話會(huì)話的通信活動(dòng)過程中執(zhí)行所述界面選項(xiàng)的狀態(tài)控制器。2.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述配置文件描述向至少一個(gè)用戶或應(yīng)用程序請(qǐng)求信息的提示元素。3.如權(quán)利要求2所述的系統(tǒng),其特征在于,還包括執(zhí)行所述配置文件并與所述狀態(tài)控制器交互的消息處理組件。4.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括接收語音或雙音多頻(DTMF)輸入的組件。5.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述配置文件和所述狀態(tài)控制器與統(tǒng)一消息通信應(yīng)用程序相關(guān)聯(lián)。6.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述配置包括一個(gè)或多個(gè)活動(dòng)元素、一個(gè)或多個(gè)提示元素以及一個(gè)或多個(gè)轉(zhuǎn)移元素,以便于所述對(duì)話會(huì)話。7.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述活動(dòng)元素、提示元素和轉(zhuǎn)移元素被組成組來創(chuàng)建所述對(duì)話會(huì)話。8.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括操作配置類和活動(dòng)類中的至少一個(gè)來操作所述對(duì)話會(huì)話的服務(wù)。9.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括網(wǎng)關(guān)組件、協(xié)議組件、語音引擎、郵箱服務(wù)器以及目錄服務(wù)器中的至少一個(gè)以便于與用戶或應(yīng)用程序交互。10.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括與所述配置文件協(xié)作以啟用所述對(duì)話會(huì)話的全局配置文件。11.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括支持所述對(duì)話會(huì)話的至少一個(gè)語音對(duì)象。12.如權(quán)利要求11所述的系統(tǒng),其特征在于,所述語音對(duì)象在數(shù)字化音頻文件中存儲(chǔ)語音數(shù)據(jù)。13.如權(quán)利要求11所述的系統(tǒng),其特征在于,所述配置文件是通過可擴(kuò)展標(biāo)記語言(XML)來編程的。14.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括控制菜單操作、記錄語音郵件活動(dòng)、讀取語音郵件活動(dòng)、讀取電子郵件活動(dòng)、讀取日歷活動(dòng)和讀取聯(lián)系人活動(dòng)的至少一個(gè)功能。15.一種其上存儲(chǔ)用于實(shí)現(xiàn)如權(quán)利要求1所述的組件的計(jì)算機(jī)可讀指令的計(jì)算機(jī)可讀介質(zhì)。16.一種用于配置消息通信系統(tǒng)的方法,包括創(chuàng)建為用戶定義界面活動(dòng)的配置文件;在所述配置文件內(nèi)定義至少一個(gè)活動(dòng)、提示和轉(zhuǎn)移;執(zhí)行所述配置文件;以及基于所述配置文件內(nèi)的指令,為所述用戶自動(dòng)創(chuàng)建界面會(huì)話。17.如權(quán)利要求16所述的方法,其特征在于,還包括創(chuàng)建含有配置類或活動(dòng)類來操作所述配置文件的服務(wù)。18.如權(quán)利要求16所述的方法,其特征在于,還包括使用多個(gè)人類語言選項(xiàng)對(duì)所述配置文件編程。19.如權(quán)利要求16所述的方法,其特征在于,還包括使用無線協(xié)議來操作所述界面會(huì)話。20.一種提供統(tǒng)一消息通信服務(wù)的系統(tǒng),包括用于為用戶或系統(tǒng)定義界面選項(xiàng)的裝置;用于根據(jù)所述界面選項(xiàng)執(zhí)行活動(dòng)、提示或轉(zhuǎn)移的裝置;用于在執(zhí)行所述活動(dòng)、提示或轉(zhuǎn)移之后操作對(duì)話會(huì)話的裝置;以及用于存儲(chǔ)由所述對(duì)話會(huì)話產(chǎn)生的數(shù)據(jù)的裝置。全文摘要本發(fā)明涉及允許動(dòng)態(tài)編程和執(zhí)行電子通信對(duì)話的系統(tǒng)和方法。在一個(gè)方面中,提供了可配置的消息通信系統(tǒng)。該系統(tǒng)包括描述計(jì)算機(jī)化的對(duì)話會(huì)話的界面選項(xiàng)的配置文件,其中配置文件指定該配置文件內(nèi)的界面選項(xiàng)之間的界面活動(dòng)和狀態(tài)轉(zhuǎn)移。狀態(tài)控制器在與對(duì)話會(huì)話的通信活動(dòng)過程中執(zhí)行界面選項(xiàng)。配置文件也可描述向用戶或應(yīng)用程序請(qǐng)求信息的提示元素。文檔編號(hào)H04L29/06GK1828528SQ20061000462公開日2006年9月6日申請(qǐng)日期2006年1月26日優(yōu)先權(quán)日2005年2月28日發(fā)明者D·A·豪威爾,J·M·萊昂,S·森達(dá)拉拉曼,S·R·曼達(dá)申請(qǐng)人:微軟公司