分析已經(jīng)指出多媒體會話關(guān)系模型應(yīng)能夠描述多媒體會話的“信令連接”和“媒體連接”兩類拓撲結(jié)構(gòu)。但是從Parlay呼叫模型的定義中可以看出,它主要體現(xiàn)了信令連接的拓撲關(guān)系,盡管在多媒體呼叫中增加了一個lpMultiMediaChannel接口對象,并與CallLeg相關(guān)聯(lián),但其只能表達某一個呼叫方所具有的媒體通道連接,而對于多媒體會話中不同參與方之間的“媒體連接"的拓撲結(jié)構(gòu)的表達能力非常有限。因此為了充分提供多媒體會話的控制功能,UniNet對Parlay的多媒體呼叫控制服務(wù)加以擴展,形成了一個新的會話關(guān)系模型,現(xiàn)有的Parlay呼叫模型可以看成是它的子集。
一、多媒體會話的對象建模
UniNet軟交換對多媒體會話關(guān)系的建模同樣也是采用面向?qū)ο蟮姆椒āP枰⒁獾氖?,UniNet軟交換設(shè)計的多媒體會話關(guān)系模型采用的是集中控制模式。換句話說,一個多媒體業(yè)務(wù)的所有媒體連接都是在同一個VoIP軟交換控制下完成的。在UniNet多媒體會話關(guān)系模型中,定義了4種主要對象:會話(Session入呼叫方(Party入連接點(ConnectionPoint)以及媒體支路(Leg),它們構(gòu)成的對象模型如圖所示。
從會話的視點看,Party對象代表了會話中涉及的一個可尋址的用戶終端,它可以是一個真實的用戶終端或者是一個網(wǎng)絡(luò)實體(如媒體服務(wù)器);Leg對象繼承自智能網(wǎng)連接視圖模型的概念,代表通向一個可尋址的用戶終端的媒體通路,根據(jù)狀態(tài)的不同可以或不可以傳送媒體信息(如語音、視頻、數(shù)據(jù)等);ConnectionPoint對象繼承自智能網(wǎng)連接視圖模型的概念,代表了各Leg的相互連接關(guān)系,并允許媒體信息在Leg之間流動。Connec-tionPoint只允許轉(zhuǎn)發(fā)從一個Leg到另一個Leg的媒體信息,一個ConnectionPoint代表兩個Leg之間的基本連接功能,或者代表3個或多個Leg之間的會議橋接功能。在VoIP軟交換網(wǎng)絡(luò)中,ConnectionPoint可能代表虛擬的網(wǎng)絡(luò)資源,比如在兩個用戶終端之間直接建立端到端的RTP流時,ConnectionPoint代表一個邏輯意義上的虛擬連接點;也可能代表一個真實的網(wǎng)絡(luò)資源,比如當(dāng)兩個或多個用戶終端都連接到一個媒體網(wǎng)關(guān)、媒體服務(wù)器或多點處理器上時,ConnectionPoint代表MGCP/Megaco協(xié)議中的Context(上下文)概念。
Session對象用來代表整個多媒體會話,它包括與一個多媒體會話相連的所有Party以及與之相連的所有ConnectionPoint。Session對象維護與多媒體會話相關(guān)的全局信息,如會話上下文、呼叫方數(shù)據(jù)、連接點數(shù)據(jù)等,并轉(zhuǎn)發(fā)多個呼叫方之間的控制信令(包括呼叫控制信令和媒體控制信)。
顯然,上圖所示的對象模型可以很清晰地表示出一個多媒體會話中包含的各種成員和資源,以及彼此之間的關(guān)系。它既可以反映媒體連接信息(如Leg和Connection?Point之間的相互關(guān)系以及Leg和Party之間的關(guān)系),又能夠反映信令連接信息(如Par?ty和Session之間的關(guān)系),這些信息都可以由業(yè)務(wù)邏輯實例使用并實現(xiàn)對會話的控制。
因此,通過上述多媒體會話關(guān)系模型,可以向業(yè)務(wù)邏輯提供深入的呼叫控制和媒體控制能力,比如提供以下4類控制命令。
1、對多媒體會話的整體控制:主要表現(xiàn)為建立或拆除一個多媒體會話,建立一個多媒體會話是指在多個參與方之間建立會話關(guān)系(即信令連接),而拆除一個多媒體會話則同時刪除其包含的信令連接及所有的媒體連接。
2、對單條媒體支路的控制:主要表現(xiàn)為創(chuàng)建到某個參與方(該參與方已加人多媒體會話)的新的媒體支路、刪除到某個參與方的已存在的媒體支路或修改媒體支路的屬性等。
3、對媒體連接點的控制:例如對于媒體連接點的合并、刪除、拆分等操作,對一個媒體連接點的控制將影響所有與該連接點關(guān)聯(lián)的媒體支路。
4、對單個呼叫方的控制:此命令將同時作用千與該呼叫方關(guān)聯(lián)的所有媒體連接和信令連接。例如增加、刪除呼叫方等操作。
二、會話關(guān)系模型的對象定義
下圖顯示了在定義的多媒體會話關(guān)系模型中各個對象之間的關(guān)系。圖中各對象之間的關(guān)系名稱讀法,或者是從上往下,或者是從左往右。例如,呼叫方只能擁有唯一的一個會話;呼叫方能加入到一個會話中;連接點可連接多條分支;一個會話中可包含多條媒體連接等。這里所謂的Party擁有Session,是指會話是由該Party對象發(fā)起的,并且該Party對象擁有對此會話的控制權(quán),比如多媒體會議的主席,一旦該Party對象被刪除,將導(dǎo)致整個多媒體會話的刪除。
上圖給出的會話關(guān)系模型代表了一個多媒體會話的集中視圖,可以被用千存儲一個會話實例的完整結(jié)構(gòu),記錄會話涉及的呼叫方、所使用的網(wǎng)絡(luò)資源以及它們之間的關(guān)聯(lián)關(guān)系。會話控制功能可以利用它向外部業(yè)務(wù)功能提供一個了解其內(nèi)部多媒體會話處理狀態(tài)和事件信息的窗口,每一個業(yè)務(wù)邏輯實例通過唯一的會話關(guān)系模觀實例實現(xiàn)對VoIP軟交換網(wǎng)絡(luò)中特定多媒體會話的控制,比如指示VoIP軟交換設(shè)備控制會話拓撲結(jié)構(gòu)或者改變已有的會話拓撲配置關(guān)系。業(yè)務(wù)邏輯能夠直接在會話關(guān)系模型的基礎(chǔ)上進行增加或者刪除呼叫方和媒體連接的操作,也可以請求會話關(guān)系模型上報呼叫狀態(tài)和事件信息。
1、對象定義
UniNet多媒體會話關(guān)系模型中各對象的含義及其包含的信息說明如下。
Session:Session代表一個多媒體會話涉及到的所有呼叫方以及媒體連接之間的關(guān)聯(lián)關(guān)系的總和。
Party:在一個會話中可以有若干個Party,Party可以是終端用戶,也可以是網(wǎng)絡(luò)實體(如網(wǎng)關(guān)、媒體服務(wù)器、應(yīng)用服務(wù)器等)。如果是網(wǎng)絡(luò)實體充當(dāng)連接方時,則稱之為虛擬呼叫方。在會話中,創(chuàng)建該會話的一方被稱為會話的擁有者,因此,一個會話至少應(yīng)有一個呼叫方加入。ConnectionPoint:ConnectionPoint代表Party之間的媒體連接方式,它是一個虛擬的或者物理的媒體信息轉(zhuǎn)發(fā)點/匯聚點。
Leg:一條媒體連接可由若干條Leg組成,Leg表示媒體連接點到某一呼叫方的通信鏈路。一條媒體支路可通過媒體連接點與其他媒體支路相連。媒體支路和媒體連接點的關(guān)系決定了媒體連接的拓撲結(jié)構(gòu)。如果一條媒體連接僅含兩條媒體支路,那么它就是點到點的連接;如果是點到多點的連接,則該媒體連接點應(yīng)關(guān)聯(lián)兩條以上的媒體支路。
2、對象屬性定義
上圖所示的會話關(guān)系模型中,各對象都擁有自己的狀態(tài)屬性。這些對象狀態(tài)屬性可以在一個更高的層次上描述該對象所代表的網(wǎng)絡(luò)實體的狀態(tài)變化,它們所包含的信息是對呼叫控制狀態(tài)模型或者媒體控制狀態(tài)模觀信息的進一步提煉。
(1)、Party對象狀態(tài)屬性
Party對象的狀態(tài)屬性以及狀態(tài)屬性之間的關(guān)系如圖所示,各狀態(tài)的含義如下。
? Pending(懸置):表示該呼叫方與會話之間的呼叫連接關(guān)系正在建立過程中;
? Joined(加入):表示該呼叫方與會話的呼叫連接關(guān)系已建立;
? Active(激活):表示至少已經(jīng)建立一條到該呼叫方的媒體連接,使其可以與其他呼叫方通信;
? Surrogate(代理):表示該呼叫方指向一個網(wǎng)絡(luò)實體(如SCP或AS)而不是指向外部的一個終端用戶。
(2)、ConnectionPoint對象狀態(tài)屬性
ConnectionPoint對象的狀態(tài)屬性以及狀態(tài)屬性之間的關(guān)系如圖所示,各狀態(tài)的含義如下。
? Establishing(正在建立):表示以該連接點為中心的媒體連接正在建立過程中。在該狀態(tài)下,至少有一個與該連接點關(guān)聯(lián)的Leg還沒有建立起來;
? Established(已建立):表示以該連接點為中心的媒體連接已建立完畢,可以傳輸媒體信息。在該狀態(tài)下,所有與該媒體連接相關(guān)聯(lián)的Leg都已建立;
? Releasing(正在釋放):表示以該連接點為中心的媒體連接正在釋放過程中,在該狀態(tài)下,至少有一條與該媒體連接點相關(guān)聯(lián)的媒體支路正在釋放或已釋放;
? Released(已釋放):表示該媒體連接已釋放完畢,在該狀態(tài)下,所有與該媒體連接相關(guān)聯(lián)的媒體支路都已釋放。
三、 與Parlay多媒體呼叫模型的比較
Parlay多媒體呼叫控制模型與UniNet多媒體會話關(guān)系模型的主要區(qū)別在于前者不支持獨立的媒體連接拓撲結(jié)構(gòu)。在前文中已經(jīng)指出,Parlay規(guī)范中定義的多媒體呼叫模型存在不足之處,尤其是沒有明確定義代表一個完整媒體連接的對象,只能通過Leg對象間接地控制相應(yīng)的媒體連接,因此其對媒體連接的表達能力非常有限,對媒體連接的控制操作也比較有限。
UniNet軟交換采用的多媒體會話關(guān)系模型則明確定義了代表媒體連接的對象以及代表媒體連接到某一呼叫方的媒體支路的對象,可以彌補Parlay多媒體呼叫控制API在這方面的不足之處。實際上,Parlay多方呼叫模型可以看成是UniNet多媒體會話關(guān)系模型的一個子集。圖8.g所示會話關(guān)系模型中各對象與Parlay多媒體呼叫控制對象模型中各對象之間的映射關(guān)系如表所示。
UniNet多媒體會話關(guān)系模型對象與Parlay對象對應(yīng)關(guān)系UniNet多媒體會話關(guān)系模型對象
四、 UniNet會話關(guān)系模型控制下的多媒體會話建立過程
下面以一個多媒體會話為例,說明如何使用UniNet多媒體會話關(guān)系模型來控制多媒體會話。為簡化起見,只描述了這個多媒體會話在最初兩個參與方之間的呼叫建立過程以及其中的一條媒體連接的建立過程,如圖8.13所示。
(1)用戶A發(fā)起一個多媒體呼叫,VoIP軟交換會話控制功能創(chuàng)建一個Session對象和Party_A對象實例。Party_A擁有Session,并加入到該Session中。然后,VoIP軟交換控制功能執(zhí)行相應(yīng)的呼叫建立操作。在這一過程中,Party_A對象處于Pending狀態(tài)。
(2)VoIP軟交換會話控制功能創(chuàng)建Party_B對象實例,并將其加入到Session中,然后發(fā)起到Party_B的呼叫建立指示。在這一過程中,Party_A和Party_B都處千Pending狀態(tài),表示正處在建立呼叫的階段。
(3) )被叫應(yīng)答,VoIP軟交換會話控制功能完成Party_A與Party_B之間的呼叫建立,Par?ty_A和Party_B都進入Joined狀態(tài)。
(4) Party_A發(fā)起創(chuàng)建一條媒體連接(比如語音通道,假設(shè)這是一個雙向媒體通道)的請求,VoIP軟交換會話控制功能在Session對象之下創(chuàng)建ConnectionPoint_1對象,并將Party_A通過媒體支路Leg_Al鏈接到ConnectionPoint_1上,Party_A擁有并控制該媒體連接。然后,VoIP軟交換會話控制功能創(chuàng)建到Party_B的媒體支路Leg_Bl。在此狀態(tài)下,Leg_Al處千正在打開狀態(tài),Leg_Bl處千正在打開狀態(tài),ConnectionPoint_1本身也處于正在建立狀態(tài)。
(5) Party_B通過媒體支路Leg_Bl鏈接到ConnectionPoint_1上,兩條媒體支路Leg_Al和Leg_Bl的狀態(tài)都轉(zhuǎn)為己打開狀態(tài),ConnectionPoint_l也已建立起來,呈現(xiàn)Es?tablished狀態(tài)。此時,Party_A和Party_B都進入激活狀態(tài),開始進行媒體信息的交互。
UniNet多媒體會話關(guān)系模型的控制方式