摘要 利用IMS和SIP實(shí)現(xiàn)即時(shí)消息是一種發(fā)展方向。目前利用IMS實(shí)現(xiàn)即時(shí)消息有兩種方法,它們各自的特點(diǎn)決定了它們?cè)趹?yīng)用場(chǎng)合上各有傾向性。本文從實(shí)現(xiàn)機(jī)制入手,對(duì)這兩種技術(shù)進(jìn)行了分析比較,特別是比較了它們?cè)谙⒐芾、消息分發(fā)、消息存儲(chǔ)和隱私保護(hù)實(shí)現(xiàn)方面的差異,從而指出它們?cè)趹?yīng)用上的特點(diǎn)。
1、引言
即時(shí)消息是將接收到的發(fā)送者發(fā)來(lái)的信息非存儲(chǔ)地轉(zhuǎn)發(fā)給接收者的一種服務(wù),與電子郵件的消息的不同在于即時(shí)消息是直接在接收端與發(fā)送端之間交互的。
SIP(會(huì)話啟始協(xié)議)的機(jī)制非常適合實(shí)現(xiàn)即時(shí)消息;赟IP的IMS(IP多媒體子系統(tǒng))架構(gòu)為即時(shí)消息構(gòu)建了一種很好的實(shí)現(xiàn)環(huán)境。在IMS環(huán)境中,即時(shí)消息的實(shí)現(xiàn)基本上有兩種方法,一種是基于IMS的Message方法,另一種是基于IMS會(huì)話機(jī)制實(shí)現(xiàn)的方法,它們都是在3GPP TS 22.228定義的IMS能力架構(gòu)下實(shí)現(xiàn)的。
在IMS的Message方法機(jī)制下,接收者可以實(shí)時(shí)或準(zhǔn)實(shí)時(shí)地接收到消息。而在基于會(huì)話的機(jī)制下,用戶接收到的消息一般是準(zhǔn)實(shí)時(shí)的,接收者和發(fā)送者之間首先必須建立會(huì)話連接(這種消息會(huì)話成為聊天室),然后才可以進(jìn)行消息的傳送。
OMA、3GPP、IETF 3大標(biāo)準(zhǔn)組織對(duì)移動(dòng)IMS消息業(yè)務(wù)都做了定義,但各自涉及的面不同,OMA主要關(guān)注于業(yè)務(wù)需求方面,3GPP/3GPP2主要關(guān)注網(wǎng)絡(luò)架構(gòu)實(shí)現(xiàn)方面,而IETF關(guān)注具體實(shí)現(xiàn)的協(xié)議技術(shù)細(xì)節(jié)。
在2007年3月3GPP標(biāo)準(zhǔn)組提交的標(biāo)準(zhǔn)化文檔TS 22.340中,對(duì)上述兩種實(shí)現(xiàn)方法對(duì)網(wǎng)絡(luò)的要求進(jìn)行了明確的規(guī)定。
2、IMS實(shí)現(xiàn)即時(shí)消息的基礎(chǔ)——SIP
SIP是由IETF提出的IP信令協(xié)議,它的主要目的是為了解決IP網(wǎng)中多媒體會(huì)話的信令控制。
SIP用于發(fā)起會(huì)話,它能控制有多個(gè)參與者參加的多媒體會(huì)話的建立、修改和終結(jié),并能動(dòng)態(tài)調(diào)整和修改會(huì)話屬性,如會(huì)話帶寬要求、傳輸?shù)拿襟w類型(如語(yǔ)音、視頻和數(shù)據(jù)等)、媒體的編解碼格式、對(duì)組播和單播的支持等。SIP對(duì)會(huì)話承載的內(nèi)容不做限制,而由SDP(會(huì)話描述協(xié)議)控制。
SIP實(shí)現(xiàn)使用兩類原語(yǔ)(也稱為事務(wù)):請(qǐng)求和應(yīng)答。
請(qǐng)求是指從客戶機(jī)發(fā)到服務(wù)器的消息。SIP核心規(guī)范定義了7種SIP請(qǐng)求方法:
●Invite——邀請(qǐng)用戶加入會(huì)話;
●Bye——終止兩個(gè)用戶之間的會(huì)話;
●Options——用于請(qǐng)求向服務(wù)器查詢對(duì)方能力;
●Ack——確認(rèn)客戶機(jī)已經(jīng)收到對(duì)Invite的最終響應(yīng);
●Register——提供地址解析的映射,讓服務(wù)器知道其他用戶的位置;
●Info——用于在信令鏈路上傳送應(yīng)用層消息;
●Cancel——用于取消客戶端發(fā)送的前一個(gè)請(qǐng)求。
應(yīng)答是指從服務(wù)器發(fā)到客戶機(jī)的應(yīng)答消息。每個(gè)消息都有一個(gè)代表事務(wù)狀態(tài)的狀態(tài)碼(100~699的整數(shù))。下面是6類應(yīng)答狀態(tài)碼:
●1XX:臨時(shí)響應(yīng),表示請(qǐng)求消息正在被處理;
●2XX:成功響應(yīng),表示請(qǐng)求已被成功接受,如OK(200);
●3XX:重定向響應(yīng),表示需轉(zhuǎn)發(fā)請(qǐng)求;
●4XX:客戶機(jī)錯(cuò)誤,表示請(qǐng)求消息中包含語(yǔ)法錯(cuò)誤,
服務(wù)器無(wú)法完成客戶機(jī)請(qǐng)求;
●5XX:服務(wù)器錯(cuò)誤,表示由于服務(wù)器原因無(wú)法完成請(qǐng)求;
●6XX:全局故障,表示所有服務(wù)器均無(wú)法完成請(qǐng)求。
消息請(qǐng)求原語(yǔ)是SIP的一種擴(kuò)展,消息內(nèi)容包含在消息請(qǐng)求中一并發(fā)送。消息請(qǐng)求原語(yǔ)繼承了SIP請(qǐng)求的路由特點(diǎn)和安全特點(diǎn),消息體以多用途互聯(lián)網(wǎng)郵件擴(kuò)展(multipurpose Internet mail extension,MIME)等封裝形式存在。消息請(qǐng)求本身并不創(chuàng)建SIP對(duì)話,而采用類似雙向傳呼的機(jī)制發(fā)送相對(duì)獨(dú)立的即時(shí)消息內(nèi)容。
SIP被應(yīng)用到多媒體消息傳送業(yè)務(wù)環(huán)境的主要原因有:
●SIP以文本形式表示消息,消息的詞法和語(yǔ)法分析比較簡(jiǎn)單;
●SIP消息的請(qǐng)求過(guò)程和媒體協(xié)商過(guò)程等是一起進(jìn)行的,媒體連接建立時(shí)間短;
●SIP只要對(duì)頭域進(jìn)行簡(jiǎn)單擴(kuò)展就能很方便地支持各種補(bǔ)充業(yè)務(wù)或創(chuàng)新業(yè)務(wù);
●SIP支持許多種地址描述和尋址,很容易與其他協(xié)議適應(yīng)并協(xié)作提供業(yè)務(wù);
●SIP含有向注冊(cè)服務(wù)器注冊(cè)的功能,本身就可以提供眾多與消息相關(guān)的服務(wù)和實(shí)現(xiàn)用戶定位功能,非常適合即時(shí)通信類業(yè)務(wù)能力的提供,例如XDM、在席、即時(shí)消息和PoC(一鍵通)等;
●SIP的動(dòng)態(tài)注冊(cè)機(jī)制、名字映射和重定向服務(wù)很好地支持了用戶端的移動(dòng)性和多方通話,適合FMC業(yè)務(wù)的提供;
●SIP控制模型為分布式服務(wù)模型,具有分布式的組播功能。
3、通過(guò)IMS實(shí)現(xiàn)即時(shí)消息
IMS是基于IP網(wǎng)絡(luò),利用SIP實(shí)現(xiàn)來(lái)開發(fā)消息服務(wù)能力的。SIP的首要特征是能迅速和高效地建立實(shí)時(shí)會(huì)話,因此可以提供與固網(wǎng)上聊天室和即時(shí)消息服務(wù)同樣的客戶體驗(yàn)。這種業(yè)務(wù)特性體現(xiàn)在消息可以馬上發(fā)送,而且與用戶的位置、在席等呈現(xiàn)信息可以有效地聯(lián)系起來(lái)。
3.1 基于會(huì)話的實(shí)現(xiàn)技術(shù)
會(huì)話是有明確的起始點(diǎn)和結(jié)束點(diǎn)的。SIP控制和管理會(huì)話的原語(yǔ)通常是Invite、Cancel、Bye等,在SIP實(shí)現(xiàn)中,即時(shí)消息會(huì)話是一個(gè)由Invite開始,以Bye結(jié)束的會(huì)話。
基于會(huì)話的即時(shí)消息的實(shí)現(xiàn)流程如圖1所示(以點(diǎn)到點(diǎn)消息為例)。
圖1 基于會(huì)話消息發(fā)送流程
從圖1可以看出,基于會(huì)話的即時(shí)消息實(shí)現(xiàn)流程首先是Invite會(huì)話建立的普通流程(這個(gè)流程和通常SIP會(huì)話建立的路程是一致的,所以這里省略了,不詳細(xì)論述),從而建立一個(gè)消息會(huì)話。Invite消息中帶有發(fā)送端可接收消息的最大字節(jié)數(shù),響應(yīng)消息(200 OK)將附帶接收端可接收消息的最大字節(jié)數(shù),在兩端的點(diǎn)到點(diǎn)連接建立以后,消息就在會(huì)話路徑上進(jìn)行傳送。接收端接收消息后,會(huì)給發(fā)送端發(fā)送ACK消息。
會(huì)話方式需要在建立了會(huì)話的路徑上傳送消息。由于即時(shí)消息攜帶的媒體數(shù)據(jù)量是很大的,所以如果傳送路徑上沒(méi)有擁塞控制就很容易引起網(wǎng)絡(luò)擁塞;另外,由于消息在已建立的對(duì)話路徑中傳送,消息端點(diǎn)和信令端點(diǎn)是一樣的,大大限制了即時(shí)消息的使用范圍。
在基于會(huì)話的消息實(shí)現(xiàn)中,可以方便地實(shí)現(xiàn)多方消息共享。這時(shí)會(huì)話可以比喻為聊天室,由MRFC/MRFP(多媒體資源功能控制器/多媒體資源功能處理器)或AS(應(yīng)用服務(wù)器)控制媒體資源,并承擔(dān)消息傳送中介的身份。聊天室的建立可以由用戶或服務(wù)提供商發(fā)起。參與聊天的人可以進(jìn)入聊天室,參與討論或離開聊天室。相對(duì)于消息傳送,聊天室顯得更加“永久”,并不因?yàn)槟承┤说碾x開而關(guān)閉;另外,聊天室可以進(jìn)一步被劃分為私有和公開聊天室。通常,參加聊天室的用戶將收到其他參加者傳送的所有信息,當(dāng)然,用戶也可以發(fā)送私有消息給聊天室里的某些人。在這種實(shí)現(xiàn)方式下,群發(fā)一條消息可以很方便地實(shí)現(xiàn),發(fā)送者不需要一一指定接收者。
目前,對(duì)MRFC和MRFP之間的相互操作和業(yè)務(wù)流程還沒(méi)有標(biāo)準(zhǔn)化。在由MRFC/MRFP建立連接的場(chǎng)景下,往往需要同時(shí)引入IMS AS協(xié)同工作,以實(shí)現(xiàn)對(duì)會(huì)話群組的各個(gè)客戶的有效管理。
在基于會(huì)話的消息實(shí)現(xiàn)中,由于要先建立會(huì)話,消息傳送有一定的延時(shí),但由于SIP建立會(huì)話的時(shí)間很短,還是可以給用戶提供良好的準(zhǔn)實(shí)時(shí)體驗(yàn)。如果接收者沒(méi)有加入到會(huì)話群組(聊天室)中,那么它是無(wú)法收到消息的。
3.2 基于Message方法的實(shí)現(xiàn)技術(shù)
IMS的Message方法是SIP針對(duì)消息傳送的擴(kuò)展,克服了會(huì)話機(jī)制中消息端點(diǎn)和信令端點(diǎn)一致帶來(lái)的帶寬不足的問(wèn)題,該方法采用了一種類似動(dòng)態(tài)路由的方式,突破了基于會(huì)話方式的限制,實(shí)現(xiàn)起來(lái)更為簡(jiǎn)單有效。
基于Message方法的即時(shí)消息實(shí)現(xiàn)如圖2所示(以點(diǎn)到點(diǎn)消息為例)。
圖2 基于Message方法的消息發(fā)送流程
從圖2可以看出,基于Message方法的即時(shí)消息實(shí)現(xiàn)流程不需要建立會(huì)話的過(guò)程,消息直接在Message請(qǐng)求中攜帶。接收端接收消息后,同樣會(huì)給發(fā)送端發(fā)送ACK消息。消息請(qǐng)求會(huì)攜帶消息大小限制和消息有效期限等信息。如果消息大小超過(guò)了限制,消息將被拒絕,發(fā)送端也會(huì)得到通知。
基于Message傳送機(jī)制的實(shí)現(xiàn)不需要用戶首先加入到會(huì)話中,也不需要其他的準(zhǔn)備工作,消息雙方隨時(shí)可以接收和發(fā)送消息。一般來(lái)說(shuō),發(fā)送者在發(fā)送消息前會(huì)設(shè)法通過(guò)接收者的在席信息了解接收者是否可達(dá),如果接收者并不在線,發(fā)送的消息則可能被丟棄或者延時(shí)送達(dá)。在消息的傳送過(guò)程中接收端網(wǎng)絡(luò)將根據(jù)設(shè)定的消息過(guò)濾規(guī)則對(duì)消息進(jìn)行過(guò)濾,例如,如果接收者設(shè)定了不接收來(lái)自該發(fā)送者的任何消息,則該消息也是無(wú)法到達(dá)接收者的。
3.3 兩種實(shí)現(xiàn)技術(shù)的比較
(1)消息內(nèi)容
在基于會(huì)話的實(shí)現(xiàn)技術(shù)和基于Message方法的實(shí)現(xiàn)技術(shù)中,傳送的消息均可以是多種媒體類型,多媒體消息采用MIME編碼。在基于會(huì)話的實(shí)現(xiàn)方式下,建立會(huì)話連接時(shí)需要預(yù)先定義媒體形式。
(2)消息管理
在基于會(huì)話的實(shí)現(xiàn)方式下,連接的建立有明確的發(fā)起者,可以預(yù)先定義管理員,控制消息的存取、發(fā)送和呈現(xiàn)特性。
(3)消息分發(fā)
在基于會(huì)話的實(shí)現(xiàn)方式下,連接是事先建立的,消息將沿著指定的線路傳送。基于Message方法的實(shí)現(xiàn)方式類似一種動(dòng)態(tài)路由方式,雖然消息也直接發(fā)送到接收者,但消息路徑可以靈活改變,同時(shí)還可以設(shè)置暫時(shí)存儲(chǔ)在接收端網(wǎng)絡(luò)里。
(4)消息存儲(chǔ)
在基于會(huì)話的實(shí)現(xiàn)方式下,消息存儲(chǔ)分為公共存儲(chǔ)和個(gè)人存儲(chǔ),用戶可對(duì)個(gè)人存儲(chǔ)環(huán)境下的消息進(jìn)行轉(zhuǎn)發(fā)、提取、刪除、查看等操作,但對(duì)公共存儲(chǔ)的消息只能查看和提取,不能刪除。在基于Message機(jī)制的實(shí)現(xiàn)方式下,只有公共存儲(chǔ)方式,用戶可以對(duì)消息進(jìn)行轉(zhuǎn)發(fā)、提取、刪除、查看等操作。
(5)用戶隱私保護(hù)
在兩種實(shí)現(xiàn)方式下,消息接收者均可以查看對(duì)方的公共標(biāo)識(shí),如果發(fā)送者不想公開自己的公共標(biāo)識(shí),則可以設(shè)置隱藏。在基于會(huì)話的實(shí)現(xiàn)方式下輸入提示(如“正在輸入”)是一種附加功能,但發(fā)送者還可以使用匿名發(fā)送和接收消息,這時(shí)用戶也可以隱藏自己的輸入提示。
(6)其他
從其他方面來(lái)看,兩種實(shí)現(xiàn)方式的要求和功能基本是一致的。如終端要求支持SIP客戶端,支持一定的顏色、文本大小的顯示能力,支持多媒體消息,支持常見(jiàn)的內(nèi)容編碼模式,具備一定的媒體存儲(chǔ)能力,支持安全、保密機(jī)制。服務(wù)提供商可以根據(jù)業(yè)務(wù)策略和用戶要求定義過(guò)濾規(guī)則,用戶可以對(duì)消息處理規(guī)則做定義和修改,如對(duì)方不在線時(shí)的處理,消息的最大尺寸,是否接收特定消息和消息的優(yōu)先級(jí)等。在基于Message方法的實(shí)現(xiàn)方式下,終端還需要支持SIP的Message方法擴(kuò)展。
目前互聯(lián)網(wǎng)上提供的即時(shí)消息業(yè)務(wù)普遍基于私有協(xié)議,互聯(lián)互通很困難,而且沒(méi)有考慮到無(wú)線環(huán)境和為運(yùn)營(yíng)商提供良好的運(yùn)營(yíng)支撐環(huán)境,例如計(jì)費(fèi)環(huán)境等。采用IMS SIP實(shí)現(xiàn)后采用基于會(huì)話和基于Message方法的消息業(yè)務(wù)可以很方便地進(jìn)行互聯(lián)互通。以后即時(shí)消息的標(biāo)準(zhǔn)化工作將致力于IMS消息和現(xiàn)有非IMS消息互通方面的研究,并將加強(qiáng)對(duì)業(yè)務(wù)支撐環(huán)境建設(shè)方面要求的闡述。對(duì)運(yùn)營(yíng)商來(lái)說(shuō),以后將可以實(shí)現(xiàn)在聊天室的入口處推送廣告,并對(duì)進(jìn)入聊天室的聊天者收取“門票”。另外,即時(shí)消息的安全性和QoS等問(wèn)題,也是下一步研究關(guān)注的熱點(diǎn)。
綜上所述,基于會(huì)話實(shí)現(xiàn)的優(yōu)勢(shì)是:
●用戶可以不斷加入、離開聊天室;
●可以通過(guò)消息發(fā)送列表群發(fā)消息:
●可以邀請(qǐng)別人進(jìn)入聊天室或進(jìn)行聊天室的其他相關(guān)操作;
●可以有效地利用IMS的組管理特性;
●對(duì)方的動(dòng)作可以有所提示(如“正在輸入”);
●擴(kuò)展性強(qiáng):可以將簡(jiǎn)單的即時(shí)消息和其他由SIP發(fā)起的會(huì)話相聯(lián)系,提供增值服務(wù)。
基于Message方法實(shí)現(xiàn)的優(yōu)勢(shì)是:
●不需要預(yù)先建立會(huì)話;
●可以與在席服務(wù)很好地結(jié)合;
●可以實(shí)現(xiàn)更快捷的消息傳送。
4、結(jié)語(yǔ)
從上面的分析可以看出,利用SIP實(shí)現(xiàn)即時(shí)消息的傳送充分利用了IMS的業(yè)務(wù)能力,也符合網(wǎng)絡(luò)向融合方向發(fā)展,也符合網(wǎng)絡(luò)架構(gòu)控制和承載分離的發(fā)展方向;谙C(jī)制的實(shí)現(xiàn)直接利用SIP的Message方法,實(shí)現(xiàn)較為簡(jiǎn)單直接,適合點(diǎn)到點(diǎn)即時(shí)消息的傳送;基于會(huì)話實(shí)現(xiàn)較為復(fù)雜,但功能較為強(qiáng)大,容易擴(kuò)展和與SIP實(shí)現(xiàn)的其他服務(wù)相結(jié)合,開發(fā)多種增值服務(wù),適合多方的、附帶多種并發(fā)業(yè)務(wù)的即時(shí)消息的傳送。由于用戶的需求往往是動(dòng)態(tài)和多方面的,所以兩種實(shí)現(xiàn)方式的有效結(jié)合更為大家所看好,如采用Message方法來(lái)完成發(fā)送消息給某個(gè)人,采用會(huì)話實(shí)現(xiàn)來(lái)擴(kuò)展對(duì)話,建立聊天群組等。