作為對(duì)本發(fā)明及其應(yīng)用或使 用的任何限制?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提 下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0027] 除非另外具體說明,否則在這些實(shí)施例中闡述的部件和步驟的相對(duì)布置、數(shù)字表 達(dá)式和數(shù)值不限制本發(fā)明的范圍。
[0028] 同時(shí),應(yīng)當(dāng)明白,為了便于描述,附圖中所示出的各個(gè)部分的尺寸并不是按照實(shí)際 的比例關(guān)系繪制的。
[0029] 對(duì)于相關(guān)領(lǐng)域普通技術(shù)人員已知的技術(shù)、方法和設(shè)備可能不作詳細(xì)討論,但在適 當(dāng)情況下,所述技術(shù)、方法和設(shè)備應(yīng)當(dāng)被視為授權(quán)說明書的一部分。
[0030] 在這里示出和討論的所有示例中,任何具體值應(yīng)被解釋為僅僅是示例性的,而不 是作為限制。因此,示例性實(shí)施例的其它示例可以具有不同的值。
[0031] 應(yīng)注意到:相似的標(biāo)號(hào)和字母在下面的附圖中表示類似項(xiàng),因此,一旦某一項(xiàng)在一 個(gè)附圖中被定義,則在隨后的附圖中不需要對(duì)其進(jìn)行進(jìn)一步討論。
[0032] 在本發(fā)明中,第一系統(tǒng)與第二系統(tǒng)是異構(gòu)系統(tǒng),例如,第一系統(tǒng)與第二系統(tǒng)分別是 WebRTC系統(tǒng)和MS系統(tǒng),即第一系統(tǒng)是WebRTC系統(tǒng),第二系統(tǒng)是MS系統(tǒng),或者,第一系統(tǒng) 是MS系統(tǒng),第二系統(tǒng)是WebRTC系統(tǒng)。當(dāng)然,第一系統(tǒng)與第二系統(tǒng)還可以是其他異構(gòu)系統(tǒng), 不局限于所舉示例。在所舉示例中,WebRTC系統(tǒng)包括WebRTC服務(wù)器與瀏覽器(也稱WebRTC 終端或者WebRTC客戶端),瀏覽器與WebRTC服務(wù)器之間通過WebSocket連接;MS系統(tǒng)(也 稱MS網(wǎng)絡(luò))包括MS核心網(wǎng)和MS終端(也稱MS客戶端)。
[0033] 在本發(fā)明中,"第一"和"第二"僅用來區(qū)分不同的對(duì)象,并不用來表示大小、時(shí)序等 含義。
[0034] 圖1為本發(fā)明第一系統(tǒng)與第二系統(tǒng)媒體互通的系統(tǒng)(簡稱"媒體互通系統(tǒng)")一個(gè) 實(shí)施例的示意圖。媒體互通系統(tǒng)包括媒體網(wǎng)關(guān)和信令網(wǎng)關(guān),媒體網(wǎng)關(guān)和信令網(wǎng)關(guān)分別連接 第一系統(tǒng)與第二系統(tǒng),通過媒體網(wǎng)關(guān)和信令網(wǎng)關(guān)實(shí)現(xiàn)第一系統(tǒng)與第二系統(tǒng)之間的媒體互 通。其中,媒體網(wǎng)關(guān)是媒體中繼設(shè)備,在媒體網(wǎng)關(guān)設(shè)置異構(gòu)網(wǎng)絡(luò)的客戶端代理,通過媒體網(wǎng) 關(guān)的中繼功能使得異構(gòu)網(wǎng)絡(luò)的客戶端與其代理分別獲取到對(duì)方的候選地址信息并進(jìn)行連 通性檢測從而建立起連接,并且通過媒體網(wǎng)關(guān)的中繼功能使得媒體網(wǎng)關(guān)分別與異構(gòu)網(wǎng)絡(luò)的 客戶端協(xié)商好各自的媒體編解碼信息,然后根據(jù)分段建立起的連接以及協(xié)商的媒體編解碼 信息進(jìn)行媒體流的中繼傳輸,最終實(shí)現(xiàn)異構(gòu)網(wǎng)絡(luò)客戶端之間媒體流的互通。信令網(wǎng)關(guān)是信 令中繼設(shè)備,用于在連接建立以及媒體協(xié)商過程中,實(shí)現(xiàn)異構(gòu)系統(tǒng)消息格式的轉(zhuǎn)換,即,將 第一系統(tǒng)的第一客戶端使用的消息格式轉(zhuǎn)換成第二系統(tǒng)的第二客戶端使用的消息格式。
[0035] 圖2為本發(fā)明WebRTC系統(tǒng)與MS系統(tǒng)媒體互通的系統(tǒng)一個(gè)實(shí)施例的示意圖。對(duì) 于MS系統(tǒng)來講,其本身就具有多個(gè)MS域之間互通的功能和特性,本發(fā)明利用這個(gè)特性, 將WebRTC系統(tǒng)設(shè)置為一個(gè)獨(dú)立的"偽域",其架構(gòu)對(duì)MS網(wǎng)絡(luò)完全透明,以MS域間互通相 同的方式與WebRTC系統(tǒng)進(jìn)行互通,異構(gòu)網(wǎng)絡(luò)的互通不需要對(duì)MS系統(tǒng)做任何形式的修改。 "偽域"的設(shè)置一種方法例如為:申請(qǐng)一個(gè)域名,比如叫domainl.com,所有發(fā)送到這個(gè)域上 的請(qǐng)求被認(rèn)為是發(fā)送到WebRTC系統(tǒng)中的請(qǐng)求。另外,在WebRTC系統(tǒng)中,WebRTC服務(wù)器與 WebRTC客戶端可以基于R0AP或HTTP進(jìn)行通信;WebRTC系統(tǒng)與信令網(wǎng)關(guān)之間可以基于R0AP 進(jìn)行通信;信令網(wǎng)關(guān)與MS系統(tǒng)之間可以基于SIP進(jìn)行通信;信令網(wǎng)關(guān)與媒體網(wǎng)關(guān)之間可 以基于R0AP進(jìn)行通信;WebRTC系統(tǒng)與媒體網(wǎng)關(guān)之間可以基于SRTP進(jìn)行媒體傳輸,MS系統(tǒng) 與媒體網(wǎng)關(guān)之間可以基于RTP進(jìn)行媒體傳輸。
[0036] 圖3為本發(fā)明第一系統(tǒng)與第二系統(tǒng)媒體互通的方法(簡稱"媒體互通方法")一個(gè) 實(shí)施例的流程圖。如圖3所示,本實(shí)施例的方法包括以下步驟:
[0037] 步驟S301,媒體網(wǎng)關(guān)接收第一系統(tǒng)的第一客戶端發(fā)送的第一客戶端支持的媒體編 解碼信息和候選地址信息,其中,媒體網(wǎng)關(guān)上設(shè)有第一系統(tǒng)的第一客戶端代理和第二系統(tǒng) 的第二客戶端代理。
[0038] 在一個(gè)實(shí)施例中,如果第一系統(tǒng)與第二系統(tǒng)分別是WebRTC系統(tǒng)和IMS系統(tǒng),則媒 體網(wǎng)關(guān)除了接收WebRTC系統(tǒng)的客戶端發(fā)送的媒體編解碼信息和候選地址信息,還可以接 收WebRTC系統(tǒng)的客戶端發(fā)送的SRTP和RTP轉(zhuǎn)換用的密鑰信息(或稱"SRTP密鑰信息"),后 續(xù)在傳送媒體流的過程中,可以將來自WebRTC系統(tǒng)的媒體流使用該密鑰信息解密處理后 傳送給MS系統(tǒng),或?qū)碜訫S系統(tǒng)的媒體流使用該密鑰信息加密處理后傳送給WebRTC系 統(tǒng)。
[0039] 在一個(gè)實(shí)施例中,第一客戶端可以通過信令網(wǎng)關(guān)將其媒體編解碼信息和候選地址 信息發(fā)送給媒體網(wǎng)關(guān),具體的,第一客戶端將攜帶第一客戶端支持的媒體編解碼信息和候 選地址信息的消息發(fā)送給信令網(wǎng)關(guān),信令網(wǎng)關(guān)再將該消息發(fā)送給媒體網(wǎng)關(guān)。
[0040] 步驟S302,媒體網(wǎng)關(guān)將接收到的信息替換為第二客戶端代理的候選地址信息以及 媒體網(wǎng)關(guān)和第二客戶端均支持的媒體編解碼信息,并發(fā)送給第二客戶端。
[0041] 在一個(gè)實(shí)施例中,媒體網(wǎng)關(guān)可以通過信令網(wǎng)關(guān)將第二客戶端代理的候選地址信息 以及媒體網(wǎng)關(guān)和第二客戶端均支持的媒體編解碼信息發(fā)送給第二客戶端,具體的,媒體網(wǎng) 關(guān)采用第一客戶端使用的消息格式將第二客戶端代理的候選地址信息以及媒體網(wǎng)關(guān)和第 二客戶端均支持的媒體編解碼信息攜帶在消息中發(fā)送給信令網(wǎng)關(guān),信令網(wǎng)關(guān)將該消息轉(zhuǎn)換 為第二客戶端使用的消息格式后發(fā)送給第二客戶端。
[0042] 步驟S303,媒體網(wǎng)關(guān)接收第二客戶端發(fā)送的第二客戶端支持的媒體編解碼信息和 候選地址信息,至此第二客戶端與其代理獲取到對(duì)方的候選地址信息可以進(jìn)行連通性檢測 以建立連接。
[0043] 在一個(gè)實(shí)施例中,第二客戶端可以通過信令網(wǎng)關(guān)將其媒體編解碼信息和候選地址 信息發(fā)送給媒體網(wǎng)關(guān),具體的,第二客戶端將攜帶第二客戶端支持的媒體編解碼信息和候 選地址信息的消息發(fā)送給信令網(wǎng)關(guān),信令網(wǎng)關(guān)再將該消息發(fā)送給媒體網(wǎng)關(guān)。
[0044] 步驟S304,媒體網(wǎng)關(guān)將接收到的信息替換為第一客戶端代理的候選地址信息以及 媒體網(wǎng)關(guān)和第一客戶端均支持的媒體編解碼信息,并發(fā)送給第一客戶端,至此第一客戶端 與其代理獲取到對(duì)方的候選地址信息可以進(jìn)行連通性檢測以建立連接。
[0045] 在一個(gè)實(shí)施例中,媒體網(wǎng)關(guān)可以通過信令網(wǎng)關(guān)將第一客戶端代理的候選地址信息 以及媒體網(wǎng)關(guān)和第一客戶端均支持的媒體編解碼信息發(fā)送給第一客戶端,具體的,媒體網(wǎng) 關(guān)采用第二客戶端使用的消息格式將第一客戶端代理的候選地址信息以及媒體網(wǎng)關(guān)和第 一客戶端均支持的媒體編解碼信息攜帶在消息中發(fā)送給信令網(wǎng)關(guān),信令網(wǎng)關(guān)將該消息轉(zhuǎn)換 為第一客戶端使用的消息格式后發(fā)送給第一客戶端。
[0046] 步驟S305,媒體網(wǎng)關(guān)根據(jù)其與第一客戶端和第二客戶端建立的連接以及協(xié)商的媒 體編解碼信息進(jìn)行媒體流的傳輸和轉(zhuǎn)換。
[0047] 在一個(gè)實(shí)施例中,步驟S305具體包括:媒體網(wǎng)關(guān)通過其與第一客戶端建立的連接 接收到第一客戶端發(fā)送的媒體流后,按照與第一客戶端協(xié)商的媒體編解碼信息對(duì)媒體流進(jìn) 行解碼,然后按照與第二客戶端協(xié)商的媒體編解碼信息對(duì)解碼得到的媒體流進(jìn)行編碼,并 通過其與第二客戶端建立的連接將編碼后的媒體流傳送給第二客戶端;或者,媒體網(wǎng)關(guān)通 過其與第二客戶端建立的連接接收到第二客戶端發(fā)送的媒體流后,按照與第二客戶端協(xié)商 的媒體編解碼信息對(duì)媒體流進(jìn)行解碼,然后按照與第一客戶端協(xié)商的媒體編解碼信息對(duì)解 碼得到的媒體流進(jìn)行編碼,并通過其與第一客戶端建立的連接將編碼后的媒體流傳送給第 一客戶端。
[0048] 圖4為本發(fā)明媒體網(wǎng)關(guān)進(jìn)行媒體轉(zhuǎn)換的一個(gè)實(shí)施例的流程示意圖。如圖4所示, 本實(shí)施例的方法包括以下步驟:
[0049] 步驟S401,媒體網(wǎng)關(guān)接收到媒體數(shù)據(jù)包;
[0050] 步驟S402,媒體網(wǎng)關(guān)根據(jù)收到的媒體數(shù)據(jù)包的頭部信息判斷媒體的編解碼類型與 對(duì)端要求的媒體編解碼類型是否一致;
[0051] 如果媒體編解碼類型一致,則執(zhí)行步驟405 ;如果媒體編解碼類型不一致,則執(zhí)行 步驟S403和S404,然后再執(zhí)行步驟405。
[0052] 步驟S403,根據(jù)源媒體流的編解碼類型先進(jìn)行解碼操作;
[0053] 步驟S404,根據(jù)對(duì)端要求