摘要 針對IMS中業(yè)務(wù)交互管理問題,本文首先介紹和分析了IMS中現(xiàn)有基于過濾規(guī)則的業(yè)務(wù)觸發(fā)機制和存在問題,然后針對3GPP標準中新增的SCIM實體,介紹了相關(guān)研究現(xiàn)狀和改進方式,最后分析了現(xiàn)有業(yè)務(wù)交互管理中存在的問題并提出下一步發(fā)展方向。
1、引言
IMS(IP多媒體子系統(tǒng))是第三代移動網(wǎng)絡(luò)的核心網(wǎng)技術(shù)。它采用IP傳送技術(shù),同時業(yè)務(wù)層面在兼容目前已有的業(yè)務(wù)的同時開放了網(wǎng)絡(luò)能力接口,為業(yè)務(wù)開發(fā)商提供了方便、快捷、經(jīng)濟地提供業(yè)務(wù)的途徑。這種開放的全IP的架構(gòu)使得IMS上的業(yè)務(wù)可以變得豐富多彩,同時也使業(yè)務(wù)交互問題變得更為明顯。
業(yè)務(wù)交互指的兩個或者多個業(yè)務(wù)在同時執(zhí)行的過程中相互影響甚至干擾。根據(jù)是否違反用戶期望,業(yè)務(wù)交互分為業(yè)務(wù)協(xié)作和業(yè)務(wù)沖突。業(yè)務(wù)協(xié)作是用戶期望的交互行為,例如將已有的多個業(yè)務(wù)或業(yè)務(wù)能力組合成為一個新業(yè)務(wù);業(yè)務(wù)沖突是用戶未預(yù)期的交互行為。一個業(yè)務(wù)沖突的例子是“主叫呼出限制(OCS)”和“被叫呼叫轉(zhuǎn)移(CFU)”:假設(shè)用戶A訂購了OCS業(yè)務(wù)并限制撥打用戶B,而用戶C訂購了CFU業(yè)務(wù)并設(shè)置前轉(zhuǎn)地址為B,當(dāng)用戶A呼叫用戶C時,該呼叫被CFU業(yè)務(wù)轉(zhuǎn)移到用戶B,而用戶B在OCS限制的范圍內(nèi),這便產(chǎn)生了違背用戶意愿的業(yè)務(wù)沖突,原本用戶A與B的通話應(yīng)該被OCS業(yè)務(wù)限制的,而現(xiàn)在用戶A卻與B進行通話。
業(yè)務(wù)協(xié)作有助于方便、快速、經(jīng)濟地提供新業(yè)務(wù),可以提高用戶體驗,而業(yè)務(wù)沖突則會影響用戶體驗,甚至影響系統(tǒng)穩(wěn)定性和安全性。由于業(yè)務(wù)交互問題的重要性,業(yè)界給予了長期的關(guān)注。在IMS發(fā)展部署過程中,這也是亟待解決的重要問題。3GPP定義了SCIM/Service Broker(業(yè)務(wù)能力交互管理器/業(yè)務(wù)代理)實體來處理IMS中的業(yè)務(wù)交互問題。目前3GPP對該問題正處于研究之中,相關(guān)標準尚未成熟。
2、IMS中的觸發(fā)機制和存在的問題
業(yè)務(wù)交互問題的已有研究和統(tǒng)計分類表明,多數(shù)業(yè)務(wù)交互問題都與業(yè)務(wù)觸發(fā)機制相關(guān)。例如,共享觸發(fā)類的業(yè)務(wù)沖突就是在同一事件點觸發(fā)了多個業(yè)務(wù)從而產(chǎn)生沖突。在什么情況下觸發(fā)業(yè)務(wù),選擇哪個業(yè)務(wù)來執(zhí)行,就是觸發(fā)機制應(yīng)當(dāng)解決的問題,如果不能恰當(dāng)?shù)亟鉀Q此問題就會導(dǎo)致沖突。
3GPP的標準中,業(yè)務(wù)觸發(fā)的方式是S-CSCF(服務(wù)呼叫會話控制功能)按照iFC(初始過濾準則)的優(yōu)先級依次匹配每一條iFC,匹配成功后觸發(fā)相應(yīng)的應(yīng)用服務(wù)器(AS)來執(zhí)行業(yè)務(wù)。AS可以對請求消息作一定的處理后再返回給S-CSCF,S-CSCF接著匹配下一優(yōu)先級的iFC,觸發(fā)相關(guān)的AS,依次進行直到匹配完所有的iFC。iFC中規(guī)定了多個觸發(fā)點(SPT),在匹配過程中S-CSCF檢查當(dāng)前會話的情況是否滿足觸發(fā)點的要求。目前規(guī)定有5類觸發(fā)點,分別是Request URI、SIP方法、SIP Header、會話描述、會話情形(Originating、Terminating Terminating_Unregistered)。
為了使S-CSCF按正確的順序處理不同的FC,每個FC都必須分配一個優(yōu)先級,并且在提供給用戶的FC中,不應(yīng)該有一個優(yōu)先級對應(yīng)一個以上的FC。如果S-CSCF不能聯(lián)系到AS,那么S-CSCF應(yīng)該為這個觸發(fā)使用默認的處理方式。默認處理可以是:如果在列表中匹配了一個低優(yōu)先級觸發(fā)項,則繼續(xù)檢驗,放棄與列表中低優(yōu)先級匹配的校驗,并釋放這個對話。這種基于優(yōu)先級限制每個優(yōu)先級只對應(yīng)一個FC的觸發(fā)方式,可以在一定程度上解決共享觸發(fā)類的業(yè)務(wù)沖突問題。
這種iFC觸發(fā)機制的功能較為薄弱,它按照靜態(tài)的優(yōu)先級依次觸發(fā)各個AS,因此難以處理多個業(yè)務(wù)交互的情況。具體來說,它存在的不足之處如下。
●靜態(tài)性:iFC機制在初始請求到來的時候,按靜態(tài)配置好的順序觸發(fā)相關(guān)AS,而無法根據(jù)業(yè)務(wù)的觸發(fā)情況、會話的進展動態(tài)地觸發(fā)AS。
●使用范圍有限:只能依據(jù)目前的5類觸發(fā)點來判斷是否觸發(fā)一個業(yè)務(wù),然而除此之外尚有許多因素可作為觸發(fā)點,例如:終端能力、用戶偏好、時間因素、前一個業(yè)務(wù)執(zhí)行情況等。
●表達能力有限:iFC只能按照規(guī)定的優(yōu)先級順序觸發(fā)AS,實現(xiàn)簡單的業(yè)務(wù)組合,而對于實現(xiàn)復(fù)雜的業(yè)務(wù)組合則無能為力,例如它無法將Presence業(yè)務(wù)和補充業(yè)務(wù)有效結(jié)合起來,根據(jù)用戶不同Presence狀態(tài)調(diào)用不同的補充業(yè)務(wù)。
●缺乏在線規(guī)避業(yè)務(wù)沖突的手段:iFC簡單的順序觸發(fā)方式?jīng)]有考慮AS之間的沖突問題,在這種情況下,相互沖突的業(yè)務(wù)可以在同一次會話中觸發(fā),影響用戶體驗。
3、SCIM研究和應(yīng)用現(xiàn)狀
為了有效控制和處理IMS中存在的業(yè)務(wù)交互問題,3GPP在IMS體系中引入一個新的網(wǎng)元——SCIM來專門負責(zé)協(xié)調(diào)業(yè)務(wù)運行,有時又稱為Service Broker。SCIM最早出現(xiàn)在TS 23.218規(guī)范。在規(guī)范中,SCIM作為一種特殊的AS或者作為AS中的特殊功能實體,但是除了此概念以外,缺乏更進一步的定義以及關(guān)于SCIM的功能結(jié)構(gòu)和實現(xiàn)方式的說明。
由于業(yè)務(wù)交互問題本身也較為復(fù)雜,業(yè)界缺乏對SCIM的統(tǒng)一認識和理解,所以不同廠商和研究人員從不同的角度對SCIM提出了自己的理解,其中以Michael Palmeter觀點較有代表性,他把SCIM分為以下5類。
●AS Internal Function:SCIM作為AS內(nèi)部的功能,作為request dispatcher存在。SCIM作為SIP AS的對外訪問入口,根據(jù)收到的SIP請求有選擇地調(diào)用各個業(yè)務(wù)。這種機制與AS的實現(xiàn)方式相關(guān),是私有的,大部分SIP應(yīng)用服務(wù)器都會提供類似的功能。
●SIP Broker:主要用于在外部管理SIP應(yīng)用服務(wù)器之間的交互,可能有復(fù)雜的路由和排序規(guī)則引擎,其功能類似于S-CSCF的業(yè)務(wù)觸發(fā)功能。
●Service Broker:解決業(yè)務(wù)能力的交互問題,業(yè)務(wù)能力需要使用WSDL和SOAP抽象并開放出來,SCIM將業(yè)務(wù)之間的交互看作是業(yè)務(wù)流程組合。
●Legacy/NGN:解決SIP和傳統(tǒng)信令系統(tǒng)之間的交互。傳統(tǒng)系統(tǒng)接口之間的區(qū)別很大,業(yè)務(wù)實現(xiàn)基于網(wǎng)絡(luò)設(shè)備商的私有平臺,因此這種SCIM估計不會是一種通用的解決方案,這種SCIM除了觸發(fā)和路由機制外還需要有協(xié)議的映射機制。
●Service-Type Optimized:針對一種特定的服務(wù)類型而不是一組特定的實現(xiàn)技術(shù)進行了優(yōu)化的SCIM。SCIM負責(zé)把特定的服務(wù)類型和一系列與其相關(guān)的服務(wù)組件集成,從而提供可定制的服務(wù),例如,“電話”SCIM將與一些和電話相關(guān)的組件集成,這些組件支持媒體類型協(xié)商,用于電話的媒體服務(wù)器的控制、呼叫轉(zhuǎn)移、呼叫等待、呼叫保留等標準過程。“電話”SCIM可以用來專門提供和電話業(yè)務(wù)相關(guān)的業(yè)務(wù)組合能力。
3GPP組織對SCIM的功能和控制流程進行了進一步研究,在TR 23.810中對Service Broker(即SCIM)的功能需求以及部分交互流程的控制方式和改進方式提出了建議。
3.1 Service Broker的功能需求
從總體上說,Service Broker提供一個可管理、可控制的手段讓多個業(yè)務(wù)按照用戶預(yù)想的方式執(zhí)行。它掌握用戶的業(yè)務(wù)訂購情況,明確這些業(yè)務(wù)該按照何種順序被觸發(fā),并且能夠?qū)Υ嬖跊_突的業(yè)務(wù)進行協(xié)調(diào)。
對于Service Broker功能上的需求目前達成共識的主要有以下幾點:
●盡可能減小因Service Broker的引入而對IMS核心網(wǎng)造成的影響;
●Service Broker必須采用靈活的架構(gòu)以便能夠應(yīng)付新業(yè)務(wù)之間的交互問題;
●支持業(yè)務(wù)交互,即業(yè)務(wù)組合以及避免業(yè)務(wù)沖突;
●Service Broker應(yīng)能夠管理IMS應(yīng)用與非IMS應(yīng)用之間的交互;
●支持傳統(tǒng)智能網(wǎng)與IMS業(yè)務(wù)的交互;
●支持不同接入方式的業(yè)務(wù)之間的交互,如UMTS、WiMAX、WLAN;
●支持SIP與非SIP業(yè)務(wù)之間交互;
●支持不同業(yè)務(wù)提供商的業(yè)務(wù)之間的交互;
●支持由用戶配置、控制業(yè)務(wù)交互的方式。
3.2 Service Broker實現(xiàn)方式
TR 23.810提出了Service Broker的3種實現(xiàn)方式,分別是集中控制、分布式控制、混合式控制(如圖1~3所示)。
圖1 集中控制
集中控制方式由一個Service Broker來協(xié)調(diào)控制所有業(yè)務(wù)之間的交互,S-CSCF把Service Broker視為AS,通過ISC接口與惟一的Service Broker聯(lián)系,Service Broker與AS之間的接口仍然是ISC接口,這種方式容易實現(xiàn),但是Service Broker容易成為網(wǎng)絡(luò)中的瓶頸。
圖2 分布式控制
分布式控制方式為每一個AS都配置一個Service Broker,S-CSCF把每個Service Broker都視作AS,通過ISC接口與其交互。S-CSCF將請求觸發(fā)給Service Broker,AS執(zhí)行完后,Service Broker可以向S-CSCF發(fā)送sFC(subsequent filter criteria)以指示S-CSCF該如何觸發(fā)接下來的業(yè)務(wù),這樣Service Broker可以根據(jù)沖突關(guān)系,動態(tài)地將后續(xù)業(yè)務(wù)排除出業(yè)務(wù)鏈,這種方式可以解決集中式方式的瓶頸問題,但是實現(xiàn)較為復(fù)雜,控制流程也較難設(shè)計。
混合式控制結(jié)合了上述兩種方式,即有的Service Broker管理多個AS之間的業(yè)務(wù)交互,而有的Service Broker只和一個AS交互。在這種模式下,Service Broker不但要管理由它控制的AS之間的業(yè)務(wù)交互,還要管理屬于不同Service Broker的AS之間的業(yè)務(wù)交互。圖3(a)、(b)是兩種可能的實現(xiàn)方式。
圖3 混合控制
3.3 交互流程改進
影響SCIM實際應(yīng)用的重要原因之一是SCIM的處理流程并不規(guī)范和統(tǒng)一,這不僅使SCIM對于業(yè)務(wù)交互的處理范圍、處理方式都“無章可循”,而且SCIM與網(wǎng)絡(luò)中其他實體之間也難以互通。TR 23.810中對部分實際遇到的交互問題提出了改進意見,這其中一部分改進可以由SCIM來完成,另一部分可以脫離SCIM,直接改進現(xiàn)網(wǎng)中的設(shè)備。
3.3.1 請求URI被修改的情況
SIP請求中的請求URI實際承擔(dān)著兩種角色:一是代表被服務(wù)的對象,被叫側(cè)S-CSCF根據(jù)請求URI中所指示的共有用戶標識進行iFC觸發(fā);二是代表著會話的目的地址,S-CSCF根據(jù)請求URI所指示的共有用戶標識來進行路由,然而在業(yè)務(wù)觸發(fā)階段,某個AS可能改變了請求消息中的請求URI,結(jié)果S-CSCF將消息發(fā)往新的目的地,這導(dǎo)致后續(xù)本該被觸發(fā)的AS無法被正常觸發(fā)。因此,TR 23.810建議將請求URI所承擔(dān)的這兩種角色分離,S-CSCF根據(jù)當(dāng)前服務(wù)URI進行業(yè)務(wù)觸發(fā),針對目的地URI進行呼叫路由。
3.3.2 對沖突業(yè)務(wù)劃分等價類
在一次會話中觸發(fā)的業(yè)務(wù)之間可能存在著沖突,通過在iFC中引入指示業(yè)務(wù)之間沖突關(guān)系的信息,可以避免互相沖突的業(yè)務(wù)被引入到同一個會話中。實現(xiàn)方法是將所有的iFC按照所觸發(fā)的業(yè)務(wù)間的相容關(guān)系劃分為若干個等價類,每條iFC中有專門的字段指示該iFC所屬的等價類,等價類之間可能存在沖突。S-CSCF在判斷是否觸發(fā)某條iFC之前,需要斷定是否有與該iFC所處等價類相沖突的某條iFC已經(jīng)被執(zhí)行,若已執(zhí)行,則S-CSCF不能觸發(fā)目前的iFC。
此外,S-CSCF必須能夠判斷一個業(yè)務(wù)的觸發(fā)以及執(zhí)行情況,以便確定沖突的業(yè)務(wù)是否已經(jīng)執(zhí)行。如果一個業(yè)務(wù)的iFC沒有被匹配,或者iFC匹配了,但是AS返回一個錯誤響應(yīng)或者沒有返回響應(yīng),在這種情況下,S-CSCF視該業(yè)務(wù)執(zhí)行失敗。另外,即使S-CSCF觸發(fā)了某個AS,并且AS也將請求消息返回給S-CSCF,也不能表明AS執(zhí)行了該業(yè)務(wù)。因為AS是否執(zhí)行還可能取決于與具體業(yè)務(wù)相關(guān)的用戶數(shù)據(jù)配置情況。為了判斷AS是否成功執(zhí)行了業(yè)務(wù),可以讓S-CSCF在觸發(fā)時添加一個標簽,如果AS成功執(zhí)行,則在返回的請求消息中繼續(xù)保存該標簽,如果AS沒有執(zhí)行,則在返回的請求消息中刪除該標簽,S-CSCF據(jù)此判定AS是否成功執(zhí)行了業(yè)務(wù),并判定下一個不相容的業(yè)務(wù)是否可以被觸發(fā)。
3.3.3 AS返回錯誤響應(yīng)情況下的改進
當(dāng)某個AS返回一個錯誤響應(yīng)的時候,S-CSCF會立刻將響應(yīng)送回主叫方,而不會繼續(xù)匹配剩下的iFC,后續(xù)原本可以執(zhí)行的AS將由于之前AS的錯誤而失去了執(zhí)行機會。然而在許多情況下,S-CSCF可以在前面的AS返回錯誤響應(yīng)時,繼續(xù)觸發(fā)后續(xù)AS。為此,可以在iFC中設(shè)置某個選項,以決定在先前AS返回錯誤響應(yīng)時是否還要繼續(xù)觸發(fā),若要繼續(xù)觸發(fā),則S-CSCF將根據(jù)原始的請求消息對下一條iFC進行匹配。
3.3.4 擴充SPT
目前的SPT定義了5個觸發(fā)點類型,然而某些業(yè)務(wù)的觸發(fā)需要考察終端的能力,例如CSI業(yè)務(wù),為了解決這種情況下的問題,擴充了一個新的觸發(fā)點類型:終端能力。用戶在注冊過程中將終端能力通知S-CSCF,如果業(yè)務(wù)需要,S-CSCF可以檢查終端能力是否匹配。
3.3.5 攜帶觸發(fā)的業(yè)務(wù)信息
在一般情況下,一個AS中可以部署多個業(yè)務(wù)。iFC中只標明了應(yīng)該觸發(fā)的AS的地址,而沒有指出具體業(yè)務(wù)名稱。這樣,當(dāng)請求到達AS的時候,AS并不知道究竟該觸發(fā)哪一個業(yè)務(wù)。為此,將iFC中AS地址改為“業(yè)務(wù)名稱@AS”的形式,并將它放置于S-CSCF傳給AS消息的Route頭域中,AS根據(jù)業(yè)務(wù)名稱來觸發(fā)相應(yīng)業(yè)務(wù)。
另外,如果用戶訂閱了一個AS中的多個業(yè)務(wù),并且這些業(yè)務(wù)的iFC優(yōu)先級是相鄰的,而S-CSCF針對每一個業(yè)務(wù)分別觸發(fā)一次,這樣消息將在S-CSCF與同一個AS之間來回多次,勢必造成不必要的延遲。因此可以考慮將原來各個業(yè)務(wù)的iFC歸并為一條,一次性觸發(fā)AS將多個業(yè)務(wù)執(zhí)行完畢后返回給S-CSCF。為此,需要iFC添加一個項,指示AS中哪些業(yè)務(wù)應(yīng)該被一次性執(zhí)行以及執(zhí)行順序。
4、結(jié)束語
業(yè)務(wù)交互問題是影響IMS實際部署和運營的一個重要問題。合理有效地解決業(yè)務(wù)交互問題,不僅可以快速、經(jīng)濟地提供新業(yè)務(wù),還可以減少業(yè)務(wù)之間的沖突,從正反兩方面共同提高用戶滿意度。但是,由于業(yè)務(wù)交互問題自身的復(fù)雜性,特別是業(yè)務(wù)沖突問題目前仍然處于研究階段,離實際應(yīng)用還有一段距離。目前常采用的沖突檢測和解決方法仍然是通過人工方式識別沖突,然后修改業(yè)務(wù)邏輯或部署方式來解決,而業(yè)務(wù)協(xié)作方面的研究相對更為成熟,所以如何通過SCIM來組合已有業(yè)務(wù)能力,是目前的研究熱點之一。