IETF定義了一整套基礎(chǔ)協(xié)議包括SIP、SDP(會(huì)話描述協(xié)議)、RTP/RTCP(實(shí)時(shí)傳送協(xié)議/實(shí)時(shí)控制協(xié)議)、SCTP(流控制傳輸協(xié)議)和XCAP(XML配置接入?yún)f(xié)議)等,作為IMS客戶端的基本協(xié)議簇。SIP用于兩個(gè)或者多個(gè)IP節(jié)點(diǎn)間會(huì)話的建立、維護(hù)和拆除,可以運(yùn)行在可靠的傳輸層(如TCP和SCTP)上或者非可靠的傳輸層(如UDP)上。SIP的擴(kuò)展很多,比如SIP消息類型的增加(如Update、Refer、Publish、Notify等)、Simple、SIP信令壓縮、用于3GPP的私有包頭擴(kuò)展、認(rèn)證和安全機(jī)制等。在實(shí)現(xiàn)IMS客戶端時(shí),這些SIP擴(kuò)展的部分都應(yīng)當(dāng)有所考慮。SDP是一種應(yīng)用層協(xié)議,用來(lái)描述媒體會(huì)話能力、媒體格式、媒體流地址和端口等信息。RTP是用于端到端傳遞實(shí)時(shí)數(shù)據(jù)的協(xié)議,RTCP用于實(shí)時(shí)數(shù)據(jù)的服務(wù)質(zhì)量監(jiān)控。XCAP允許用戶上傳信息到XCAP服務(wù)器,通過(guò)HTTP更改、增加和刪除存儲(chǔ)在服務(wù)器上的XML文檔。XCAP復(fù)用了HTTP中的Get、Put和Delete方法來(lái)獲取、更改/增加和刪除XML文檔。通過(guò)一套巧妙的方法,將XML文檔的存儲(chǔ)路徑和文檔中的條目、元素和屬性映射到HTTP中的URL路徑。目前,XCAP在IETF中仍處于草案階段。
OMA主要定義移動(dòng)服務(wù)規(guī)范,以確保運(yùn)營(yíng)商之間和終端之間端到端服務(wù)的互連性。OMA提出了一系列基于IMS的服務(wù)應(yīng)用,每種應(yīng)用都包含了客戶端的功能列表、協(xié)議要求、與應(yīng)用服務(wù)器之間的交互等。
通過(guò)對(duì)于IMS客戶端相關(guān)規(guī)范的研究與分析,可以看出IETF提供了IMS客戶端所需要的協(xié)議部分,包括詳細(xì)的SIP信令消息交互,服務(wù)參數(shù)協(xié)商、媒體流的建立、XML文檔的交互等。3GPP和OMA提供了IMS客戶端所需要的服務(wù)引擎,與不同應(yīng)用服務(wù)器之間的交互方式以及如何接入到IMS網(wǎng)絡(luò)等。JCP提供了一整套IMS客戶端上Java應(yīng)用程序所需的標(biāo)準(zhǔn)Java應(yīng)用編程接口。由此可以總結(jié)歸納出IMS客戶端軟件架構(gòu)參考,具體參見(jiàn)圖2。
通過(guò)研究可以發(fā)現(xiàn),IMS客戶端和一般的SIP客戶端有許多不同之處,它相比一般的SIP客戶端而言需要支持更多的功能,也更加復(fù)雜,對(duì)于IMS終端的要求也更高。其中關(guān)鍵的一點(diǎn)是IMS客戶端必須符合IMS相關(guān)規(guī)范,才能夠接入到IMS網(wǎng)絡(luò)。為用戶提供一系列的IMS服務(wù)。
前提條件下的QoS保證是指在會(huì)話建立過(guò)程中,必須在確保雙方端到端的服務(wù)質(zhì)量所需的媒體資源得以預(yù)留后,才能成功地建立起會(huì)話。比如在視頻呼叫建立中,該機(jī)制用以驗(yàn)證會(huì)話中是否已經(jīng)獲得恰當(dāng)?shù)亩说蕉朔⻊?wù)質(zhì)量。但是,這種機(jī)制比較復(fù)雜,延長(zhǎng)了會(huì)話建立的時(shí)間。因此,僅在必要的時(shí)候,IMS客戶端才會(huì)打開(kāi)這種機(jī)制。
語(yǔ)音控制連續(xù)性(voice call continuity,VCC)是3GPP提出的解決CS域通話和IMS域會(huì)話之間的語(yǔ)音無(wú)縫切換的標(biāo)準(zhǔn)。支持VCC服務(wù)的IMS客戶端和呼叫連續(xù)控制服務(wù)器配合,能保證用戶進(jìn)入和離開(kāi)家庭或者辦公室里的WLAN(無(wú)線局域網(wǎng))時(shí)仍然能保持IMS域或CS域語(yǔ)音呼叫的連續(xù)性。但是這種服務(wù)要求IMS終端具備多種無(wú)線接入能力,如GSM/WLAN雙模終端就具備這樣的物理?xiàng)l件。
IMS客戶端軟件開(kāi)發(fā)應(yīng)當(dāng)遵照相關(guān)標(biāo)準(zhǔn)組織的協(xié)議與規(guī)范進(jìn)行,特別是協(xié)議層的一致性,需要嚴(yán)格按照IETF中的規(guī)定去解析和組織SIP包頭。但是,如果還沒(méi)有提出相關(guān)的標(biāo)準(zhǔn)或者標(biāo)準(zhǔn)還沒(méi)有完全被定義好,一些私有的解決方案也是可行的,因?yàn)闃?biāo)準(zhǔn)總會(huì)存在一定的滯后。對(duì)SIP包頭和攜帶的文檔一些域進(jìn)行私有定義以及通過(guò)XCAP中交互的XML文檔中一些字段的私有定義,可以實(shí)現(xiàn)一些IMS服務(wù)的創(chuàng)新。
由于手機(jī)上的CPU、內(nèi)存、電池等資源都是有限的,IMS客戶端軟件中的關(guān)鍵部分應(yīng)當(dāng)注意實(shí)現(xiàn)性能上的優(yōu)化,如對(duì)內(nèi)存的分配機(jī)制、電源管理、XML文檔解析器算法優(yōu)化等。
目前,業(yè)界在IMS客戶端的實(shí)際產(chǎn)品開(kāi)發(fā)方面較之IMS網(wǎng)絡(luò)要滯后一些,但仍然已取得許多成果,如愛(ài)立信已經(jīng)推出了基于愛(ài)立信移動(dòng)平臺(tái)的IMS客戶端,實(shí)現(xiàn)了weShare(語(yǔ)音和多媒體共享業(yè)務(wù));美國(guó)Ecrio公司推出了手機(jī)IMS框架軟件,集成多種IMS功能,并提供了IMS軟件開(kāi)發(fā)包。隨著IMS網(wǎng)絡(luò)測(cè)試和今后IMS網(wǎng)絡(luò)部署的展開(kāi),可以預(yù)見(jiàn),IMS客戶端逐漸會(huì)成為開(kāi)發(fā)和研究的熱點(diǎn)。
隨著IMS應(yīng)用的增加和豐富,IMS客戶端軟件會(huì)變得越來(lái)越復(fù)雜,對(duì)IMS終端的要求也會(huì)更高。比如對(duì)多線程和多任務(wù)的需要,這要求IMS終端是一個(gè)智能終端,比較低端的手機(jī)可能不支持這樣的特性。如果IMS客戶端支持CSI,IMS終端就必須支持DTM模式或者具備MultiRAB能力。如果IMS客戶端支持VCC或者一些固定移動(dòng)網(wǎng)絡(luò)融合服務(wù),IMS終端必須是一個(gè)多模終端,包含多個(gè)無(wú)線空中接口。如果IMS客戶端必須支持IPSec和包壓縮,IMS終端可能需要更強(qiáng)的CPU/DSP和更多的內(nèi)存來(lái)處理復(fù)雜運(yùn)算,因此,來(lái)自芯片制造商對(duì)IMS終端中的某些特性的硬件支持將有助于IMS終端的性能增強(qiáng)。
IMS客戶端中仍有大量的課題有待研究。在IMS客戶端協(xié)議棧中SIP和XCAP都是基于文本的信令協(xié)議,需要大量的文本解析工作,SIP和XML解析器的性能和效率變得尤為重要,因此如何優(yōu)化解析器算法就是一個(gè)需要解決的課題。IMS客戶端的安全和認(rèn)證機(jī)制也是比較復(fù)雜的,不同的接入方式有完全不同的安全和認(rèn)證要求,同時(shí)上層各種IMS應(yīng)用也有不同的服務(wù)級(jí)的安全要求,如何整合和實(shí)現(xiàn)這些功能也是需要解決的問(wèn)題。IMS客戶端的用戶設(shè)備能力管理也是很重要的,這些能力包括設(shè)備能力、網(wǎng)絡(luò)能力和用戶服務(wù)屬性等,這些能力可以是預(yù)設(shè)的,可以是存儲(chǔ)在網(wǎng)絡(luò)側(cè)的,也可以是通過(guò)會(huì)話協(xié)商獲得的。IMS客戶端的復(fù)雜性和多樣性決定了IMS客戶端的一致性測(cè)試和互聯(lián)性測(cè)試是今后要面臨的重大課題,互聯(lián)性沒(méi)有很好地解決將會(huì)影響IMS技術(shù)和網(wǎng)絡(luò)的發(fā)展。
隨著IMS技術(shù)和應(yīng)用的日漸成熟與推廣,對(duì)IMS客戶端相關(guān)技術(shù)以及軟件的設(shè)計(jì)實(shí)現(xiàn)方式等課題的深入研究,將會(huì)對(duì)有關(guān)設(shè)備生產(chǎn)商及電信運(yùn)營(yíng)商等具有重要的參考借鑒意義。
中國(guó)聯(lián)通網(wǎng)站