作為一個(gè)開放系統(tǒng)的控制中心,軟交換設(shè)備有兩個(gè)基本的需求:一是要提供一個(gè)最基本的核心以滿足軟交換呼叫控制的需求;二是要向軟交換系統(tǒng)外圍的其他實(shí)體提供通用的接口,包括面向業(yè)務(wù)控制的接口以及使用標(biāo)準(zhǔn)的協(xié)議與其他網(wǎng)絡(luò)通信。因此,UniNet軟交換設(shè)備設(shè)計(jì)思想中有一個(gè)基本方面就是:通過一個(gè)標(biāo)準(zhǔn)模式,實(shí)現(xiàn)隱藏核心呼叫/會(huì)話處理和控制細(xì)節(jié)的要求,以達(dá)到抽象信令協(xié)議、封裝實(shí)現(xiàn)過程的目的。這意味著,需要設(shè)計(jì)一個(gè)通用化的多方呼叫/會(huì)話模型,以適應(yīng)未來那些新出現(xiàn)的協(xié)議及調(diào)整后的改進(jìn)協(xié)議,或那些由不同廠商開發(fā)的協(xié)議實(shí)現(xiàn)形式。后面介紹支持語音業(yè)務(wù)的UniNet軟交換設(shè)備核心呼叫控制功能的設(shè)計(jì)方式。
一、 呼叫控制功能的需求分析
NGN網(wǎng)絡(luò)是一個(gè)業(yè)務(wù)驅(qū)動(dòng)的網(wǎng)絡(luò),從業(yè)務(wù)提供的角度來說,軟交換設(shè)備不僅要能夠控制種類繁多、接口各異的網(wǎng)元設(shè)備(如IAD、IP終端以及接入網(wǎng)關(guān)、中繼網(wǎng)關(guān)、信令網(wǎng)關(guān)等),實(shí)現(xiàn)基本的語音呼叫接續(xù)功能,還要能夠在外部業(yè)務(wù)邏輯的控制下,完成對(duì)呼叫接續(xù)過程的更復(fù)雜的控制功能。
綜合起來,支持語音業(yè)務(wù)的軟交換設(shè)備需要實(shí)現(xiàn)的呼叫控制功能必須滿足以下要求:
? 為語音呼叫的建立、維持和釋放等過程提供通用的基本控制功能,這就要求軟交換設(shè)備能夠以統(tǒng)一的標(biāo)準(zhǔn)方式來處理各種信令協(xié)議;
? 能夠接收來自上層業(yè)務(wù)的監(jiān)視請(qǐng)求,支持業(yè)務(wù)觸發(fā)事件檢測(cè),能夠接收來自業(yè)務(wù)的呼叫控制相關(guān)指示,并對(duì)其中與呼叫相關(guān)的事件進(jìn)行處理;
? 能夠接入NGN中的各種信令協(xié)議,完成不同協(xié)議之間的互聯(lián)互通,包括ISUP協(xié)議、H.323協(xié)議、SIP協(xié)議、Megaco/H.248協(xié)議等,并能夠支持跨越多種協(xié)議終端的語音業(yè)務(wù)。
由此可見,為了支持語音業(yè)務(wù),軟交換設(shè)備的呼叫控制功能必須滿足標(biāo)準(zhǔn)化的呼叫接續(xù)處理、多種信令的融合接人以及良好的業(yè)務(wù)支持能力這3點(diǎn)需求。通常,可以采用模型化的方法對(duì)上述功能的實(shí)現(xiàn)方式進(jìn)行抽象描述,這就是呼叫模型。
二、呼叫模型的基本概念
在呼叫控制設(shè)備中(如電路交換機(jī)、呼叫服務(wù)器等),通常將實(shí)現(xiàn)呼叫控制的過程模型稱為呼叫模型。呼叫模型的概念其實(shí)由來已久,它是對(duì)網(wǎng)絡(luò)呼叫控制能力的一種抽象,最初是針對(duì)傳統(tǒng)PSTN中的交換機(jī)提出的,其初始目的僅僅是為了規(guī)范化交換機(jī)的呼叫處理過程。而后,隨著呼叫控制實(shí)體以及相關(guān)通信網(wǎng)絡(luò)的不斷變化,對(duì)呼叫模型的功能需求也隨之發(fā)展,遠(yuǎn)遠(yuǎn)超越了最初的范疇?,F(xiàn)在的呼叫模型不僅要滿足基本呼叫處理過程的需求,還要滿足非嵌入式(分布式)業(yè)務(wù)提供要求的更復(fù)雜的控制功能。
在傳統(tǒng)通信網(wǎng)中,已存在若干種呼叫模型,包括智能網(wǎng)基本呼叫狀態(tài)模型(IN-CS-1/CS-2BCSM)、JTAPI(Java電話APD模型和TAPIC電話APD模刮等。盡管它們的目標(biāo)通常是相似的:用于發(fā)起、控制和操縱呼叫以及方便在呼叫之前、之中和之后執(zhí)行業(yè)務(wù)交互功能,但是在建模方式上以及所能實(shí)現(xiàn)的能力上它們存在著很大的差別,這與它們所面向的不同網(wǎng)絡(luò)結(jié)構(gòu)或應(yīng)用模式是相關(guān)的。
在軟交換設(shè)備的設(shè)計(jì)中,網(wǎng)絡(luò)應(yīng)用的環(huán)境以及面向的業(yè)務(wù)開發(fā)需求與傳統(tǒng)電信網(wǎng)有諸多不同之處。我們認(rèn)為,其呼叫處理過程應(yīng)通過提取不同電信網(wǎng)絡(luò)中呼叫處理模式的通用特征,建立規(guī)范的呼叫處理方式,并盡量屏蔽不同網(wǎng)絡(luò)處理模式的差異性,使軟交換設(shè)備的核心控制功能具有良好的穩(wěn)定性和適應(yīng)性。因此,在實(shí)現(xiàn)軟交換設(shè)備的呼叫控制功能時(shí),建立一個(gè)恰當(dāng)?shù)暮艚心P途哂蟹浅V匾牡匚弧?/p>
三、呼叫模型的結(jié)構(gòu)及描述方式
呼叫模型在軟交換設(shè)備的設(shè)計(jì)中居于核心地位,其功能的強(qiáng)弱決定了軟交換設(shè)備的呼叫控制能力以及業(yè)務(wù)提供能力。整體上,呼叫模型是對(duì)軟交換設(shè)備核心控制能力的抽象,它可以提供基本呼叫控制和連接控制能力以建立用戶的通信鏈路,并把通信鏈路連接起來;同時(shí),它還要能夠檢測(cè)出觸發(fā)外部業(yè)務(wù)的基本呼叫和連接控制事件,并支持在呼叫處理過程中與外部業(yè)務(wù)的交互功能。
因此,對(duì)于軟交換設(shè)備的呼叫建模,需要從基本呼叫處理以及復(fù)雜業(yè)務(wù)控制兩方面的需求人手,描述兩個(gè)層次的信息:Q)對(duì)于呼叫拓?fù)浣Y(jié)構(gòu)的描述;@對(duì)于呼叫處理過程的描述。實(shí)際上,這兩個(gè)層次反映了對(duì)呼叫建模采用的兩個(gè)基本視點(diǎn):全局視點(diǎn)和過程視點(diǎn)。從這兩個(gè)不同的視點(diǎn)出發(fā)對(duì)軟交換網(wǎng)絡(luò)的呼叫進(jìn)行建模,將能夠全面描述一個(gè)呼叫的整體視圖,如圖7.I所示,其中:
? 呼叫全局視點(diǎn),即從整個(gè)呼叫的角度,描述呼叫中有哪些呼叫方、各個(gè)呼叫方之間的關(guān)聯(lián)關(guān)系以及在呼叫處理過程中這些關(guān)系的變化情況??梢园褟倪@個(gè)視點(diǎn)出發(fā)抽象的模型稱為"呼叫關(guān)系模型”,一般來說,它描述的是呼叫關(guān)系的拓?fù)浣Y(jié)構(gòu),側(cè)重于對(duì)一個(gè)呼叫所涉及到的所有通信支路(也就是到每一個(gè)端用戶的通信連接)以及它們之間的關(guān)聯(lián)關(guān)系的抽象描述。
? 呼叫過程視點(diǎn),即從某個(gè)呼叫方的角度,描述為了建立和維護(hù)與該呼叫方有關(guān)的通信鏈路所要經(jīng)歷的呼叫處理過程,并標(biāo)識(shí)出基本呼叫處理過程的各個(gè)邏輯階段和主要操作。同樣,可以把從這個(gè)視點(diǎn)出發(fā)抽象的模型稱為"呼叫狀態(tài)模型“,一般來說,它側(cè)重于對(duì)呼叫中所涉及到的某個(gè)通信支路的建立、維持、拆除等完整處理過程中各個(gè)階段狀態(tài)的抽象描述。
呼叫模型的基本結(jié)構(gòu)
上述兩個(gè)視點(diǎn)側(cè)重點(diǎn)不同,采用的建模方式也不太一樣。通常情況下,可以采用面向?qū)ο?00,0bjectOriented)的方法描述呼叫關(guān)系模型,以抽象呼叫的全局拓?fù)浣Y(jié)構(gòu);而采用有限狀態(tài)機(jī)(FSM,FiniteStateMachine)的形式描述呼叫狀態(tài)模型,以追蹤呼叫處理的邏輯過程。所謂有限狀態(tài)機(jī)模型是一個(gè)系統(tǒng)的操作模型,它包含了該系統(tǒng)可能出現(xiàn)的一組規(guī)定狀態(tài)以及從某一狀態(tài)到另一狀態(tài)可能存在的一組轉(zhuǎn)移。抽象一個(gè)系統(tǒng)的有限狀態(tài)機(jī)模型首先要表征該系統(tǒng)的所有狀態(tài)。在任意給定時(shí)刻,該系統(tǒng)所允許執(zhí)行的操作和動(dòng)作是直接與該時(shí)刻所處狀態(tài)相關(guān)的,從規(guī)定狀態(tài)輸入或者輸出到另一個(gè)規(guī)定狀態(tài)也是與該狀態(tài)所允許的轉(zhuǎn)移有關(guān)的。而“面向?qū)ο蟆钡姆椒ㄊ前严到y(tǒng)抽象為一組對(duì)象(一個(gè)或多個(gè)),這些對(duì)象能反映該系統(tǒng)感興趣的特征,每個(gè)對(duì)象都用一組特征(稱為屬性)以及操作這些對(duì)象的動(dòng)作(稱為功能)來描述,因此“對(duì)象”是一個(gè)模型化和自治的實(shí)體。這些實(shí)體可以很自然地組合和重復(fù)使用,給出標(biāo)志該系統(tǒng)的一組對(duì)象就可以描述系統(tǒng)的組成和它的操作點(diǎn)。采用上述的建模方式,就會(huì)得到兩種不同的模型:呼叫關(guān)系模型和呼叫狀態(tài)模型。從本質(zhì)上說,呼叫關(guān)系模型是對(duì)呼叫包含的處理資源的一種抽象表示,其重點(diǎn)在于呼叫“關(guān)系”的描述,這里的“關(guān)系”是指呼叫各方的連接關(guān)系(或者信息傳遞關(guān)系)和控制關(guān)系;而呼叫狀態(tài)模型則是對(duì)呼叫處理”過程”的描述。呼叫狀態(tài)模型通常以單個(gè)呼叫方為描述對(duì)象,而呼叫關(guān)系模型則是對(duì)呼叫整體的描述。因此,由呼叫關(guān)系模型和呼叫狀態(tài)模型組合而成的呼叫模型既反映了連接信息(如支路和連接點(diǎn)相互間的關(guān)系),也反映了呼叫處理信息(如事件和基本呼叫相關(guān)信息)。
四、 呼叫模型的運(yùn)作機(jī)制
基于全局視點(diǎn)和過程視點(diǎn)建立的雙層呼叫模型結(jié)構(gòu),從邏輯關(guān)系上看,可以認(rèn)為關(guān)系模型在上,狀態(tài)模型在下,兩者互相配合,共同完成對(duì)呼叫的控制功能。底層的呼叫狀態(tài)模型只需要處理基本呼叫行為,而由更高層次的呼叫關(guān)系模型維護(hù)多個(gè)呼叫方的連接視圖,并管理與外部業(yè)務(wù)邏輯的交互。這種雙層結(jié)構(gòu)的呼叫模型設(shè)計(jì)方式同時(shí)兼顧了呼叫處理的高效性和靈活性需求,并較好地解決了業(yè)務(wù)交換與呼叫控制的分工問題。呼叫關(guān)系模型和呼叫狀態(tài)模型的配合關(guān)系如圖7.2(a)和(b)所示。從基本呼叫處理的角度,對(duì)于大多數(shù)只涉及兩個(gè)呼叫方的點(diǎn)到點(diǎn)基本語音呼叫,網(wǎng)絡(luò)拓?fù)潢P(guān)系非常簡單(點(diǎn)到點(diǎn)呼叫的網(wǎng)絡(luò)拓?fù)渲挥幸环N形式),通過由兩個(gè)有限狀態(tài)機(jī)(分別代表主叫和被叫)
呼叫關(guān)系模型和呼叫狀態(tài)模型的配合關(guān)系
組成的呼叫狀態(tài)模型,其呼叫關(guān)聯(lián)關(guān)系就已經(jīng)可以隱含地表示出來,因此可以直接通過呼叫狀態(tài)模型進(jìn)行控制,以提高處理效率。當(dāng)需要提供多方呼叫的控制能力時(shí),則由高層呼叫關(guān)系模型介入,協(xié)調(diào)和管理多個(gè)基本呼叫狀態(tài)模型之間的交互關(guān)系,而基本呼叫狀態(tài)模型完全不需感知多方通話的存在,也不用為實(shí)現(xiàn)多方通話做任何特殊的改動(dòng)。因此這種分層呼叫模型結(jié)構(gòu)有著很好的擴(kuò)展性,可以滿足復(fù)雜呼叫控制的要求。
從業(yè)務(wù)提供的角度,呼叫模型還需要管理與外部業(yè)務(wù)之間的交互方式,這里的交互包括兩方面的含義:一方面,呼叫模型需要提供業(yè)務(wù)觸發(fā)檢測(cè)機(jī)制,檢測(cè)呼叫/連接事件,通過交互向外部業(yè)務(wù)報(bào)告關(guān)于呼叫/連接狀態(tài)變化以及特定事件的信息;另一方面,業(yè)務(wù)通過交互可識(shí)別這些信息,控制呼叫模型(如改變呼叫方連接的拓?fù)潢P(guān)系,觸發(fā)呼叫支路的狀態(tài)遷移),從而達(dá)到干預(yù)呼叫流程、實(shí)現(xiàn)業(yè)務(wù)控制的目的。其基本原理如圖所示。
呼叫模型與業(yè)務(wù)交互關(guān)系
從上圖中可以看到,呼叫關(guān)系模型在與業(yè)務(wù)交互過程中承擔(dān)了重要作用。針對(duì)業(yè)務(wù)提供的需要,呼叫關(guān)系模型的基本功能如下:對(duì)上接收業(yè)務(wù)邏輯的控制操作或請(qǐng)求,并將其翻譯成內(nèi)部指令,與呼叫狀態(tài)模型交互,從而改變呼叫處理過程;對(duì)下則接收呼叫狀態(tài)模型報(bào)告的事件和狀態(tài)信息,進(jìn)一步地過濾和加工之后,按照業(yè)務(wù)邏輯的要求上報(bào)相應(yīng)的呼叫信息,這些信息包括呼叫當(dāng)前狀態(tài)、呼叫狀態(tài)的改變、與呼叫有關(guān)的網(wǎng)絡(luò)事件和錯(cuò)誤的報(bào)告(例如忙、已連接、阻塞等)。簡單地說,呼叫關(guān)系模型通過其抽象的呼叫拓?fù)湟晥D,管理和實(shí)現(xiàn)軟交換設(shè)備呼叫控制功能與外部業(yè)務(wù)控制功能的交互過程,為外部業(yè)務(wù)邏輯提供了一個(gè)觀察和影響內(nèi)部呼叫及連接處理過程的有限窗口。
正因?yàn)榫哂信c業(yè)務(wù)交互信息的功能,所以呼叫關(guān)系模型也可以稱為業(yè)務(wù)交換模型(SSM,ServiceSwitchModel)。需要注意的是,從業(yè)務(wù)提供的角度,呼叫關(guān)系模型反映的是對(duì)網(wǎng)絡(luò)中一個(gè)物理呼叫的高層應(yīng)用觀點(diǎn)。由于不同的業(yè)務(wù)開發(fā)模式關(guān)注的重點(diǎn)不同,需要的呼叫控制功能集也不同,如智能網(wǎng)業(yè)務(wù)開發(fā)模式是一種單端單控制的模式,而電話應(yīng)用編程接口和Java電話應(yīng)用編程接口(TAPI和JTAPI)則是面向小型應(yīng)用環(huán)境的集中控制模式,因此,呼叫關(guān)系模型的設(shè)計(jì)通常需要適應(yīng)其所支持的外部業(yè)務(wù)開發(fā)模式的要求。根據(jù)與業(yè)務(wù)交互方式以及交互信息的不同要求,呼叫關(guān)系模型的建模側(cè)重點(diǎn)就會(huì)有所不同,最后導(dǎo)出的呼叫關(guān)系模型也會(huì)有所不同,但必須滿足其面向的外部業(yè)務(wù)開發(fā)模式的具體需求。