IMS客戶端技術(shù)標準及軟件特性分析
2007/04/23
當前對IMS(IP多媒體子系統(tǒng))技術(shù)的探討主要集中在網(wǎng)絡側(cè)上,而缺少對IMS客戶端的研究。本文針對IETF、3GPP、OMA(開放移動聯(lián)盟)、JCP等國際標準組織中IMS客戶端的相關(guān)規(guī)范進行了研究和分析,給出IMS客戶端的定義和IMS客戶端軟件架構(gòu)設計參考,指出IMS客戶端區(qū)別于傳統(tǒng)SIP客戶端的一些特點以及在IMS客戶端軟件開發(fā)中應當注意的一些關(guān)鍵問題。圖1 3GPP中IMS網(wǎng)絡和IMS客戶端間的接口
3GPP中也定義了一些服務所需的IMS架構(gòu)和功能,如呈現(xiàn)、即時消息、組管理、會議等服務。
2.3 OMA中IMS客戶端相關(guān)規(guī)范
OMA主要定義移動服務規(guī)范,以確保運營商之間和終端之間端到端服務的互連性。OMA提出了一系列基于IMS的服務應用,每種應用都包含了客戶端的功能列表、協(xié)議要求、與應用服務器之間的交互等。
OMA中呈現(xiàn)和可用性工作組定義了Presence Simple服務。呈現(xiàn)功能是許多IMS應用的基礎。IMS客戶端既是呈現(xiàn)者也是觀察者。呈現(xiàn)者是信息源,提供呈現(xiàn)信息給呈現(xiàn)服務器;觀察者則請求獲取關(guān)于呈現(xiàn)者的呈現(xiàn)信息。呈現(xiàn)服務器存儲訂閱者和產(chǎn)生呈現(xiàn)信息改變通知。呈現(xiàn)信息包括網(wǎng)絡信息、用戶當前的狀態(tài),也包括用戶終端的能力等。有些呈現(xiàn)信息是網(wǎng)絡側(cè)提供的,如用戶是否已經(jīng)注冊;有些是呈現(xiàn)者提供的,如呈現(xiàn)者設置的通信偏好。呈現(xiàn)者的狀態(tài)只能被已授權(quán)的觀察者看到,因此當某個觀察者想訂閱某個用戶的狀態(tài)信息時,需要呈現(xiàn)者的確認,呈現(xiàn)者有權(quán)拒絕觀察者的訂閱請求。觀察者一般通過一個資源列表訂閱一組呈現(xiàn)者的呈現(xiàn)服務,由資源列表服務器再向呈現(xiàn)服務器逐個訂閱呈現(xiàn)信息,這樣能夠減少IMS客戶端的負擔和網(wǎng)絡負載。在協(xié)議方面,呈現(xiàn)者通過Publish方法發(fā)布自己當前的狀態(tài),觀察者通過Subscribe訂閱呈現(xiàn)服務,呈現(xiàn)服務器通過Notify通知觀察者其訂閱用戶的狀態(tài)信息改變,呈現(xiàn)者也可以通過Subscribe訂閱能獲取其呈現(xiàn)信息的觀察者列表。資源列表和呈現(xiàn)服務授權(quán)是通過XCAP實現(xiàn)的。每個資源列表和呈現(xiàn)服務授權(quán)都是一個單獨的XML文檔,IMS客戶端可以通過XCAP生成和修改這些文檔。IMS客戶端需要一個友好的人機界面,同時需要實現(xiàn)相應的SIP消息類型擴展和XCAP,才能給用戶提供一個完整的呈現(xiàn)服務。
OMA中消息工作組定義了IM Simple服務,它允許實時地交換用戶之間的即時信息。IMS中消息分為直接消息和基于會話的消息。直接消息是通過IMS客戶端直接發(fā)送和接收消息實現(xiàn)的(RFC
3428),它適用于像短信這樣單獨的短消息通信。基于會話的消息是通過Invite發(fā)起MSRP(message session relay protocol)信道協(xié)商,所有消息通過MSRP建立的信道傳送,它適合于交互式的文本會話,如聊天。IM服務一般和呈現(xiàn)服務結(jié)合起來使用。通過呈現(xiàn)服務,用戶可以將自己的好友分成不同組,并能實時地看到好友的信息。用戶可以根據(jù)好友的狀態(tài)發(fā)送即時消息。IMS客戶端可以實現(xiàn)簡單的IM服務,如只是通過消息方法進行在線即時通信,也可以增加更復雜的功能,如聊天室、會議聊天、消息歷史存儲、延遲消息等功能的支持。
OMA中移動一鍵通(push to talk over cellular,PoC)工作組定義了一鍵通服務。提供PoC服務的IMS客戶端能實現(xiàn)基于分組交換、半雙工的VoIP方案。它用SIP作為信令,用RTP傳輸語音數(shù)據(jù),同時它需要復用呈現(xiàn)和組管理功能來實現(xiàn)PoC服務。PoC應該是現(xiàn)實世界中第一個基于IMS的應用,因為Presence和IM應用最初是基于XMPP(可擴展消息和呈現(xiàn)協(xié)議),后來又是基于IMPS(即時消息和呈現(xiàn)業(yè)務)協(xié)議實現(xiàn)。
OMA中呈現(xiàn)和可用性工作組還定義了XML文檔管理服務。用戶可以通過IMS客戶端定位、存取和處理可被其他的服務引擎所存取的用戶和服務相關(guān)信息,存儲和處理以XML文檔形式保存在網(wǎng)絡上的服務相關(guān)的數(shù)據(jù),也可以通過SIP來訂閱和通知文檔變更。該服務集成了其他IMS服務中的XML文檔管理功能。XML文檔管理功能包括:共享XML文檔、呈現(xiàn)XML文檔、資源列表XML文檔、即時消息XML文檔、PoC
XML文檔管理等。
OMA還成立了一個名叫融合IP消息的新工作組。具有這種功能的IMS客戶端將對短信、彩信、即時消息、移動、一鍵通等這些傳統(tǒng)的消息方式進行整合。這些傳統(tǒng)的消息方式都是基于IP支持固定和移動網(wǎng)絡傳輸,基于呈現(xiàn)服務支持多媒體,并且與一個統(tǒng)一的地址簿集成,能保持一致的用戶體驗,其具體的技術(shù)方案還在制定之中。
2.4 JCP中IMS客戶端的相關(guān)規(guī)范
JCP是主要的Java標準組織,JSR(Java specification request)則定義了Java應用程序需調(diào)用的應用編程接口(API)。
JSR164規(guī)范提供給Java開發(fā)者基于Simple協(xié)議棧的一套標準API,用以開發(fā)基于呈現(xiàn)服務的Java程序。JSR165規(guī)范也提供給Java開發(fā)者基于Simple協(xié)議棧的一套標準API,用以開發(fā)基于即時消息服務的Java程序。而JSR180規(guī)范提供給Java開發(fā)者基于SIP協(xié)議棧的一套標準API,這套API屏蔽了SIP的許多實現(xiàn)細節(jié),開發(fā)者不需要對SIP有非常詳細的了解就能開發(fā)出基于SIP的諸多應用程序。
JSR281規(guī)范使應用開發(fā)者能很容易地開發(fā)出可以和IMS系統(tǒng)集成的應用程序,此規(guī)范以統(tǒng)一的高層API方式向用戶提供IMS的功能。這些API最大限度地隱藏了IMS實現(xiàn)細節(jié),抽象了下層技術(shù),同時提供給開發(fā)者最大的靈活性。其API中至少支持3種類型的功能:高級IMS功能、PoC服務和組列表管理服務。JSR281規(guī)范目前沒有涉及在JSR164和JSR165中已經(jīng)定義了的呈現(xiàn)服務和即時消息服務。此規(guī)范還在制定過程中。
2.5 IMS客戶端的軟件架構(gòu)
通過對于IMS客戶端相關(guān)規(guī)范的研究與分析,可以看出IETF提供了IMS客戶端所需要的協(xié)議部分,包括詳細的SIP信令消息交互,服務參數(shù)協(xié)商、媒體流的建立、XML文檔的交互等。3GPP和OMA提供了IMS客戶端所需要的服務引擎,與不同應用服務器之間的交互方式以及如何接入到IMS網(wǎng)絡等。JCP提供了一整套IMS客戶端上Java應用程序所需的標準Java應用編程接口。由此可以總結(jié)歸納出IMS客戶端軟件架構(gòu)參考,具體參見圖2。
圖2 IMS客戶端軟件架構(gòu)參考
IMS客戶端軟件架構(gòu)主要包括了:
(1)協(xié)議棧
IMS客戶端的底層是協(xié)議棧部分。它們大都是基于IETF標準的,包括SIP、SDP、HTTP、XCAP、RTP/RTCP、DNS、DHCP等。其中用于接入3GPP定義的IMS網(wǎng)絡所要求的那些SIP擴展部分也必須支持。
(2)引擎/使能器
服務引擎是提供應用編程接口給上層應用程序或者第三方應用開發(fā)的關(guān)鍵部分。根據(jù)其所提供服務的不同,可以包括不同的引擎,比如呈現(xiàn)引擎、即時消息引擎等。這些引擎主要是在OMA和3GPP中定義的,其中一些共同的部件包括會話/呼叫管理、注冊、認證、安全、配置、供給等。
(3)Java應用編程接口
這些應用程序接口被上層的Java應用程序所使用。Java應用程序給用戶提供了可以下載的更豐富且與操作系統(tǒng)無關(guān)的IMS應用。
(4)應用層/圖形界面
應用程序給用戶提供了GUI界面。GUI界面應當足夠的友好和方便,這樣才能更好地展現(xiàn)IMS服務和應用。
3、IMS客戶端區(qū)別于一般SIP客戶端的特性
通過研究可以發(fā)現(xiàn),IMS客戶端和一般的SIP客戶端有許多不同之處,它相比一般的SIP客戶端而言需要支持更多的功能,也更加復雜,對于IMS終端的要求也更高。其中關(guān)鍵的一點是IMS客戶端必須符合IMS相關(guān)規(guī)范,才能夠接入到IMS網(wǎng)絡。為用戶提供一系列的IMS服務。
(1)SIP擴展
IMS客戶端必須支持SIP擴展部分的有關(guān)規(guī)范,特別是3GPP所要求的那些SIP包頭擴展部分,這樣才能訪問IMS網(wǎng)絡。而一般SIP客戶端只需要支持RFC3261。
(2)認證機制
IMS標準中定義了不同的認證機制,如HTTP摘要(RFC2617)、IMS-AKA (RFC 3310和3GPP TS 33.203)和pre-IMS認證(3GPP
TR 33.878)等。IMS客戶端需要支持更安全的認證方式(如IMS-AKA)才能保證IMS終端和IMS網(wǎng)絡之間的安全訪問。
(3)IPSec
IPSec在IP層上提供了多種安全機制,用于保證用戶客戶端和安全網(wǎng)關(guān)之間的安全通信。在IMS客戶端和P-CSCF之間建立一個安全的IPSec通道,能確保IMS客戶端安全地接入到IMS網(wǎng)絡中,這個通道是在IMS注冊過程中建立起來的,而一般SIP客戶端不需要支持這種特性。
(4)包壓縮功能
SIP包壓縮能改善服務質(zhì)量,特別是在無線環(huán)境下大大縮短呼叫建立時間。通過壓縮網(wǎng)絡和傳輸協(xié)議中的包頭,能更有效地利用帶寬,對SIP/SDP消息的壓縮也提高了無線資源利用率。IMS客戶端一般都是通過移動無線方式接入IMS網(wǎng)絡的,所以包壓縮的功能是必須的。而一般SIP客戶端是通過寬帶接入,所以不需要支持這個特性。
(5)前提條件下的QoS保證
前提條件下的QoS保證是指在會話建立過程中,必須在確保雙方端到端的服務質(zhì)量所需的媒體資源得以預留后,才能成功地建立起會話。比如在視頻呼叫建立中,該機制用以驗證會話中是否已經(jīng)獲得恰當?shù)亩说蕉朔⻊召|(zhì)量。但是,這種機制比較復雜,延長了會話建立的時間。因此,僅在必要的時候,IMS客戶端才會打開這種機制。
(6)發(fā)現(xiàn)機制
P-CSCF是IMS客戶端訪問IMS網(wǎng)絡惟一的接入點,所有從IMS客戶端來的SIP信息都必須經(jīng)過P-CSCF。所以,在SIP信息發(fā)送前,IMS客戶端必須知道P-CSCF的地址。該地址不是預先配置好的,而是IMS客戶端通過發(fā)現(xiàn)機制而獲得的。這些機制包括基于OTA(空中下載)供給、基于GGSN(gateway
GPRS support node,GPRS網(wǎng)關(guān)支持節(jié)點)和基于DHCP的P-CSCF發(fā)現(xiàn)機制,除非是手工地配置P-CSCF信息,否則IMS客戶端必須支持這個功能。
(7)IPv4/v6的支持
一般SIP客戶端只支持IPv4,但是3GPP最初規(guī)定IMS客戶端應當支持IPv6。如果IMS核心網(wǎng)是IPv4和IPv6雙棧,只支持IPv4的IMS客戶端也能接入到這樣的IMS網(wǎng)絡中。
(8)ISIM卡的支持
IMS客戶端通過ISIM(IMS subscriber identity module)卡中的信息來認證和注冊到IMS網(wǎng)絡。ISIM卡中包括了用戶的私有身份、公共身份、家鄉(xiāng)域、密鑰等與認證和注冊相關(guān)的重要信息。如果是USIM(universal
subscriber identity module)卡,也可以通過相關(guān)的算法推導出類似信息。但是IMS終端種類是多樣性的,對非IMS移動終端,ISIM卡的支持不是必須的,可以通過其他方式實現(xiàn)IMS網(wǎng)絡認證和注冊。
(9)CS域和IMS的結(jié)合應用
3GPP中定義了CSI(combining CS bearer with IMS),即電路交換(circuit switch,CS)域和IMS的結(jié)合應用。IMS客戶端間語音呼叫仍然使用CS域,同時利用分組交換(packet
switch,PS)域傳送非實時媒體流。這樣能保證語音質(zhì)量,提高頻譜利用率,解決了目前通過GSM/UMTS傳送IP語音包而造成的語音質(zhì)量下降的問題。CSI的第一階段不涉及網(wǎng)絡側(cè),主要是IMS客戶端間交換終端能力,保持CS域和PS域的同時通信。但是這種服務需要IMS終端支持雙傳輸模式(dual
transfer mode,DTM)(如果是GERAN接入)或者是MultiRAB(multiple radio access bearer)能力(如果是UTRAN接入),這樣才能同時建立PS域會話和CS域通話。
(10)語音無縫切換
語音控制連續(xù)性(voice call continuity,VCC)是3GPP提出的解決CS域通話和IMS域會話之間的語音無縫切換的標準。支持VCC服務的IMS客戶端和呼叫連續(xù)控制服務器配合,能保證用戶進入和離開家庭或者辦公室里的WLAN(無線局域網(wǎng))時仍然能保持IMS域或CS域語音呼叫的連續(xù)性。但是這種服務要求IMS終端具備多種無線接入能力,如GSM/WLAN雙模終端就具備這樣的物理條件。
4、IMS客戶端軟件開發(fā)中需注意的問題
通過對IMS客戶端相關(guān)標準與技術(shù)的研究,以下幾點被認為是在IMS客戶端軟件開發(fā)中應當注意的方面:
(1)符合標準及協(xié)議的一致性
IMS客戶端軟件開發(fā)應當遵照相關(guān)標準組織的協(xié)議與規(guī)范進行,特別是協(xié)議層的一致性,需要嚴格按照IETF中的規(guī)定去解析和組織SIP包頭。但是,如果還沒有提出相關(guān)的標準或者標準還沒有完全被定義好,一些私有的解決方案也是可行的,因為標準總會存在一定的滯后。對SIP包頭和攜帶的文檔一些域進行私有定義以及通過XCAP中交互的XML文檔中一些字段的私有定義,可以實現(xiàn)一些IMS服務的創(chuàng)新。
(2)保證與IMS網(wǎng)絡和終端的互聯(lián)互通性
IMS客戶端軟件應當和不同的IMS網(wǎng)絡提供商的應用服務器以及其他的IMS客戶端軟件進行互聯(lián)互通測試,從而保證客戶端具有良好的互連性。IMS客戶端的復雜性決定了IMS客戶端間互聯(lián)互通的重要性。不同的IMS客戶端可以支持不同的特性,但是應當保持相同功能特性間的互通。比如具備CSI的IMS客戶端仍然可以和不具備CSI的IMS客戶端進行PS域的會話連接。
(3)保持系統(tǒng)的可擴展性
IMS客戶端的功能和特性還在不停地變化與演進中,因此,應當確保IMS客戶端軟件架構(gòu)設計中的可擴展性和靈活性,以方便新的特性和引擎的加入。如果IMS客戶端軟件架構(gòu)合理,當有新的協(xié)議和引擎加入時,只需增加相應的功能模塊,而不需要對已有的功能模塊做較大的改動就可以增加新的IMS服務。
(4)實現(xiàn)軟件性能優(yōu)化
由于手機上的CPU、內(nèi)存、電池等資源都是有限的,IMS客戶端軟件中的關(guān)鍵部分應當注意實現(xiàn)性能上的優(yōu)化,如對內(nèi)存的分配機制、電源管理、XML文檔解析器算法優(yōu)化等。
(5)提供軟件平臺的開放性
IMS客戶端軟件應該能夠提供相關(guān)的應用編程接口給第三方軟件開發(fā)者。由于IMS服務是多樣性的,IMS客戶端提供的這些接口會有助于更多的軟件開發(fā)人員更快地開發(fā)出更多創(chuàng)新的IMS應用程序。IMS客戶端軟件在提供接口的開放度和靈活性將有所權(quán)衡。JCP中的JSR281為IMS客戶端軟件的API開發(fā)提供了一個很好的參考。
(6)具有操作系統(tǒng)無關(guān)性
IMS客戶端軟件應盡量保持與操作系統(tǒng)的無關(guān)性,這樣軟件會很容易地被移植到其他的操作系統(tǒng),如Windows Mobile、Symbian、Linux或者一些專有的操作系統(tǒng)。這需要在軟件架構(gòu)設計中將與系統(tǒng)相關(guān)的部分盡可能地分離出來。比如IMS客戶端中的引擎和協(xié)議棧部分應盡量保持系統(tǒng)無關(guān)性,但是人機界面部分一般在不同的系統(tǒng)中都需要重新實現(xiàn)。系統(tǒng)無關(guān)部分調(diào)用相同的消息通信、內(nèi)存分配、文件管理、信號管理等應用編程接口,然后根據(jù)不同的操作系統(tǒng)重新編寫這些API。這種方法能很好地解決IMS客戶端的軟件移植問題。
(7)支持傳輸層無關(guān)性
由于手機上的CPU、內(nèi)存、電池等資源都是有限的,IMS客戶端軟件中的關(guān)鍵部分應當注意實現(xiàn)性能上的優(yōu)化,如對內(nèi)存的分配機制、電源管理IMS客戶端應當支持不同的傳輸方式,如GPRS、xDSL、Wi-Fi、WiMax等接入方式,并盡量保持接入方式的無關(guān)性,但是不同的接入方式也會直接影響到IMS客戶端的行為。比如通過GPRS接入,就存在主和從PDP(Packet
data protocol)上下文激活問題、在PDP上下文激活時獲得P-CSCF地址問題、SIP包壓縮問題等。如果是通過Wi-Fi接入,就不存在這些問題。如果IMS終端是雙模,其接入方式發(fā)生轉(zhuǎn)換時也會對IMS客戶端產(chǎn)生影響。在設計IMS客戶端軟件時應當適當考慮這些情況。
5、結(jié)束語
目前,業(yè)界在IMS客戶端的實際產(chǎn)品開發(fā)方面較之IMS網(wǎng)絡要滯后一些,但仍然已取得許多成果,如愛立信已經(jīng)推出了基于愛立信移動平臺的IMS客戶端,實現(xiàn)了weShare(語音和多媒體共享業(yè)務);美國Ecrio公司推出了手機IMS框架軟件,集成多種IMS功能,并提供了IMS軟件開發(fā)包。隨著IMS網(wǎng)絡測試和今后IMS網(wǎng)絡部署的展開,可以預見,IMS客戶端逐漸會成為開發(fā)和研究的熱點。
隨著IMS應用的增加和豐富,IMS客戶端軟件會變得越來越復雜,對IMS終端的要求也會更高。比如對多線程和多任務的需要,這要求IMS終端是一個智能終端,比較低端的手機可能不支持這樣的特性。如果IMS客戶端支持CSI,IMS終端就必須支持DTM模式或者具備MultiRAB能力。如果IMS客戶端支持VCC或者一些固定移動網(wǎng)絡融合服務,IMS終端必須是一個多模終端,包含多個無線空中接口。如果IMS客戶端必須支持IPSec和包壓縮,IMS終端可能需要更強的CPU/DSP和更多的內(nèi)存來處理復雜運算,因此,來自芯片制造商對IMS終端中的某些特性的硬件支持將有助于IMS終端的性能增強。
IMS客戶端中仍有大量的課題有待研究。在IMS客戶端協(xié)議棧中SIP和XCAP都是基于文本的信令協(xié)議,需要大量的文本解析工作,SIP和XML解析器的性能和效率變得尤為重要,因此如何優(yōu)化解析器算法就是一個需要解決的課題。IMS客戶端的安全和認證機制也是比較復雜的,不同的接入方式有完全不同的安全和認證要求,同時上層各種IMS應用也有不同的服務級的安全要求,如何整合和實現(xiàn)這些功能也是需要解決的問題。IMS客戶端的用戶設備能力管理也是很重要的,這些能力包括設備能力、網(wǎng)絡能力和用戶服務屬性等,這些能力可以是預設的,可以是存儲在網(wǎng)絡側(cè)的,也可以是通過會話協(xié)商獲得的。IMS客戶端的復雜性和多樣性決定了IMS客戶端的一致性測試和互聯(lián)性測試是今后要面臨的重大課題,互聯(lián)性沒有很好地解決將會影響IMS技術(shù)和網(wǎng)絡的發(fā)展。
隨著IMS技術(shù)和應用的日漸成熟與推廣,對IMS客戶端相關(guān)技術(shù)以及軟件的設計實現(xiàn)方式等課題的深入研究,將會對有關(guān)設備生產(chǎn)商及電信運營商等具有重要的參考借鑒意義。
中國聯(lián)通網(wǎng)站
兩種針對VoWLAN的不同解決方案 2007-04-20 |
博思艾倫咨詢:融合引發(fā)電信市場變革 2007-04-20 |
基于軟交換技術(shù)的網(wǎng)絡融合技術(shù)分析 2007-04-18 |
韋樂平:寬帶應用與IPTV的發(fā)展 2007-04-18 |
數(shù)字化、融合通訊能力——固話產(chǎn)業(yè)發(fā)展的必然趨勢 2007-04-18 |