專利名稱:具有通用應(yīng)用程序接口用于標準化交互呼叫處理通信的電信交換器的制作方法
背景技術(shù):
發(fā)明領(lǐng)域本發(fā)明一般涉及電信領(lǐng)域,更具體地講,涉及一個用于標準化交互呼叫處理并具有支持各種電信應(yīng)用的可編程電信交換器和主機計算機的通用應(yīng)用程序接口(API)。
相關(guān)技術(shù)描述可編程電信交換器被用于諸如話音通知,遠程銷售業(yè)務(wù)等多種應(yīng)用中。一臺運行電信應(yīng)用程序的計算機。一個可編程交換器通常由一個主機設(shè)備控制,一般地,可以購買與主機和交換器硬件兼容的商用應(yīng)用程序或選擇編寫用戶定義程序。
在大多數(shù)應(yīng)用中,可編程交換器通過一個或多個終接于交換器的模擬中繼線或數(shù)字跨線(例如T1跨線(Span))與公共電話網(wǎng)連接。該交換器還可以終接一條或多條連接到諸如電話機那樣的設(shè)備的“用戶線”。根據(jù)所分配的信令協(xié)議完成任何給定中繼線、跨線或用戶線上的通信。
對各種交換系統(tǒng)應(yīng)用,必須根據(jù)必要的協(xié)議控制交換事件的順序和執(zhí)行交換功能。在世界各地使用的“標準”信令協(xié)議有許多,包括E&M信號啟動、環(huán)路啟動、接地啟動的協(xié)議,使用MFR2地址信令的國際互控R2協(xié)議,以及使用DTMF/MFR1信令的E1信道隨路信令(CAS)協(xié)議。一般地,傳統(tǒng)的可編程交換器被配置為使一種特定的信令協(xié)議與一種特定的中繼線、跨線或用戶線相關(guān)聯(lián)。
為了在滿足特定交換功能所必要的各種級別上控制電信交換器,傳統(tǒng)的主機應(yīng)用程序被配置為產(chǎn)生與許多交換事件對應(yīng)的數(shù)字信號命令。相應(yīng)地,傳統(tǒng)的通信交換器被配置為產(chǎn)生與各端口上這些事件的處理有關(guān)的數(shù)字信號應(yīng)答。這些消息是固定的或“硬編碼的”消息,每個消息用于在主機應(yīng)用程序與交換器之間傳送特定的信息。用以傳送這些消息的電信應(yīng)用程序與交換器之間的接口稱為應(yīng)用程序接口,或API。
每個信令協(xié)議需要建立包括一個或多個固定消息交換的預(yù)定的主機-交換器呼叫控制處理協(xié)議。因此,要控制可編程交換器執(zhí)行維持通信所必要的交換事件,各通信交換器必須能夠支持極大數(shù)目的這些特定主機-交換器的命令消息及相關(guān)協(xié)議。有鑒于此,每個信令協(xié)議應(yīng)與在主機及交換器中存儲和索引的一個或多個不同的消息集相關(guān)聯(lián)。該消息集和最終的主機-交換器協(xié)議還依賴于具體的電信應(yīng)用程序要求,諸如一個應(yīng)用程序為適當控制交換器以支持一個特定的信令協(xié)議所要求的信息數(shù)量和類型。
此外,傳統(tǒng)的可編程交換器也可以被連接在公共電話網(wǎng)和諸如話音通知系統(tǒng)一類的其他設(shè)備之間。因為這種設(shè)備可以執(zhí)行專用的功能并且無意直接與公共電話網(wǎng)連接,所以它們一般不遵守各種標準信令協(xié)議。因此,為使用戶能夠按以下的方式控制可編程交換器,即使之維持與公共電話網(wǎng)和連接于該交換器的其他設(shè)備的適當通信,就必須滿足多種復雜的API信令協(xié)議要求。傳統(tǒng)的通信交換器實現(xiàn)許多特定的API消息集,以支持這些多種多樣的要求。
由于固定消息的執(zhí)行及各種電信應(yīng)用和信令協(xié)議的要求,主機應(yīng)用程序與電信交換器之間沒有標準接口。這使得在為每條中繼線、跨線及用戶線開發(fā)支持特定API協(xié)議以滿足主機應(yīng)用程序要求和信令協(xié)議要求所必要的硬件及軟件時費用增加。
另外,由于具有各自專用于特定命令或數(shù)據(jù)傳送的、分離和不同的API消息,對電信交換器增加特性需要創(chuàng)建和實現(xiàn)一個或多個附加的API消息,以支持主機與交換器之間的相關(guān)API協(xié)議。為實現(xiàn)每個新的獨特消息,必須對交換器和主機進行耗資而且費時的軟件修改。
因而,所需要的是一個與主機應(yīng)用程序或信令協(xié)議要求無關(guān)的支持主機-交換器呼叫控制處理的標準化API消息協(xié)議。進一步地,這樣的通用API協(xié)議必須是定義成足夠靈活和適應(yīng)多用途的,以支持現(xiàn)在或今后所開發(fā)的電信應(yīng)用和信令協(xié)議的當前和未來的要求。
發(fā)明概述本發(fā)明是用于執(zhí)行呼叫控制處理的,能夠被設(shè)置為滿足電信應(yīng)用和網(wǎng)絡(luò)信令協(xié)議要求的一個標準化的主機-交換器應(yīng)用程序接口(API)。該通用API包括一個或多個具有用于在主機應(yīng)用程序與交換器之間發(fā)送命令、狀態(tài)和數(shù)據(jù)的可編程域的一般消息。本發(fā)明進一步包括一個可編程電信交換器,該交換器給用戶提供定義所需API協(xié)議的能力,這些協(xié)議就性質(zhì)而言是“標準的”或自定義的,用于執(zhí)行任何所需要交換功能。
本發(fā)明包括一個使用戶能夠為交換器所提供的每個端口定義分離有限狀態(tài)機的協(xié)議開發(fā)環(huán)境。通過將被稱為原子函數(shù)的一系列基本處理步驟與原語(Primitives)結(jié)合,后者又依次與狀態(tài)和事件結(jié)合以定義所需要的狀態(tài)機,使每個有限狀態(tài)機可以被獨立地定義。這樣的狀態(tài)機可以包括配置為在預(yù)定條件下產(chǎn)生預(yù)定消息并包含預(yù)定信息的原子函數(shù)。上述狀態(tài)機可以進一步包括應(yīng)答狀態(tài)事件的能力,狀態(tài)事件包括配置為給狀態(tài)機提供來自主機應(yīng)用程序的信息的一般API消息的接收。
另外,本發(fā)明可以作為一種開發(fā)工具用來創(chuàng)建用戶定義的API協(xié)議,這些協(xié)議具有支持諸如個人通信業(yè)務(wù)(PCS),800/900號業(yè)務(wù),話音郵件,遠程銷售及其它電信應(yīng)用的用戶定義的標準消息。本發(fā)明還可以用來通過傳送一般API消息來控制或管理可編程交換器內(nèi)的多種的通信業(yè)務(wù),包括會議電話、話音錄音通知、信號音產(chǎn)生、信號音識別、呼叫進程分析、話音識別、話音壓縮和傳真編碼/譯碼。
本發(fā)明的通用API也可以用于實現(xiàn)交換器內(nèi)部的通信。例如,通用API的標準化消息可以用來支持交換器內(nèi)部任何軟件層之間的通信。
本發(fā)明的一般消息結(jié)構(gòu)有利之處在于能夠給電信交換器加入附加的呼叫處理特性,主機能夠引進這些特性而不需實現(xiàn)專用于該特性的附加特定內(nèi)容的API消息。這使得用戶自定義API消息協(xié)議的創(chuàng)建不受用于特定特性和特定功能的特定消息的限制。
本發(fā)明的一般消息結(jié)構(gòu)的另一個優(yōu)點是它為應(yīng)用程序開發(fā)提供了標準化接口所必要的公共性和靈活性。這有效地減小了主機/交換器通信接口的復雜性并免除了支持一個由許多專門消息所組件的接口的費用。
本發(fā)明的另一個優(yōu)點是它為用戶提供了使用標準化消息向交換器所有軟件層發(fā)送和接收信息的能力。這在很大程度上消除了不得不存儲大量用于管理交換器的相同或不同軟件層所執(zhí)行的不同功能的不同消息的負擔。因此,本發(fā)明避免了在傳統(tǒng)交換器中所存儲并索引的大的消息集。
本發(fā)明的另一個優(yōu)點是增加了與主機交互作用的程度,這可以通過在不同的處理點引入在交換器中各處發(fā)送和接收數(shù)據(jù)的原子函數(shù)來簡單地得以實現(xiàn)。
本發(fā)明的另一個優(yōu)點是它使用戶能夠通過創(chuàng)建尋址每種信令協(xié)議的分離的狀態(tài)機來創(chuàng)建多個網(wǎng)絡(luò)信令協(xié)議。通用API可以被編程以實現(xiàn)支持每個特定協(xié)議狀態(tài)機所必要的通信。因此,盡管交換器支持多個信令協(xié)議,包括主機-交換器接口的消息結(jié)構(gòu)可以保持不變。
參照附圖,以下對本發(fā)明的更多的特性和優(yōu)點以及本發(fā)明的各種實施例的結(jié)構(gòu)和操作進行詳細描述。圖中,同樣的參考數(shù)字指示相同的或功能相似的部分。另外,參考數(shù)字最左的一或二位數(shù)字標識此參考數(shù)字初次出現(xiàn)的圖。
附圖簡述本發(fā)明在所附權(quán)利要求中詳細指出??梢詤⒖枷铝薪Y(jié)合附圖的描述更好地了解本發(fā)明的以上和更多的優(yōu)點,附圖中
圖1是可由用戶按照本發(fā)明的優(yōu)選實施例編程的可編程電信交換器的方框圖;圖2是描述用于控制圖1交換器的軟件層的圖;圖3A和圖3B描述了與圖2所描述的軟件層相關(guān)聯(lián)的一些具體特性和功能;圖4是按照本發(fā)明的優(yōu)選實施例構(gòu)造的有限狀態(tài)機開發(fā)環(huán)境的方框圖;圖5是說明本發(fā)明的一般PPL事件指示和PPL事件請求消息的結(jié)構(gòu)及內(nèi)容的方框圖;圖6是本發(fā)明的PPL事件指示確認消息和PPL事件請求確認消息的方框圖;圖7A和圖7B是使用本發(fā)明的通用API提供呼叫控制處理以支持高度交互作用的主機電信應(yīng)用要求的有限狀態(tài)機的狀態(tài)圖;圖7C是支持圖7A和圖7B所說明的呼叫控制處理的通用API的接口圖;圖7D和圖7E是圖7A和圖7B的有限狀態(tài)機的框圖,在此圖中,原子函數(shù)的每個序列被定義為一個原語;圖7F和圖7G是說明圖7A-7E中的原子函數(shù)、原語及狀態(tài)的對應(yīng)關(guān)系的表格;圖8A和圖8B是使用本發(fā)明的通用API提供呼叫控制處理以支持有限交互作用的主機電信應(yīng)用要求的有限狀態(tài)機的狀態(tài)圖;圖8C是在圖8A和圖8B中說明的呼叫控制處理所產(chǎn)生的主機-交換器API的接口圖;圖8D和圖8E是圖8A和圖8B的有限狀態(tài)機的圖,在此圖中,原子函數(shù)的每個序列被定義為一個原語;圖8F和圖8G是說明圖8A-8E中的原子函數(shù)、原語及狀態(tài)的對應(yīng)關(guān)系的表格;圖9是說明創(chuàng)建一個PPL事件指示消息的示范進程流程的功能方框圖;圖10是在創(chuàng)建圖9的PPL事件指示消息的過程中第四層PPL處理器所創(chuàng)建的消息緩存區(qū)的方框圖;以及圖11是說明創(chuàng)建一個PPL事件請求消息的示范進程流程的功能方框圖。
發(fā)明詳述圖1表示一個市場上可以買到的個人計算機(PC)102,它包括通過PC輸入/輸出(I/O)總線108及PC電源總線109互連的一個PC中央處理單元(CPU)104和一個硬盤驅(qū)動器106。PC102優(yōu)選International Business Machines(IBM)所售的PC-AT或其兼容機。也可以采用比PC-AT具有更多內(nèi)存或更強CPU的其他個人計算機。PC102優(yōu)選地在諸如DOS或UNIX的面向應(yīng)用的操作系統(tǒng)下運行。
PC102包括一個機箱或箱體,內(nèi)置一塊母板和硬盤驅(qū)動器106以及諸如軟盤驅(qū)動器、調(diào)制解調(diào)器之類的其他可選組件。PC CPU104被安置在母板上,母板包括一系列印制板插座,其他板或卡可以插入其中,從而與PC的I/O總線108及電源總線109連接。
一個可編程電信交換器110置于PC102內(nèi)。一個CPU/矩陣卡112插于母板的一個槽位從而連接到總線108和109。CPU/矩陣卡112與一個數(shù)字(T1)線路卡114、一個數(shù)字(E1)線路卡115、一個數(shù)字信號處理(DSP)卡116、一個打包機卡117、一個模擬(通用的)線路卡118以及一個終端連接器卡119通過四條總線互相連接,這四條總線是高級數(shù)據(jù)鏈路控制(HDLC)或處理機間總線120;時分復用(TDM)總線122;線路卡(LC)狀態(tài)/控制總線124;以及定時/控制總線126。電池/振鈴電壓總線128給模擬線路卡118提供電池電壓(48VDC)和振鈴電壓(109VAC)。終端連接器卡119用于物理終接總線120、122、124、126和128。
線路卡114、115和118以及DSP卡116都與PC電源總線109連接并從中獲取基本操作用電。盡管只描述了一個數(shù)字(T1)線路卡114、一個數(shù)字(E1)線路卡115和一個模擬線路卡118,但應(yīng)該明白,可以加入任何類型的其他線路卡,所受的兩個實際限制是(1)CPU/矩陣卡112的最大交換容量,以及(2)PC102機箱內(nèi)的物理空間。
可以包括一個分離的個人計算機、工作站或其他計算機的一個外部主機130可任選地通過通信信道132連接到CPU/矩陣卡112。CPU/矩陣卡112優(yōu)選地包括一個用于連接信道132的傳統(tǒng)的RS-232兼容接口。外部主機130優(yōu)選地在面向應(yīng)用的操作系統(tǒng)下運行。
如果需要,交換器110可以安置在一個無源背板(沒有CPU104或盤106)上,從該板獲得供電并受控于外部主機130。例如,本發(fā)明可以在其他處理平臺上實現(xiàn),諸如在題為可擴展的電信系統(tǒng)(ExpandableTelecommunication System)、共同未決的專利申請、序號為08/207,931中所公開的可擴展電信交換器,該專利轉(zhuǎn)讓于本申請的受讓人,在此整體引入作為參考。
一個外部的電池/振鈴供電器131通過路徑133與終端連接器卡119連接。作為一個例子,供電器131可以包括(例如)可在市場上買到的供電器。
除了數(shù)字(E1)線路卡115、DSP卡116及打包機卡117以外,有關(guān)圖1所示各種卡的結(jié)構(gòu)的細節(jié)在題為用于個人計算機的可編程電信交換器(Programmable Telecommunications Switch for PersonalComputer)的美國專利號5,321,744中已有陳述,該專利轉(zhuǎn)讓于本申請的受讓人,在此整體引入作為參考。數(shù)字(E1)線路卡115優(yōu)選地采用與公開的數(shù)字(T1)線路卡114相似的硬件來構(gòu)造,常規(guī)電路中的不同在于允許線路卡115終接E1跨線,而不是T1跨線。
有關(guān)DSP卡116和打包機卡117結(jié)構(gòu)的細節(jié),在題為具有可編程通信業(yè)務(wù)的電信交換器(Telecommunications Switch withProgrammable Communications Services)的美國專利號5,349,579中已有陳述,該專利轉(zhuǎn)讓于本申請的受讓人,在此整體引入作為參考。
圖2是用于控制圖1所示可編程交換器110的軟件分層模型。圖2左側(cè)欄表示開放系統(tǒng)互連(OSI)參考模型所定義的七層模型。圖2右側(cè)欄表示用于控制交換器2的五層模型以及其與OSI模型的一般對應(yīng)關(guān)系。
現(xiàn)在參照圖1和圖2,應(yīng)用層5(一般與OSI模型的應(yīng)用層對應(yīng))表示典型地運行于PC CPU104或外部主機130的應(yīng)用軟件。應(yīng)用層5的軟件可以用于實現(xiàn)任何需要的電信業(yè)務(wù),如免費(800)業(yè)務(wù)、話音郵件、自動呼叫分配(ACD)等,在此不一一列舉。應(yīng)用層5可以通過本發(fā)明的應(yīng)用程序接口與可編程交換器的任何其他層進行通信。當應(yīng)用層5存在于外部主機130時,API管理通信信道132上的通信。當應(yīng)用層5存在于PC CPU104時,API管理PC I/O總線108上的呼叫控制處理通信。
一般地,呼叫管理層104與OSI模型中的表示層、會話層及運輸層對應(yīng),表示運行于CPU/矩陣卡12的軟件。呼叫管理層4負責執(zhí)行集中呼叫處理功能并向應(yīng)用層5提供一個與交換器102內(nèi)部使用的網(wǎng)絡(luò)信令協(xié)議的類型無關(guān)的公共接口。一般地,呼叫管理層4執(zhí)行隨后的呼叫建立所需要的功能。
一般地,網(wǎng)絡(luò)信令協(xié)議層3與OSI模型中的網(wǎng)絡(luò)層對應(yīng)。網(wǎng)絡(luò)信令協(xié)議層3所表示的軟件運行于CPU/矩陣卡112,或者運行于包括各自的微處理器的各線路卡,諸如線路卡114或115或打包機卡117,并負責帶內(nèi)及帶外網(wǎng)絡(luò)信令監(jiān)控以及來話和去話的網(wǎng)絡(luò)協(xié)議級控制。
一般地,鏈路層2與OSI模型中的數(shù)據(jù)鏈路層對應(yīng)。鏈路層2的軟件運行于CPU/矩陣卡112、包括各自的微處理器的線路卡、DSP卡116或打包機卡117(每個卡包含自己的微處理器),并且負責檢測及物理傳輸通過網(wǎng)絡(luò)或線路接口的網(wǎng)絡(luò)信令信息。
最后,物理層1對應(yīng)于OSI模型中的物理層。線路卡114、115及118分別給交換器110提供物理的T1、E1以及模擬的電氣接口。
圖3A和圖3B是圖2的軟件層2-5的每層所提供的代表性的特性和功能的列表。本發(fā)明可作為一種開發(fā)工具用于開發(fā)適當?shù)能浖詫崿F(xiàn)圖3A和圖3B所示的任何特性及功能。在美國專利號5,426,694中陳述了在2-5層使用本發(fā)明的說明性例子,該專利轉(zhuǎn)讓于本發(fā)明的受讓人,在此整體引入作為參考。
圖4是根據(jù)本發(fā)明的優(yōu)選實施例所構(gòu)建的有限狀態(tài)機開發(fā)環(huán)境的總體方框圖,使用戶或使用者能夠創(chuàng)建和定義用于實現(xiàn)所需要的電信功能并通過本發(fā)明的通用API受控于一個或多個應(yīng)用程序的有限狀態(tài)機。在詳細考慮此圖之前,應(yīng)先給出一些術(shù)語的定義。
如在此所用的那樣,術(shù)語狀態(tài)涉及一個數(shù)字,該數(shù)字代表某一特定信道或端口的當前的“前后關(guān)系”(context)。在本發(fā)明的優(yōu)選實施例中定義了三類狀態(tài)正常的、內(nèi)部的和阻塞的。正常狀態(tài)可以是等待狀態(tài)(即SEIZE ACK狀態(tài),在此狀態(tài)下,中止進一步行動,直到某一特定事件發(fā)生)或穩(wěn)定狀態(tài)(即通話正在進行之中)。內(nèi)部狀態(tài)用于條件檢測以及有效地起判決分支的作用。根據(jù)本發(fā)明,可由用戶或使用者規(guī)定正常和內(nèi)部狀態(tài),定義實現(xiàn)所需功能的有限狀態(tài)機。阻塞狀態(tài)由本發(fā)明自動產(chǎn)生并用于逐信道與板外資源的管理相連接。
一個事件是一個數(shù)字,該數(shù)字標識了被某一特定狀態(tài)接受的一個條件。數(shù)據(jù)可以與一個事件關(guān)聯(lián)。
一個原子函數(shù)是執(zhí)行諸如設(shè)置定時器那樣的基本任務(wù)的一個函數(shù)。用戶規(guī)定的數(shù)據(jù)可以與一個原子函數(shù)關(guān)聯(lián)。原語是在某一特定事件發(fā)生時所調(diào)用的原子函數(shù)的一個預(yù)定序列。用戶可以從一個可用的原子函數(shù)庫創(chuàng)建或定義原語。在優(yōu)選實施例中,每個原語可以包括多達20個原子函數(shù)。
狀態(tài)/事件表定義某一特定狀態(tài)的有效事件以及在每一個這樣的事件的發(fā)生時所調(diào)用的原語。在優(yōu)選實施例中,一個狀態(tài)/事件表可以包括多達100個狀態(tài),并且每個狀態(tài)包括多達20個事件。
原語表定義狀態(tài)/事件表所用的原語。在優(yōu)選實施例中,一個原語表可以包括多達200個原語。
協(xié)議定義為各種表的關(guān)聯(lián),它至少包括一個狀態(tài)/事件表和一個原語表并由一個協(xié)議ID(一個數(shù)字)所標識。
API協(xié)議定義為主機應(yīng)用程序與交換器軟件層之間的主機-交換器控制協(xié)議。
程序協(xié)議語言(PPL)是用于管理網(wǎng)絡(luò)信令協(xié)議和通信業(yè)務(wù)的可編程環(huán)境。
諸如參考數(shù)字40a、40n所表示的數(shù)據(jù)塊被分配給交換器的每個信道(端口)0……n。40a到40n的每個數(shù)據(jù)塊包括以下與其各自信道有關(guān)的信息信道的當前狀態(tài);一個指向活動狀態(tài)/事件表的指針;一個指向活動原語表的指針;一個指向所分配的狀態(tài)/事件表的指針;以及一個指向所分配的原語表的指針。
就信道0而言,如虛線所指示的那樣,活動狀態(tài)/事件表和活動原語表的指針指向由參考數(shù)字442a表示的表,這些表與常駐協(xié)議0關(guān)聯(lián)。信道0的所分配的活動狀態(tài)/事件表和活動原語表的指針指向與被動態(tài)裝載、用戶定義的協(xié)議1關(guān)聯(lián)的、由參考數(shù)字444a表示的表。
存在并可用的其他協(xié)議是常駐協(xié)議1……n(442b,442c)及下載的用戶定義的協(xié)議n+1…m(444b,444c)。常駐協(xié)議442b-442c表示預(yù)編程的或“標準的”協(xié)議,一般由生產(chǎn)廠家隨交換器一起提供。相反,用戶定義的協(xié)議n+1…m是由用戶或使用者創(chuàng)建的,并且就性質(zhì)來說,可以是完全“自定義的”或“專有的”。
一個層依賴原子函數(shù)庫446與狀態(tài)機引擎(engine)448連接并為其提供信息。狀態(tài)機引擎448也與活動狀態(tài)/事件表指針和活動原語表指針相連接,以從440a-440n的每個數(shù)據(jù)塊接收活動狀態(tài)/事件表指針和活動原語表指針。而且,如參考數(shù)字450所示,為層依賴支撐環(huán)境提供實用程序。
狀態(tài)機引擎448的作用是按照所分配的協(xié)議驅(qū)動每個信道,所分配的協(xié)議由所分配的狀態(tài)/事件表和所分配的原語表予以定義。正常狀態(tài)的一個有效事件一旦發(fā)生,就根據(jù)所分配的狀態(tài)/事件表的各表目調(diào)用一個原語。狀態(tài)機引擎448利用原子函數(shù)庫446執(zhí)行所調(diào)用的原語表示的原子函數(shù)。
狀態(tài)機引擎448在任何必要的內(nèi)部狀態(tài)將始終驅(qū)動并自動地產(chǎn)生適當?shù)淖枞麪顟B(tài),直到信道再次達到正常狀態(tài)。這時,由狀態(tài)機引擎448所進行的處理完成,直到另一個有效事件發(fā)生。
每個信道起初被分配一個用戶定義的協(xié)議或一個可編程協(xié)議。這通過從應(yīng)用層5向呼叫管理層4傳送API消息,而呼叫管理層4又依次向也可以按照本發(fā)明的API設(shè)置的第3層發(fā)送適當?shù)南硗瓿?。所分配的狀態(tài)/事件表指針和所分配的原語表指針指向新近分配的協(xié)議。因而,用戶可以通過簡單地指明數(shù)據(jù)塊中合適的指針來分配一個想要的可用協(xié)議。采用這種方式,本發(fā)明有利于允許用戶逐信道地從常駐在單個交換器中的多個協(xié)議中分配一個想要的協(xié)議。
替換地,如果用戶選定不給一些或全部信道分配協(xié)議,則默認值會被優(yōu)選地提供,從而使每個信道總是有一個被分配的有效協(xié)議(例如,常駐協(xié)議442a-442c之一)。
為狀態(tài)機引擎448提供的活動狀態(tài)/事件表和活動原語表的指針指向當前控制信道的協(xié)議。
分配給某一特定信道的協(xié)議沒有必要是永久的,正如結(jié)合圖7所詳細描述的那樣,可以響應(yīng)于具體事件的發(fā)生實時、動態(tài)地加以改變。進一步講,因為庫446提供的原子函數(shù)表示基本功能,有利于用戶或使用者能夠?qū)f(xié)議實現(xiàn)所需要的改變而不對基礎(chǔ)代碼進行本質(zhì)的改變,或者可能的話,不進行任何改變。另外,為用戶或使用者提供了支撐環(huán)境實用程序,以簡化協(xié)議的開發(fā)。這些實用程序提供了現(xiàn)成的資源管理功能(如定時器),大大簡化了實現(xiàn)想要協(xié)議所需要的狀態(tài)機邏輯。由于每層所需要的資源可以不同,所以為每個軟件層最好提供不同的實用程序。
按照本發(fā)明,一般常駐于外部主機130的應(yīng)用層5與圖2所說明的交換器102的其他層之間的呼叫處理控制通信,通過傳輸本發(fā)明通用API的一般消息來進行管理。具體地講,在本發(fā)明通用API的優(yōu)選實施例中,用一種稱為PPL事件請求消息的單個消息類型,從主機應(yīng)用層(第5層)向電信交換器(所有其他軟件層)傳送所有的呼叫控制處理命令和數(shù)據(jù)。同樣地,用一種稱為PPL事件指示消息的單個消息,從電信交換器向主機應(yīng)用層傳送所有的呼叫控制處理狀態(tài)和數(shù)據(jù)。這些一般API消息具有任選的域,對保持呼叫處理是唯一必要的消息,與應(yīng)用要求、網(wǎng)絡(luò)信令協(xié)議要求、或電信交換器當前存在或要增加的特性無關(guān)。本發(fā)明的可編程交換器使用戶能夠定義和分配所需要的應(yīng)用程序接口協(xié)議,就性質(zhì)而言,這些協(xié)議是“標準的”或自定義的,用于實現(xiàn)適應(yīng)以上任何要求的各種交換功能。
參考圖5,一個PPL事件請求消息從主機發(fā)送到交換器以啟動帶有可選ICB數(shù)據(jù)的、關(guān)于某一PPL組件的主機事件。PPL事件請求消息是從主機向交換器傳遞的唯一呼叫控制處理消息,并且,在優(yōu)選實施例中,具有圖5所說明的消息500的格式。PPL事件請求消息包括若干域和子域,描述如下。
PPL事件請求消息包括一個幀字節(jié)502,它是一個不變的值,標識它為一幀的第一個字節(jié)。
消息長度域504包括特定PPL事件請求消息的長度。由于本發(fā)明的一般API消息有包括可選域的能力,消息的長度是改變的,所以消息長度域是必要的。一般地,長度域的值不包括幀字節(jié)502。
消息類型域506包括一個不變的值,標識此特定消息為PPL事件請求消息。所有PPL事件請求消息的消息類型域是固定的。
序列號域508是由主機應(yīng)用程序產(chǎn)生的、分配給每個PPL事件請求消息的一個特定的數(shù)字標識符。該值用于區(qū)分從主機向交換器傳送的不同的PPL事件請求消息。例如,當主機確認一個PPL事件請求消息的接收時,在其確認消息中包括一個序列號,以標識哪個PPL事件請求消息與確認消息內(nèi)所包含的狀態(tài)信息相關(guān)聯(lián)。
如上所述,交換器中每個PPL組件狀態(tài)機被分配了一個唯一的參考數(shù)字。PPL組件ID域510是一個字域,該域標識了特定的PPL事件請求消息500參考(reference)在交換器中實現(xiàn)的哪個PPL組件。
在任意給定時刻,交換器中可以有多個PPL組件狀態(tài)機的實例。例如,在優(yōu)選實施例中,有分配給每個信道的一個E1 PPL組件狀態(tài)機。因此,其中單個E1卡支持256個信道的說明實施例中,可以有多達256個E1 PPL組件狀態(tài)機的實例,每個實例與一個不同的信道關(guān)聯(lián)。為了有選擇地訪問PPL組件的每個實例,本發(fā)明的通用API提供了進行多級尋址的能力。因此,一旦PPL組件在PPL組件ID域510中被標識,就有一個地址單元域514被提供,以標識所參考的是PPL組件狀態(tài)機的哪個實例。如圖5所示,PPL事件請求消息提供了包括任意多個地址單元域514的能力,因此,可以同時與一個PPL組件狀態(tài)機的多個實例通信。一個PPL事件請求消息中包括的地址單元域514的總數(shù)在地址單元數(shù)目域512中給出。
為適應(yīng)上面提及的其他級別尋址,地址單元域514包括許多個子域,用于進一步標識哪個狀態(tài)機實例要接收PPL事件請求消息。具體地講,提供了一個地址單元類型域516,以參考可能包含所需要的狀態(tài)機實例或與其關(guān)聯(lián)的交換器分級組件。在上面有一個E1 PPL狀態(tài)機實例的例子中,地址單元類型域516指示狀態(tài)機實例與哪種跨線和信道有關(guān)聯(lián)。地址信息子域520給出在地址單元類型域516中所指示的每個分級組件的具體地址。
由于域520中所包含的尋址信息根據(jù)所尋址的設(shè)備類型改變,AE域514的長度也可以變化,因而在長度子域518中給出AE域514的長度??梢圆捎眠m合特殊PPL組件狀態(tài)機和交換器結(jié)構(gòu)的其他尋址方案,這對相關(guān)領(lǐng)域的技術(shù)人員來說是顯而易見的。還應(yīng)該指出,在上面的實例中,由于給每個信道單獨分配了PPL組件狀態(tài)機,所以對于每個信道存在一個單個的狀態(tài)機實例。然而,一個特定的狀態(tài)機可以被設(shè)置為管理任意多個信道,這對相關(guān)領(lǐng)域的技術(shù)人員來說也是顯而易見的。
多級尋址為通用API PPL事件請求消息提供了一個靈活的尋址方案。這使采用單個PPL事件請求消息的主機應(yīng)用程序能夠?qū)ぶ肪哂泄餐腜PL組件ID的一系列狀態(tài)機實例以在所有所尋址的狀態(tài)機中產(chǎn)生一個特定事件。
每個PPL事件具有一個相對每個PPL組件的唯一ID。PPL事件ID域522為交換器提供了一個交換器認為正與特定請求關(guān)聯(lián)的用戶定義的PPL事件ID。接收者的PPL組件將唯一PPL事件ID映射成一個PPL事件,該事件對該PPL組件是唯一的。
每個PPL事件請求消息還可以以信息控制塊(ICB)的形式包括一個或多個數(shù)據(jù)域。每個PPL組件的ICB是根據(jù)軟件層和PPL組件所支持的通信協(xié)議而定義的。因而,采用本發(fā)明的一般可編程消息可以在主機和交換器之間傳遞任何信令信息。
仍然參照圖5,一個PPL組件將具有任選ICB數(shù)據(jù)的一個PPL事件指示消息從交換器發(fā)送到主機,以向主機報告各端口上的一個事件。PPL事件指示消息是從交換器向主機傳遞的唯一呼叫控制處理消息,并且,在優(yōu)選實施例中,與圖5所說明的PPL事件請求消息具有相同的格式。除了下面提到的以外,PPL事件指示消息的域與上面討論的PPL事件請求消息的類似域是一致的,并具有相同的功能。
如上所述,可以有一個PPL組件狀態(tài)機的多個實例。對PPL事件指示消息而言,地址單元域指示特定狀態(tài)機的哪個實例正在實際調(diào)用產(chǎn)生PPL事件指示消息的原子函數(shù)。
在PPL事件指示消息中,PPL事件ID域522是一個特定數(shù)值,它表示交換器中導致PPL組件狀態(tài)機發(fā)送PPL事件指示消息的特定事件的發(fā)生。如上所述,這是用原子函數(shù)來管理的,原子函數(shù)被編程,以響應(yīng)于一個特定事件的發(fā)生,發(fā)送特定的PPL事件指示消息,消息中所包含的PPL事件ID由用戶編程。
對相關(guān)領(lǐng)域的技術(shù)人員來說,顯然可以采用本發(fā)明的通用程序API設(shè)置包括層與層間通信的所有信息傳送。例如,在上面引入的美國專利號5,426,694中所描述的示范性通信可以由本發(fā)明的通用API消息所替代。
PPL組件可以是特定層的、特定功能的、特定接口的、特定協(xié)議的、或特定信道的。這使得主機第5層的電信應(yīng)用程序能夠如所需要或必要的那樣交互訪問交換器的每層,并且管理每個PPL組件而不管組件位于何處。因而,一個應(yīng)用程序可以用通用API接口管理任何PPL組件。這提供了一個始終如一的、可預(yù)測的管理交換器中每個PPL組件的方法,該方法與正執(zhí)行處理的級別無關(guān),范圍包括例如,從一個非常詳細的信令分析到網(wǎng)絡(luò)信令、到高級呼叫路由選擇、直到呼叫管理連接功能。
在本發(fā)明的優(yōu)選實施例中,數(shù)據(jù)被標識并傳遞到主機的方式包括實現(xiàn)用于在特定存儲位置存取確定類型數(shù)據(jù)的一個或多個原子函數(shù),以及實現(xiàn)用于產(chǎn)生將所有以前所存儲的數(shù)據(jù)提供給主機的一般PPL事件指示的一個或多個原子函數(shù)。然而,本領(lǐng)域的技術(shù)人員顯然會發(fā)現(xiàn),設(shè)置原子函數(shù)在PPL事件指示消息中傳遞數(shù)據(jù)的方法是很多的。例如,可以用一個分離的原子函數(shù)在一個PPL事件指示消息中傳送特定類型的數(shù)據(jù)。
圖5底部表示描述PPL事件請求和PPL事件指示消息的簡化表示法。
參照圖6,電信交換器用具有消息600的格式的PPL事件請求響應(yīng)消息來響應(yīng)PPL事件請求。類似地,主機應(yīng)用程序用PPL事件指示確認消息來響應(yīng)PPL事件指示消息,也具有在圖6中所說明的格式。一般確認消息600包括一個幀字節(jié)602,長度字節(jié)604,消息類型606,以及序列號608,它們都執(zhí)行與PPL事件請求消息500中的對應(yīng)域相同的功能。另外,狀態(tài)域610為接收者提供特定消息的狀態(tài)信息。描述PPL事件請求確認和PPL事件指示確認的消息的簡化表示法示于圖6中。
下面參照圖7A-8G給出利用本發(fā)明通用API實現(xiàn)交互話音處理功能的兩個例子。第一個例子說明當電信交換器在高度交互作用的主機應(yīng)用層5的控制下執(zhí)行交互話音通知時,用于管理主機-交換器通信的通用API。第二個例子說明當主機應(yīng)用層5與電信交換器的交互作用是有限的而執(zhí)行的功能相同時,用于管理主機-交換器通信的通用API。這些例子說明了通用API適應(yīng)各種應(yīng)用要求的能力。
在以下圖中,狀態(tài)表示為圓圈,原子函數(shù)表示為矩形框,事件用沿著通向狀態(tài)外路徑的縮寫字表示。原子函數(shù)中括號內(nèi)所示信息表示與該函數(shù)關(guān)聯(lián)的變元或數(shù)據(jù)。當有必要避免與其他數(shù)字表示符混淆時,就在括號底部給出參考數(shù)字。
圖7A-7B說明本發(fā)明應(yīng)用于具有主機應(yīng)用層5所要求的高級交互作用的呼叫管理層4的一個例子,在該例子中,本發(fā)明用于實現(xiàn)一個協(xié)議,該協(xié)議用于在對來話進行交互話音應(yīng)答的整個過程中提供主機應(yīng)用判決。
協(xié)議從關(guān)聯(lián)信道(信道1)在正常狀態(tài)NS0,即空閑狀態(tài)702開始。一旦第3層事件發(fā)生,即向第4層發(fā)送一個建立消息((50)L4PPLevL3_SETUP_INDICATION)),則執(zhí)行原子函數(shù)af35。如它的描述符所表示的那樣,第4層PPL事件(L4PPLev)是從網(wǎng)絡(luò)信令協(xié)議層3(L3)接收的,它報告已檢測到一個來話(SETUP_INDICATION)。在消息描述符前面的括號中的數(shù)字50是第4層PPL分配給該事件的PPL事件ID。因而,當?shù)?層被通知有PPL事件ID 50所表示的來話時,圖7A的PPL組件狀態(tài)機離開空閑狀態(tài)702并執(zhí)行原子函數(shù)af35(704)。
原子函數(shù)af35(704)運行,以通知該事件給主機應(yīng)用層(第5層)并為事件分配一個PPL事件ID 1。主機應(yīng)用程序?qū)⒋薖PL事件ID(數(shù)字1)解釋為一個來話通知。參照圖7C,原子函數(shù)35(704)產(chǎn)生一個PPL事件指示消息701,從而通知來話給主機。這個PPL事件指示消息具有以下格式PPL Event Ind(L4PPL,ch1,1)其中,PPL組件ID指示第4層PPL組件(L4PPL),該消息所訪問的第4層PPL組件狀態(tài)機的實例是與信道1(ch1)關(guān)聯(lián)的實例,并且,PPL事件ID(1)表明當PPL組件狀態(tài)機已處于空閑狀態(tài)NS0時,業(yè)已接收到來話消息。
如圖所示,與原子函數(shù)af35(704)關(guān)聯(lián)的變元指定了第4層PPL事件ID。應(yīng)注意到,更一般地講,原子函數(shù)af35是一個PPL發(fā)送事件指示消息原子函數(shù),每當要把一個PPL事件指示消息發(fā)送到主機第5層時,就使用該原子函數(shù),每個消息具有指示唯一PPL事件ID的變元,該PPL事件ID與不同事件的發(fā)生相關(guān)聯(lián)。主機用PPL事件指示確認消息703來響應(yīng),該消息具有一般格式PPL Event Ind Ack(sequence#,status)其中序列號(sequence#)是PPL事件指示消息701中給出的序列號,而status指示了所關(guān)聯(lián)的PPL事件指示消息的狀態(tài)。就本例子及以下例子而言,PPL事件指示確認消息都指示前一個PPL事件指示消息被成功地接收。
在電信交換器采用本發(fā)明的PPL事件指示消息向主機給出來話通知之后,第4層PPL組件狀態(tài)機進入正常狀態(tài)NS1,它是一個等待狀態(tài)706,在此狀態(tài)下,第4層PPL組件等待主機應(yīng)用程序?qū)νㄖ捻憫?yīng)。主機發(fā)送一個第5層的事件ID為1的PPL事件請求消息705(看圖7C),表明它正請求交換器繼續(xù)處理信道1上收到的呼叫。消息705具有以下格式PPL Event Req(L4PPL,ch1,1)該消息表明交換器必須響應(yīng)信道1收到的來話。第4層PPL組件狀態(tài)機將PPL事件ID為1的PPL事件請求消息解釋為一個事件。如圖7A所說明的那樣,第4層PPL組件狀態(tài)機為收到的PPL事件請求消息分配一個第4層的唯一PPL事件ID 501,表明一個第5層的PPL事件請求(具有PPL事件ID 1)已發(fā)生。
作為PPL事件501的響應(yīng),第4層的PPL組件狀態(tài)機執(zhí)行5個原子函數(shù)原子函數(shù)af60(708)、原子函數(shù)af62(710)、原子函數(shù)af140(712)、原子函數(shù)af212(714)和原子函數(shù)af50(716)。原子函數(shù)af60是根據(jù)本發(fā)明產(chǎn)生一般PPL事件請求確認消息的原子函數(shù)。每當交換器的一個PPL組件將要確認收到一個PPL事件請求消息時,便可以使用此原子函數(shù)af60。變元值16表示PPL事件請求消息被成功接收的一種確認狀態(tài)。原子函數(shù)af60(708)產(chǎn)生PPL事件請求確認消息707,該消息與上面描述的PPL事件指示確認消息具有相同的一般格式。PPL事件請求確認消息707表明上面的來話消息已被成功接收。
原子函數(shù)af62(710)和原子函數(shù)af140(712)分別用于向第3層發(fā)送連接消息(應(yīng)答呼叫)和發(fā)送消息從而為交互數(shù)字串集(collection)分配DSP資源。原子函數(shù)af212(714)向主叫發(fā)一個開放通知(Opening announcement)。如圖所示,有兩個變元(argument)給af212通知ID和通知控制選項。af212(714)被選擇以發(fā)開放通知。根據(jù)原子函數(shù)af212(714)所發(fā)通知而進入的原子函數(shù)af50(716)被執(zhí)行以設(shè)置定時器,使其等待一段選定時間以接收來話數(shù)字。如圖所示,第一個變元表明用于執(zhí)行該函數(shù)的多用途定時器是定時器1。第二個變元表明定時器將要計數(shù)的1000ms單位的數(shù)目。這里,第二個變元是10,表明定時器1將計時10秒。因此,原子函數(shù)af50(716)使定時器1在10秒時計滿,在此期間,第4層PPL組件進入正常狀態(tài)S2,它是等待狀態(tài)718,在此狀態(tài)下,PPL狀態(tài)機在信道1等待要檢測的數(shù)字。
如果下一個PPL事件是定時器1((191)PPLev TIMER1)計時滿,表明10秒內(nèi)未收到數(shù)字(digit),則原子函數(shù)af35(720)被執(zhí)行以通知主機未收到數(shù)字。第4層PPL組件為收到的PPLevTIMER1消息分配一個PPL事件ID191。如上所述,原子函數(shù)35產(chǎn)生本發(fā)明的PPL事件指示消息。但是,這里,PPL事件指示消息中包含PPL事件ID 4,表明在所選擇的信道上檢測數(shù)字失敗。因此,該PPL事件指示消息的格式是PPL Event Ind(L4PPL,ch1,4)該消息表示當?shù)?層PPL組件處于等待狀態(tài)718時,在與第4層PPL組件的信道1實例相關(guān)聯(lián)的信道上未檢測到數(shù)字。
由于圖7C的接口示意圖說明了與成功的數(shù)字接收及后續(xù)的呼叫通知處理相關(guān)聯(lián)的通用API協(xié)議,所以這一消息在圖7C中沒有說明。然后,在主機應(yīng)用程序的控制下通過執(zhí)行本發(fā)明的通用API,處理以一系列未示出的原子函數(shù)繼續(xù)進行,其中,響應(yīng)于信道1上檢測數(shù)字的失敗,電信交換器執(zhí)行各種功能。
如果當?shù)?層PPL組件狀態(tài)機處于等待狀態(tài)718時下一個要發(fā)生的事件是接收到表明在信道1檢測到數(shù)字的消息,((66)L4PPLevDSP_RESULT_DIGITS),則執(zhí)行原子函數(shù)af47(722)。給這一消息的接收分配一個唯一PPL事件ID 66。因此,當?shù)?層被通知已經(jīng)接收到數(shù)字時,第4層PPL組件狀態(tài)機離開等待狀態(tài)S2(718)并執(zhí)行原子函數(shù)af47(722)。如原子函數(shù)的變元所指示的那樣,原子函數(shù)af47使原子函數(shù)af50(716)所選擇的PPL多用途定時器(定時器1)停止工作。原子函數(shù)af53(724)將接收到的數(shù)字存儲在選定的通用寄存器中。這里,af53(724)將接收到的數(shù)字存儲在通用寄存器1中。
根據(jù)本發(fā)明,原子函數(shù)af36(726)是一個被配置為發(fā)送具有所選擇的通用寄存器的內(nèi)容(變元2)和一個PPL事件ID(變元1)的PPL事件指示消息的原子函數(shù)。這里,原子函數(shù)af36(726)將通用寄存器1的內(nèi)容以事件ID為2的PPL事件指示消息709的形式發(fā)送到第5層主機應(yīng)用層。PPL事件指示消息709的格式是PPL Event Ind(L4PPL,ch1,2,digit)其中,L4PPL是PPL組件ID,ch1是地址單元,2是PPL事件ID,而“digit”是所收到的數(shù)字。該PPL事件指示消息作為一個例子說明了本發(fā)明的通用API采用單個一般PPL事件指示消息格式傳輸數(shù)據(jù)及命令的能力。主機用PPL事件指示確認消息711應(yīng)答,表示PPL事件指示消息709被成功接收。然后,執(zhí)行原子函數(shù)af147(728),從而斷開DTMP接收器與信道1的連接以取消數(shù)字接收。
第4層PPL組件狀態(tài)機然后進入狀態(tài)S4,即等待狀態(tài)730,其中,第4層PPL組件狀態(tài)機無定期地等待主機應(yīng)用層5指示第4層PPL組件狀態(tài)機如何應(yīng)答所接收的數(shù)字。如圖7B所示,在示范的實施例中,主機應(yīng)用程序可以向第4層PPL組件發(fā)送具有PPL事件ID504、505和506的三種不同的應(yīng)答之一。
如果第4層PPL組件狀態(tài)機接收到PPL事件ID為4的PPL事件請求消息713,((504)PPLevL5_EVENT_REQ_4),則為其分配一個第4層的唯一PPL事件ID 504,表明第5層給出了一個PPL事件ID為4的PPL事件請求消息。PPL事件請求消息711命令第4層PPL組件狀態(tài)機發(fā)出一個特定的呼出通知。PPL事件請求消息713的格式是PPL Event Req(L4PPL,ch1,4)其中的PPL組件ID表明此消息是以第4層的PPL組件(L4PPL)為目標的,地址單元表明正在通信的信道是信道1(ch1),而PPL事件ID(4)表明一個特定的附加的呼出通知將在所標識的信道上發(fā)出。
作為PPL事件504的響應(yīng),第4層執(zhí)行4個原子函數(shù)原子函數(shù)af60(732),原子函數(shù)af140(734),原子函數(shù)af212(736)和原子函數(shù)af50(738)。原子函數(shù)af60(732)是按照本發(fā)明產(chǎn)生一般PPL事件請求確認消息的原子函數(shù)。如上所述,每當一個PPL組件要對一個PPL事件請求消息的接收進行確認時,就使用原子函數(shù)af60。變元值16表示PPL事件請求消息被成功接收的確認狀態(tài)。此原子函數(shù)產(chǎn)生上述一般格式的PPL事件請求確認消息。
原子函數(shù)af140(734)用來給信道1分配用于交互數(shù)字串集的DSP資源。原子函數(shù)af212(736)在信道1上發(fā)附加的呼出通知。第一個變元指明通知ID為3;根據(jù)第二個變元沒有選項被選擇。原子函數(shù)af50(738)用于設(shè)置定時器1,等待10秒的時間以接收呼入數(shù)字。PPL組件進入狀態(tài)S5(740)以在選定時間周期內(nèi)等待呼入數(shù)字。
原子函數(shù)af212(736)的執(zhí)行導致向主叫發(fā)一個通知。如圖所示,af212有兩個變元通知ID和通知控制選項。原子函數(shù)af212(736)被選擇以用來發(fā)呼出通知。
作為對原子函數(shù)af212(736)所發(fā)通知的響應(yīng)而進入的原子函數(shù)af50(738)用于設(shè)置定時器,以在選定的時間內(nèi)等待接收呼入數(shù)字。根據(jù)變元,原子函數(shù)af212(736)將定時器1設(shè)置為10秒計時滿。在此時間周期內(nèi),第4層PPL組件狀態(tài)機進入狀態(tài)S5,即一個等待狀態(tài)740,狀態(tài)機在此狀態(tài)下等待接收數(shù)字。
在此示范的實施例中,主機可以用PPL事件ID為5或6的PPL事件請求交替地應(yīng)答,以向第4層的PPL組件表明要執(zhí)行沒有表示出的其他功能。在兩種情況下,PPL組件狀態(tài)機執(zhí)行原子函數(shù)af60(分別為731,733),表明各自的PPL事件請求消息被成功接收。
如果下一個事件是定時器1計時滿((191)PPLevTIMER1),則協(xié)議再次執(zhí)行原子函數(shù)af35。執(zhí)行原子函數(shù)af35(742)以通知主機在給定時間內(nèi)未收到數(shù)字。如上所述,原子函數(shù)af35配置為按照本發(fā)明產(chǎn)生PPL事件指示消息。這里,原子函數(shù)af35(742)產(chǎn)生的PPL事件指示消息中包含PPL事件ID 4,表明在選定信道上接收數(shù)字失敗。該PPL事件指示消息的格式是PPL Event Ind(L4PPL,ch1,4)
它表明信道1的第4層PPL組件實例在指定時間內(nèi)沒有檢測到數(shù)字。由于圖7C的接口示意圖說明的是與呼叫通知序列的成功處理相關(guān)聯(lián)的API協(xié)議,所以該消息沒有在圖7C中說明。
如果下一個PPL事件是表明10秒周期內(nèi)沒有接收到數(shù)字的定時器1計時滿((191)PPLevTIMER1),則原子函數(shù)af35(742)被執(zhí)行,以便通過產(chǎn)生具有PPL事件ID為4的本發(fā)明的PPL事件指示消息,通知主機沒有接收到數(shù)字,其格式為PPL Event Ind(L4PPL,ch1,4)出于以上給出的原因,該消息沒有表示在圖7C中。然后,在主機應(yīng)用程序控制下通過執(zhí)行本發(fā)明的通用API,以一系列沒有表示出的原子函數(shù)使處理繼續(xù)進行,其中,響應(yīng)于信道1上檢測數(shù)字失敗,電信交換器執(zhí)行各種功能。
如果當?shù)?層的PPL組件狀態(tài)機處于等待數(shù)字狀態(tài)740時發(fā)生的下一個事件是接收到表明在信道1上接收到數(shù)字的消息,((66)L4PPLevDSP_RESULT_DIGITS),則原子函數(shù)af47(744)、af53(746)和af36(748)被分別執(zhí)行,以使前面所選的PPL多用途定時器(定時器1)停止工作,將接收到的數(shù)字存儲在選定的通用寄存器中,并發(fā)送一個PPL事件指示消息717。
根據(jù)本發(fā)明,原子函數(shù)af36(748)是配置為發(fā)送具有通用寄存器1內(nèi)容、PPL事件ID為3的PPL事件指示消息的原子函數(shù)。這里,原子函數(shù)af36(748)以事件ID為3的PPL事件指示消息717的形式將通用寄存器1的內(nèi)容發(fā)送到第5層的主機應(yīng)用程序。PPL事件指示消息717的格式為PPL Event Ind(L4PPL,ch1,3,digit)其中,I4PPL是PPL組件ID,ch1是地址單元,3是PPL事件ID,而“digit”是所收到的數(shù)字。這一事件ID表明,返回的數(shù)字是對發(fā)出通知ID為3的呼出通知的原子函數(shù)af212的響應(yīng)。主機以一個表明PPL事件指示消息711被成功接收的PPL事件指示確認消息719進行應(yīng)答。
現(xiàn)在參照圖7D,可以看到,圖7A-7B中所示的每個原子函數(shù)序列已被定義為一個原語。實際上,每個原語提供了一個標識要調(diào)用的想要的原子函數(shù)序列的簡化方法。圖7D的表格以列表方式為每個原語列出了原子函數(shù)序列。
圖7E是一個定義圖7D中的狀態(tài)、事件和原語之間關(guān)系的狀態(tài)/事件表。根據(jù)本發(fā)明的優(yōu)選實施例,一個希望創(chuàng)建圖7A-7B所描述協(xié)議的用戶只需要定義圖76D和7E所示的表格。然后,通過一系列消息從主機設(shè)備把那些表格下載到交換器102(圖1)。
參照圖8A-8G,說明了被配置為管理主機-交換器通信的本發(fā)明通用API的第二個例子。在此例子中,主機應(yīng)用層5在執(zhí)行這些功能時與電信交換器的交互作用是有限的。具體地講,電信交換器被配置為自動應(yīng)答進入的數(shù)字。與前一個例子相反,第4層的PPL狀態(tài)機包括應(yīng)答數(shù)字成組期間所產(chǎn)生的內(nèi)部提示的內(nèi)部狀態(tài)。交換器的這些方面替代了為提供所接收數(shù)字的主機產(chǎn)生PPL事件指示消息的原子函數(shù),以及后續(xù)的等待狀態(tài),其中交換器等待主機給它提供PL事件請求消息。
圖8A-8B說明了本發(fā)明應(yīng)用于具有主機應(yīng)用層5所要求的有限交互作用的呼叫管理層4的一個例子,該例子實現(xiàn)一個協(xié)議,用于在對來話進行交互話音應(yīng)答過程中提供有限主機應(yīng)用判決。
協(xié)議從關(guān)聯(lián)信道(信道1)在正常狀態(tài)S0,即空閑狀態(tài)702開始。一旦第3層事件發(fā)生,即向第4層發(fā)送一個建立消息((50)L4PPLevL3_SETUP_INDICATION)),則圖8A中的PPL組件狀態(tài)機離開空閑狀態(tài)802并執(zhí)行原子函數(shù)af35(804)。
原子函數(shù)af35(804)運行以通知事件給主機應(yīng)用層(第5層),并給該事件分配一個PPL事件ID 1。主機應(yīng)用程序?qū)⒋薖PL事件ID值1解釋為一個來話通知。參照圖8C,原子函數(shù)35(804)產(chǎn)生一個PPL事件指示消息801,從而通知主機有來話。該PPL事件指示消息與PPL事件指示消息701具有相同的格式,它表明在第4層PPL組件狀態(tài)機處于空閑狀態(tài)時,這一消息所尋址的第4層PPL組件狀態(tài)機的信道1實例接收到一個呼入消息。
主機以一個具有上述一般格式的PPL事件指示確認消息702應(yīng)答,表明前一個PL事件指示消息被成功接收。
在電信交換器采用本發(fā)明的PPL事件指示消息向主機給出來話通知之后,第4層PPL組件狀態(tài)機進入正常狀態(tài)S1,即等待狀態(tài)706,在此狀態(tài)下,第4層PPL組件等待主機應(yīng)用程序?qū)υ撏ㄖ捻憫?yīng)。主機發(fā)送一個事件ID為1的第5層PPL事件請求消息705,表明它正請求交換器繼續(xù)處理信道1上收到的呼叫。該消息具有上面描述的格式,它表明在信道1已經(jīng)收到第4層PPL組件實例的呼入消息而第4層的PPL組件狀態(tài)機已處于空閑狀態(tài)。
該PPL事件請求消息的接收被第4層的PPL組件狀態(tài)機識別為一個PPL事件并被分配一個表明第5層PPL事件請求(1)已發(fā)生的第4層唯一PPL事件ID 501。
作為PPL事件501的響應(yīng),第4層的PPL組件狀態(tài)機執(zhí)行5個原子函數(shù)原子函數(shù)af60(808)、原子函數(shù)af62(810)、原子函數(shù)af140(812)、原子函數(shù)af212(814)和原子函數(shù)af50(816)。如上所述,每當PPL組件要確認收到一個PPL事件請求消息時,原子函數(shù)af60被使用。變元值16表示PPL事件請求消息被成功接收的一種確認狀態(tài)。該原子函數(shù)af60(808)產(chǎn)生PPL事件請求確認消息807,該消息與上面描述的PPL事件指示確認消息具有相同的一般格式。PPL事件請求確認消息807表明上面的呼入消息已被成功接收。
原子函數(shù)af62(810)、af140(812)、af212(814)和af50(816)與上面參照圖7A所描述的類似原子函數(shù)具有相同的功能。原子函數(shù)af50(816)使定時器1計時滿,在此期間,第4層PPL組件進入正常狀態(tài)S2,即等待狀態(tài)818,在此狀態(tài)下,PPL狀態(tài)機等待要在信道1檢測的數(shù)字。
正如上面的例子,如果下一個事件是定時器1計時滿((191)PPLevTIMER1),表明在所選等待周期內(nèi)未收到數(shù)字,則執(zhí)行原子函數(shù)af35(820)。
如果當?shù)?層PPL組件狀態(tài)機處于等待狀態(tài)818時發(fā)生的下一個事件是接收到表明在信道1檢測到數(shù)字的消息,((66)L4PPLevDSP_RESULT_DIGITS),則執(zhí)行原子函數(shù)af47(822)、af53(824)及af47(828)。這些原子函數(shù)執(zhí)行與上面參照圖7A-7B所描述的類似原子函數(shù)相似的功能。應(yīng)注意到,與af36(726)類似的原子函數(shù)沒有被調(diào)用。因此,所接收的數(shù)字沒有被提供給主機應(yīng)用層。
原子函數(shù)af28(829)被執(zhí)行,以測試在用于原子函數(shù)af63(824)存儲所收到數(shù)字的通用寄存器中所存儲的數(shù)字的值。第4層PPL組件狀態(tài)機進入內(nèi)部狀態(tài)IS3,即測試狀態(tài)830,在此狀態(tài)下,第4層PPL組件狀態(tài)機測試接收到的并存儲在通用寄存器1中的數(shù)字值。如圖7B所示,在示范的實施例中,被測試的數(shù)字可能有三種不同的值的任一種值,每種產(chǎn)生具有PPL事件ID 200、201及202的一個內(nèi)部事件。
如果一個PPL事件ID為0的PPL內(nèi)部事件消息((200)PPLevINT_EVENT_0)被提供給第4層的PPL組件狀態(tài)機,則第4層的PPL組件狀態(tài)機為其分配一個第4層的唯一PPL事件ID 200以表明接收到一個PPL事件ID為0的內(nèi)部事件。
作為PPL事件200的應(yīng)答,第4層的PPL組件狀態(tài)機執(zhí)行3個原子函數(shù)af140(834)、af212(836)和原子函數(shù)af50(838),每個原子函數(shù)執(zhí)行與上面參照圖7A和7B所描述的類似原子函數(shù)相似的功能。應(yīng)注意到,由于交換器自己測試呼入數(shù)字,而不是等待主機所產(chǎn)生的PPL事件請求消息,所以與af60(732)類似的原子函數(shù)沒有被執(zhí)行。因而,也不需要產(chǎn)生確認。
然后,第4層PPL組件狀態(tài)機進入正常狀態(tài)NS4,即等待狀態(tài)840,在此狀態(tài)下狀態(tài)機再次等待要接收的數(shù)字。
如果沒有接收到數(shù)字,下一個事件是定時器1計時滿((191)PPLevTIMER1),則協(xié)議執(zhí)行原子函數(shù)af35(842),以通知主機在指定時間內(nèi)沒有收到數(shù)字。然后,在主機應(yīng)用程序控制下通過執(zhí)行本發(fā)明的通用API,以一系列沒有表示出的原子函數(shù)使處理繼續(xù)進行,其中,作為在信道1檢測數(shù)字失敗的響應(yīng),電信交換器執(zhí)行各種功能。
如果當?shù)?層PPL組件狀態(tài)機處于等待數(shù)字狀態(tài)840時,發(fā)生的下一個事件是接收到表明在信道1檢測到數(shù)字的消息,((66)L4PPLevDSP_RESULT_DIGITS),則執(zhí)行原子函數(shù)af147(844)、af53(846)。這些原子函數(shù)執(zhí)行與上面參照圖7A和7B所描述的類似原子函數(shù)的相似的功能。進一步地,原子函數(shù)af28(847)被執(zhí)行,以測試存儲在通用寄存器1中的第二個接收到數(shù)字的值。與原子函數(shù)af36(748)類似的函數(shù)沒有被執(zhí)行,因而,沒有給主機提供PPL事件指示消息。
現(xiàn)在參照圖8D-8E,可以看到,圖8A-8B中所示的每個原子函數(shù)序列已被定義為一個原語。事實上,每個原語提供了一個標識調(diào)用想要的原子函數(shù)序列的簡化方法。圖8F的表格以列表方式為每個原語列出了原子函數(shù)序列。
圖8F是一個定義圖8D中狀態(tài)、事件和原語之間關(guān)系的狀態(tài)/事件表。根據(jù)本發(fā)明的優(yōu)選實施例,一個希望創(chuàng)建圖8A-8B所描述協(xié)議的用戶只需要定義圖8D和8E所示的表格。然后,通過一系列原語從主機設(shè)備把那些表格下載到交換器102(圖1)。
參照圖9-11,第4層PPL組件901作為第4層PPL處理器902的一部分被執(zhí)行。如上所述,一個PPL組件的多個實例可以同時運行,每個實例有一個相關(guān)聯(lián)的狀態(tài)機和表格。第4層PPL組件901的所有實例在PPL狀態(tài)機引擎1104上加以執(zhí)行。第4層PPL處理器902還包括一個用于接收和處理內(nèi)部PPL事件請求消息1106的第4層PPL消息處理器1102。諸如第4層PPL處理器902的每個PPL處理器可以包括任意數(shù)目的PPL組件。在圖9和圖11表示的示范實施例中,第4層PPL處理器902包括單個第4層PPL組件901。
圖9說明有關(guān)調(diào)用和執(zhí)行原子函數(shù)以創(chuàng)建一個PPL事件指示消息的進程流程。為了示范,圖9說明有關(guān)創(chuàng)建PPL事件指示消息701的1號原語(750)的原子函數(shù)af35(704)的處理所執(zhí)行的功能。原子函數(shù)af35(704)是第4層PPL組件901的一部分。
在上述說明性實施例中,第4層PPL處理器902位于CPU/矩陣卡112中,并根據(jù)狀態(tài)/事件表和原語表調(diào)用原子函數(shù),以執(zhí)行包括上面參考圖2的呼叫管理層4所討論的功能的各種功能。如上所述,呼叫管理層4負責執(zhí)行集中呼叫處理功能以及為應(yīng)用層5提供一個公共接口。
在本發(fā)明的優(yōu)選實施例中,第4層PPL處理器902所完成的功能在可從Integrated Systems,Inc.,Santa Clara,California,USA公開買到的,稱為PSOS的專有操作系統(tǒng)上實現(xiàn)。然而,正如相關(guān)領(lǐng)域的技術(shù)人員所顯而易見的那樣,本發(fā)明可以用任何眾所周知的軟件程序以及任何現(xiàn)在或以后所開發(fā)的軟件語言實現(xiàn)。
通常,第4層PPL處理器902調(diào)用產(chǎn)生PPL事件指示消息的內(nèi)部表示的原子函數(shù)。為了翻譯為本發(fā)明通用API的PPL事件指示消息,將內(nèi)部消息傳遞給也位于CPU/矩陣卡112中的通信處理器906。
如上述原語表780所示,當?shù)?層PPL處理器902執(zhí)行PPL組件狀態(tài)機的一個原語時,它調(diào)用與該原語關(guān)聯(lián)的每個原子函數(shù)。在上面參考圖7A和圖7B所討論的例子中,原子函數(shù)af35(704)是1號原語(750)所包括的唯一原子函數(shù)。如上所述,原子函數(shù)35是一個PPL發(fā)送事件指示原子函數(shù),每當要向主機發(fā)送一個PPL事件指示時,就使用原子函數(shù)af35,每次具有不同PPL事件ID的原子函數(shù)的發(fā)生表明不同事件的發(fā)生。
以下描述的若干功能的每一種由第4層PPL原子函數(shù)af35(704)執(zhí)行,以創(chuàng)建傳送給第5層主機應(yīng)用程序的PPL事件指示消息701。參照圖10,第4層PPL處理器902分配一個消息緩沖區(qū)1050以“附加(attach)”到由原子函數(shù)af35(704)產(chǎn)生的PPL事件指示消息904的內(nèi)部表示。PSOS操作系統(tǒng)用消息緩沖區(qū)來存儲創(chuàng)建PPL事件指示消息701的必要信息。當消息緩沖區(qū)被分配時,通過PSOS操作系統(tǒng)獲得一個指向該緩沖區(qū)的指針。
一旦消息緩沖區(qū)被分配,目的和源ID域1052、1054就被裝載。這兩個域的內(nèi)容由發(fā)送和接收單元的相對位置決定。除了使PPL組件能夠與位于主機的第五層應(yīng)用程序通信外,本發(fā)明的通用API可以被實現(xiàn)為管理位于相同或不同PPL處理器中的任何PPL組件的任何兩個實例之間的通信。
當通用API用于在位于或“隸屬于”相同PPL處理器的PPL組件之間實現(xiàn)通信時,源和目的ID域被裝入PPL組件ID。否則,源和目的ID域被裝入處理器虛擬ID,并且,消息類型域1058被目的PPL組件或應(yīng)用程序用來將消息送向位于目的PPL處理器的所要PPL組件的合適的實例。
第4層PPL處理器902還在消息緩沖區(qū)的關(guān)聯(lián)域1056中裝入一個PPL事件ID,該事件ID在PPL原語表780中被標識并提供給原子函數(shù)af35(704)。在圖7所說明的例子中,原子函數(shù)af35(704)表明在空閑狀態(tài)S0下檢測到一個來話并被分配PPL事件ID 1。
如果存在尾隨的ICB數(shù)據(jù)域1064,則在ICB計數(shù)域1062中裝入其個數(shù)。
第4層PPL處理器902將數(shù)據(jù)緩沖區(qū)1050傳送給PPL事件指示消息904。這是通過調(diào)用一個函數(shù)來完成的,此函數(shù)向通信處理器906提供一個指向數(shù)據(jù)緩沖區(qū)1050的指針,從而將所分配的緩沖區(qū)1050附加到PPL事件指示消息904中。通信處理器906對本發(fā)明的API消息重新格式化,由PPL處理器902所使用的內(nèi)部表示變成向主機應(yīng)用程序發(fā)送的圖5所示的格式。通信處理器906執(zhí)行眾所周知的消息處理通信處理器所執(zhí)行的典型的翻譯操作,這在本領(lǐng)域中被認為是眾所周知的。然后,通信處理器通過API接口908將PPL事件指示消息701發(fā)送給位于主機計算機130中的應(yīng)用程序。
用下列偽碼表示上述與第4層PPL處理器902有關(guān)的方案??梢韵胂螅@種偽碼可以用來以諸如C,C++或PASCAL的任何合適的語言產(chǎn)生本發(fā)明的源代碼1.allocate psos msg data buffer(ppl_data_buff);2.psos_msg.ppl_component=L4PPL;3.psos_msg.event_id=event_id;4.psos-msg.destination=HOST;5.psos_msg.source=L4PPL;6.psos_msg.timeslot_addr=CHANNEL 1;7.l4ppl_send_msg(psos_msg,comm queue);圖11說明了與PPL事件請求消息的接收和處理有關(guān)的進程流程。為了示范,圖11說明了與在等待狀態(tài)S1(706)所接收的PPL事件請求消息705的處理有關(guān)的功能,如原語表780所示,調(diào)用原語2的原子函數(shù)。
通信處理器1006執(zhí)行的操作與以上針對PPL事件指示消息所執(zhí)行的操作相反。也就是說,通信處理器1006在API 1008接收API版本的PPL事件請求消息705并將其翻譯為內(nèi)部PSOS PPL事件請求消息1106。通信處理器1006將PPL事件請求消息1106傳送給第4層PPL處理器1002。第4層PPL消息處理器1102接收和處理內(nèi)部PPL事件請求消息1106,并產(chǎn)生一個用于第4層PPL狀態(tài)機引擎1104的不同的第4層PPL事件。
第4層PPL消息處理器1102通過在PPL事件ID中加入第5層事件請求基值500,將消息705的PPL事件ID 522轉(zhuǎn)換為用于第4層PPL狀態(tài)機1104的第4層的唯一PPL事件ID。因而,在示范的實施例中,第4層PPL消息處理器1102將PPL事件請求消息的PPL事件ID 1與基值500相加,從而產(chǎn)生了第4層的唯一PPL事件ID 501。
一旦PPL事件請求消息被映射為一個第4層唯一PPL事件ID,就根據(jù)包括邏輯跨距(Span)和信道ID的消息中的地址單元值導出選定信道的PPL數(shù)據(jù)的指針。換句話說,第4層PPL消息處理器1102將邏輯地址轉(zhuǎn)換為物理地址,即交換器102中一個物理時隙。繼而調(diào)用PPL狀態(tài)機引擎,一般作為一個功能呼叫,該調(diào)用以PPL組件實例數(shù)據(jù)塊的信道指針和指向與從通信處理器1006接收的PPL事件請求消息1106關(guān)聯(lián)的數(shù)據(jù)塊的指針來完成。
第4層PPL組件狀態(tài)機引擎1104對第4層唯一PPL事件ID進行處理,在狀態(tài)/事件表790中查找當前狀態(tài)的該PPL事件ID。如果找到一個匹配事件,狀態(tài)機引擎1104調(diào)用狀態(tài)/事件表中所標識的原語,從原語表780中檢索出與原語ID關(guān)聯(lián)的原子函數(shù)。
因此,在所說明的實施例中,第4層PPL組件狀態(tài)機引擎1104處理PPL事件501,在狀態(tài)/事件表790中查找當前狀態(tài)S1(706)的PPL事件ID 501并調(diào)用與2號原語關(guān)聯(lián)的原子函數(shù)。在處理了與原語2關(guān)聯(lián)的所有的原子函數(shù)之后,PPL狀態(tài)機引擎1104進入在第4層PPL狀態(tài)/事件表790中所指示的狀態(tài)。
如本發(fā)明實施例所預(yù)期的,第4層PPL消息處理器1102的偽碼公開如下1.ppl_event=psos_msg.ppl_data_buffppl_event+ppl_L5_event_req_base2.ppl_chan_ptr=ppl_data[psos_msg.hdr.timeslot_addr]3.ppl_stmch(ppl_chan_ptr,ppl_event,psos.msg)應(yīng)該明白,本發(fā)明的實施例可以用硬件、軟件或軟硬件結(jié)合實現(xiàn)。在這樣的實施例中,用硬件和/或軟件實現(xiàn)各種組件和步驟,以執(zhí)行本發(fā)明的功能。在本發(fā)明的這種實施例中,可以使用任何當前可用的或?qū)黹_發(fā)的計算機軟件語言和/或硬件組件。尤其是,上述的偽碼可能對創(chuàng)建軟件實施例特別有用。
盡管參照其優(yōu)選實施例對本發(fā)明進行了具體的說明和描述,本領(lǐng)域的技術(shù)人員將會明白,可以在形式和細節(jié)上進行各種改變而不背離本發(fā)明的構(gòu)思和范圍。進一步講,所用的術(shù)語和詞句是作為描述而不是限制語匯而使用的,并且在使用這些術(shù)語和詞句時,無意排除所說明和所描述的特性或其部分的等價術(shù)語及詞句,但是認識到,在本發(fā)明權(quán)利要求的范圍內(nèi)進行各種修改是可能的。
權(quán)利要求
1.一個電信系統(tǒng),包括一個主機設(shè)備;一個與所述主機設(shè)備連接并進行通信和應(yīng)答的可編程電信交換器,用于執(zhí)行與多個信道的各種信道之間所建立的通信通道有關(guān)的呼叫處理功能;一個具有用于在所述主機設(shè)備和所述電信交換器之間通信的標準消息的通用應(yīng)用程序接口(API)。
2.權(quán)利要求1的系統(tǒng),其特征在于,其中所述的通用API包括一個稱為可編程協(xié)議語言(PPL)事件請求消息的單個消息類型,用于從所述主機設(shè)備向所述電信交換器傳送所有的呼叫控制處理命令和數(shù)據(jù);以及一個稱為PPL事件指示消息的單個消息類型,用于從所述電信交換器向所述主機設(shè)備傳送所有的呼叫控制處理狀態(tài)和數(shù)據(jù)。
3.權(quán)利要求2的系統(tǒng),其特征在于,其中所述的電信交換器進一步包括一個或多個有限狀態(tài)機的一個或多個實例,每個所述的一個或多個有限狀態(tài)機表示所述一個或多個協(xié)議之一并包括,一個或多個庫,每個庫包括一個或多個預(yù)定函數(shù);一個或多個預(yù)定邏輯狀態(tài);至少一個與每個所述的一個或多個預(yù)定邏輯狀態(tài)相關(guān)聯(lián)的預(yù)定事件,每個所述至少一個預(yù)定事件相對于每個所述一個或多個PPL事件組件狀態(tài)機被唯一標識;以及其中一旦所述的一個或多個預(yù)定事件之一發(fā)生,就調(diào)用一個與該發(fā)生的事件相關(guān)聯(lián)的預(yù)定原語,所述的預(yù)定原語包括一個或多個所述的預(yù)定函數(shù)的一個預(yù)定序列。
4.權(quán)利要求3的系統(tǒng),其特征在于,其中所述的交換器進一步包括一個或多個狀態(tài)機引擎,其中每個所述一個或多個狀態(tài)機被配置為由一個或多個狀態(tài)機引擎所解釋(interprete)。
5.權(quán)利要求3的系統(tǒng),其特征在于,其中所述的PPL事件請求消息包括一個PPL組件ID,用于標識特定的PPL事件請求消息參考哪個所述一個或多個狀態(tài)機;一個或多個地址單元,每個地址單元標識所述PPL組件ID域所標識的所述狀態(tài)機的所述一個或多個實例之一;以及一個用戶定義的PPL事件ID,表示一個與所述PPL組件ID域所標識的特定狀態(tài)機相關(guān)聯(lián)的所述的至少一個預(yù)定事件的一個相關(guān)事件。
6.權(quán)利要求5的系統(tǒng),其特征在于,其中所述的PPL事件請求消息進一步包括一個與所述地址單元相關(guān)聯(lián)的地址單元類型,用于參考與所述相關(guān)的地址單元所標識的所述狀態(tài)機實例相關(guān)聯(lián)的所述電信交換器的組件;以及一個由所述地址單元類型所標識的每個所述的電信交換器組件的組件地址。
7.權(quán)利要求5的系統(tǒng),其特征在于,其中所述的PPL事件請求消息進一步包括一個或多個與每個所述的一個或多個狀態(tài)機相關(guān)聯(lián)的數(shù)據(jù)域,用于從所述的主機設(shè)備向所述的電信交換器傳送呼叫控制處理信息。
8.權(quán)利要求3的系統(tǒng),其特征在于,其中所述的PPL事件指示信息包括一個PPL組件ID,用于標識特定PPL事件指示消息參考哪個所述一個或多個狀態(tài)機;一個或多個地址單元,每個地址單元標識已調(diào)用產(chǎn)生所述的PPL事件指示消息的函數(shù)的所述狀態(tài)機的所述一個或多個實例之一;以及一個用戶定義的PPL事件ID,表示在所述電信交換器中所述至少一個事件的一個具體事件的發(fā)生,這導致由所述狀態(tài)機產(chǎn)生一個特定PPL事件指示消息。
9.權(quán)利要求8的系統(tǒng),其特征在于,其中每個所述的PPL事件指示消息由所述一個或多個函數(shù)之一產(chǎn)生,該函數(shù)配置為響應(yīng)于一個特定事件的發(fā)生而發(fā)送PPL事件指示消息,并且其中每個所述的一個或多個地址單元域包括一個地址單元類型,用于參考與所述的一個或多個地址單元所標識的所述狀態(tài)機實例相關(guān)聯(lián)的所述電信交換器的PPL組件;以及一個由所述的地址單元類型所標識的每個所述PPL組件的PPL組件地址。
10.權(quán)利要求8的系統(tǒng),其特征在于,其中所述的PPL事件指示消息進一步包括一個或多個與每個所述的一個或多個狀態(tài)機關(guān)聯(lián)的數(shù)據(jù)域,用于從所述的主機設(shè)備向所述的電信交換器傳送呼叫控制處理信息。
11.一個電信系統(tǒng),包括一個主機設(shè)備;一個與所述主機設(shè)備連接并進行通信和應(yīng)答的可編程電信交換器,用于執(zhí)行與多個信道的各種信道之間所建立的通信通道有關(guān)的呼叫處理功能;以及采用可編程通用應(yīng)用程序接口(API)在所述的交換器和所述的主機之間完成通信的裝置,所述的可編程通用應(yīng)用程序接口包括在所述的主機和交換器之間傳送信息的標準化消息。
12.權(quán)利要求11的系統(tǒng),其特征在于,其中所述的API可以被設(shè)置以滿足電信應(yīng)用和網(wǎng)絡(luò)信令協(xié)議的要求。
13.權(quán)利要求11的系統(tǒng),其特征在于,其中所述的API包括第一預(yù)定的消息格式,用于從所述的主機設(shè)備向所述的電信交換器傳送呼叫控制處理信息的所有消息;以及第二預(yù)定的消息格式,用于從所述的電信交換器向所述的主機設(shè)備傳送呼叫控制處理信息的所有消息。
14.權(quán)利要求13的系統(tǒng),其特征在于,其中所述的電信交換器進一步包括一個或多個可編程協(xié)議語言(PPL)組件狀態(tài)機,每個表示用于執(zhí)行所述呼叫處理功能的所述一個或多個協(xié)議之一,所述的一個或多個狀態(tài)機應(yīng)答一個或多個與所述的狀態(tài)機關(guān)聯(lián)的預(yù)定事件。
15.權(quán)利要求14的系統(tǒng),其特征在于,其中所述的交換器進一步包括一個或多個狀態(tài)機引擎,并且其中每個所述的一個或多個有限狀態(tài)機包括一個或多個預(yù)定函數(shù)的庫,其中每個所述的一個或多個有限狀態(tài)機被配置為由所述一個或多個狀態(tài)機引擎之一解釋。
16.權(quán)利要求15的系統(tǒng),其特征在于,其中每個所述一個或多個狀態(tài)機由一個狀態(tài)/事件表和一個原語表的功能結(jié)合所定義,其中所述的狀態(tài)/事件表定義了一個或多個預(yù)定邏輯狀態(tài)以及與每個所述的一個或多個預(yù)定邏輯狀態(tài)關(guān)聯(lián)的至少所述一個或多個預(yù)定事件之一,并且其中所述的原語表定義了一個或多個原語,每個原語包括一個或多個所述的預(yù)定函數(shù)的預(yù)定的序列,一旦所述的一個或多個預(yù)定事件之一發(fā)生,就調(diào)用一個與此發(fā)生事件關(guān)聯(lián)的預(yù)定原語。
17.權(quán)利要求14的系統(tǒng),其特征在于,其中所述的第一預(yù)定消息格式是長度可變的PPL事件請求消息,它包括一個PPL組件ID,用于標識特定PPL事件請求消息參考哪個所述一個或多個PPL組件狀態(tài)機。
18.權(quán)利要求14的系統(tǒng),其特征在于,其中所述的電信交換器進一步包括每個所述一個或多個PPL組件狀態(tài)機的一個或多個實例。
19.權(quán)利要求18的系統(tǒng),其特征在于,其中所述的第一消息格式是長度可變的PPL事件請求消息,它包括一個PPL組件ID,標識特定的PPL事件請求消息參考哪個所述一個或多個PPL組件狀態(tài)機;以及一個或多個地址單元,每個地址單元標識由所述PPL組件ID所標識的所述PPL組件狀態(tài)機的所述一個或多個實例之一。
20.權(quán)利要求19的系統(tǒng),其特征在于,其中每個所述的地址單元包括一個地址單元類型,用于參考與所述一個或多個地址單元所標識的所述狀態(tài)機實例關(guān)聯(lián)的所述電信交換器的組件;以及PPL組件地址信息,用于為每個由所述的一個或多個地址單元所標識的每個所述PPL組件提供特定的地址。
21.權(quán)利要求18的交換器,其特征在于,其中所述的PPL事件請求消息包括可編程的可變尋址方案,以尋址每個所述多個PPL組件狀態(tài)機的所述至少一個實例的所要的一個或多個實例。
22.權(quán)利要求19的系統(tǒng),其特征在于,其中每個所述的一個或多個事件相對每個所述的一個或多個PPL組件狀態(tài)機被唯一標識,并且其中,所述的PPL事件請求消息進一步包括一個PPL事件ID域,該域包括一個用戶定義的事件ID,表示與所述PPL組件ID域所標識的特定PPL組件狀態(tài)機唯一關(guān)聯(lián)的事件。
23.權(quán)利要求22的系統(tǒng),其特征在于,其中所述的PPL事件請求消息進一步包括與每個所述的一個或多個PPL組件狀態(tài)機關(guān)聯(lián)的一個或多個數(shù)據(jù)域,用于從所述主機向所述的交換器傳送呼叫控制處理信息。
24.權(quán)利要求14的系統(tǒng),其特征在于,其中所述的第二預(yù)定的消息格式是長度可變的PPL事件指示消息,它包括一個PPL組件ID,用于標識特定的PPL事件指示消息參考哪個所述一個或多個PPL組件狀態(tài)機。
25.權(quán)利要求18的系統(tǒng),其特征在于,其中所述的PPL事件指示消息包括可編程的可變尋址方案,以尋址每個所述多個PPL組件狀態(tài)機的所述至少一個實例的所要的一個或多個實例。
26.權(quán)利要求18的系統(tǒng),其特征在于,其中所述的第一消息格式是長度可變的PPL事件指示消息,它包括一個PPL組件ID,標識特定的PPL事件指示消息參考哪個所述一個或多個PPL組件狀態(tài)機;以及一個或多個地址單元,每個地址單元標識所述PPL組件狀態(tài)機的所述一個或多個實例中的一個已調(diào)用產(chǎn)生所述的PPL事件指示消息的函數(shù)。
27.權(quán)利要求26的系統(tǒng),其特征在于,其中所述的PPL事件指示消息由所述一個或多個函數(shù)之一產(chǎn)生,該函數(shù)配置為響應(yīng)于一個特定事件的發(fā)生而發(fā)送特定PPL事件指示消息,并且其中每個所述的一個或多個地址單元域包括一個地址單元類型子域,用于參考與所述的一個或多個地址單元域所標識的所述狀態(tài)機實例關(guān)聯(lián)的所述電信交換器的組件;以及一個地址信息子域,為每個由所述的地址單元類型域所指示的分級組件提供特定的地址。
28.權(quán)利要求26的系統(tǒng),其特征在于,其中每個所述的一個或多個事件相對每個所述的一個或多個PPL組件狀態(tài)機被唯一標識,并且其中,所述的PPL事件指示消息進一步包括一個PPL事件ID域,該域包括一個用戶定義的事件ID,表示在所述交換器中一個特定事件的發(fā)生,這導致由所述的PPL組件狀態(tài)機產(chǎn)生特定PPL事件指示消息。
29.權(quán)利要求23的系統(tǒng),其特征在于,其中所述的PPL事件指示消息進一步包括與每個所述的一個或多個PPL組件狀態(tài)機關(guān)聯(lián)的一個或多個數(shù)據(jù)域,用于從所述的主機向所述的交換器傳送呼叫控制處理信息。
30.權(quán)利要求11的系統(tǒng),其特征在于,其中所述的呼叫處理功能包括在多個信道的各種信道之間動態(tài)地連接或斷開通信通道。
31.一個功能分層的可編程電信交換器包括可控交換裝置,用于響應(yīng)于電信業(yè)務(wù)應(yīng)用所產(chǎn)生的消息,在多個信道的各種信道之間動態(tài)地連接或斷開通信通道;多個可編程協(xié)議語言(PPL)組件狀態(tài)機的一個或多個實例,每個實例與所述的電信交換器的一個PPL組件關(guān)聯(lián),并且表示用于執(zhí)行與所述多個信道有關(guān)的呼叫處理功能的多個協(xié)議的一個協(xié)議,其中所述的多個PPL組件狀態(tài)機在功能上與包括所述PPL組件的電信交換器的功能層相關(guān)聯(lián);以及一個可編程通用應(yīng)用程序接口(API),用于在所述的功能層之間和所述的功能層與所述的交換器業(yè)務(wù)應(yīng)用程序之間傳送標準化消息。
32.權(quán)利要求31的電信交換器,其特征在于,其中所述的電信交換器的所述功能層包括一個應(yīng)用層,包括配置為與一個或多個所述的功能層聯(lián)合操作以實現(xiàn)電信業(yè)務(wù)功能的所述電信業(yè)務(wù)應(yīng)用程序。
33.權(quán)利要求32的電信交換器,其特征在于,其中所述的應(yīng)用層位于所述電信交換器中,并且其中所述的通用API定義在所述電信交換器內(nèi)部總線上發(fā)生的通信。
34.權(quán)利要求32的電信交換器,其特征在于,其中所述的功能層進一步包括一個位于與所述電信交換器連接的主機計算機系統(tǒng)的應(yīng)用層,并且其中所述的API定義了在連接所述電信交換器和所述主機設(shè)備的通信信道上發(fā)生的通信。
35.權(quán)利要求32的電信交換器,其特征在于,其中由所述的電信業(yè)務(wù)應(yīng)用所提供的所述電信業(yè)務(wù)包括免費業(yè)務(wù)功能。
36.權(quán)利要求32的電信交換器,其特征在于,其中由所述的電信業(yè)務(wù)應(yīng)用所提供的所述電信業(yè)務(wù)包括話音郵件業(yè)務(wù)功能。
37.權(quán)利要求32的電信交換器,其特征在于,其中由所述的電信業(yè)務(wù)應(yīng)用所提供的所述電信業(yè)務(wù)包括自動呼叫分配業(yè)務(wù)功能。
38.權(quán)利要求32的電信交換器,其特征在于,其中由所述的電信業(yè)務(wù)應(yīng)用所執(zhí)行的所述呼叫處理功能包括交互話音應(yīng)答功能。
39.權(quán)利要求32的電信交換器,其特征在于,其中由所述的電信業(yè)務(wù)應(yīng)用所執(zhí)行的所述呼叫處理功能包括個人通信業(yè)務(wù)功能。
40.權(quán)利要求32的電信交換器,其特征在于,其中由所述的電信業(yè)務(wù)應(yīng)用所執(zhí)行的所述呼叫處理功能包括信號音產(chǎn)生功能。
41.權(quán)利要求32的電信交換器,其特征在于,其中由所述的電信業(yè)務(wù)應(yīng)用所執(zhí)行的所述呼叫處理功能包括電話會議功能。
42.權(quán)利要求32的電信交換器,其特征在于,其中由所述的電信業(yè)務(wù)應(yīng)用所執(zhí)行的所述呼叫處理功能包括呼叫管理功能。
43.權(quán)利要求32的電信交換器,其特征在于,其中由所述的電信業(yè)務(wù)應(yīng)用所執(zhí)行的所述呼叫處理功能包括呼叫進行音控制功能。
44.權(quán)利要求32的電信交換器,其特征在于,其中由所述的電信業(yè)務(wù)應(yīng)用所執(zhí)行的所述呼叫處理功能包括入局呼叫選路由和排隊功能。
45.權(quán)利要求31的電信交換器,其特征在于,其中所述的功能層包括用于執(zhí)行集中呼叫處理功能的呼叫管理層。
46.權(quán)利要求45的電信交換器,其特征在于,其中由所述的呼叫管理層執(zhí)行的所述集中呼叫處理功能包括用于支持交互話音應(yīng)答應(yīng)用的錄音通知控制功能。
47.權(quán)利要求45的電信交換器,其特征在于,其中由所述的呼叫管理層執(zhí)行的所述集中呼叫處理功能包括重新連接和轉(zhuǎn)移功能。
48.權(quán)利要求45的電信交換器,其特征在于,其中由所述的呼叫管理層執(zhí)行的所述集中呼叫處理功能包括提供多種呼叫管理特性。
49.權(quán)利要求45的電信交換器,其特征在于,其中由所述的呼叫管理層執(zhí)行的所述集中呼叫處理功能包括會議連接管理功能。
50.權(quán)利要求31的電信交換器,其特征在于,其中所述的功能層包括一個用于執(zhí)行網(wǎng)絡(luò)信令功能的網(wǎng)絡(luò)信令協(xié)議層。
51.權(quán)利要求50的電信交換器,其特征在于,其中由所述的網(wǎng)絡(luò)信令協(xié)議層所執(zhí)行的所述網(wǎng)絡(luò)信令功能包括帶內(nèi)和帶外網(wǎng)絡(luò)信令監(jiān)督管理。
52.權(quán)利要求50的電信交換器,其特征在于,其中由所述的網(wǎng)絡(luò)信令協(xié)議層所執(zhí)行的所述網(wǎng)絡(luò)信令功能包括來話和去話的網(wǎng)絡(luò)協(xié)議級控制。
53.權(quán)利要求31的電信交換器,其特征在于,其中所述的功能層包括一個用于檢測和傳送通過網(wǎng)絡(luò)或線路接口的網(wǎng)絡(luò)信令信息的鏈路層。
54.權(quán)利要求53的電信交換器,其特征在于,其中所述的鏈路層運行于CPU/矩陣卡。
55.權(quán)利要求53的電信交換器,其特征在于,其中所述的鏈路層運行于線路卡。
56.權(quán)利要求53的電信交換器,其特征在于,其中由所述的鏈路層所執(zhí)行的所述功能包括T1丟失(robbed)比特信號掃描。
57.權(quán)利要求53的電信交換器,其特征在于,其中由所述的鏈路層所執(zhí)行的所述功能包括E1信道隨路信令掃描。
58.權(quán)利要求53的電信交換器,其特征在于,其中由所述的鏈路層所執(zhí)行的所述功能包括T1/E1線路接口機架告警控制。
59.權(quán)利要求53的電信交換器,其特征在于,其中由所述的鏈路層所執(zhí)行的所述功能包括DSP信號音產(chǎn)生控制。
60.權(quán)利要求53的電信交換器,其特征在于,其中由所述的鏈路層所執(zhí)行的所述功能包括DSP錄音話音通知控制。
61.權(quán)利要求31的電信交換器,其特征在于,其中所述的功能層包括一個在線路卡上實現(xiàn)的、為交換器提供網(wǎng)絡(luò)及線路的物理和電氣接口的物理層。
62.權(quán)利要求31的系統(tǒng),其特征在于,其中所述的API包括用于在所述的功能層之間傳送呼叫控制處理命令、狀態(tài)及數(shù)據(jù)的所有消息的預(yù)定的消息格式。
63.權(quán)利要求31的電信交換器,其特征在于,其中每個所述的一個或多個PPL組件狀態(tài)機包括一個或多個各包括一個或多個預(yù)定函數(shù)的庫;一個或多個預(yù)定邏輯狀態(tài);至少一個與每個所述的一個或多個預(yù)定邏輯狀態(tài)關(guān)聯(lián)的預(yù)定事件,每個所述的至少一個預(yù)定事件相對每個所述的一個或多個PPL組件狀態(tài)機被唯一標識;并且其中一旦所述的一個或多個預(yù)定事件之一發(fā)生,就調(diào)用與該發(fā)生的事件關(guān)聯(lián)的一個預(yù)定原語,所述的原語包括一個或多個所述預(yù)定函數(shù)的一個預(yù)定序列。
64.權(quán)利要求63的交換器,其特征在于,其中所述的交換器進一步包括一個或多個狀態(tài)機引擎,并且其中每個所述的一個或多個組件狀態(tài)機包括一個或多個預(yù)定函數(shù)庫,其中每個所述的一個或多個組件狀態(tài)機配置為被一個或多個狀態(tài)機引擎所解釋。
65.權(quán)利要求63的交換器,其特征在于,每個所述的一個或多個有限狀態(tài)機包括,一個或多個庫,每個庫包括一個或多個預(yù)定函數(shù);一個或多個預(yù)定邏輯狀態(tài);至少一個與每個所述一個或多個預(yù)定邏輯狀態(tài)關(guān)聯(lián)的預(yù)定事件,每個所述的至少一個預(yù)定事件相對每個所述的一個或多個PPL組件狀態(tài)機被唯一標識;以及一個或多個所述的預(yù)定函數(shù)的一個預(yù)定序列,其中一旦所述的一個或多個預(yù)定事件之一發(fā)生,就調(diào)用與該發(fā)生的事件關(guān)聯(lián)的一個預(yù)定原語。
66.權(quán)利要求65的交換器,其特征在于,其中每個所述的一個或多個狀態(tài)機由一個狀態(tài)/事件表和一個原語表的功能結(jié)合所定義,其中所述的狀態(tài)/事件表定義了一個或多個預(yù)定邏輯狀態(tài)以及至少一個與每個所述的一個或多個預(yù)定邏輯狀態(tài)關(guān)聯(lián)的所述一個或多個預(yù)定事件,并且其中所述的原語表定義了一個或多個原語,每個原語包括一個或多個所述的預(yù)定函數(shù)的一個預(yù)定序列。
67.權(quán)利要求65的交換器,其特征在于,其中所述的交換器進一步包括一個或多個狀態(tài)機引擎,并且其中所述的每個所述一個或多個有限狀態(tài)機配置為被一個或多個狀態(tài)機引擎所解釋。
68.權(quán)利要求65的系統(tǒng),其特征在于,其中所述的PPL事件請求消息包括一個PPL組件ID,用于標識一個特定的PPL事件請求消息參考哪個所述一個或多個PPL組件狀態(tài)機;一個或多個地址單元域,每個地址單元域標識由所述的PPL組件ID域所標識的所述PPL組件狀態(tài)機的所述一個或多個實例的一個實例;以及一個包括一個用戶定義的事件ID的PPL事件ID域,表示與由所述的PPL組件ID域所標識的一個特定的PPL組件狀態(tài)機唯一關(guān)聯(lián)的事件。
69.權(quán)利要求68的系統(tǒng),其特征在于,其中每個所述的一個或多個地址單元域包括一個地址單元類型子域,用于參考與所述的一個或多個地址單元域所標識的所述狀態(tài)機實例關(guān)聯(lián)的所述交換器的組件;以及一個地址信息子域,為每個由所述的地址單元類型域所指示的分級組件提供特定的地址。
70.權(quán)利要求68的系統(tǒng),其特征在于,其中所述的PPL事件請求消息進一步包括一個或多個與每個所述的一個或多個PPL組件狀態(tài)機關(guān)聯(lián)的數(shù)據(jù)域,用于從所述的主機向所述的交換器傳送呼叫控制處理信息。
71.權(quán)利要求65的系統(tǒng),其特征在于,其中所述的PPL事件指示消息包括一個PPL組件ID,用于標識一個特定PPL事件指示消息參考哪個所述一個或多個PPL組件狀態(tài)機;一個PPL組件ID域,用于標識一個特定PPL事件指示消息參考哪個所述一個或多個PPL組件狀態(tài)機;一個或多個地址單元域,每個地址單元域標識所述PPL組件狀態(tài)機的所述一個或多個實例之一已調(diào)用產(chǎn)生所述的PPL事件指示消息的函數(shù);以及一個含有用戶定義的事件ID的PPL事件ID域,表示在所述交換器中一個特定事件的發(fā)生,這導致由所述的PPL組件狀態(tài)機產(chǎn)生特定PPL事件指示消息。
72.權(quán)利要求71的系統(tǒng),其特征在于,其中所述的PPL事件指示消息由所述一個或多個函數(shù)之一產(chǎn)生,這些函數(shù)配置為響應(yīng)于一個特定事件的發(fā)生發(fā)送特定PPL事件指示消息,并且其中每個所述的一個或多個地址單元域包括一個地址單元類型子域,用于參考與所述的一個或多個地址單元域所標識的所述狀態(tài)機實例關(guān)聯(lián)的所述的交換器的組件;以及一個地址信息子域,為所述地址單元類型域所指示的每個分級組件提供特定地址。
73.權(quán)利要求71的系統(tǒng),其特征在于,其中所述的PPL事件指示消息進一步包括一個或多個與每個所述多個PPL組件狀態(tài)機關(guān)聯(lián)的數(shù)據(jù)域,用于在所述的功能層之間傳送呼叫控制處理信息,所述數(shù)據(jù)塊是根據(jù)所述PPL組件狀態(tài)機與哪個功能層有關(guān)聯(lián)和該PPL組件狀態(tài)機所支持的通信協(xié)議,為每個所述的多個PPL組件予以定義的。
74.一個通用應(yīng)用程序接口(API),用于在電信系統(tǒng)的功能層之間進行標準化交互呼叫處理通信,所述的電信系統(tǒng)包括一個電信交換器和一個與該交換器連接的主機設(shè)備,該通用應(yīng)用程序接口包括用于從所述主機向所述的電信交換器的所述功能層傳送所有呼叫控制處理命令和數(shù)據(jù)的第一可編程消息;以及用于從所述的電信交換器的所述功能層向所述主機傳送所有呼叫控制處理狀態(tài)和數(shù)據(jù)的第二可編程消息。
75.權(quán)利要求74的API,其特征在于,其中所述的電信交換器包括一個或多個PPL組件狀態(tài)機的一個或多個實例,每個實例表示一個呼叫處理協(xié)議,每個所述的一個或多個有限狀態(tài)機包括,一個或多個庫,每個庫包括一個或多個預(yù)定函數(shù);一個或多個預(yù)定邏輯狀態(tài);至少一個與每個所述的一個或多個預(yù)定邏輯狀態(tài)關(guān)聯(lián)的預(yù)定事件,每個所述的一個預(yù)定事件相對每個所述的一個或多個PPL組件狀態(tài)機被唯一標識;以及其中一旦所述的一個或多個預(yù)定事件之一發(fā)生,就調(diào)用一個與該發(fā)生事件關(guān)聯(lián)的預(yù)定原語,所述的原語包括一個或多個所述的預(yù)定函數(shù)的一個預(yù)定序列,其中所述的一個或多個預(yù)定事件包括接收所述的第一可編程消息以及其中至少一個所述一個或多個預(yù)定函數(shù)產(chǎn)生所述的第二可編程消息。
76.權(quán)利要求75的交換器,其特征在于,其中所述的電信交換器進一步包括一個或多個狀態(tài)機引擎,并且其中每個所述的一個或多個PPL組件狀態(tài)機包括所述一個或多個預(yù)定函數(shù)的一個或多個庫,并且其中每個所述的一個或多個PPL組件狀態(tài)機配置為被一個或多個狀態(tài)機引擎所解釋。
77.權(quán)利要求75的交換器,其特征在于,其中所述的API進一步包括一個包括一個狀態(tài)域的確認消息,該狀態(tài)域為接收者提供特定消息的狀態(tài)信息,其中所述的主機設(shè)備一旦收到所述的第一可編程消息,就向所述的電信交換器發(fā)送所述的確認消息,并且其中所述的交換器一旦收到第二可編程消息,就設(shè)置一個所述的一個或多個預(yù)定函數(shù)以向所述主機設(shè)備發(fā)送所述的確認消息。
78.一種用于開發(fā)呼叫相關(guān)協(xié)議的方法,用于執(zhí)行有關(guān)在可編程電信交換器中在多個信道的各信道間建立的通信通道的呼叫處理功能,所述的呼叫處理功能與所述的交換器的特定功能層所執(zhí)行的功能相關(guān)聯(lián),該方法包括以下步驟(a)創(chuàng)建一個或多個狀態(tài)/事件表,每個狀態(tài)/事件表定義許多預(yù)定邏輯狀態(tài),一個或多個與每個所述的多個預(yù)定邏輯狀態(tài)關(guān)聯(lián)的預(yù)定事件,所述的一個或多個預(yù)定事件包括接收在相同或不同的功能層所產(chǎn)生的作為所述創(chuàng)建的呼叫相關(guān)協(xié)議的一個或多個應(yīng)用程序接口(API)消息,以及一個與每個所述的一個或多個預(yù)定事件關(guān)聯(lián)的原語,其中一旦一個所述的一個或多個關(guān)聯(lián)事件發(fā)生就調(diào)用一個所述的原語;(b)創(chuàng)建一個或多個原語表,每個原語表為每個所述原語定義一個預(yù)定的層依賴函數(shù)的預(yù)定序列,一個或多個所述的預(yù)定函數(shù)產(chǎn)生一個到所述的功能層的API消息;以及(c)創(chuàng)建一個或多個協(xié)議,每個協(xié)議由一個或多個所述的狀態(tài)/事件表和一個或多個所述的原語表的一個預(yù)定關(guān)聯(lián)表示。
79.權(quán)利要求78的方法,其特征在于,該方法進一步包括以下步驟(d)存儲存于所述的可編程電信交換器內(nèi)的所述的一個或多個呼叫相關(guān)協(xié)議;以及(e)在所述的電信交換器內(nèi)執(zhí)行所述的一個或多個呼叫相關(guān)協(xié)議。
80.權(quán)利要求78的方法,其特征在于,其中每個所述的一個或多個協(xié)議由一個有限狀態(tài)機表示,該有限狀態(tài)機可以訪問包括所述的預(yù)定函數(shù)定義的庫并配置為被一個狀態(tài)機引擎所解釋,所述的狀態(tài)機引擎響應(yīng)于所述的指針而運行。
81.一個按功能分層的可編程電信交換器包括一個特定層處理器,具有配置為執(zhí)行一個PPL組件狀態(tài)機實例的狀態(tài)機引擎,所述的PPL狀態(tài)機實例表示在交換器中與一個通信信道關(guān)聯(lián)的呼叫處理協(xié)議,所述的狀態(tài)機根據(jù)當前狀態(tài)和一個預(yù)定事件的發(fā)生調(diào)用一個或多個預(yù)定函數(shù),其中所述的一個或多個預(yù)定函數(shù)包括產(chǎn)生第一應(yīng)用程序接口(API)消息,所述的第一應(yīng)用程序接口(API)消息具有用于從所述的狀態(tài)機傳送呼叫控制信息的所有消息的第一預(yù)定消息格式;并且其中所述的預(yù)定事件是許多事件之一,包括接收具有用于向所述的狀態(tài)機傳送呼叫控制處理的所有消息的第二預(yù)定消息格式的第二API消息。
82.權(quán)利要求81的交換器,其特征在于,其中所述的特定層處理器配置為處理內(nèi)部表示形式的所述的第一和第二API消息,并且其中所述的交換器進一步包括一個與所述的特定層處理器連接的通信處理器,配置為在內(nèi)部表示的API消息形式和所述的通用標準化API消息形式之間進行轉(zhuǎn)換,并進一步配置為傳送所述的第一通用API消息。
83.權(quán)利要求82的交換器,其特征在于,其中所述的系統(tǒng)包括一個配置為支持位于應(yīng)用層的應(yīng)用程序的主機,并且其中所述的API消息從交換器向主機傳送,反之亦然。
84.權(quán)利要求81的交換器,其特征在于,其中所述的處理器包括一個原子函數(shù)消息緩沖區(qū),包括一個目的標識域和一個源標識域,分別含有一個源地址和位于相同或不同PPL處理器上的接收PPL組件實例的地址;以及用于將所述的消息緩沖區(qū)附加到由所述的原子函數(shù)所產(chǎn)生的所述的PPL事件指示消息的所述內(nèi)部表示上的裝置。
85.權(quán)利要求84的交換器,其特征在于,其中所述的消息緩沖區(qū)進一步包括一個PPL事件標識域,標識產(chǎn)生所述的原子函數(shù)的事件。
86.權(quán)利要求84的交換器,其特征在于,其中所述的消息緩沖區(qū)進一步包括一個或多個數(shù)據(jù)域,包括與所述的事件和所述的原子函數(shù)關(guān)聯(lián)的、用于接收實例的信息。
87.權(quán)利要求83的交換器,其特征在于,其中所述的許多PPL組件狀態(tài)機是特定層的。
88.權(quán)利要求83的交換器,其特征在于,其中所述的許多PPL組件狀態(tài)機是特定功能的。
89.權(quán)利要求83的交換器,其特征在于,其中所述的許多PPL組件狀態(tài)機是特定接口的。
90.權(quán)利要求83的交換器,其特征在于,其中所述的許多PPL組件狀態(tài)機是特定協(xié)議的。
91.權(quán)利要求83的交換器,其特征在于,其中所述的許多PPL組件狀態(tài)機是特定協(xié)議的。
92.一種使用標準化通用應(yīng)用程序接口(API)在按功能分層的可編程電信交換系統(tǒng)的兩層之間進行通信的方法,該方法包括以下步驟(1)在具有一個狀態(tài)機引擎的特定層PPL處理器中調(diào)用一個或多個特定層程序協(xié)議語言(PPL)組件狀態(tài)機的實例,每個所述的一個或多個實例表示一個呼叫處理協(xié)議;(2)根據(jù)定義所述的狀態(tài)機并存儲于處理器中以執(zhí)行各種功能的狀態(tài)/事件表和原語表調(diào)用原子函數(shù),所述的原子函數(shù)產(chǎn)生一個API事件指示消息的內(nèi)部表示;以及(3)將所述的內(nèi)部表示的PPL事件指示消息傳送到一個與所述的處理器連接的通信處理器,以將其翻譯為通用的標準化PPL事件指示消息。
93.權(quán)利要求92的方法,進一步包括以下步驟(4)將所述的通用API消息傳送給位于相同或不同PPL處理器的另一個PPL組件狀態(tài)機實例。
94.權(quán)利要求92的方法,其特征在于,其中所述的系統(tǒng)包括一個支持位于應(yīng)用層的應(yīng)用程序的主機,并且其中的方法進一步包括以下步驟(4)將所述的通用API消息傳送到位于主機中的一個應(yīng)用程序。
95.權(quán)利要求93的方法,進一步包括以下步驟(5)由所述的處理器創(chuàng)建一個原子函數(shù)消息緩沖區(qū),該緩沖區(qū)包括分別含有所述的源地址和接收PPL組件實例的地址的一個目的標識域和一個源標識域;以及(6)將所述的消息緩沖區(qū)附加到由所述的原子函數(shù)產(chǎn)生的所述的PPL事件指示消息的內(nèi)部表示中。
96.權(quán)利要求95的方法,其特征在于,其中所述的消息緩沖區(qū)進一步包括一個標識產(chǎn)生所述的原子函數(shù)的事件的PPL事件標識域。
97.權(quán)利要求95的方法,其特征在于,其中所述的消息緩沖區(qū)進一步包括一個或多個包括與一個接收實例的所述事件和所述原子函數(shù)關(guān)聯(lián)的信息的數(shù)據(jù)域。
98.權(quán)利要求92的方法,進一步包括以下步驟(4)在所述的通信處理器接收一個通用API PPL事件請求消息;(5)在所述的通信處理器將所述的通用API PPL事件請求消息翻譯為內(nèi)部表示的PPL事件請求消息;(6)將所述的內(nèi)部表示的PPL事件請求消息傳送到所述的特定層PPL處理器;(7)在所述的特定層PPL處理器,接收并處理所述的內(nèi)部表示的PPL事件請求消息;以及(8)將所述的內(nèi)部表示的PPL事件請求消息中所包含的PPL事件ID值轉(zhuǎn)換為用于所述的特定層狀態(tài)機的特定層唯一PPL事件標識值;以及(9)由特定層PPL組件狀態(tài)機引擎處理該層唯一PPL事件標識值。
99.權(quán)利要求98的方法,其特征在于,其中所述的步驟(9)包括以下步驟(a)在所述狀態(tài)/事件表中查詢所述狀態(tài)機當前狀態(tài)的那個PPL事件標識值;(b)當找到匹配事件時,調(diào)用在狀態(tài)/事件表中被標識的原語,從原語表中檢索出與該原語ID關(guān)聯(lián)的原子函數(shù);(c)在狀態(tài)/事件表中調(diào)用一個被標識的原語;以及(d)從原語表中檢索出與該原語ID關(guān)聯(lián)的原子函數(shù)。
全文摘要
本發(fā)明是一個用于執(zhí)行呼叫控制處理并能夠被設(shè)置為滿足電信應(yīng)用和網(wǎng)絡(luò)信令協(xié)議要求的標準化主機—交換器應(yīng)用程序接口(API)。該通用API包括一個或多個具有用于在主機應(yīng)用程序與交換器之間發(fā)送命令、狀態(tài)和數(shù)據(jù)的可編程域的一般消息。本發(fā)明進一步包括一個可編程電信交換器,該交換器為用戶提供定義就性質(zhì)來說為“標準的”或自定義的、用于執(zhí)行任何所需要的交換功能的所需要的API協(xié)議的能力。本發(fā)明包括一個使用戶能夠為交換器所提供的每個端口定義獨立有限狀態(tài)機的協(xié)議開發(fā)環(huán)境。通過將被稱為原子函數(shù)的一系列基本處理步驟與各原語結(jié)合,后者又依次與狀態(tài)和事件結(jié)合以定義所需要的狀態(tài)機,使每個有限狀態(tài)機可以被獨立地定義。上述的狀態(tài)機可以包括用于在預(yù)定條件下產(chǎn)生包含預(yù)定信息的預(yù)定消息的原子函數(shù)。上述狀態(tài)機可以進一步包括應(yīng)答狀態(tài)事件的能力,狀態(tài)事件包括配置為從主機應(yīng)用層給狀態(tài)機提供信息的一般API消息的接收。
文檔編號H04Q3/62GK1179872SQ96192846
公開日1998年4月22日 申請日期1996年11月27日 優(yōu)先權(quán)日1996年11月27日
發(fā)明者M·P·赫伯爾特 申請人:??怂谷麪柟?