新四季網

統一消息通信狀態改變的動態配置的製作方法

2023-08-10 22:06:06 2


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

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀