專利名稱:分布式語(yǔ)音服務(wù)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及定義和處理計(jì)算機(jī)交互操作的方法和系統(tǒng)。尤其是,本發(fā)明涉及在一個(gè)系統(tǒng),諸如一個(gè)電信系統(tǒng),中的設(shè)備之間建立通信協(xié)議的方法和系統(tǒng)。
計(jì)算機(jī)支持電信應(yīng)用程序(CSTA)是一個(gè)用于全球以及企業(yè)通信的廣泛適用的標(biāo)準(zhǔn)組。尤其是,CSTA是一個(gè)指定了對(duì)電信底層結(jié)構(gòu)的可編程訪問以及控制的標(biāo)準(zhǔn)??梢蚤_發(fā)用于廣泛任務(wù)種類的軟件,范圍從建立并接收簡(jiǎn)單電話呼叫到通過音頻和圖像管理大型多點(diǎn)協(xié)作。
CSTA標(biāo)準(zhǔn)化于多個(gè)ECMA/ISO(ECMA International Rue du Rhne 114 CH-1204Geneva,www.ecma-international.org)標(biāo)準(zhǔn)中。核心操作模型和CSTA對(duì)象、服務(wù)以及事件的語(yǔ)義定義在ECMA-269中。這些CSTA特征以一個(gè)抽象的平臺(tái)式的獨(dú)立方式定義,這樣它們可以適應(yīng)于多種編程平臺(tái)。此外,CSTA還伴有多個(gè)標(biāo)準(zhǔn)化編程或協(xié)議語(yǔ)法,其中,ECMA-323定義了綁定于CSTA的可擴(kuò)展標(biāo)記語(yǔ)言(XML),即通常所知的CSTA-XML,以及ECMA-348web服務(wù)描述語(yǔ)言(WSDL)綁定。這些語(yǔ)言綁定,被認(rèn)為是CSTA標(biāo)準(zhǔn)組的一部分,保證了最大化的交互操作性,使CSTA特征可通過任何標(biāo)準(zhǔn)傳輸協(xié)議,包括傳輸控制協(xié)議(TCP)、會(huì)話啟動(dòng)協(xié)議(SIP)、或是簡(jiǎn)單對(duì)象訪問協(xié)議(SOAP),開放于運(yùn)行著不同操作系統(tǒng)的計(jì)算機(jī)。
進(jìn)來,CSTA表現(xiàn)出了在交互語(yǔ)音服務(wù)領(lǐng)域的強(qiáng)有力的適用性。這種適用性是基于語(yǔ)音應(yīng)用程序語(yǔ)言標(biāo)簽(SALT)的增強(qiáng)語(yǔ)音服務(wù)所推進(jìn),SALT的進(jìn)一步描述在SALT 1.0說明書中,可見于www.saltforum.org。通過使用SALT,呼叫中心可以進(jìn)一步的自動(dòng)化,包括多種語(yǔ)音相關(guān)特征。然而,呼叫控制以及語(yǔ)音控制應(yīng)用程序的不同造成了促進(jìn)分布式語(yǔ)音服務(wù)的困難。這樣,存在著在促進(jìn)語(yǔ)音服務(wù)時(shí)建立協(xié)議的需求。
發(fā)明內(nèi)容
本發(fā)明涉及在客戶機(jī)和服務(wù)器之間建立一媒體信道以及一信令信道。媒體信道為通信使用選定的編碼解碼器和協(xié)議。通過媒體信道以及信令信道,一個(gè)客戶機(jī)上的應(yīng)用程序可以使用服務(wù)器上的語(yǔ)音服務(wù)。
圖1-4示出了使用本發(fā)明的示例性計(jì)算設(shè)備。
圖5示出了用于分布式語(yǔ)音服務(wù)的示例性體系結(jié)構(gòu)。
圖6示出了用于實(shí)現(xiàn)分布式語(yǔ)音服務(wù)的示例性系統(tǒng)。
圖7示出了用于在SIP環(huán)境中建立通道的示例性方法。
圖8示出了用于在web服務(wù)環(huán)境中建立通道的示例性方法。
具體實(shí)施例方式
在描述用于分布式語(yǔ)音服務(wù)的體系結(jié)構(gòu)以及用于實(shí)現(xiàn)其的方法之前,描述可在體系結(jié)構(gòu)中工作的通常計(jì)算設(shè)備是有用的?,F(xiàn)在參照?qǐng)D1,一個(gè)數(shù)據(jù)管理設(shè)備(PIM、PDA或是諸如此類)的示例性外形在30示出。然而,可以預(yù)期的是本發(fā)明使用下述計(jì)算設(shè)備時(shí)同樣有用,并且尤其是,這些計(jì)算設(shè)備含有有限的表面面積用于輸入按鍵或諸如此類。例如,電話和/或數(shù)據(jù)管理設(shè)備也將會(huì)得益于本發(fā)明。這些設(shè)備將含有對(duì)比現(xiàn)有移動(dòng)個(gè)人信息管理設(shè)備以及其他便攜式電子設(shè)備增強(qiáng)了的功能,并且這些設(shè)備的功能和大小尺寸似乎更鼓勵(lì)用戶在任何時(shí)間都攜帶這些設(shè)備。相應(yīng)地,在此披露的示例性數(shù)據(jù)管理或示出的PIM設(shè)備、電話以及計(jì)算機(jī)不是意圖限制本體系結(jié)構(gòu)的范圍。
一個(gè)數(shù)據(jù)管理移動(dòng)設(shè)備30的示例性外形在圖1中示出。移動(dòng)設(shè)備30包括一個(gè)機(jī)架32并帶有一個(gè)用戶界面包括一個(gè)顯示器34,它它使用了接觸傳感顯示屏連同一支鐵筆33。鐵筆33是用來在指定的相應(yīng)點(diǎn)按壓或接觸顯示器34以選擇一片區(qū)域、有選擇地移動(dòng)指針的開始位置、此外或是諸如通過手勢(shì)或書寫提供命令信息??蛇x地,或此外,一個(gè)或多個(gè)按鍵35可被包括在設(shè)備30上,用于導(dǎo)航。此外,可提供其他輸入機(jī)制諸如轉(zhuǎn)動(dòng)輪、滾筒或諸如此類。然而,需要注明的是,本發(fā)明不是意圖受限于這些形式的輸入機(jī)制。例如,其他形式的輸入機(jī)制可包括諸如通過計(jì)算機(jī)影像的一個(gè)虛擬輸入。
現(xiàn)在參考圖2,塊狀圖示出了包括移動(dòng)設(shè)備30的功能組件。一個(gè)中央處理單元(CPU)50實(shí)現(xiàn)了軟件控制功能。CPU 50連接顯示器34從而根據(jù)控制軟件生成的文本和圖像標(biāo)志顯示在顯示器34上。揚(yáng)聲器43通常情況下通過數(shù)模轉(zhuǎn)換器59連接到CPU 50以提供可聽輸出。下載或由用戶鍵入移動(dòng)設(shè)備30的數(shù)據(jù)存儲(chǔ)在一個(gè)非易失性讀/寫隨機(jī)訪問存儲(chǔ)器54,后者雙向連接到CPU 50。
隨機(jī)訪問存儲(chǔ)器(RAM)54為CPU 50執(zhí)行的指令提供易失性存儲(chǔ),并存儲(chǔ)臨時(shí)數(shù)據(jù),諸如注冊(cè)表鍵值。默認(rèn)的配置選項(xiàng)鍵值以及其他變量被存儲(chǔ)在只讀存儲(chǔ)器(ROM)58中。ROM 58可同樣被用來存儲(chǔ)用于設(shè)備的控制移動(dòng)設(shè)備30的基本功能以及其他操作系統(tǒng)的核心功能(如,在RAM 54中加載軟件組件)的操作系統(tǒng)軟件。
RAM 54也作為一個(gè)用于代碼的存儲(chǔ)器,通過類似PC上用于存儲(chǔ)應(yīng)用程序的硬盤的方式。需要注明的是雖然非易失性存儲(chǔ)器被用來存儲(chǔ)代碼,它可有選擇地被存儲(chǔ)在不用于代碼執(zhí)行的易失性存儲(chǔ)器上。
通過一個(gè)連接到CPU 50的無線收發(fā)器52無線信號(hào)可被移動(dòng)設(shè)備傳輸/接收。一個(gè)可選的通信接口60也可被提供用于從計(jì)算機(jī)(如,臺(tái)式計(jì)算機(jī)),或有線網(wǎng)絡(luò),如果需要的話,直接下載數(shù)據(jù)。因此,接口60可包含多種形式的通信設(shè)備,例如,紅外線鏈接、調(diào)制解調(diào)器、網(wǎng)卡、或諸如此類。
移動(dòng)設(shè)備30包括一個(gè)麥克風(fēng)29、一個(gè)模數(shù)(A/D)轉(zhuǎn)換器37、以及一個(gè)可選的存儲(chǔ)在存儲(chǔ)器54上的識(shí)別應(yīng)用程序(語(yǔ)音、DTMF、手寫、姿勢(shì)或計(jì)算機(jī)影像)。作為示例,回應(yīng)于可聽的信息、來自設(shè)備30用戶的指令或命令,麥克風(fēng)29提供語(yǔ)音信號(hào),后者由A/D轉(zhuǎn)換器37數(shù)字化。語(yǔ)音識(shí)別應(yīng)用程序可在數(shù)據(jù)化語(yǔ)音信號(hào)上執(zhí)行標(biāo)準(zhǔn)化和/或特征提取功能以獲取中間語(yǔ)音識(shí)別結(jié)果。
使用無線收發(fā)器52或通信接口60,語(yǔ)音數(shù)據(jù)被傳輸?shù)揭粋€(gè)下文所述的并在圖5的體系結(jié)構(gòu)中示出的遠(yuǎn)程語(yǔ)音服務(wù)器204。識(shí)別結(jié)果隨后返回給移動(dòng)設(shè)備30以在那里呈現(xiàn)(如,可視和/或可聽),并最后傳輸給一個(gè)web服務(wù)器202(圖5),其中web服務(wù)器202和移動(dòng)設(shè)備30運(yùn)行為客戶機(jī)/服務(wù)器關(guān)系。
同樣的處理可被用于其他形式的輸入。例如,手寫輸入可被結(jié)合/或不結(jié)合在設(shè)備30上的預(yù)處理而數(shù)字化。類似語(yǔ)音數(shù)據(jù),這個(gè)形式的輸入可被傳輸?shù)秸Z(yǔ)音服務(wù)器204用于識(shí)別,其中識(shí)別結(jié)果被返回到設(shè)備30和/或web服務(wù)器202中的至少一個(gè)。類似有,DTMF數(shù)據(jù)、姿勢(shì)數(shù)據(jù)以及影像數(shù)據(jù)可被類似處理。
根據(jù)輸入的類型,設(shè)備30(以及其他形式的以下討論的客戶機(jī))將包括必要的硬件,諸如用于影像輸入的照相機(jī)。
圖3為一則示例性實(shí)施例的一個(gè)便攜式電話80的平面視圖。電話80包括一個(gè)顯示器82和一個(gè)鍵盤84。通常,圖2中的塊狀圖應(yīng)用到圖3中的電話,雖然可能需要用于執(zhí)行其他功能的額外電路。例如,對(duì)圖2的實(shí)施例要求一個(gè)作為電話操作而言是必須的收發(fā)器;然而,這些電路與本發(fā)明不相關(guān)。
除了上述的便攜式或移動(dòng)計(jì)算設(shè)備,還可被理解的是本發(fā)明可被用于多種其他計(jì)算設(shè)備例如通用臺(tái)式機(jī)。例如,本發(fā)明可允許一個(gè)身體障礙的用戶當(dāng)很難操作其他常規(guī)輸入設(shè)備(諸如全字符—數(shù)字鍵盤)時(shí),向計(jì)算機(jī)或其他計(jì)算設(shè)備輸入或鍵入文本。
本發(fā)明同樣可操作在多種其他通用或特殊用途計(jì)算設(shè)備、環(huán)境或配置中。
適合結(jié)合本發(fā)明使用的著名計(jì)算系統(tǒng)、環(huán)境和/或配置的示例包括,但不限于,常規(guī)電話(不帶任何熒幕)、個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持或膝上設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機(jī)頂盒、可編程消費(fèi)品電器、射頻識(shí)別(RFID)設(shè)備、網(wǎng)絡(luò)PC、小型機(jī)、大型機(jī)、包括任何上述系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)境,以及諸如此類。
下面所述的是對(duì)圖4中所示出的通用功能計(jì)算機(jī)120的簡(jiǎn)要描述。然而,計(jì)算機(jī)120同樣是適合的計(jì)算環(huán)境的一則示例并不是旨在給出對(duì)本發(fā)明的使用范圍或是功能的任何限制。計(jì)算機(jī)120也不能被解釋為含有任何涉及在此所示組件的任一或其組合的依賴或要求。
本發(fā)明可被描述為計(jì)算機(jī)可執(zhí)行指令的通常格式,諸如由一個(gè)或多個(gè)計(jì)算機(jī)或其他設(shè)備執(zhí)行的程序模塊。通常,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、應(yīng)用程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)、以及諸如此類。本發(fā)明還可被實(shí)現(xiàn)于分布式計(jì)算環(huán)境,后者中的任務(wù)被由通信網(wǎng)絡(luò)連接在一起的遠(yuǎn)程處理設(shè)備所執(zhí)行。在一個(gè)分布式計(jì)算環(huán)境中,程序模塊可位于本地以及遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中,包括內(nèi)存存儲(chǔ)器設(shè)備。借助附圖在下文描述了由應(yīng)用程序以及模塊執(zhí)行的任務(wù)。本領(lǐng)域熟練技術(shù)人員可通過寫入于任何形式的計(jì)算機(jī)可讀介質(zhì)的計(jì)算機(jī)可執(zhí)行指令實(shí)現(xiàn)該描述以及附圖。
參考圖4,計(jì)算機(jī)120的組件可包括,但不限于,一處理單元140、一系統(tǒng)存儲(chǔ)器150、以及將包括系統(tǒng)存儲(chǔ)器在內(nèi)的各種系統(tǒng)組件連接到處理單元140的系統(tǒng)總線141。系統(tǒng)總線141可為多種類型的總線結(jié)構(gòu),包括存儲(chǔ)器總線或存儲(chǔ)器控制器、外圍設(shè)備總線、以及使用任何的多種總線體系結(jié)構(gòu)的局部總線。
作為示例,而非限制,這些體系結(jié)構(gòu)包括工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線、通用串行總線(USB)、微通道體系結(jié)構(gòu)(MCA)總線、增強(qiáng)型ISA(EISA)總線、視頻電子標(biāo)準(zhǔn)協(xié)會(huì)(VESA)局部總線以及外圍設(shè)備組件互連(PCI)總線(也被稱為Mezzanine總線)。計(jì)算機(jī)120通常包括多種計(jì)算機(jī)可讀介質(zhì)。計(jì)算機(jī)可讀介質(zhì)可為計(jì)算機(jī)120可訪問的任何可用介質(zhì),并包括易失和非易失介質(zhì)、可移動(dòng)和不可移動(dòng)介質(zhì)。通過示例,而非限制,計(jì)算機(jī)可讀介質(zhì)可包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括通過任何方法或技術(shù)實(shí)現(xiàn)的,用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)的信息的,易失和非易失,可移動(dòng)和不可移動(dòng)介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括,但不限于,RAM、ROM、EEPROM、閃速存儲(chǔ)器或其他存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字通用盤(DVD)或其他光學(xué)盤存儲(chǔ)器、磁帶盒、磁帶、磁盤存儲(chǔ)器或其他磁存儲(chǔ)器設(shè)備、或任何其他可被用來存儲(chǔ)所需信息并能夠由計(jì)算機(jī)120訪問的介質(zhì)。
通信介質(zhì)通常以一個(gè)已調(diào)制的數(shù)據(jù)信號(hào),諸如載波或其他傳輸機(jī)制的形式來體現(xiàn)計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他的數(shù)據(jù),并包括任何信息傳遞介質(zhì)。術(shù)語(yǔ)“已調(diào)制的數(shù)據(jù)信號(hào)”表示為了在信號(hào)內(nèi)編碼信息而設(shè)置或改變,其一個(gè)或多個(gè)特征的信號(hào)。通過示例,而非限制,通信介質(zhì)包括有線介質(zhì),諸如有線網(wǎng)絡(luò)或直線連接、以及無線介質(zhì)諸如聲學(xué)的、FR、紅外以及其他無線介質(zhì)。任何上述的組合也被包括在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。
系統(tǒng)存儲(chǔ)器150包括易失和/或非易失存儲(chǔ)器形式的計(jì)算機(jī)存儲(chǔ)器介質(zhì),諸如只讀存儲(chǔ)器(ROM)151以及隨機(jī)訪問存儲(chǔ)器(RAM)152?;据斎?輸出系統(tǒng)153(BIOS)一般被存儲(chǔ)在ROM 151中,它包括諸如在起動(dòng)過程中有助于計(jì)算機(jī)120內(nèi)基本元件間傳遞信息的基本例程,RAM 152通常包括可由處理單元140立即訪問和/或進(jìn)行操作的數(shù)據(jù)和/或程序模塊。通過示例,而非限制,圖4示出了操作系統(tǒng)154、應(yīng)用程序155、其他程序模塊156、以及程序數(shù)據(jù)157。
計(jì)算機(jī)120也可包括其他可移動(dòng)/不可移動(dòng)的易失/非易失計(jì)算機(jī)存儲(chǔ)介質(zhì)。
僅僅作為示例,圖4示出了從不可移動(dòng)非易失磁性介質(zhì)讀取或?qū)懭氲挠脖P驅(qū)動(dòng)器161、從可移動(dòng)非易失磁盤172讀取或?qū)懭氲拇疟P驅(qū)動(dòng)器171、以及一個(gè)從諸如CD-ROM或其他光學(xué)介質(zhì)的可移動(dòng)非易失光盤176讀取或?qū)懭氲墓獗P驅(qū)動(dòng)器175。其他可被用于示例性操作環(huán)境的可移動(dòng)/不可移動(dòng),易失/非易失計(jì)算機(jī)存儲(chǔ)介質(zhì)包括,但不限于,磁帶盒、閃速存儲(chǔ)卡、數(shù)字通用光盤、數(shù)字錄影帶、固態(tài)ROM、固態(tài)ROM、等等。硬盤驅(qū)動(dòng)器161通常通過諸如接口160的不可移動(dòng)存儲(chǔ)器接口連接到系統(tǒng)總線141,磁盤驅(qū)動(dòng)器171以及光盤驅(qū)動(dòng)器175通過一個(gè)諸如接口170的可移動(dòng)存儲(chǔ)器接口連接到系統(tǒng)總線141。
以上討論且示于圖4中的驅(qū)動(dòng)器和它們相關(guān)的計(jì)算機(jī)存儲(chǔ)介質(zhì)為來自計(jì)算機(jī)120的計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊以及其他數(shù)據(jù)提供了存儲(chǔ)。在圖4中,例如,硬盤驅(qū)動(dòng)器161被示為存儲(chǔ)操作系統(tǒng)164、應(yīng)用程序165、其他程序模塊166、以及程序數(shù)據(jù)167。注意這些組件可與操作系統(tǒng)154、應(yīng)用程序155、其他程序模塊156、以及程序數(shù)據(jù)157相同或相異。操作系統(tǒng)164、應(yīng)用程序165、其他程序模塊166以及程序數(shù)據(jù)167這里被給予了不同的標(biāo)號(hào)用于表示在最小限度下,它們是不同的拷貝。
用戶可以經(jīng)由一輸入設(shè)備諸如鍵盤182、麥克風(fēng)183、以及諸如鼠標(biāo)、軌跡球或觸摸板的指針設(shè)備181,輸入命令和信息進(jìn)入到計(jì)算機(jī)120中。其他輸入設(shè)備(沒有示出)可包括操縱桿、游戲墊、衛(wèi)星天線、掃描儀等等。這些及其他輸入設(shè)備經(jīng)常經(jīng)由連接到系統(tǒng)總線用戶輸入接口180連接到處理單元140,但也可通過其他接口和總線結(jié)構(gòu)進(jìn)行連接,諸如并行端口、游戲端口或通用串行總線(USB)。一監(jiān)視器184或其他類型的顯示設(shè)備也經(jīng)由諸如視頻接口185的接口被連接到系統(tǒng)總線141。除了監(jiān)視器,計(jì)算機(jī)也可包括其他外圍輸出設(shè)備諸如揚(yáng)聲器187以及打印機(jī)186、它們可被經(jīng)由輸出外圍設(shè)備接口188連接。
使用到一個(gè)或多個(gè)諸如遠(yuǎn)程計(jì)算機(jī)194的遠(yuǎn)程計(jì)算機(jī)的邏輯連接,計(jì)算機(jī)120可操作在一個(gè)網(wǎng)絡(luò)環(huán)境下。遠(yuǎn)程計(jì)算機(jī)194可為個(gè)人計(jì)算機(jī)、手持設(shè)備、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對(duì)等設(shè)備或其他公共網(wǎng)絡(luò)節(jié)點(diǎn),并通常包括許多或所有上述涉及計(jì)算機(jī)120的元件。圖4描述的邏輯連接包括局域網(wǎng)(LAN)191和廣域網(wǎng)(WAN)193,但也包括其他網(wǎng)絡(luò)。這些網(wǎng)絡(luò)化環(huán)境在辦公室、企業(yè)級(jí)計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)部網(wǎng)和因特網(wǎng)上是普通的。
當(dāng)使用在LAN網(wǎng)絡(luò)環(huán)境中時(shí),計(jì)算機(jī)120經(jīng)由網(wǎng)絡(luò)接口或適配器190連接到LAN191。當(dāng)使用在WAN網(wǎng)絡(luò)環(huán)境中時(shí),計(jì)算機(jī)120通常包括一個(gè)調(diào)制解調(diào)器192或其他在諸如因特網(wǎng)的WAN 193上建立通信的裝置。內(nèi)置的或外置的調(diào)制解調(diào)器192可經(jīng)由用戶輸入接口180或其他合適的機(jī)制連接到系統(tǒng)總線141上。在一個(gè)網(wǎng)絡(luò)化的環(huán)境中,所述涉及計(jì)算機(jī)120的程序模塊,或其一部分,可被存儲(chǔ)在遠(yuǎn)程存儲(chǔ)器設(shè)備中。通過示例,而非限制,圖4示出了位于遠(yuǎn)程計(jì)算機(jī)194上的遠(yuǎn)程應(yīng)用程序195??梢员焕斫獾氖撬揪W(wǎng)絡(luò)連接是示例性的且可使用其他在計(jì)算機(jī)之間建立通信連接的裝置。
圖5示出了用于可由本發(fā)明實(shí)現(xiàn)的分布式語(yǔ)音服務(wù)的示例性體系結(jié)構(gòu)200。
通常,存儲(chǔ)在web服務(wù)器202的信息可通過移動(dòng)設(shè)備30(這里也表示其他形式的計(jì)算設(shè)備,根據(jù)對(duì)輸入形式的要求,包括一個(gè)顯示屏、一個(gè)麥克風(fēng)、一個(gè)照相機(jī)、一個(gè)接觸敏感屏等等)訪問,或通過電話80,此時(shí)通過音頻或通過回應(yīng)按下的按鍵由電話80生成的音調(diào)來請(qǐng)求信息,并且來自web服務(wù)器202的信息僅由音頻提供返回給用戶。
但是更重要的是,體系結(jié)構(gòu)200是統(tǒng)一的,這樣不論信息是經(jīng)由設(shè)備30或通過語(yǔ)音識(shí)別經(jīng)由電話80獲得的,一個(gè)單獨(dú)語(yǔ)音服務(wù)器204可支持各種操作模式。此外,體系結(jié)構(gòu)200利用擴(kuò)展的眾所周知的標(biāo)記語(yǔ)言(如,HTML、XHTML、cHTML、XML、WML、等等)操作。這樣,存儲(chǔ)在web服務(wù)器202上的信息也可被通過公知的由這些標(biāo)記語(yǔ)言建立的GUI方法訪問。通過利用擴(kuò)展的眾所周知的標(biāo)記語(yǔ)言,在web服務(wù)器202上的創(chuàng)作更容易了,并且最近產(chǎn)生的遺產(chǎn)應(yīng)用程序也可更容易地被修改以包括語(yǔ)音識(shí)別。
通常,設(shè)備30執(zhí)行由web服務(wù)器202提供的HTML+腳本或其類似。當(dāng)需要語(yǔ)音識(shí)別時(shí),通過示例,語(yǔ)音數(shù)據(jù)(其可為數(shù)字化音頻信號(hào)或語(yǔ)音特征,后者中的音頻信號(hào)已如前述由設(shè)備30進(jìn)行了預(yù)處理)將連同一個(gè)語(yǔ)音識(shí)別中使用的語(yǔ)法或語(yǔ)言模型的提示一起被提供給語(yǔ)音服務(wù)器204。語(yǔ)音服務(wù)器204的實(shí)現(xiàn)可采取多種形式,其中一個(gè)已經(jīng)示出,但通常包括一個(gè)識(shí)別器211。如果有需要或適合地,識(shí)別結(jié)果被提供返回給設(shè)備30用于本地再現(xiàn)。當(dāng)經(jīng)由識(shí)別以及任何使用到的圖形用戶接口進(jìn)行信息編譯時(shí),如果有必要,設(shè)備30發(fā)送該信息給web服務(wù)器202用于進(jìn)一步處理以及獲取進(jìn)一步的HTML腳本。
如圖5所示,設(shè)備30、web服務(wù)器202以及語(yǔ)音服務(wù)器204經(jīng)由網(wǎng)絡(luò)205常規(guī)地連接,且地域上分開,網(wǎng)絡(luò)205在此為諸如因特網(wǎng)的廣域網(wǎng)。因此任何這些設(shè)備都不需要在物理上鄰近彼此放置。尤其是,web服務(wù)器202不需要包括語(yǔ)音服務(wù)器204。這樣,在web服務(wù)器202處制作就可以集中在預(yù)期的應(yīng)用程序上而不需要作者去了解語(yǔ)音服務(wù)器204的復(fù)雜性。此外,語(yǔ)音服務(wù)器204可被獨(dú)立地設(shè)計(jì)并連接到網(wǎng)絡(luò)205,并且,不需要對(duì)web服務(wù)器202進(jìn)一步修改而進(jìn)行升級(jí)和改進(jìn)。在一個(gè)深入的實(shí)施例中,客戶機(jī)30不需要web服務(wù)器202,可直接與語(yǔ)音服務(wù)器204通信??梢赃M(jìn)一步被理解的是,web服務(wù)器202、語(yǔ)音服務(wù)器204以及客戶機(jī)可根據(jù)實(shí)施機(jī)器的容量而組合在一起。例如,如果客戶機(jī)包括一個(gè)諸如個(gè)人計(jì)算機(jī)的通用功能計(jì)算機(jī),客戶機(jī)就可包括語(yǔ)音服務(wù)器204。類似地,如果需要,web服務(wù)器202和語(yǔ)音服務(wù)器204可合并在一個(gè)單獨(dú)的機(jī)器內(nèi)。
通過電話80對(duì)web服務(wù)器202的通路包括電話80到一個(gè)有線或無線電話網(wǎng)絡(luò)208的連接,然后按順序,將電話80連接到一個(gè)第三方網(wǎng)關(guān)210。網(wǎng)關(guān)210連接電話80到一個(gè)電話語(yǔ)音瀏覽器212。電話語(yǔ)音瀏覽器212包括提供電話接口的媒體服務(wù)器214以及一個(gè)語(yǔ)音瀏覽器216。類似于設(shè)備30,電話語(yǔ)音瀏覽器212從web服務(wù)器202接收HTML腳本或諸如此類。然而更重要的是,該HTML腳本形式上類似于提供給設(shè)備30的HTML腳本。這樣,web服務(wù)器202不需要分別支持設(shè)備30和電話80,或甚至單獨(dú)支持標(biāo)準(zhǔn)GUI客戶機(jī)。相反,可使用一種公共的標(biāo)記語(yǔ)言。此外,類似于設(shè)備30,由電話80傳輸?shù)膩碜月晫W(xué)信號(hào)的語(yǔ)音識(shí)別由語(yǔ)音瀏覽器216提供給語(yǔ)音服務(wù)器204,這可通過網(wǎng)絡(luò)205,或通過一個(gè)例如使用TCP/IP的專用線路207。web服務(wù)器202,語(yǔ)音服務(wù)器204以及電話語(yǔ)音瀏覽器212可被具體體現(xiàn)在任何適當(dāng)?shù)挠?jì)算環(huán)境中,例如圖4所示出的通用功能臺(tái)式計(jì)算機(jī)。
然而,需要注意的是如果使用DTMF識(shí)別,這種識(shí)別形式通常會(huì)在媒體服務(wù)器214執(zhí)行,而不是在語(yǔ)音服務(wù)器204執(zhí)行。。換句話說,DTMF語(yǔ)法會(huì)由媒體服務(wù)器來使用。
在上文給出了設(shè)備以及體系結(jié)構(gòu)后,進(jìn)一步基于一個(gè)簡(jiǎn)單的客戶機(jī)/服務(wù)器環(huán)境來描述本發(fā)明。如圖6所示出的,本發(fā)明適用于一系統(tǒng)300,它包括一個(gè)提供媒體服務(wù)(如,語(yǔ)音識(shí)別或文本語(yǔ)音合成)的服務(wù)器302以及一個(gè)執(zhí)行應(yīng)用程序特定代碼的客戶機(jī)304。在服務(wù)器302和客戶機(jī)304之間的通信是基于一個(gè)服務(wù)模型,在其中信息可被交換或打上標(biāo)簽或者包含識(shí)別部分,諸如但不限于,XML(擴(kuò)展標(biāo)記語(yǔ)言)文檔。除了這些信息,服務(wù)器302和/或客戶機(jī)304可收集并傳送音頻。在一則實(shí)施例中,服務(wù)器302可包含由位于華盛頓雷得蒙得(Redmond)的微軟公司開發(fā)的微軟語(yǔ)音服務(wù)器,而客戶機(jī)304可采用任何數(shù)量的上述形態(tài),包括但不限于,桌面PC、移動(dòng)設(shè)備,等等。
在此需要注明的是雖然服務(wù)器302和客戶機(jī)304基于一個(gè)服務(wù)模型互相之間通信,使用本發(fā)明某些方面的應(yīng)用程序不需要專門地根據(jù)此聲明中的一種服務(wù)模型來撰寫,和/或只要服務(wù)器302和客戶機(jī)304之間執(zhí)行通信時(shí),就可以根據(jù)服務(wù)模型請(qǐng)求使用基于過程的應(yīng)用程序。在一則實(shí)施例中,客戶機(jī)應(yīng)用程序可被編譯為C++,Java,C#或其他命令式編程語(yǔ)言,它不需要一個(gè)類似圖5所示的基于HTML應(yīng)用程序的情況中的瀏覽器。
CSTA(ECMA-269)版本6中的一個(gè)重要方面是基于語(yǔ)音應(yīng)用程序語(yǔ)言標(biāo)簽(SALT)的增強(qiáng)型話音服務(wù)。新加入的特性包括自動(dòng)語(yǔ)音識(shí)別、語(yǔ)音確認(rèn)、揚(yáng)聲器鑒別、揚(yáng)聲器確認(rèn)以及可以在系統(tǒng)300上實(shí)現(xiàn)的文本一語(yǔ)音合成。一些或所有的特征可在自動(dòng)呼叫中心中提供。本發(fā)明的某些方面提供了CSTA服務(wù)的一個(gè)子集,用于便于基于網(wǎng)絡(luò)的語(yǔ)音服務(wù)。尤其是,本發(fā)明的一些方面示出了ECMA-348和uaCSTA(ECMA-TR/87)如何被分別應(yīng)用到有助于一個(gè)web服務(wù)中的分布式語(yǔ)音服務(wù)以及基于SIP(會(huì)話啟動(dòng)協(xié)議)的VoIP(Voice-over IP基于因特網(wǎng)的語(yǔ)音協(xié)議)環(huán)境。
用于計(jì)算機(jī)支持電信應(yīng)用程序(CSTA)ECMA-269的服務(wù),以及它們的XML和web服務(wù)協(xié)議分別由ECMA-323和ECMA-348所定義。最近,ECMA-TR/87(uaCSTA)進(jìn)一步描述了一系列用于在VoIP環(huán)境中使用ECMA-323的SIP變換。
所有這些協(xié)議原則上提出了全套的CSTA,并且可特定用于語(yǔ)音服務(wù)。在ECMA-269的第6版中,CSTA的語(yǔ)音服務(wù)部分已經(jīng)基于SALT導(dǎo)出技術(shù)而擴(kuò)展了。
除了現(xiàn)有的語(yǔ)音服務(wù),新的增加包括對(duì)于呼叫中心自動(dòng)化以及包括自動(dòng)語(yǔ)音識(shí)別、語(yǔ)音確認(rèn)、揚(yáng)聲器鑒別、揚(yáng)聲器確認(rèn)和文本—語(yǔ)音合成等移動(dòng)應(yīng)用程序來說是必須的關(guān)鍵技術(shù)。
雖然緊密集成的CSTA呼叫控制和語(yǔ)音方案的實(shí)現(xiàn)對(duì)于應(yīng)用程序開發(fā)商而言是期望的,呼叫控制和語(yǔ)音供應(yīng)之間的核心能力并不需要是相同的。對(duì)于當(dāng)前的配置以及可預(yù)見的將來,CSTA應(yīng)用程序開發(fā)商會(huì)需要調(diào)用多種供應(yīng)商來滿足他們?cè)谶@些領(lǐng)域的相應(yīng)需求。幸運(yùn)的是,CSTA模型概念,如ECMA-269所述,允許單個(gè)的應(yīng)用程序從多種CSTA服務(wù)提供者引出服務(wù)。這樣的方案是一個(gè)CSTA應(yīng)用程序會(huì)同時(shí)使用兩種CSTA實(shí)現(xiàn),一個(gè)用于呼叫控制,另一個(gè)用于語(yǔ)音服務(wù)。
用于語(yǔ)音服務(wù)的CSTA輪廓還沒有如它在呼叫控制領(lǐng)域中那樣精確。本發(fā)明的某些方面輪廓了一種用于在使用XML的平臺(tái)獨(dú)立裝置上提供語(yǔ)音服務(wù)的CSTA輪廓。雖然CSTA輪廓就是一個(gè)載體,其本性是不明確的,在此示例了兩個(gè)語(yǔ)音服務(wù)輪廓的公共應(yīng)用程序以更好地推動(dòng)端對(duì)端的互動(dòng)性基于小型使用CSTA的SIP環(huán)境,以及基于ECMA-348的基于web服務(wù)環(huán)境。
在此提供的描述提供了CSTA語(yǔ)音服務(wù)的子集是如何能夠被包括在便于基于客戶機(jī)—服務(wù)器的語(yǔ)音處理中的示例。下述ECMA標(biāo)準(zhǔn)作為整體結(jié)合在此作為參考ECNA-269,用于計(jì)算機(jī)支持電信應(yīng)用程序(CSTA)的服務(wù),階段3;ECMA-323,用于計(jì)算機(jī)支持電信應(yīng)用程序(CSTA)的SMLP協(xié)議,階段3;以及ECMA-348,用于CSTA的web服務(wù)描述語(yǔ)言(WSDL)。此外,這個(gè)應(yīng)用程序描述了CSTA語(yǔ)音服務(wù)如何在使用uaCSTA提議的基于SIP的VoIP環(huán)境中執(zhí)行。
ECMA-TR/87可以被使用為對(duì)uaCSTA的一個(gè)參考,其的一個(gè)副本結(jié)合在此作為參考。
在此描述的基于客戶機(jī)—服務(wù)器的語(yǔ)音處理能夠在一個(gè)響應(yīng)/請(qǐng)求周期內(nèi)處理非對(duì)稱媒體類型。例如,在提供語(yǔ)音識(shí)別服務(wù)時(shí),服務(wù)器將音頻數(shù)據(jù)轉(zhuǎn)換為文本數(shù)據(jù)并將轉(zhuǎn)換后的數(shù)據(jù)傳輸返回給客戶機(jī)。在語(yǔ)音合成的情況中,客戶機(jī)傳輸文本數(shù)據(jù),服務(wù)器回應(yīng)以轉(zhuǎn)換后的音頻數(shù)據(jù)。傳輸?shù)臄?shù)據(jù)可被根據(jù)一個(gè)諸如基于CSTA的協(xié)議的特定協(xié)議來發(fā)送。結(jié)果是,SIP和web服務(wù)環(huán)境可被擴(kuò)展到包括文本—音頻或音頻—文本,音頻—音頻交互操作。
ECMA-TR/87建立了一個(gè)如圖6所示的“信令信道”308載體。信令信道308由服務(wù)器302和客戶機(jī)304使用來交換各自相應(yīng)于呼叫控制所應(yīng)完成的內(nèi)容的信息。當(dāng)服務(wù)器302包括一個(gè)電話交換機(jī)時(shí),對(duì)信令信道308的使用是充分的。
然而,如果服務(wù)器302是一個(gè)語(yǔ)音服務(wù)器且客戶機(jī)304在請(qǐng)求語(yǔ)音服務(wù),服務(wù)器302也必須知道在何處接收并傳輸語(yǔ)音信息。例如,服務(wù)器302應(yīng)該知道在何處獲取語(yǔ)音識(shí)別信息,以及向何處發(fā)送合成后的語(yǔ)音。
這樣,除了建立一個(gè)信令信道308,也必須建立一個(gè)“媒體信道”310協(xié)議。例如,媒體信道310被用來向服務(wù)器302傳輸由客戶機(jī)304收集的語(yǔ)音數(shù)據(jù)(音頻音頻數(shù)據(jù))。類似地,在一個(gè)文本—語(yǔ)音操作中,當(dāng)合成后的語(yǔ)音數(shù)據(jù)被服務(wù)器302通過媒體信道310提供返回給客戶機(jī)304時(shí),客戶機(jī)304可通過信令信道308發(fā)送文本數(shù)據(jù)。
參考圖5的體系結(jié)構(gòu),信令信道308和媒體信道310被建立以用于任何到語(yǔ)音服務(wù)器204的通信。然而,需要注明的是對(duì)web應(yīng)用程序服務(wù)器202的使用是可選地且應(yīng)用程序可安置在客戶機(jī)30上,如圖5所示。
本發(fā)明的一個(gè)方面是采取哪些步驟以實(shí)現(xiàn)媒體信道310。在一則示例性的實(shí)施例中,討論了在SIP環(huán)境下為CSTA建立一個(gè)媒體信道310。在一則進(jìn)一步的實(shí)施例中,討論了在一個(gè)基于web服務(wù)器的環(huán)境下為CSTA采取哪些步驟以實(shí)現(xiàn)媒體信道310。
需要注明的是語(yǔ)義信息可在服務(wù)器302和客戶機(jī)304之間傳輸,例如通過使用語(yǔ)音應(yīng)用程序描述語(yǔ)言(SADL),SADL可為由監(jiān)聽者資源返回的結(jié)果(如,由帶有語(yǔ)音識(shí)別的服務(wù)器302返回的結(jié)果)所指定XML方案。
在SIP環(huán)境下的通道建立SIP是一個(gè)設(shè)計(jì)為“多話的”協(xié)議,因?yàn)榉?wù)器302和客戶機(jī)304頻繁交換小的信息碎片。在SIP環(huán)境下,通過會(huì)話描述協(xié)議(SDP)完成對(duì)媒體信道310的建立。在圖7中示出了完成該任務(wù)的一個(gè)示例性的方法400。
在步驟402中,客戶機(jī)304使用SIP—邀請(qǐng)以服務(wù)器302啟動(dòng)了一個(gè)會(huì)話。
也發(fā)送了一個(gè)SDP描述,聲明了一個(gè)要被使用的IP(因特網(wǎng)協(xié)議)地址和一個(gè)要被用于音頻音頻的IP地址端口。此外,在步驟404,該SDP描述會(huì)廣播何種編碼解碼器類型將被用于媒體流,以及一個(gè)諸如傳輸控制協(xié)議(TCP)或?qū)崟r(shí)傳輸協(xié)議(RTP)的通信協(xié)議。
當(dāng)服務(wù)器接收到時(shí),在步驟406服務(wù)器可決定是否接受客戶機(jī)304提出的SDP描述。如果協(xié)議和編碼解碼器被接受了,服務(wù)器302回應(yīng)一個(gè)SIP—認(rèn)可以及它的列出自身IP地址和音頻端口的SDP描述。然后,方法400繼續(xù)到步驟408,在此建立了一個(gè)信令信道。
可選的是,如果服務(wù)器302不支持所建議的編碼解碼器和協(xié)議,服務(wù)器302可開始與客戶機(jī)304商議將使用何種編碼解碼器和/或協(xié)議。換句話說,服務(wù)器302會(huì)以一個(gè)相反的提出不同編碼解碼器和/或協(xié)議的提案來響應(yīng)客戶機(jī)304最初的SDP描述。在作出提案之前,方法400繼續(xù)到步驟410,其中作出判斷是否繼續(xù)識(shí)別。例如,在步驟412,當(dāng)一個(gè)特定數(shù)量的相反提案被提出后,通信會(huì)停止。在步驟414客戶機(jī)304和服務(wù)器302之間可作出額外的相反提案直到達(dá)成一致或直到清楚不會(huì)達(dá)成任何一致。
SIP/SDP是由因特網(wǎng)工程任務(wù)組(IETF)認(rèn)可的用于在VoIP上建立音頻通道的標(biāo)準(zhǔn)。然而,SIP/SDP沒有描述建立一個(gè)實(shí)現(xiàn)CSTA的信令信道的方法。在步驟408,經(jīng)由ECMA-TR/87建立了信令信道308。當(dāng)信令信道建立后,應(yīng)用程序關(guān)聯(lián)被認(rèn)為是完成了。結(jié)果是,在系統(tǒng)300中可實(shí)現(xiàn)分布式語(yǔ)音服務(wù)。
在web服務(wù)器環(huán)境下的通道建立相對(duì)于上述SIP的“多話的”本性,web服務(wù)器被設(shè)計(jì)并通常最優(yōu)化為用于“粗壯的”通信,這樣在服務(wù)器302和客戶機(jī)304之間需要較少的對(duì)話交換。
結(jié)果是,SIP中在多個(gè)對(duì)話回合中商議的特征通常通過是由用于web服務(wù)的公共目錄中發(fā)布的或在web服務(wù)元數(shù)據(jù)交換中動(dòng)態(tài)獲取的服務(wù)描述來描述并發(fā)現(xiàn)的。web服務(wù)環(huán)境包括一個(gè)UDDI(統(tǒng)一描述發(fā)現(xiàn)綜合)標(biāo)準(zhǔn)協(xié)議。web服務(wù)提供者發(fā)布相關(guān)信息,應(yīng)用程序開發(fā)商可發(fā)現(xiàn)、獲取并因此選擇合適的服務(wù)提供者,這樣允許應(yīng)用程序開發(fā)商動(dòng)態(tài)地將web服務(wù)集成入應(yīng)用程序中。例如,ECMA-348為CSTA指定了web服務(wù)描述語(yǔ)言(WSDL)這樣可使用標(biāo)準(zhǔn)web服務(wù)協(xié)議統(tǒng)一地描述、發(fā)現(xiàn)并集成提供CSTA功能的web服務(wù)。媒體信道的建立是ECMA-348的一個(gè)擴(kuò)展。
圖8示出了在web服務(wù)環(huán)境下建立通道的一個(gè)示例性方法420。在本發(fā)明中,在步驟422,web服務(wù)提供者以服務(wù)元數(shù)據(jù)的形式列出了web服務(wù)支持的所有編碼解碼器和協(xié)議。在步驟424,應(yīng)用程序開發(fā)商可利用web服務(wù)目錄提供者來獲取或發(fā)現(xiàn)哪個(gè)web服務(wù)含有它們可使用的編碼解碼器和協(xié)議。這個(gè)步驟可執(zhí)行為搜索每個(gè)web服務(wù)提供的元數(shù)據(jù)來找到它要求的所需編碼解碼器和協(xié)議。目錄為每個(gè)web服務(wù)提供了一個(gè)URL(通用資源定位器)地址。客戶機(jī)304隨后建立一個(gè)到web服務(wù)的連接并使用帶有所需編碼解碼器和協(xié)議的應(yīng)用程序來與服務(wù)器302通信。當(dāng)連接建立后,立即建立媒體信道310和它的信令信道308。
在web服務(wù)環(huán)境下的本發(fā)明指出了如何通過一個(gè)至WSDL的媒體描述擴(kuò)展來建立在一次交換穿過所有層(應(yīng)用層和傳輸層)的連接。在一則實(shí)施例中,本發(fā)明可結(jié)合ECMA-348來應(yīng)用,ECMA-348已經(jīng)含有了一個(gè)建立CSTA以及它的下層信令傳輸協(xié)議的機(jī)制。通過在ECMA-348中加入媒體編碼和傳輸協(xié)議擴(kuò)展,CSTA因此被增強(qiáng)為在單個(gè)步驟內(nèi)建立信令和媒體信道。
在另一則實(shí)施例中,使用web服務(wù)尋址(即WS—尋址)協(xié)議的可擴(kuò)展性來傳送媒體描述,作為先前CSTA應(yīng)用程序關(guān)聯(lián)的一個(gè)步驟。WS—尋址(WSA)是一個(gè)為尋址web服務(wù)終端和消息提供傳輸中性機(jī)制的規(guī)范。CSTA交換功能和CSTA應(yīng)用程序皆為web服務(wù)終端。WS—尋址提出了一個(gè)稱為終點(diǎn)參量(endpointreference)的新規(guī)范,它支持對(duì)WSDL中<wsdlservice>和<wsdlport>元素不能恰好涵蓋的服務(wù)的動(dòng)態(tài)使用。
WS—尋址定義了一個(gè)XML文檔類型(wsaEndpointReferenceType)以表示一個(gè)終點(diǎn)參量。一個(gè)XML元素,wsaEndpointReference,同樣被指定為含有該類型。以上兩者都存放在XML的名字空間http//schemas.xmlsoap.org/ws/2004/03/addressing中。
一個(gè)WSA終點(diǎn)參量類型可包括下述[address]一個(gè)確定終點(diǎn)的URI(通用資源定位)。
<xsany/>(0..無邊界),詳細(xì)屬性,被傳送的每個(gè)實(shí)體或資源含有一個(gè)。
QName(0..1),定義在WSDL中的用于終點(diǎn)的主端口類型的名稱。
(QName,NCName(0..1))(0..1),定義在WSDL中對(duì)應(yīng)于該終點(diǎn)的服務(wù)和端口。
可選的WS—策略元素,描述了終點(diǎn)的行為、要求以及能力。
在SIP的情況中,為CSTA語(yǔ)音服務(wù)建立一個(gè)音頻通道是必要的。類似于可以通過SDP在SIP中協(xié)商一個(gè)音頻通道,WSA終點(diǎn)參量可被用于語(yǔ)音服務(wù)提供者來聲明媒體終點(diǎn)。媒體傳輸協(xié)議以及編碼機(jī)制屬于需要被按順序指定以有助于語(yǔ)音服務(wù)的關(guān)鍵項(xiàng)目。這些項(xiàng)目被聲明為參量屬性。
為了增強(qiáng)耐用性,web服務(wù)環(huán)境下的媒體信道被模塊化為從服務(wù)器(CSTA語(yǔ)音資源提供者)至客戶機(jī)(CSTA應(yīng)用程序)的一種租用(lease),且該租用隨著超時(shí)而過期。服務(wù)器也可指定一個(gè)租用管理器,在其中客戶機(jī)可取消或更新租用。
一個(gè)帶有XML方案的CSTA媒體終點(diǎn)參量類型包括一個(gè)或多個(gè)WSA終點(diǎn)參量。例如,一個(gè)基于實(shí)時(shí)傳輸協(xié)議(RTP)在端口6060上使用的G.711協(xié)議的CSTA語(yǔ)音服務(wù)提供者可如下描述媒體終點(diǎn)<cstaMediaEndpointReferencexmlnscsta=″http//www.ecma international.org/TR/xx″xmlnswsa=″http//schemas.xmlsoap.org/ws/2004/03/addressing″>
<wsaAddress>rtp//server.acme.com6060</wsaAddress>
<wsaReferenceProperties>
<cstaCodec>G.711</cstaCodec>
<cstaSubscriptionID>12345</cstaSubscriptionID>
<cstaExpires>2004-10-21T21:07:00.000-08:00</cstaExpires>
</wsaReferenceProperties>
</cstaMediaEndpointReference>
CSTA媒體終點(diǎn)參量屬性包括一個(gè)編碼解碼器聲明、一個(gè)預(yù)訂確認(rèn)、以及一個(gè)可選的租用過期聲明。在uaCSTA情況中,當(dāng)媒體信道連同信令信道一起建立后,上述媒體終點(diǎn)參量必須在處理在web服務(wù)環(huán)境下的CSTA應(yīng)用程序關(guān)聯(lián)完成前被包括在內(nèi)。
借助WS協(xié)議擴(kuò)展性的優(yōu)點(diǎn),可使用<wsaAction>來建立一個(gè)語(yǔ)音會(huì)話。媒體終點(diǎn)參量本身可以是CSTAweb服務(wù)提供者的終點(diǎn)參量中的一個(gè)屬性。如下所示,可通過在<wsaTo>之后直接附加該媒體終點(diǎn)參量來編寫一段簡(jiǎn)單對(duì)象訪問協(xié)議(SOAP)消息<soapEnvelopxmlnssoap=″http/www.w3.org/2003/05/soap-envelop″xmlnswsa=″http/schemas.xmlsoap.org/ws/2004/03/addressing″xmlnscsta=″http/www.ecma-international.org/TR/xx″>
<soapHeader>
<wsaReplyTo>
<wsaAddress>http/example.client.com</wsaAddress>
</wsaReplyTo>
<wsaTo>http/server.acme.com</wsaTo>
<cstaMediaEndpointReference>
…</cstaMediaEndpointReference>
<wsaAction>
http/www.ecma-international.org/TR/xx/CreateSession</wasAction>
<wsaMessageID>...</wsaMessageID>
</soapHeader>
<soapBody>
…</soapBody>
</soapEnvelop>
web服務(wù)由諸如WS—策略或WSDL的元數(shù)據(jù)來描述。當(dāng)WS-策略描述了服務(wù)的通用能力、要求以及特征時(shí),WSDL描述了提取消息操作和具體網(wǎng)絡(luò)協(xié)議以及到該web服務(wù)的地址。web服務(wù)元數(shù)據(jù)交換,即WS-MEX或WSX,是一個(gè)引導(dǎo)元數(shù)據(jù)獲取的規(guī)范??蛻魴C(jī)可向一個(gè)終點(diǎn)發(fā)送一個(gè)WS-MEX請(qǐng)求以獲取它的元數(shù)據(jù)。以下為一個(gè)使用SOAP的請(qǐng)求的標(biāo)準(zhǔn)化概要<soapEnvelope...>
<soapHeader...>
<wsaAction>
http//schemss.xmlsoap.org/ws/2004/09/mex/GetMetadata/Request</wsaAction>
<wsaMessageID><xsanyURI/></wsaMessageID>
<wsaReplyTo>WS—尋址終點(diǎn)參量</wsaReplyTo>
<wsaTo><xsanyURI/></wsaTo>
…</soapHeader>
<soapBody>
<wsxGetMetadata...> ?>
<xsanyURI/>
</wsxDialect>
]*</wsxGetMetadata>
</soapBody>
</soapEnvelop>
如SOAP頭所示,WS-MEX使用WS-尋址來指定用于元數(shù)據(jù)獲取的請(qǐng)求。在<wsaTo>中目標(biāo)服務(wù)被指定為一個(gè)URI,并且在<wsaReplyTo>的內(nèi)容中用WS—尋址終點(diǎn)參量指定了回復(fù)終點(diǎn)(reply endpoint)。將要被獲取的元數(shù)據(jù)類型被指定在SOAP主體中的<wsxGetMetadata>內(nèi)容中。
如果一個(gè)終點(diǎn)接受了GetMetadata請(qǐng)求,它必須回復(fù)一個(gè)GetMetadata響應(yīng)消息。以下為在SOAP中的響應(yīng)的標(biāo)準(zhǔn)化概要
<soapEnvelop...>
<soapHeader...>
<wsaAction>
http//schemas.xmlsoap.org/ws/2004/09/mex/GetMetadata/Response</wsaAction>
<wsaRelatesTo>previousmessageid</wsaRelatesTo>
<wsaTo><xsanyURI/></wsaTo>
</soapHeader>
<soapBody>
<wsxMetadata...> >
<xsany/><!--service specific data section-->
|<wsxMetadataReference>
WS-Addressing endpoint reference</wsxMetadataRefernce>
|<wsxLocation><xsanyURI/></wsxLocation>
]</wsaMetadataSection>]*</wsxMetadata>
</soapBody>
</soapEnvelop>
在SOAP主體中傳送的元數(shù)據(jù)可以作為<wsxMetadata>的內(nèi)容被內(nèi)嵌返回,或是通過使用WS-尋址終點(diǎn)參量或簡(jiǎn)單URI的參量。
上述SOAP消息可含有如下的WSDL綁定
<wsdlmessage name=″GetMetadataMsg″>
<wsdlpart name=″body″e(cuò)lement=″tnsGetMetadata″/>
</wsdlmessage>
<wsdlmessage name=″GetMetadataResponseMsg″>
<wsdlpart name=″body″e(cuò)lement=″tnsMetadata″/>
</wsdlmessage>
<wsdlportType name=″MetadataExchange″>
<wsdloperation name=″GetMetadata″>
<wsdlinput message=″tnsGetMetadataMsg″wsaAction=″http/schemas.xmlsoap.org/ws/2004/09/mex/GetMetadata/Request″/>
<wsdloutput message=″tnsGetMetadataResponseMsg″wsaAction=″http/schemas.xmlsoap.org/ws/2004/09/mex/GetMetadata/Response″/>
</wsdloperation>
…</wsdlportType>
CSTA媒體描述是一種CSTA應(yīng)用程序必須從語(yǔ)音服務(wù)提供者獲得的元數(shù)據(jù)類型。WS-MEX在此尤其適合。下面是一個(gè)用于獲取元數(shù)據(jù)終點(diǎn)參量的簡(jiǎn)單SOAP消息
<soapEnvelopexmlnssoap=″http/www.w3.org/2003/05/soap-envelop″xmlnswsa=″http/schemas.xmlsoap.org/ws/2004/08/addressing″xmlnswsx=″http/schemas.xmlsoap.org/ws/2004/09/mex″xmlnscsta=″http/www.ecma-international.org/TR/XX″>
</soapHeader>
<wsaAction>
http/schemas.xmlsoap.org/ws/2004/09/mex/GetMetadata/Request</wsaAction>
<wsaMessageID>
uuid12345edf-53c1-4923-ba23-23459cee433e</wsaMessageID>
<wsaReplyTo>
<wsaAddress>http/client.example.com/MyEndpoint</wsaAddress>
</wsaReplyTo>
<wsaTo>http/server.acme.org</wsaTo>
</soapHeader>
<soapBody>
<wsxGetMetadata>
<wsxDialect>
http/www.ecma-international.org/TR/XX/MediaEndpoint</wsxDialect>
</wsxGetMetadata>
</soapBody>
</soapEnvelop>
示例表示了一個(gè)位于client.example.com的客戶機(jī)應(yīng)用程序向位于server.acme.org的CSTA語(yǔ)音服務(wù)提供者請(qǐng)求媒體終點(diǎn)參量。因?yàn)橹付艘粋€(gè)特定的方言,服務(wù)器必須只回應(yīng)所需類型的元數(shù)據(jù)。一個(gè)SOAP響應(yīng)消息可以是<soapEnvelop...>
<soapHeader>
<wsaAction>
http/schemas.xmlsoap.org/ws/2004/09/mex/GetMetadata/Response</wsaAction>
<wsaRelateTo>
uuid12345edf-53c1-4923-ba23-23459cee433e</wsaRelateTo>
<wsaTo>http/client.example.com/MyEndpoint</wsaTo>
</soapHeader>
<soapBody>
<wsxMetadata>
<wsxMetadataSection Dialect=″http/www.ecma-international.org/TR/XX/MediaEndpoint″>
<cstaMediaEndpointReference>
<wsaAddress>rtp/server.acme.org6060</wsaAddress>
<wsaReferenceProperties>
<cstaCodec>G.711</cstaCodec>
<cstaSubscriptionID>12345</cstaSubscriptionID>
<cstaExpires>2004-10-21T21:00:00.0-22:00</cstaexpires>
</wsaReferenceProperties>
</cstaMediaEndpointReference>
</wsxMetadataSection>
</wsxMetadata>
</soapBody>
</soapEnvelop>
語(yǔ)音應(yīng)用程序描述是語(yǔ)音服務(wù)能夠提供的另一個(gè)類型的元數(shù)據(jù)。通過經(jīng)由<wsxDialect>增加<wsxGetMetadata>以及它們相應(yīng)的URI,可以在同一時(shí)間獲得多種元數(shù)據(jù)類型。下面是一個(gè)用于獲取媒體終點(diǎn)和語(yǔ)音應(yīng)用程序參量的SOAP主體的示例<wsxGetMetadata>
<wsxDialect>
http/www.ecma-international.org/TR/xx/MediaEndpoint</wsxDialect>
<wsxDialect>
http/www.ecma-international.org/TR/xx/SpeechApplicationDescription</wsxDialect>
</wsxGetMetadata>
The corresponding response in the SOAP body<wsxMetadata>
<wsxMetadataSection Dialect=″http/www.emca-international.org/TR/xx/MediaEndpoint″>
…</wsxMetadataSection>
<wsxMetadataSection Dialect=″http/www.ecma-international.org/TR/xx/SpeechAppliationDescription″>
<cstaresource id=″US AddressRecognition″>
<cstatype>Listener</cstatype>
<cstagrammaruri=″urnacme.com/address/street number.grxml″schema=″urnacme.com/address/street number.xsd″/>
<cstagrammaruri=″urnacme.com/address/city.grxml″>
<cstarule id=″zip_code″schema=″urnacme.com/address/zip.xsd″/>
<cstarule id=″city_state″schema=″urnacme.com/address/city.
xsd″/>
</cstagrammar>
</cstaresource>
</wsxMetadataSection>
</wsxMetadata>
當(dāng)web服務(wù)單向啟動(dòng),請(qǐng)求以及回復(fù)模型,web服務(wù)通常希望在其他服務(wù)或應(yīng)用程序發(fā)生事件時(shí)接收消息。web服務(wù)事件、或WS—事件(WSE)是一個(gè)促進(jìn)事件通知的規(guī)范。WS—事件定義了一個(gè)web服務(wù)如何能預(yù)訂代表其他服務(wù)或應(yīng)用程序的事件,并允許應(yīng)用程序指定事件消息如何傳遞。它支持一個(gè)大范圍的事件拓補(bǔ),允許分離事件源和最終事件接收器。這些屬性適合于大范圍的CSTA應(yīng)用程序,包括呼叫中心到移動(dòng)計(jì)算。提供了對(duì)WS-事件的使用是因?yàn)镃STA語(yǔ)音服務(wù)需要事件通知來工作。
雖然已經(jīng)參照特定實(shí)施例描述了本發(fā)明,本領(lǐng)域熟練技術(shù)人員可以理解的是在可以作出形式和細(xì)節(jié)上的改變而不背離本發(fā)明精神和范圍。
權(quán)利要求
1.一種在客戶機(jī)和服務(wù)器之間通信的方法,其特征在于,包括建立一個(gè)媒體信道;建立一個(gè)信令信道;并且通過所述媒體信道和所述信令信道中至少一個(gè)在所述客戶機(jī)和所述服務(wù)器之間交換信息。
2.如權(quán)利要求1所述的方法,其特征在于,建立所述媒體信道進(jìn)一步包括建立編碼解碼器和協(xié)議。
3.如權(quán)利要求1所述的方法,其特征在于,所述交換信息在會(huì)話啟動(dòng)協(xié)議(SIP)環(huán)境中執(zhí)行。
4.如權(quán)利要求1所述的方法,其特征在于,所述交換信息在web服務(wù)環(huán)境下執(zhí)行。
5.如權(quán)利要求1所述的方法,其特征在于,建立所述媒體信道包括提議將要被使用于所述媒體信道的編碼解碼器以及協(xié)議。
6.如權(quán)利要求1所述的方法,其特征在于,建立所述媒體信道包括聲明因特網(wǎng)協(xié)議地址和與所述因特網(wǎng)協(xié)議地址相關(guān)的端口。
7.如權(quán)利要求1所述的方法,其特征在于,進(jìn)一步包括提供被用于建立所述媒體信道的包含至少一個(gè)編碼解碼器和至少一個(gè)協(xié)議的列表。
8.如權(quán)利要求7所述的方法,其特征在于,進(jìn)一步包括參考所述列表建立所述媒體信道。
9.如權(quán)利要求1所述的方法,其特征在于,所述交換信息包括在媒體信道上傳輸語(yǔ)音數(shù)據(jù)。
10.一種計(jì)算機(jī)可讀介質(zhì),包括用于提供語(yǔ)音服務(wù)的指令,其特征在于該指令包括已建立的信令協(xié)議通過信令信道根據(jù)信令接收信令信息;根據(jù)已建立的編碼解碼器和協(xié)議通過媒體信道接收語(yǔ)音信息;以及處理所述信令信息和所述語(yǔ)音信息。
11.如權(quán)利要求10所述計(jì)算機(jī)可讀介質(zhì),其特征在于,所述指令進(jìn)一步包括在所述語(yǔ)音信息上執(zhí)行語(yǔ)音識(shí)別。
12.如權(quán)利要求10所述計(jì)算機(jī)可讀介質(zhì),其特征在于,所述指令進(jìn)一步包括在會(huì)話啟動(dòng)協(xié)議(SIP)環(huán)境下建立會(huì)話。
13.如權(quán)利要求10所述計(jì)算機(jī)可讀介質(zhì),其特征在于,所述信令信息和所述語(yǔ)音信息在web服務(wù)環(huán)境下執(zhí)行。
14.如權(quán)利要求10所述計(jì)算機(jī)可讀介質(zhì),其特征在于,所述指令進(jìn)一步包括提供計(jì)算機(jī)支持電信應(yīng)用程序(CSTA)接口。
15.如權(quán)利要求10所述計(jì)算機(jī)可讀介質(zhì),其特征在于,所述指令進(jìn)一步包括解釋簡(jiǎn)單對(duì)象訪問協(xié)議(SOAP)消息。
16.如權(quán)利要求10所述計(jì)算機(jī)可讀介質(zhì),其特征在于,所述指令進(jìn)一步包括處理所述語(yǔ)音信息以識(shí)別其中包含的語(yǔ)義信息。
17.如權(quán)利要求10所述計(jì)算機(jī)可讀介質(zhì),其特征在于,所述指令進(jìn)一步包括向與因特網(wǎng)協(xié)議(IP)地址相關(guān)的特定端口發(fā)送信息。
18.如權(quán)利要求10所述計(jì)算機(jī)可讀介質(zhì),其特征在于,所述指令進(jìn)一步包括發(fā)送簡(jiǎn)單對(duì)象訪問協(xié)議(SOAP)消息。
19.一種在計(jì)算機(jī)網(wǎng)絡(luò)中處理信息的方法,其特征在于,包括在SIP環(huán)境以及web服務(wù)環(huán)境的一個(gè)中的客戶機(jī)和服務(wù)器之間建立關(guān)系;根據(jù)特定協(xié)議從所述客戶機(jī)向所述服務(wù)器發(fā)送數(shù)據(jù),所述數(shù)據(jù)包括音頻數(shù)據(jù)或文本數(shù)據(jù);如果所述數(shù)據(jù)是音頻數(shù)據(jù),將所述數(shù)據(jù)從音頻數(shù)據(jù)轉(zhuǎn)換為文本數(shù)據(jù),如果所述數(shù)據(jù)是文本數(shù)據(jù),將所述數(shù)據(jù)從文本數(shù)據(jù)轉(zhuǎn)換為音頻數(shù)據(jù);并且根據(jù)所述特定協(xié)議將轉(zhuǎn)換后的數(shù)據(jù)從所述服務(wù)器發(fā)送到所述客戶機(jī)。
20.如權(quán)利要求19所述方法,其特征在于,所述特定協(xié)議是基于CSTA(計(jì)算機(jī)支持電信應(yīng)用程序)。
全文摘要
本發(fā)明涉及在客戶機(jī)和服務(wù)器之間建立媒體信道和信令信道。所述媒體信道使用用于通信的選定的編碼解碼器和協(xié)議。通過所述媒體信道和信令信道,在所述客戶機(jī)上的應(yīng)用程序可使用在所述服務(wù)器上的語(yǔ)音服務(wù)。
文檔編號(hào)H04L29/06GK1764190SQ20051011330
公開日2006年4月26日 申請(qǐng)日期2005年9月22日 優(yōu)先權(quán)日2004年10月22日
發(fā)明者王冠三 申請(qǐng)人:微軟公司