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