樂利鋒,彭 晉,段曉東
(中國移動通信研究院 北京 100053)
Web應(yīng)用已成為互聯(lián)網(wǎng)應(yīng)用最成功的模式之一,其應(yīng)用范疇已經(jīng)滲透人類社會生活的各個領(lǐng)域。人們只要通過一款瀏覽器,就可以享受到無窮無盡的Web服務(wù),如各種電子商務(wù)、網(wǎng)絡(luò)游戲、社區(qū)服務(wù)及各種網(wǎng)絡(luò)交友等。與此同時,Web技術(shù)所帶來的優(yōu)勢(如統(tǒng)一的客戶端和較好的可維護性),使一些傳統(tǒng)應(yīng)用紛紛轉(zhuǎn)型到Web模式。Web應(yīng)用開發(fā)的簡單快速也受到開發(fā)者青睞,開發(fā)者只需要一次開發(fā)就可以在任何地方部署,代碼片段很容易在開發(fā)者之間被復(fù)制和粘貼,越來越容易掌握的JavaScript庫使開發(fā)更加快捷。
Web瀏覽器一直隨著Web應(yīng)用的需要持續(xù)加入新的Web 特性,W3C(world wide web consortium,萬維網(wǎng)聯(lián)盟)標(biāo)準(zhǔn)化組織追求的Open Web Platform[1]是所有Web技術(shù)的集合,不僅包括基礎(chǔ) Web技術(shù),如 HTML(hypertext markup language,超文本標(biāo)記語言)、CSS(cascading style sheet,級聯(lián)樣式表)和 JavaScript及 HTTP(hypertext transfer protocol,超文本傳輸協(xié)議)等;還包括新的Web技術(shù),如HTML5[2],允許開發(fā)者免費使用它所發(fā)布的技術(shù)。可以預(yù)見,未來Web將逐漸成為一種準(zhǔn)入門檻較低、推廣成本可控的統(tǒng)一應(yīng)用平臺。
基于Web的實時通信應(yīng)用可以吸引越來越多的用戶。Facebook[3]推出了整合Skype的視頻聊天服務(wù),首次使用該功能的用戶需要安裝插件;GoogleTalk[4]網(wǎng)頁版的正常使用需要安裝Google話音和視頻聊天插件,在瀏覽器中成功安裝插件后,可以直接在Gmail[5]或iGoogle[6]中進行視頻和話音通話。但這些插件對于不同瀏覽器需要不同的開發(fā)實現(xiàn),且需要用戶安裝,具有一定的安全隱患。為了避免引入新插件,一些 Web 網(wǎng)絡(luò)電話(如 Alicall[7]、FlashVoIP[8])采用普及程度比較高的flash player插件實現(xiàn)實時通信功能,可重用flash插件自有RTMP(real time messaging protocol,實時消息傳送協(xié)議)[9]信令和媒體傳輸協(xié)議。但flash插件方式需要依托第三軟件提供商的支持,大規(guī)模商用更需要支付相當(dāng)可觀的費用。
如果徹底不引入插件,Web實時通信客戶端在執(zhí)行效率方面想接近傳統(tǒng)客戶端或插件客戶端的效果,需要瀏覽器提供更多新特性的支持。為了實現(xiàn)實時通信功能,瀏覽器至少需要具備會話管理、音視頻編解碼引擎和媒體傳輸?shù)裙δ?。會話管理功能允許開發(fā)者為上層應(yīng)用實現(xiàn)呼叫建立和管理;音視頻編解碼引擎功能允許外設(shè)(如麥克風(fēng)及攝像頭)將采集的數(shù)據(jù)進行編碼并發(fā)送給網(wǎng)絡(luò),或者將接收的媒體進行解碼供外設(shè)(如音箱或者顯示器)呈現(xiàn);媒體傳輸功能實現(xiàn)對不同網(wǎng)絡(luò)的NAT(network address translation,網(wǎng)絡(luò)地址轉(zhuǎn)換)或防火墻穿越,并實現(xiàn)對媒體內(nèi)容的封裝傳輸。
對于無插件Web實時通信應(yīng)用開發(fā),開發(fā)者需要調(diào)用瀏覽器API(application programming interface,應(yīng)用程序編程接口)才能使用其實時通信模塊功能。如果缺少對實時通信模塊API的統(tǒng)一使用規(guī)范,不同瀏覽器廠商對API的定義和使用可能出現(xiàn)很大的差異,開發(fā)者需要了解不同版本的API使用方法,從而可能會影響開發(fā)周期。所以,業(yè)界希望Web瀏覽器的實時通信能力被標(biāo)準(zhǔn)化的呼聲越來越高。IETF(internet engineering task force,工程任務(wù)組)和W3C這兩大標(biāo)準(zhǔn)化組織從2011年開始積極推進基于Web瀏覽器的實時通信 (real-time communication in web-browsers,RTCWeb)標(biāo)準(zhǔn)化工作[10,11],力圖提出一個能夠在Web瀏覽器上實現(xiàn)用戶之間話音和視頻等實時通信的標(biāo)準(zhǔn)化框架。IETF的主要工作在于標(biāo)準(zhǔn)化基于瀏覽器的實時通信的架構(gòu)和協(xié)議;W3C的主要工作在于標(biāo)準(zhǔn)化瀏覽器與Web應(yīng)用之間的API,即上層Web應(yīng)用通過JavaScrip編程調(diào)用這些被標(biāo)準(zhǔn)化的API,實現(xiàn)對瀏覽器RTCWeb功能的使用,如捕獲本地設(shè)備的媒體內(nèi)容、呈現(xiàn)媒體內(nèi)容、建立點對點媒體通信等。隨著RTCWeb標(biāo)準(zhǔn)化的逐漸深入和影響力的逐步增強,各大瀏覽器廠商如 Chrome、Mozilla Firefox、Safari和Opera紛紛宣布支持或部分支持RTCWeb功能,RTCWeb瀏覽器逐漸步入舞臺并占據(jù)相當(dāng)?shù)氖袌龇蓊~。
IETF RTCWeb工作組建議的典型架構(gòu)[12]如圖1所示。Web客戶端是基于瀏覽器的融合JavaScript、HTML及CSS的技術(shù)客戶端實現(xiàn),對瀏覽器和Web服務(wù)器的會話信令面操作是通過JSEP控制實現(xiàn)的;通過JavaScript調(diào)用RTCWeb API,實現(xiàn)對瀏覽器能力的使用;Web客戶端通過JavaScript與Web服務(wù)器傳遞基于Web Socket承載的RTCWeb信令消息。RTCWeb信令協(xié)議由Web應(yīng)用定義,可以是標(biāo)準(zhǔn)的協(xié)議,如 SIP(session initiation protocol,會話初 始 協(xié) 議 )、XMPP (extensible messaging and presence protocol,可擴展消息處理現(xiàn)場協(xié)議)或私有協(xié)議,但媒體協(xié)商可參考基于Offer/Answer模型的ROAP(RTCWeb offer/answer protocol);Web服務(wù)器之間采用雙方認同的協(xié)議,如 SIP或者 XMPP;瀏覽器之間采用RTP(real-time transport protocol,實時傳輸協(xié)議)或 SRTP(secure RTP,安全實時傳輸協(xié)議)用于媒體傳輸,同時采用ICE(interactive connectivity establishment,交互式連接建立)協(xié)議用于防火墻穿越。
圖1 RTCWeb通信模型
W3C WebRTC工作組的關(guān)注重點在于瀏覽器端API的標(biāo)準(zhǔn)化[13],通過調(diào)用標(biāo)準(zhǔn)化API實現(xiàn)從本地設(shè)備(如攝像頭、麥克風(fēng)或網(wǎng)絡(luò)攝像機)捕獲并呈現(xiàn)本地音視頻媒體內(nèi)容、通過NAT穿越技術(shù)建立點對點連接、基于點對點連接交換媒體內(nèi)容。這些功能的實現(xiàn)主要由Stream API和Peer Connection兩大類API實現(xiàn)。
Stream抽象了對實際媒體流表示及操作的方法和屬性,目前定義了若干重要的接口,主要是Media Stream。Media Stream對象可以表示從遠端節(jié)點或者發(fā)送給遠端節(jié)點的媒體流;從網(wǎng)絡(luò)傳輸Media Stream角度看,每個Media Stream對象都有一個輸入和輸出,來自遠端節(jié)點的Media Stream(由Peer Connection實例化產(chǎn)生)可以看作輸入;本地設(shè)備產(chǎn)生的Media Stream(調(diào)用getUserMedia函數(shù)產(chǎn)生)傳給遠端節(jié)點便有一個輸出;對于媒體流的呈現(xiàn),需要專用URL來表示一個媒體流并在網(wǎng)頁中表現(xiàn)出來 (調(diào)用createObjectURL函數(shù)生成)。
Peer Connection抽象了瀏覽器之間信令交互及媒體通道建立的方法和屬性,通過開通媒體通道,Media Stream對象表示的媒體流可被送到對端。一個Peer Connection對象實現(xiàn)3類功能,即ICE代理 (利用ICE方式實現(xiàn)NAT穿越,如依賴STUN或者TURN服務(wù)器)、Peer Connection狀態(tài)(標(biāo)識當(dāng)前連接狀態(tài),如“new”、“opening”、“active”等)和ICE 狀態(tài)(標(biāo)識穿越狀態(tài),如“new”“waiting”“connected”等)。此外,Peer Connection提供創(chuàng)建媒體協(xié)商的方法和屬性,如Offer/Answer消息構(gòu)建方法(createOffer/createAnswer)及SDP屬性設(shè)置(setLocal Description/setRemote Description)等。
W3C WebRTC工作組對于媒體流的訪問和呈現(xiàn)使用HTML5 video和audio標(biāo)簽[2],這兩個新標(biāo)簽提供了在瀏覽器中不使用插件播放視頻和音頻的特性,這正是HTML5區(qū)別于先前版本的顯著特征。非HTML5的瀏覽器一般安裝flash插件播放媒體,正確播放媒體需要使用
RTCWeb通信在HTML5瀏覽器中呈現(xiàn)音視頻的播放需要通過JavaScript實現(xiàn)。如圖2所示,Alice和Bob進行視頻通話,Alice的視頻通過RTP流到達Bob的瀏覽器,瀏覽器通知上層Web應(yīng)用;上層Web應(yīng)用向瀏覽器獲取Alice視頻流的Bob URL;上層Web應(yīng)用獲取video標(biāo)簽,并將URL賦值給這個video標(biāo)簽,更新video標(biāo)簽代碼,實現(xiàn)媒體播放。
圖2 RTCWeb基于HTML5標(biāo)簽呈現(xiàn)
IETF RTCWeb工作組建議RTCWeb終端間實現(xiàn)媒體建立所需信息協(xié)商的協(xié)議ROAP[14]。ROAP遵循Offer/Answer模型實現(xiàn)瀏覽器終端之間對SDP(session description protocol)消息的交換。ROAP消息內(nèi)容只是實際傳輸?shù)腞TCWeb信令包含的子內(nèi)容,并不定義實際線上傳輸?shù)腞TCWeb信令消息。如圖 3 所示,ROAP 目前主要定義了“offer”、“answer”及 “OK”等消息,這些消息的產(chǎn)生由上層應(yīng)用通過JavaScript調(diào)用Peer Connection的若干API實現(xiàn)。
圖3 ROAP消息展示
RTCWeb通信系統(tǒng)需要專門的信令狀態(tài)機實現(xiàn)對多媒體會話信令面的控制,IETF RTCWeb工作組建議采用一種基于JavaScript實現(xiàn)會話建立的協(xié)議 (JavaScript session establishment protocol,JSEP)[15]。JSEP 使得信令狀態(tài)機從瀏覽器中解放出來,通過JavaScript使控制狀態(tài)、狀態(tài)機升級、會話描述修改等操作變得更加靈活和容易。JSEP能夠靈活、簡單地處理Offer/Answer模型的交互,如圖4所示。
JSEP可以和任何會話控制協(xié)議相結(jié)合,如JSEP控制ROAP呼叫、JSEP控制XMPP呼叫、JSEP控制SIP呼叫。目前已經(jīng)出現(xiàn)了JSEP控制SIP呼叫的雛形 (如sipML5)[16],sipML5信令面采用SIP over Web Socket,外接專用RTCWeb服務(wù)器將SIP消息從Web Socket中解放出來,并發(fā)送給SIP或IMS核心網(wǎng)。
圖4 JSEP實現(xiàn)流程
傳統(tǒng)上,Web雙向通信是通過Web客戶端采用 HTTP輪詢方式從Web服務(wù)器獲取消息,這是一種對HTTP的畸形使用。基于HTTP作為RTCWeb信令的傳輸協(xié)議并不合適,主要體現(xiàn)在3個方面:第一,Web服務(wù)器采用HTTP輪詢方式會造成Web服務(wù)器資源的浪費;第二,HTTP輪詢方式實現(xiàn)實時通信依賴于輪詢周期,周期太長會影響實時性,周期太短會耗費資源;第三,Web客戶端和Web服務(wù)器之間的數(shù)據(jù)傳輸需要使用HTTP頭,這對于實時通信來說是一個比較大的開銷。希望Web實時通信能夠通過一個TCP連接實現(xiàn)雙向通信。基于這個想法,IETF提出了Web Socket[17]協(xié)議用于實現(xiàn)雙向通信。Web Socket是一個基于TCP及80/443端口傳輸?shù)膮f(xié)議,包含握手和數(shù)據(jù)傳輸兩部分,握手協(xié)議通過帶有Upgrade字段的HTTP請求和101的響應(yīng)交互完成,握手成功后就進入雙向長連接的數(shù)據(jù)傳輸階段。如圖 5所示,采用 Web Socket協(xié)議承載 RTCWeb信令可以提高消息的交互效率,相對HTTP輪詢而言,實現(xiàn)了真正的雙工通信,一個TCP長連接相比若干HTTP短連接占用資源少,同時數(shù)據(jù)傳輸效率更高(Web Socket數(shù)據(jù)幀頭只有幾個字節(jié),而HTTP頭需要幾十個字節(jié))。
圖5 Web Socket與HTTP實現(xiàn)實時通信流程對比
IMS是一種全新的多媒體業(yè)務(wù)形式,能夠滿足用戶對更新穎、更多樣化多媒體業(yè)務(wù)的需求。隨著IMS應(yīng)用的增加和豐富,IMS客戶端的功能和特性需要不停地變化與演進,客戶端軟件變得越來越復(fù)雜,對IMS終端的要求也會更高。目前IMS客戶端主要包含硬終端和軟終端。如果采用RTCWeb技術(shù)實現(xiàn)IMS的免插件的RTCWeb客戶端,可以進一步豐富IMS的終端形態(tài)。RTCWeb客戶端和傳統(tǒng)的客戶端在實現(xiàn)上存在本質(zhì)區(qū)別,如圖6所示。在傳統(tǒng)客戶端中,應(yīng)用與終端平臺相關(guān),信令面和媒體面功能是通過調(diào)用操作系統(tǒng)API實現(xiàn)的,信令面與媒體面在邏輯上分離并通過內(nèi)部接口通信;在RTCWeb客戶端中,應(yīng)用與終端平臺無關(guān),信令面和媒體面在邏輯和物理上均分離,信令面由上層應(yīng)用實現(xiàn),媒體面由瀏覽器實現(xiàn),信令面調(diào)用瀏覽器API實現(xiàn)實時通信。
圖6 傳統(tǒng)客戶端和RTCWeb客戶端的比較
相比傳統(tǒng)IMS客戶端或插件客戶端,RTCWeb客戶端具備更多優(yōu)勢:操作便捷性,基于瀏覽器環(huán)境,實現(xiàn)客戶端的免安裝(輸入網(wǎng)址即可下載Web客戶端)和免用戶干預(yù)的升級;開發(fā)靈活性,瀏覽器為上層Web應(yīng)用提供了開發(fā)實時通信應(yīng)用的API,基于腳本開發(fā)客戶端應(yīng)用,周期較短,成本較低;平臺無關(guān)性,在瀏覽器中運行,實現(xiàn)了業(yè)務(wù)與終端平臺或操作系統(tǒng)的無關(guān)性,有利于跨平臺移植,適應(yīng)于不同終端。
IMS增加Web客戶端形態(tài),使其應(yīng)用最終能脫離終端平臺或操作系統(tǒng)的限制。由于受瀏覽器支持能力和普及程度的影響,IMS客戶端Web化是一個逐步落實的過程。如圖7所示,第一步,通過對傳統(tǒng)客戶端軟件進行二次開發(fā)并向瀏覽器平臺移植,實現(xiàn)基于瀏覽器的插件客戶端,這種客戶端借用了瀏覽器的呈現(xiàn)方式,但邏輯上自成體系,可和IMS直接對接;普通插件對于不同瀏覽器需要不同的開發(fā)實現(xiàn),且需要用戶安裝,具有一定的安全隱患。第二步,為了避免引入新插件,可以考慮使用普及程度比較高的flash插件做客戶端,但需要一個接入網(wǎng)關(guān)實現(xiàn)RTMP協(xié)議流的解析和與IMS協(xié)議的適配。第三步,采用RTCWeb技術(shù)引入無插件的Web客戶端,開發(fā)者通過JavaScrip編程實現(xiàn)Web應(yīng)用信令面功能,RTCWeb信令可以由Web應(yīng)用定義,所以需要一個接入網(wǎng)關(guān)實現(xiàn)RTCWeb信令和IMS協(xié)議的適配。
隨著終端Web化的逐漸深入,承擔(dān)RTCWeb客戶端接入功能的網(wǎng)關(guān)(RTC-GW)的作用越來越重要。RTC-GW除了可以接入RTCWeb客戶端,也可以提供對其他Web客戶端 (如flash客戶端)的接入,實現(xiàn)客戶端通信協(xié)議 (如RTCWeb或者RTMP)到電信核心網(wǎng)IMS協(xié)議的適配和轉(zhuǎn)換及媒體轉(zhuǎn)碼等操作(為了簡化,后文將主要考慮RTC-GW提供RTC客戶端接入功能)。隨著RTCWeb客戶端數(shù)量的增長,單個RTC-GW無法應(yīng)對高并發(fā)呼叫和媒體處理問題,可以通過多個RTC-GW組成協(xié)同群組(RTC-GW cluster),實現(xiàn)資源共享。
圖7 RTCWeb客戶端接入IMS構(gòu)想
RTCWeb技術(shù)有力推動了IMS終端形態(tài)向無插件Web客戶端的轉(zhuǎn)型,將來IMS用戶手持任何終端下載RTC客戶端即可使用IMS業(yè)務(wù)。本節(jié)將重點介紹RTCWeb客戶端接入IMS解決方案及典型業(yè)務(wù)的實現(xiàn)流程。
如圖8所示,RTCWeb系統(tǒng)由RTC-GW及RTCWeb客戶端組成,其中RTCWeb客戶端由支持RTCWeb API的瀏覽器及相應(yīng)的Web App組成。RTCWeb客戶端可以通過DNS獲取RTC-GW群組的入口地址,入口點一般具有負載均衡器(load balancer)的功能;RTCWeb客戶端向負載均衡器請求可服務(wù)的RTC-GW,負載均衡器采用輪詢或者IP散列的方式確定一個RTC-GW,并向RTCWeb客戶端返回IP地址或者域名信息。如果RTCWeb客戶端位于NAT之后,無法與其他客戶端建立直連,RTC-GW可以向RTCWeb客戶端提供ICE,幫助客戶端實現(xiàn)不同類型的NAT穿越。RTCWeb客戶端通過RTC-GW實現(xiàn)與IMS核心網(wǎng)的通信,其中,RTCWeb客戶端和RTC-GW之間形成客戶端/服務(wù)器方式的通信,包括RTCWeb信令和RTP媒體交互;RTC-GW實現(xiàn)了背對背的用戶代理(B2BUA),轉(zhuǎn)化RTCWeb信令及媒體編解碼適配IMS信令及媒體編解碼,最終接入為IMS業(yè)務(wù)邊界控制器(service border controller,SBC)設(shè)備,完成RTCWeb客戶端和IMS的互通。
圖8 基于IMS的RTCWeb系統(tǒng)結(jié)構(gòu)
RTCWeb信令處理/適配及媒體面交換主要涉及了RTC-GW以下基本功能。
·主處理單元 (master processing unit,MPU)主要完成RTCWeb信令及業(yè)務(wù)流程控制,如對于Chrome瀏覽器,MPU處理基于Web Socket承載的RTCWeb信令。
·協(xié)議適配(protocol adapter,PA)單元主要完成RTCWeb信令與SIP的協(xié)議轉(zhuǎn)換及SIP用戶代理的信令面相關(guān)工作。
·編解碼轉(zhuǎn)換(codec transcoding,CT)單元主要完成媒體格式的編解碼轉(zhuǎn)換工作。比如,Chrome瀏覽器支持音頻編解碼iSAC/iLBC/G.711和視頻編解碼VP8,而IMS要求支持音頻編解碼G.711/G.723/G.729和視頻編解碼H.263/H.264,一般情況下需要實現(xiàn)瀏覽器到網(wǎng)絡(luò)編解碼的轉(zhuǎn)換。
·媒體轉(zhuǎn)發(fā)(media forward,MF)模塊主要完成 IMS及RTCWeb客戶端之間的RTP/SRTP媒體接收、發(fā)送及解析,如果需要編解碼轉(zhuǎn)化需要先將RTP分組發(fā)送給CT處理。
圖9 RTCWeb用戶與傳統(tǒng)手機用戶之間的呼叫流程
4.2.1 RTCWeb用戶與傳統(tǒng)手機用戶之間的呼叫流程
RTCWeb客戶端通過RTC-GW群組系統(tǒng)接入IMS,所以RTCWeb客戶端與RTC-GW群組系統(tǒng)之間的交互基于Web Socket承載的RTCWeb信令,而RTC-GW群組系統(tǒng)與IMS之間采用SIP信令。如圖9所示,在RTCWeb用戶呼叫傳統(tǒng)手機用戶的信令流程中,RTC-GW群組系統(tǒng)負責(zé)在RTCWeb客戶端和IMS網(wǎng)絡(luò)之間傳遞呼叫、振鈴及摘機等操作。
圖10 RTCWeb用戶之間呼叫流程
4.2.2 RTCWeb用戶之間的呼叫流程
SBC作為IMS的信令和媒體的入口點,將造成兩個RTCWeb客戶端之間通信媒體的迂回。希望在無需合法監(jiān)聽的情況下,RTCWeb客戶端之間的媒體交互能夠以P2P的方式進行。這個問題可以通過RTC-GW群組系統(tǒng)來實現(xiàn)。如圖10所示,RTC-GW群組系統(tǒng)在媒體協(xié)商Offer/Answer交互中,將SBC的媒體面IP地址和端口隱藏,取而代之的是RTCWeb客戶端A和B的媒體面IP地址和端口,實現(xiàn)RTCWeb客戶端之間的媒體直傳。
RTC-GW群組系統(tǒng)如何將SBC的媒體面IP地址和端口替換成RTCWeb客戶端的媒體面IP地址和端口,實現(xiàn)方法有很多,圖11列舉兩種方式僅作參考:第一種方式,RTC-GW A和B分別為RTCWeb客戶端 A和B提供服務(wù),RTC-GW A和B直接交換媒體面信息,將SBC的媒體面信息換成對端RTCWeb客戶端的媒體面信息;第二種方式,RTC-GW A和B分別為RTCWeb客戶端A和B提供接入,并將信令轉(zhuǎn)發(fā)給同一個RTC-GW提供服務(wù),這樣同一個RTC-GW便直接將SBC的媒體面信息替換成不同的RTCWeb客戶端的媒體面信息。
圖11 RTC-GW群組系統(tǒng)實現(xiàn)媒體地址替換
RTCWeb技術(shù)成為推進Web實時通信的優(yōu)選方式之一,它具有傳統(tǒng)客戶端無法比擬的優(yōu)勢,如操作便捷性、開發(fā)靈活性及平臺無關(guān)性等。本文首先對RTCWeb通信模型及關(guān)鍵技術(shù)進行介紹及分析;在此基礎(chǔ)上,提出了采用RTCWeb技術(shù)實現(xiàn)IMS免插件Web客戶端的想法,并提出相應(yīng)的RTCWeb與IMS的融合方案;方案細化了IMS RTCWeb客戶端和RTC-GW接入網(wǎng)關(guān)的實現(xiàn)方式;通過本文建議的RTCWeb和IMS融合方案,可進一步豐富IMS的終端形態(tài),簡化IMS客戶端部署方式,提升用戶體驗。
此外,關(guān)于RTC-GW群組實現(xiàn)方式,可以結(jié)合云計算技術(shù)形成一個RTC-GW云。通過云計算技術(shù)使RTC-GW群組具有低成本、易擴展、易管理等優(yōu)點。RTC-GW云系統(tǒng)保證RTC-GW功能實體之間相互協(xié)作,實現(xiàn)負荷分擔(dān),對外實現(xiàn)拓撲隱藏,使用了數(shù)據(jù)多副本容錯、同構(gòu)可互換等措施來提升可靠性。RTC-GW云還可以對外提供云服務(wù),如 SaaS(software as a service,軟件即服務(wù)),可能包括RTC-GW的功能或者其子功能,如會話控制、協(xié)議適配或編解碼轉(zhuǎn)化甚至NAT穿越等;PaaS(platform as a service,平臺即服務(wù)),可能提供RTCWeb開發(fā)平臺,即系統(tǒng)可以對外提供JavaScript開發(fā)包供第三方網(wǎng)站或者軟件進行調(diào)用。
1 Open web platform.http://www.w3.org/wiki/Open_Web_Platform
2 HTML5.http://www.w3.org/TR/html5/
3 Facebook.http://www.facebook.com/
4 GoogleTalk.http://www.gtalk.com.cn/
5 Gmail.http://mail.google.com/
6 iGoogle.http://www.google.com/
7 Alicall.http://www.alicall.com/
8 FlashVoIP.http://www.alicall.com/
9 RTMP specification.http://www.adobe.com/devnet/rtmp.html
10 W3C WebRTC working group.http://www.w3.org/standards/techs/webrtc#w3c_all
11 IETF RTCWeb working group.http://datatracker.ietf.org/wg/rtcweb/
12 Alvestrand H.Overview:Real Time Protocols for Brower-based Applications.W3C,June 20,2012
13 WebRTC 1.0:real-time communication between browsers.http://www.w3.org/TR/webrtc/
14 Jennings C,Rosenberg J.RTCWeb Offer/AnswerProtocol(ROAP).IETF,October 30,2011
15 Uberti J,Jennings C.Javascript Session Establishment Protocol.IETF,June 4,2012
16 sipML5.http://www.sipml5.org/
17 RFC6455.http://tools.ietf.org/id/draft-ietf-hybi-thewebsocketprotocol