WebRTC與SIP終端媒體互通的方法和媒體網(wǎng)關(guān)的制作方法
【技術(shù)領(lǐng)域】
[0001 ]本發(fā)明涉及移動(dòng)互聯(lián)網(wǎng)領(lǐng)域,尤其涉及一種WebRTC與SIP終端媒體互通的方法和媒體網(wǎng)關(guān)。
【背景技術(shù)】
[0002]隨著移動(dòng)終端的普及和網(wǎng)絡(luò)性能的快速發(fā)展,越來(lái)越多的人們希望能在網(wǎng)絡(luò)上進(jìn)行辦公而不受限于使用客戶(hù)端應(yīng)用,于是網(wǎng)頁(yè)實(shí)時(shí)通信(Web Real-Time Communicat1n,WebRTC)技術(shù)得到廣泛的關(guān)注。
[0003]WebRTC是一項(xiàng)在瀏覽器內(nèi)部進(jìn)行實(shí)時(shí)視頻和音頻通信的技術(shù),該技術(shù)使得所有瀏覽器無(wú)需安裝插件或第三方軟件,僅僅通過(guò)瀏覽器提供簡(jiǎn)單的javascript,就可以點(diǎn)對(duì)點(diǎn)地分享應(yīng)用的數(shù)據(jù)以及進(jìn)行電話會(huì)議。能夠進(jìn)行WebRTC通信的終端稱(chēng)為WebRTC終端,WebRTC終端米用安全實(shí)時(shí)傳輸協(xié)議(Secure Real-time Transport Protocol,SRTP)作為媒體承載協(xié)議,該協(xié)議可以對(duì)媒體數(shù)據(jù)進(jìn)行加密,提高媒體會(huì)話的安全性。
[0004]IP多媒體子系統(tǒng)(IP Multimedia Subsystem,HlS)是一種基于IP網(wǎng)支持多媒體業(yè)務(wù)的網(wǎng)絡(luò)架構(gòu),采用會(huì)話初始協(xié)議(Sess1n Initiat1n Protocol,SIP)進(jìn)行端到端的呼叫控制,符合SIP協(xié)議的終端稱(chēng)為SIP終端。SIP終端采用實(shí)時(shí)傳輸協(xié)議(Real-timeTransport Protocol,RTP)作為媒體承載協(xié)議,不支持SRTP。
[0005]WebRTC終端和SIP終端之間媒體層面的互通需要實(shí)現(xiàn)兩個(gè)網(wǎng)絡(luò)的媒體承載協(xié)議和媒體編解碼類(lèi)型等的轉(zhuǎn)換,目前,現(xiàn)有技術(shù)中還無(wú)法實(shí)現(xiàn)WebRTC終端和SIP終端媒體層面的互通。
【發(fā)明內(nèi)容】
[0006]本發(fā)明提供一種WebRTC與SIP終端媒體互通的方法和媒體網(wǎng)關(guān),用于實(shí)現(xiàn)WebRTC終端和SIP終端媒體層面的互通。
[0007]本發(fā)明實(shí)施例提供一種WebRTC與SIP終端媒體互通的方法,包括:
[0008]媒體網(wǎng)關(guān)接收網(wǎng)頁(yè)實(shí)時(shí)通信WebRTC終端發(fā)送WebRTC終端支持的媒體編解碼信息、WebRTC終端的安全實(shí)時(shí)傳輸協(xié)議SRTP密鑰信息和WebRTC終端的候選地址信息;
[0009]媒體網(wǎng)關(guān)將媒體網(wǎng)關(guān)支持的媒體編解碼信息發(fā)送給會(huì)話初始協(xié)議SIP終端;
[0010]媒體網(wǎng)關(guān)接收SIP終端發(fā)送的SIP終端支持的媒體編解碼信息;
[0011]媒體網(wǎng)關(guān)將媒體網(wǎng)關(guān)支持的媒體編解碼信息、媒體網(wǎng)關(guān)的SRTP密鑰信息和媒體網(wǎng)關(guān)的候選地址信息發(fā)送給WebRTC終端,以使WebRTC終端和媒體網(wǎng)關(guān)獲取到對(duì)方的候選地址信息并進(jìn)行連通性檢測(cè);
[0012]媒體網(wǎng)關(guān)根據(jù)與WebRTC終端和SIP終端建立的連接以及協(xié)商的媒體編解碼信息和SRTP密鑰信息進(jìn)行媒體流的傳輸和轉(zhuǎn)換。
[0013]在本發(fā)明的一實(shí)施例中,媒體網(wǎng)關(guān)根據(jù)其與WebRTC終端和SIP終端建立的連接以及協(xié)商的媒體編解碼信息和SRTP密鑰信息進(jìn)行媒體流的傳輸和轉(zhuǎn)換,包括:
[0014]媒體網(wǎng)關(guān)通過(guò)與WebRTC終端建立的連接接收到WebRTC終端發(fā)送的第一媒體流后,使用WebRTC終端的SRTP密鑰信息對(duì)第一媒體流進(jìn)行解密,然后按照與WebRTC終端協(xié)商的媒體編解碼信息對(duì)第一媒體流進(jìn)行解碼,并按照與SIP終端協(xié)商的媒體編解碼信息對(duì)解碼后的第一媒體流進(jìn)行編碼后,通過(guò)與SIP終端建立的連接將編碼后的第一媒體流發(fā)送給SIP終端;或者,
[0015]媒體網(wǎng)關(guān)通過(guò)與SIP終端建立的連接接收到SIP終端發(fā)送的第二媒體流后,按照與SIP終端協(xié)商的媒體編解碼信息對(duì)第二媒體流進(jìn)行解碼,并按照與WebRTC終端協(xié)商的媒體編解碼信息對(duì)解碼后的第二媒體流進(jìn)行編碼,然后使用媒體網(wǎng)關(guān)的SRTP密鑰信息對(duì)編碼后的第二媒體流進(jìn)行加密后,通過(guò)與WebRTC終端建立的連接將加密后的第二媒體流發(fā)送給WebRTC 終端。
[0016]在本發(fā)明的一實(shí)施例中,上述方法還包括:
[0017]媒體網(wǎng)關(guān)每接收到預(yù)設(shè)數(shù)量的數(shù)據(jù)幀時(shí),向WebRTC終端請(qǐng)求一次關(guān)鍵幀;其中,數(shù)據(jù)幀屬于第一媒體流。
[0018]在本發(fā)明的一實(shí)施例中,媒體網(wǎng)關(guān)與SIP終端協(xié)商的媒體編解碼為H264編解碼,H264編解碼采用零延遲和快速編碼。
[0019]在本發(fā)明的一實(shí)施例中,媒體網(wǎng)關(guān)分布式處理不同的媒體編解碼任務(wù)。
[0020]本發(fā)明還提供一種媒體網(wǎng)關(guān),包括:
[0021 ]會(huì)話管理模塊,用于接收網(wǎng)頁(yè)實(shí)時(shí)通信WebRTC終端發(fā)送WebRTC終端支持的媒體編解碼信息、WebRTC終端的安全實(shí)時(shí)傳輸協(xié)議SRTP密鑰信息和WebRTC終端的候選地址信息;將媒體網(wǎng)關(guān)支持的媒體編解碼信息發(fā)送給會(huì)話初始協(xié)議SIP終端;接收SIP終端發(fā)送的SIP終端支持的媒體編解碼信息;將媒體網(wǎng)關(guān)支持的媒體編解碼信息、媒體網(wǎng)關(guān)的SRTP密鑰信息和媒體網(wǎng)關(guān)的候選地址信息發(fā)送給WebRTC終端,以使WebRTC終端和媒體網(wǎng)關(guān)獲取到對(duì)方的候選地址信息并進(jìn)行連通性檢測(cè);
[0022]媒體傳輸模塊,用于根據(jù)會(huì)話管理模塊與WebRTC終端和SIP終端建立的連接以及協(xié)商的媒體編解碼信息和SRTP密鑰信息進(jìn)行媒體流的傳輸和轉(zhuǎn)換。
[0023]在本發(fā)明的一實(shí)施例中,媒體傳輸模塊包括:網(wǎng)絡(luò)地址轉(zhuǎn)換NAT穿越子模塊、SRTP/RTP轉(zhuǎn)換子模塊、轉(zhuǎn)碼子模塊,其中,
[0024]NAT穿越子模塊,用于接收WebRTC終端發(fā)送的第一媒體流;
[0025]SRTP/RTP轉(zhuǎn)換子模塊,用于使用WebRTC終端的SRTP密鑰信息對(duì)第一媒體流進(jìn)行解密;
[0026]轉(zhuǎn)碼子模塊,用于按照與WebRTC終端協(xié)商的媒體編解碼信息對(duì)第一媒體流進(jìn)行解碼,并按照與SIP終端協(xié)商的媒體編解碼信息對(duì)解碼后的第一媒體流進(jìn)行編碼后,通過(guò)與SIP終端建立的連接將編碼后的第一媒體流發(fā)送給SIP終端;
[0027]轉(zhuǎn)碼子模塊,還用于通過(guò)與SIP終端建立的連接接收到SIP終端發(fā)送的第二媒體流后,按照與SIP終端協(xié)商的媒體編解碼信息對(duì)第二媒體流進(jìn)行解碼,并按照與WebRTC終端協(xié)商的媒體編解碼信息對(duì)解碼后的第二媒體流進(jìn)行編碼;
[0028]SRTP/RTP轉(zhuǎn)換子模塊,還用于使用媒體網(wǎng)關(guān)的SRTP密鑰信息對(duì)編碼后的第二媒體流進(jìn)行加密;
[0029]NAT穿越子模塊,還用于將加密后的第二媒體流發(fā)送給WebRTC終端。
[0030]在本發(fā)明的一實(shí)施例中,轉(zhuǎn)碼子模塊,還用于每接收到預(yù)設(shè)數(shù)量的數(shù)據(jù)幀時(shí),通過(guò)NAT穿越子模塊向WebRTC終端請(qǐng)求一次關(guān)鍵幀;其中,數(shù)據(jù)幀屬于第一媒體流。
[0031]在本發(fā)明的一實(shí)施例中,媒體網(wǎng)關(guān)與SIP終端協(xié)商的媒體編解碼為H264編解碼,H264編解碼采用零延遲和快速編碼。
[0032]在本發(fā)明的一實(shí)施例中,轉(zhuǎn)碼子模塊包括:控制單元和至少一個(gè)轉(zhuǎn)碼單元,控制單元和轉(zhuǎn)碼單元分布式設(shè)置,以使媒體網(wǎng)關(guān)分布式處理不同的媒體編解碼任務(wù)。
[0033]本發(fā)明實(shí)施例提供的WebRTC與SIP終端媒體互通的方法和媒體網(wǎng)關(guān),通過(guò)媒體網(wǎng)關(guān)的媒體中繼功能使得WebRTC終端和SIP終端之間建立起連接,并通過(guò)媒體網(wǎng)關(guān)的媒體中繼功能分別與WebRTC終端和SIP終端協(xié)商好各自的媒體編解碼信息以及與WebRTC終端的SRTP密鑰信息,然后通過(guò)協(xié)商的媒體編解碼信息和SRTP密鑰信息進(jìn)行媒體流的傳輸和轉(zhuǎn)換,實(shí)現(xiàn)了 WebRTC終端和SIP終端之間的媒體互通。
【附圖說(shuō)明】
[0034]圖1為本發(fā)明提供的WebRTC與SIP終端媒體互通的方法的流程示意圖;
[0035]圖2為本發(fā)明提供的媒體網(wǎng)關(guān)實(shí)施例一的結(jié)構(gòu)示意圖;
[0036]圖3為本發(fā)明提供的媒體網(wǎng)關(guān)實(shí)施例二的結(jié)構(gòu)示意圖。
[0037]附圖標(biāo)記說(shuō)明:
[00