由于呼叫關(guān)系模型是與外部業(yè)務(wù)開(kāi)發(fā)模式密切相關(guān)的,呼叫關(guān)系模型對(duì)外提供的業(yè)務(wù)接口應(yīng)兼容多種業(yè)務(wù)接口規(guī)范。根據(jù)軟交換系統(tǒng)業(yè)務(wù)能力的要求,一般需要軟交換設(shè)備提供INAP接口或者Parlay接口,因此,在UniNet軟交換設(shè)備設(shè)計(jì)中,根據(jù)對(duì)外提供的業(yè)務(wù)接口方式的不同,呼叫關(guān)系模型的設(shè)計(jì)也各不相同,主要有兩種:智能網(wǎng)交換狀態(tài)模型IN-SSM)和Parlay呼叫控制模型。概括地說(shuō),當(dāng)軟交換設(shè)備對(duì)外提供智能網(wǎng)INAP接口時(shí),呼叫關(guān)系模型的實(shí)現(xiàn)應(yīng)遵照智能網(wǎng)SSF的定義方式,保持與SSF的一致性。當(dāng)軟交換設(shè)備對(duì)外提供Parlay接口時(shí),呼叫關(guān)系模型的實(shí)現(xiàn)應(yīng)遵照Parlay呼叫接口模型的定義方式。下面分別介紹這兩種呼叫關(guān)系模型的實(shí)現(xiàn)。
IN-SSM的實(shí)現(xiàn)
在智能網(wǎng)中,呼叫關(guān)系視圖是通過(guò)IN交換狀態(tài)模型(IN-SSM)表述的。IN-SSM的功能主要是向SCF描述呼叫/連接的當(dāng)前狀態(tài),可以使SCF了解SSF/CCF內(nèi)部呼叫處理的狀態(tài)和事件并且可以通過(guò)指令去影響SSF/CCF的呼叫處理。IN-SSM可以有多種類型。在智能網(wǎng)CS-1階段,由于IN-CS-1業(yè)務(wù)主要是點(diǎn)到點(diǎn)的兩方業(yè)務(wù),因此IN-SSM的作用并不突出。在IN-CS-2中,為了支持呼叫方處理(CPH,CallPartyHandling)特性,相應(yīng)地增強(qiáng)了IN-SSM的作用。
CPH是指在呼叫的任何狀態(tài)(包括建立時(shí)期和穩(wěn)定狀態(tài))對(duì)其中每個(gè)用戶(一個(gè)或多個(gè))連接的控制與管理。實(shí)現(xiàn)CPH的關(guān)鍵是提供一種方法,使SCF實(shí)時(shí)地了解當(dāng)前的連接狀況,并根據(jù)這一信息對(duì)呼叫方以及呼叫連接進(jìn)行處理,如對(duì)呼叫方的增加、刪除、保持、恢復(fù)等,從而提供各種靈活的多方呼叫業(yè)務(wù)。CPH能力的另一個(gè)重要方面是對(duì)各種可能的多方呼叫業(yè)務(wù)的處理。IN-CS-2中提出了實(shí)現(xiàn)CPH的方法,即連接視圖狀態(tài)(CVS,ConnectionViewState)方法。它的基礎(chǔ)就是描述當(dāng)前呼叫連接狀況的連接視圖(CV,ConnectionView)模型。
-
連接視圖的定義
CS-2階段的IN-SSM建立在連接視圖模型的基礎(chǔ)上。連接視圖是智能網(wǎng)中的重要概念之一,它運(yùn)用面向?qū)ο蟮姆椒?,?duì)SSF/CCF中的呼叫及連接處理資源進(jìn)行抽象,通過(guò)定義對(duì)象和對(duì)象間的關(guān)系來(lái)描述當(dāng)前呼叫處理與連接的狀態(tài)。這些對(duì)象包括支路(Leg)、連接點(diǎn)(CP,ConnectionPoint)、呼叫段(CS,CallSegment)、呼叫段關(guān)聯(lián)(CSA,CallSegmentAssociation)。
Leg表示通向一個(gè)可尋址的網(wǎng)絡(luò)實(shí)體的通信通路,根據(jù)狀態(tài)的不同可以或不可以傳送語(yǔ)音信息。Leg分為兩種,ControllingLeg和PassiveLeg。其中ControllingLeg指呼叫中的控制方,對(duì)應(yīng)的用戶動(dòng)作可以影響整個(gè)呼叫和連接的狀態(tài),而PassiveLeg指呼叫中的被動(dòng)方,它(們)的連接狀態(tài)將受到來(lái)自控制方的影響。
CP則代表各個(gè)支路的相互連接點(diǎn),并允許信息在Leg之間流動(dòng),同時(shí)還可以轉(zhuǎn)發(fā)從一個(gè)Leg到另一個(gè)Leg的信令消息。連接點(diǎn)既可以代表兩個(gè)Leg之間的連接功能,也可以代表3個(gè)或多個(gè)Leg之間的會(huì)議功能。CP用于唯一標(biāo)識(shí)一個(gè)CS。CS對(duì)“半個(gè)呼叫"的物理資源和處理進(jìn)行抽象,它包括一個(gè)CP及所有與之相連的Leg。智能網(wǎng)把呼叫分為發(fā)端和收端兩部分,與此對(duì)應(yīng),CV從功能上把呼叫分成兩部分,
對(duì)于分開(kāi)后的每個(gè)部分稱為“半個(gè)呼叫(HalfCall)"或“呼叫段(CallSegment)",如圖7.7左側(cè)所示。呼叫段的概念反映了智能網(wǎng)業(yè)務(wù)中非常重要的“單端業(yè)務(wù)特征”和“單點(diǎn)控制”的定義。所謂“單端”是指業(yè)務(wù)特性僅對(duì)呼叫中的一方產(chǎn)生作用,而與可能加入呼叫的其他用戶無(wú)關(guān)。一個(gè)單端業(yè)務(wù)實(shí)例僅直接影響SSF/CCF中分割開(kāi)的半個(gè)呼叫的處理(即單端業(yè)務(wù)邏輯實(shí)例的控制范圍只限于分割的半個(gè)呼叫,也就是呼叫段),另外半個(gè)呼叫可以通過(guò)兩個(gè)呼叫段之間的信息交互來(lái)影響,如圖右側(cè)所示。這種互不相關(guān)性使得同一呼叫中的另一方可以具有相同或不同的單端業(yè)務(wù)特性,這樣多個(gè)單端業(yè)務(wù)邏輯實(shí)例(每半個(gè)呼叫一個(gè))在一個(gè)呼叫中可以同時(shí)激活,每一個(gè)由“半個(gè)呼叫“間的相互通信來(lái)分割。而所謂'單控制點(diǎn)”是指一次呼叫僅由智能網(wǎng)的一個(gè)業(yè)務(wù)控制點(diǎn)所控制。
智能網(wǎng)中半呼叫以及單端控制的概念
CSA指一對(duì)相關(guān)聯(lián)的呼叫段,由SSF/CCF把它們結(jié)合在一起作為一對(duì)來(lái)操作(例如將它們組合成一個(gè)單一的呼叫段)。關(guān)聯(lián)呼叫段僅限于兩個(gè)呼叫段都是針對(duì)同一個(gè)端用戶的情況,例如一個(gè)端用戶已經(jīng)在呼叫中,而他又發(fā)出一個(gè)新的呼叫,或者又有新的呼叫叫他,SSF/CCF就可以把這兩個(gè)呼叫段結(jié)合起來(lái),稱之為呼叫段關(guān)聯(lián)(CSA),如圖7.8所示。從業(yè)務(wù)控制的角度,CSA對(duì)應(yīng)于SCF與SSF間的一個(gè)對(duì)話,可包含一個(gè)或多個(gè)相關(guān)CS。
CSA概念示意圖
在連接視圖中,Leg、CP、CS以及CSA都是與連接相關(guān)的對(duì)象,反映一個(gè)CS或一組相關(guān)CS的狀態(tài),包括其中各個(gè)Leg以及Leg與CP的關(guān)系。在智能網(wǎng)中,通常用圖形化的方法來(lái)描述CV中各對(duì)象及其相互關(guān)系,如圖7.9所示。
連接視圖狀態(tài)中各對(duì)象及相互關(guān)系的描述
需要說(shuō)明的是,在呼叫段中的Leg或者用實(shí)線或者用虛線來(lái)表達(dá)。實(shí)線代表連接(Joined),表示Leg已經(jīng)連接到了CP,使用戶可以和CS中的另外用戶通信。虛線表示Leg的狀態(tài)或者是“共享"(Shared,表示該Leg不在當(dāng)前的CS,而是在一個(gè)相關(guān)的CS中,該狀態(tài)僅對(duì)ControllingLeg而言)、懸置(Pending,表示該Leg正處于呼叫建立過(guò)程中),或“代理"(Surrogate,表示該Leg指向網(wǎng)絡(luò)中的一個(gè)虛擬呼叫方,如網(wǎng)絡(luò)本身、前轉(zhuǎn)呼叫的呼叫方等,而不是指向外部的一個(gè)實(shí)際的端用戶)。
雖然CV采用了面向?qū)ο蟮倪B接視圖模型對(duì)呼叫/連接處理過(guò)程中涉及的各種資源進(jìn)行了抽象。但是IN-SSM實(shí)際上是采用建立在連接視圖模型基礎(chǔ)上的連接視圖狀態(tài)(CVS)方法,來(lái)描述連接視圖模型中規(guī)定的連接視圖狀態(tài)以及狀態(tài)之間可允許的過(guò)渡,它可以使SCF了解SSF/CCF內(nèi)部呼叫處理的狀態(tài)和事件,并且可以通過(guò)指令去影響SSF/CCF的呼叫處理。
所謂連接視圖狀態(tài),是對(duì)某個(gè)時(shí)刻CV的連接對(duì)象及其間連接關(guān)系的一種描述,或者說(shuō)是對(duì)某個(gè)時(shí)刻CV的連接對(duì)象及其間連接關(guān)系的一張圖形化的“快照“。盡管在理論上呼叫連接的狀態(tài)可以為無(wú)窮多,但其中一些狀態(tài)是不可能在實(shí)際呼叫中形成的,有些連接狀態(tài)則十分危險(xiǎn),易產(chǎn)生網(wǎng)絡(luò)問(wèn)題,因此CS-2中只是定義了有限的14個(gè)CVS(如下圖所示)。
對(duì)于CS-2所建議的業(yè)務(wù)及業(yè)務(wù)流程,這些CVS狀態(tài)足以描述可能的所有呼叫及連接狀態(tài)。此外,CS-2中還描述了一個(gè)(組)操作如何影響一個(gè)呼叫連接的狀態(tài),即定義CVS之前相互轉(zhuǎn)移方式。
由上圖可見(jiàn),連接視圖采用面向?qū)ο蟮挠邢逘顟B(tài)自動(dòng)機(jī)機(jī)制,從多個(gè)方面描述了不同階段(包括呼叫建立及穩(wěn)定態(tài))呼叫方與連接以及呼叫過(guò)程的有關(guān)信息。根據(jù)這些信息,SCF可以在整個(gè)呼叫存在階段指揮SSF執(zhí)行相應(yīng)的操作,從而控制呼叫連接的狀態(tài)變化,表現(xiàn)在CVS上,就是各個(gè)狀態(tài)間的轉(zhuǎn)移。簡(jiǎn)而言之,通過(guò)CVS,業(yè)務(wù)邏輯可以在呼叫的任何狀態(tài)(包括建立時(shí)期和穩(wěn)定狀態(tài))對(duì)其中每個(gè)用戶(一個(gè)或多個(gè))連接進(jìn)行控制與管理(如對(duì)呼叫方的增加、刪除、保待、恢復(fù)等),從而提供各種靈活的業(yè)務(wù)。
2.CVS與BCSM的關(guān)系
CVS反映了呼叫連接方面的屬性,主要用于管理多用戶呼叫,它描述了CS的狀態(tài)或一對(duì)關(guān)聯(lián)的CS的狀態(tài),包括在CS中的一組Leg以及每一個(gè)Leg與連接點(diǎn)的關(guān)系。BC?SM則反映了呼叫處理方面的屬性,用于描述在一個(gè)CS中建立和維持Leg所要求的基本呼叫處理過(guò)程。因此,CVS中的每一個(gè)Leg都與一個(gè)O_BCSM實(shí)例或T_BCSM實(shí)例相關(guān)聯(lián)。圖7.11說(shuō)明了連接處理對(duì)象和呼叫處理對(duì)象的關(guān)系,它也是UniNet軟交換設(shè)備對(duì)外提供INAP業(yè)務(wù)接口時(shí)的完整呼叫模型的示意圖,其中CV充當(dāng)了UniNet呼叫模型中的呼叫關(guān)系模型。
連接視圖狀態(tài)和BCSM的關(guān)系
在Leg與BCSM的對(duì)應(yīng)關(guān)系上,根據(jù)Leg的性質(zhì),這里可以有兩種情況:
(1)、當(dāng)CS中存在一個(gè)或多個(gè)PassiveLeg時(shí),每一個(gè)PassiveLeg都有BCSM與之直接關(guān)聯(lián),而ControllingLeg間接地與所有這些BCSM同時(shí)關(guān)聯(lián)。因?yàn)槿绻鸅CSM與ControllingLeg而不是PassiveLeg關(guān)聯(lián),則在涉及3個(gè)或3個(gè)以上的呼叫方時(shí),PassiveLeg的信令狀態(tài)(主叫或被叫)將會(huì)產(chǎn)生二義性。
(2)、當(dāng)CS中只有一個(gè)ControllingLeg且Leg的狀態(tài)為Joined時(shí),該ControllingLeg與一個(gè)BCSM相關(guān)聯(lián)。一旦有PassiveLeg加入,則ControllingLeg不再與任何BCSM關(guān)聯(lián),即心中所述的情況。
因此,通過(guò)上述CVS和BCSM的組合,既反映了連接信息(如Leg和CP之間的關(guān)系),也反映了呼叫處理信息(如BCSM事件和基本呼叫相關(guān)信息),這些信息可以由業(yè)務(wù)邏輯使用并影響呼叫連接和呼叫處理。SCF可以調(diào)用SSF功能去操作這些對(duì)象(例如改變它們的屬性和相互關(guān)系,因此也就改變了連接狀態(tài)并支持基本呼叫處理)。
當(dāng)一個(gè)業(yè)務(wù)邏輯實(shí)例被調(diào)用時(shí),就會(huì)產(chǎn)生一個(gè)CV狀態(tài)機(jī)實(shí)例。它或者是由于在BCSM中遇到了滿足DP標(biāo)準(zhǔn)的TDP而產(chǎn)生的,或者是由SCF啟動(dòng)而與TDP無(wú)關(guān)。在與基本呼叫處理交互時(shí),當(dāng)CV接收到BCSM的報(bào)告或者SCF的指示,就會(huì)驅(qū)動(dòng)CV從一個(gè)狀態(tài)遷移到其他狀態(tài)。這也隱含了Leg的狀態(tài)遷移是受SCF指示或者基于BCSM的事件(或者說(shuō)是呼叫控制信令事件)驅(qū)動(dòng)的結(jié)果。因此,在定義每個(gè)CVS時(shí),都是從3個(gè)方面入手:與BCSM的關(guān)系、入口事件(即導(dǎo)致建立該連接狀態(tài)的一些事件)及出口事件(即導(dǎo)致從該狀態(tài)轉(zhuǎn)移到其他狀態(tài)的一些事件)。
Parlay呼叫控制模型的實(shí)現(xiàn)
在Parlay接口規(guī)范中,呼叫控制功能可以提供從非?;镜膬煞胶艚锌刂浦钡蕉喾健⒍嗝襟w和會(huì)議呼叫控制的分層控制能力,因此需要根據(jù)軟交換設(shè)備的應(yīng)用范圍選擇使用合適的呼叫控制接口。
1.Parlay呼叫控制模型
ParlayAPI定義了一組呼叫控制接口,并采用面向?qū)ο蟮姆椒枋龊艚袑?duì)象及其之間的關(guān)系。Parlay呼叫模型由一組對(duì)象組成,主要包括以下幾類對(duì)象。
? Call對(duì)象:Call對(duì)象表示連接兩個(gè)或多個(gè)呼叫方的邏輯實(shí)體,從應(yīng)用來(lái)看,Call對(duì)象與整個(gè)呼叫視圖相關(guān),它為應(yīng)用程序提供完整的呼叫視圖。Call對(duì)象要維護(hù)與呼叫相關(guān)的全局信息,如呼叫上下文、呼叫方數(shù)據(jù)、計(jì)費(fèi)信息等。
? Address對(duì)象:Address對(duì)象代表一個(gè)邏輯端點(diǎn),如電話號(hào)碼或IP地址。
? Leg對(duì)象:Leg對(duì)象代表在一個(gè)Call和一個(gè)Address之間的動(dòng)態(tài)聯(lián)系,這種聯(lián)系主要是雙方的信令關(guān)系。只有當(dāng)Leg選路成功之后才建立Call與Address的聯(lián)系。在此之前Leg對(duì)象處于空閑狀態(tài),表示Call還沒(méi)有與Address關(guān)聯(lián)起來(lái)。
由上述對(duì)象組成的呼叫模型可由下圖來(lái)表示。
在Parlay呼叫模型中,對(duì)于呼叫參與方的數(shù)目沒(méi)有固有的限制。如果要標(biāo)識(shí)多方呼叫,只需簡(jiǎn)單增加與Call關(guān)聯(lián)的Leg和Address即可。注意一個(gè)呼叫可以有多個(gè)Leg,但一個(gè)Leg同時(shí)僅能是一個(gè)呼叫的部分。Parlay呼叫控制接口分為多種類型,它們所能提供的控制能力各不相同,但屬于一種逐步增強(qiáng)的繼承關(guān)系,這種分級(jí)的呼叫控制接口對(duì)Parlay呼叫模型的具體實(shí)現(xiàn)方式也存在著影響。Parlay呼叫模型在常規(guī)的兩方呼叫中,總是包含兩個(gè)Leg:一個(gè)代表主叫,另一個(gè)代表被叫。但是Parlay一般呼叫控制接口對(duì)外部業(yè)務(wù)隱藏了Leg,在常規(guī)的雙方呼叫中,業(yè)務(wù)只能接入Call對(duì)象,而不能接入Leg對(duì)象。而在多方呼叫中,這個(gè)接入是可能的甚至是必需的。
用傳統(tǒng)電話術(shù)語(yǔ)來(lái)說(shuō),Parlay呼叫模型的特點(diǎn)在于:首先它是“對(duì)稱的",因?yàn)橐粋€(gè)呼叫的發(fā)起方和接收方在最高層沒(méi)有根本的區(qū)別;其次它也是“完整的“,業(yè)務(wù)邏輯可以獲得所有呼叫方的視圖而不是只能簡(jiǎn)單得到呼叫發(fā)起方或終止方的視圖。Parlay呼叫控制模型與智能網(wǎng)連接視圖(CV)模型的最大差別在于,Parlay不存在“半呼叫"的概念,因此通過(guò)Parlay呼叫控制模型可以簡(jiǎn)化對(duì)呼叫的控制操作,擺脫智能網(wǎng)連接視圖模型中的復(fù)雜性。
相對(duì)于智能網(wǎng)的連接視圖模型,Parlay的呼叫控制模型顯得相對(duì)單薄一些。Parlay呼叫對(duì)象模型只對(duì)呼叫中的所有分支以及呼叫分支之間的信令控制關(guān)系進(jìn)行抽象,但是不描述對(duì)象之間的連接關(guān)系,這需要由業(yè)務(wù)邏輯自己來(lái)維護(hù)。但是相對(duì)而言,Parlay的呼叫模型更簡(jiǎn)單和直觀一些,更易于理解和實(shí)現(xiàn)。在UniNet軟交換設(shè)備核心控制功能的實(shí)現(xiàn)中,當(dāng)對(duì)外采用Parlay業(yè)務(wù)接口時(shí),就需要采用Parlay的多方呼叫模型作為UniNet呼叫模型中的呼叫關(guān)系模型,此時(shí)的UniNet呼叫模型的整體結(jié)構(gòu)如圖所示
Parlay呼叫對(duì)象模型與BCSM的關(guān)系
在多方呼叫控制中,Call接口包含接入Leg的操作。注意在多方呼叫中,一個(gè)呼叫能包含多于兩個(gè)的Leg。Leg接口可以提供將對(duì)應(yīng)的呼叫方路由到指定目的地以及合并或分離與該Leg相連接的媒體流的方法,也提供當(dāng)呼叫Leg終止時(shí),將Leg指定的請(qǐng)求信息發(fā)送到應(yīng)用的方法。雖然業(yè)務(wù)能請(qǐng)求詳細(xì)的Leg事件報(bào)告(例如事件是被叫和拆鏈的應(yīng)答),但是Parlay接口不提供連續(xù)監(jiān)視Leg的操作。
2.基于ParlayAPI的業(yè)務(wù)交互模式
Parlay應(yīng)用有兩種方式控制呼叫。一是由軟交換設(shè)備通知Parlay應(yīng)用符合先前指定標(biāo)準(zhǔn)的呼叫事件產(chǎn)生,從而建立控制關(guān)系;二是Parlay應(yīng)用主動(dòng)建立新的呼叫從而控制呼叫。與智能網(wǎng)不同的是,ParlayAPI的信息流是通過(guò)對(duì)象之間的接口調(diào)用機(jī)制實(shí)現(xiàn)的。下圖勾畫出了ParlayAPI接口和應(yīng)用邏輯的關(guān)系。Parlay接口基于分布式處理技術(shù),并且可以基于通用對(duì)象請(qǐng)求代理體系結(jié)構(gòu)(CORBA)、分布式構(gòu)件對(duì)象模型(DCOM)以及Java遠(yuǎn)程方法調(diào)用(RMI)。
ParlayAPI接口和應(yīng)用邏輯的關(guān)系
Parlay呼叫控制API的定義包含應(yīng)用側(cè)和服務(wù)器側(cè)兩部分。在這里,服務(wù)器側(cè)實(shí)際就是指嵌入到UniNet呼叫模型中的Parlay接口對(duì)象,主要包括IpCallContro!Manager(該對(duì)象用于提供對(duì)所有呼叫接口的管理功能,如在一個(gè)新的呼叫請(qǐng)求到來(lái)時(shí),創(chuàng)建一個(gè)呼叫對(duì)象實(shí)例)、IpCall和lpCallLeg3類,這3類對(duì)象為業(yè)務(wù)邏輯提供了控制呼叫以及請(qǐng)求通知呼叫事件的方法。應(yīng)用側(cè)接口則包含在應(yīng)用業(yè)務(wù)邏輯中,為呼叫模型提供了向業(yè)務(wù)邏輯報(bào)告呼叫事件和信息的方法。Parlay服務(wù)器一側(cè)的每一個(gè)接口對(duì)象在應(yīng)用側(cè)都有一個(gè)對(duì)應(yīng)的接口對(duì)象。比如,服務(wù)器側(cè)的IpCall接口對(duì)象在應(yīng)用側(cè)對(duì)應(yīng)于lpAppCall接口對(duì)象,它提供了用于處理呼叫請(qǐng)求響應(yīng)和狀態(tài)報(bào)告的操作。例如,通過(guò)IpAppCall接口對(duì)象向應(yīng)用邏輯通知有關(guān)路巾狀態(tài)信息,如路由成功和被叫應(yīng)答或被叫忙等。lpAppCall接口也為呼叫控制功能提供了向業(yè)務(wù)邏輯報(bào)告它調(diào)用lpCall對(duì)象操作后的執(zhí)行結(jié)果的方法。例如,如果業(yè)務(wù)邏輯申請(qǐng),呼叫模型必須使用這個(gè)接口提供的方法,發(fā)送與呼叫相關(guān)的信息給客戶應(yīng)用。