專利名稱:媒體流傳輸方法、系統(tǒng)及用戶終端的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其是涉及媒體流傳輸方法、系統(tǒng)及用戶終端。
背景技術(shù):
一般來說,NAT (Network Address Translation,網(wǎng)絡(luò)地址轉(zhuǎn)換)根據(jù)(內(nèi)部 IPdnternet Protocol,因特網(wǎng)協(xié)議)地址,內(nèi)部端口號)和(外部IP地址,外部端口號) 的映射方式不同可以分為Cone NAT (Cone Network Address Translation,錐型網(wǎng)絡(luò)地址轉(zhuǎn) 換)和 Symmetric NAT (Symmetric Network Address Translation,對稱型網(wǎng)絡(luò)地址轉(zhuǎn)換) 兩大類。目前存在多種 NAT 穿透技術(shù),如 STUN (Simple Traversal of User Datagram Protocol through Network Address Translators,用戶數(shù)據(jù)報協(xié)議對網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備
TURN (Traversal Using Relay Network Address Translation, jiM 網(wǎng)絡(luò)地址轉(zhuǎn)換的穿越方法)技術(shù)。上述技術(shù)在用于某些網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)時都存在利與弊,我們只能根據(jù)不同的接入方 式來應(yīng)用不同的方案,而無法在各種情況下對NAT/FW(Firewall,防火墻)的信令穿透問題 均能提供最優(yōu)解,存在一定的適用性與效率的問題,同時還會給系統(tǒng)引入許多復(fù)雜性和脆 弱性因素。為解決上述問題,現(xiàn)有技術(shù)提出了一種基于請求/應(yīng)答模型的信令協(xié)議為媒體流 建立連接的解決方案,稱為ICE (Interactive Connectivity Establishment,交互式連接 建立)。ICE可以通過一些特殊的方法使用STUN和TURN,避免只使用某一個所存在的缺陷。
具體實施方式
如下圖1顯示了典型的ICE配置環(huán)境,兩個終端標(biāo)識為L和R。L和R都位于NAT (可 能為多重NAT)之后,彼此并不知道,NAT的類型和性質(zhì)也不知道。Agent (代理)L和R能夠 在傳輸SDP(Session Descriptor Protocol,會話描述協(xié)議)消息的請求/應(yīng)答交互中結(jié) 合,這種交互是為了在L和R之間建立一條媒體會話。典型的這種交互會通過SIP (Session Initiated Protocol,會話初始化協(xié)議)服務(wù)器發(fā)生。在網(wǎng)絡(luò)中,除Agent之外,一個SIP服務(wù)器、NAT、還有STUN服務(wù)器都被ICE使用。 每個Agent可以有自己的STUN服務(wù)器,也可以共用一個。ICE的基本思想是每個Agent都 有一些可以用于與其他Agent通信的候選的傳輸?shù)刂?。可能任何一個L的候選的地址能夠 用來與R的任何一個候選地址通信。實際上,一些組合是不能正常工作的,例如,如果L和 R都位于NAT之后,他們的直接的接口地址就不能直接通信。ICE的目的就是發(fā)現(xiàn)一些可以 正常工作的地址組合。實現(xiàn)目的的途徑是系統(tǒng)嘗試所有可能的組合,當(dāng)然,這些組合被合理 的排序,直到找到一個或多個可以工作的組合。圖 2 顯示了一種P2P SIP (Point to Point Session Initiated Protocol,點對點 會話初始化協(xié)議)網(wǎng)絡(luò)結(jié)構(gòu),其中,P2P SIP重疊網(wǎng)是由具有公網(wǎng)IP地址、沒有防火墻限制 并且具有一定帶寬的Peer節(jié)點構(gòu)成,Client (客戶端)節(jié)點通過Peer節(jié)點接入重疊網(wǎng)。其中,Peer節(jié)點可以存在若干個預(yù)設(shè)的節(jié)點,用于系統(tǒng)初始化操作,其余的Peer節(jié)點都由客 戶端自舉產(chǎn)生。Client節(jié)點并不承擔(dān)重疊網(wǎng)工作,但是他們通過重疊網(wǎng)來進(jìn)行內(nèi)容存儲和 查詢,并通過重疊網(wǎng)上的Peer節(jié)點進(jìn)行NAT穿透。滿足一定條件的Client節(jié)點可以自舉 成為Peer節(jié)點,從而加入重疊網(wǎng)。在圖2所示的P2P SIP網(wǎng)絡(luò)結(jié)構(gòu)中,所有的Client節(jié)點 和Peer節(jié)點都具備ICE功能,由于Client節(jié)點可以通過Peer節(jié)點與其他節(jié)點進(jìn)行通信, Peer節(jié)點也可稱為中繼服務(wù)器?,F(xiàn)以P2P SIP方案中位于Symmetric NAT后的用戶終端在進(jìn)行通信時的情況,具 體配置如圖3所示。在圖3中,假設(shè)Client A和B都位于對稱型NAT后面,二者進(jìn)語音或 者視頻通信。由于Client A和Client B都位于symmetric NAT后面,兩者都收集到三個 ICE候選地址本地候選地址(Local Candidate)、經(jīng)過NAT轉(zhuǎn)換的候選地址(Reflexive Candidate)和Peer節(jié)點為之分配的中繼候選地址(Relay Candidate)?,F(xiàn)假設(shè)Client A 進(jìn)行地址有效性探測,由于Client B位于Symmetric NAT后面,因此Client A探測Client B 的 Local Candidate、Reflexive Candidate 均告失敗,最后 Client A 探測 Client B 的 Relay Candidate 成功,故 Client A 發(fā)向 Client B 的媒體流路徑是 Client A- > Peer B- > Client B。同理,Client B 發(fā)向 Client A 的媒體流路徑是 Client B- > Peer A- > Client A。綜上可知,位于Symmetric NAT后面的用戶終端與其他用戶終端通信時,需要通過 TURN服務(wù)器(或者類似的中繼服務(wù)器)進(jìn)行媒體流轉(zhuǎn)發(fā)。通常情況下,用戶終端在登陸時 根據(jù)時延、帶寬等指標(biāo)選擇一個合適的中繼服務(wù)器,之后在該通信過程中就利用該服務(wù)器 進(jìn)行媒體流轉(zhuǎn)發(fā)。在選擇中繼服務(wù)器時,時延和帶寬等指標(biāo)評估的是該用戶終端與中繼服 務(wù)器之間的鏈路情況,并不能 真正反映在實際的端對端通信過程中的端對端鏈路情況。
發(fā)明內(nèi)容
本發(fā)明實施例提供了一種媒體流傳輸方法,用以優(yōu)化選擇通信鏈路,降低通信過 程中端對端時延,改善通話質(zhì)量,該方法包括獲取至少兩個中繼服務(wù)器為第一用戶終端分配的中繼候選地址;根據(jù)所述中繼候選地址,建立第二用戶終端分別經(jīng)各中繼服務(wù)器到達(dá)第一用戶終 端的通信鏈路;比較各通信鏈路的鏈路質(zhì)量,選擇鏈路質(zhì)量最優(yōu)的一條進(jìn)行媒體流的傳輸。本發(fā)明實施例還提供了一種用戶終端,用以優(yōu)化選擇通信鏈路,降低通信過程中 端對端時延,改善通話質(zhì)量,包括第一獲取模塊,用于獲取至少兩個中繼服務(wù)器為指定用戶終端分配的中繼候選地 址;建立模塊,用于根據(jù)所述中繼候選地址,建立本設(shè)備分別經(jīng)各中繼服務(wù)器到達(dá)所 述指定用戶終端的通信鏈路;第一選擇模塊,用于比較各通信鏈路的鏈路質(zhì)量,選擇鏈路質(zhì)量最優(yōu)的一條進(jìn)行 媒體流的傳輸。本發(fā)明實施例還提供了一種媒體流傳輸系統(tǒng),用以優(yōu)化選擇通信鏈路,降低通信 過程中端對端時延,改善通話質(zhì)量,包括
第一用戶終端,用于獲取至少兩個中繼服務(wù)器為其分配的中繼候選地址;第二用戶終端,用于從第一用戶終端獲取至少兩個中繼服務(wù)器為第一用戶終端分 配的中繼候選地址;根據(jù)所述中繼候選地址,建立第二用戶終端分別經(jīng)各中繼服務(wù)器到達(dá) 第一用戶終端的通信鏈路;比較各通信鏈路的鏈路質(zhì)量,選擇鏈路質(zhì)量最優(yōu)的一條進(jìn)行媒 體流的傳輸。本發(fā)明實施例中,獲取至少兩個中繼服務(wù)器為第一用戶終端分配的中繼候選地 址,根據(jù)所述中繼候選地址,建立第二用戶終端分別經(jīng)各中繼服務(wù)器到達(dá)第一用戶終端的 通信鏈路,由于中繼服務(wù)器為至少兩個,第二用戶終端經(jīng)各中繼服務(wù)器到達(dá)第一用戶終端 的通信鏈路也應(yīng)該至少兩條。通信鏈路為至少兩條時,各通信鏈路的鏈路質(zhì)量可能并不相 同,比較各通信鏈路的鏈路質(zhì)量,選擇鏈路質(zhì)量最優(yōu)的一條進(jìn)行媒體流的傳輸,因此,本發(fā) 明實施例并非像背景技術(shù)中提到的只考慮第一用戶終端與中繼服務(wù)器之間的鏈路情況; 而是考慮到了第一用戶終端與第二用戶終端之間實際的端對端鏈路狀態(tài),包括第一用戶終 端與中繼服務(wù)器、中繼服務(wù)器與第二用戶終端之間的鏈路綜合情況,因而可以達(dá)到優(yōu)化選 擇通信鏈路的目的,降低通信鏈路中端對端時延,改善通話質(zhì)量。
圖1是背景技術(shù)中典型的ICE配置環(huán)境的示意圖;圖2是背景技術(shù)中一種P2P SIP網(wǎng)絡(luò)結(jié)構(gòu)的示意圖;圖3是背景技術(shù)中P2P SIP方案中位于對稱型NAT后的用戶終端進(jìn)行通信時的結(jié) 構(gòu)示意圖;圖4是本發(fā)明實施例提供的媒體流傳輸方法的流程圖;圖5是本發(fā)明實施例中第一用戶終端收集中繼候選地址的流程圖;圖6是本發(fā)明實施例中利用時間戳選項確定回環(huán)時間的流程圖;圖7是本發(fā)明實施例中時間戳選項的格式示意圖;圖8是本發(fā)明實施例中網(wǎng)絡(luò)環(huán)境配置示意圖;圖9、圖13是本發(fā)明實施例中用戶終端的結(jié)構(gòu)示意圖;圖10是本發(fā)明實施例中第一獲取模塊的結(jié)構(gòu)示意圖;圖11、圖12是本發(fā)明實施例中第一選擇模塊的結(jié)構(gòu)示意圖;圖14是本發(fā)明實施例中媒體流傳輸系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施例方式下面結(jié)合附圖對本發(fā)明實施例進(jìn)行具體說明。在本發(fā)明實施例中,提供了 一種媒體流傳輸方法,可以優(yōu)化選擇通信鏈路,降低通 信過程中端對端時延,改善通話質(zhì)量,該方法的具體處理流程如圖4所示步驟401、獲取至少兩個中繼服務(wù)器為第一用戶終端分配的中繼候選地址;步驟402、根據(jù)所述中繼候選地址,建立第二用戶終端分別經(jīng)各中繼服務(wù)器到達(dá)第 一用戶終端的通信鏈路;步驟403、比較各通信鏈路的鏈路質(zhì)量,選擇鏈路質(zhì)量最優(yōu)的一條進(jìn)行媒體流的傳 輸。
本發(fā)明實施例可應(yīng)用于多種網(wǎng)絡(luò)環(huán)境,如可以應(yīng)用于部分用戶終端位于對稱型 NAT 之后的 P2P_voip (Point to Point voice over Internet Protocol,基于因特網(wǎng)協(xié)議 的點對點的語音傳輸)網(wǎng)絡(luò)環(huán)境,也可以應(yīng)用于其他類型的voip網(wǎng)絡(luò),還可以應(yīng)用于其他 基于ICE的網(wǎng)絡(luò)應(yīng)用(比如點對點流p2p streaming),只要在環(huán)境中存在可以在彼此間進(jìn) 行媒體流傳輸?shù)挠脩艚K端及至少兩個中繼服務(wù)器即可。在下面的實施例中,以實施環(huán)境為 所有用戶終端均位于對稱型NAT之后的P2P_voip網(wǎng)絡(luò)為例進(jìn)行說明。
如圖4所示流程,步驟401在實施時,獲取至少兩個中繼服務(wù)器為第一用戶終端分 配的中繼候選地址有多種實施方式,如,可以從至少兩個中繼服務(wù)器中獲取,也可以向第一 用戶終端發(fā)送獲取請求,也可以采取其他的獲取手段,其中,較優(yōu)的,可以向第一用戶終端 發(fā)送邀請INVITE消息,接收第一用戶終端反饋的應(yīng)答ACK消息,在ACK消息中攜帶至少兩 個中繼服務(wù)器為第一用戶終端分配的中繼候選地址。在實施時,若第一用戶終端也需向第 二用戶終端發(fā)送媒體流,也可以在INVITE消息中攜帶至少兩個中繼服務(wù)器為第二用戶終 端分配的中繼候選地址,節(jié)省第一用戶終端獲取第二用戶終端的中繼候選地址的時間。當(dāng)然,第一用戶終端在接收INVITE消息之前,需要收集自身的中繼候選地址。具 體的實施步驟如圖5所示步驟501、向第一用戶終端連接的中繼服務(wù)器發(fā)送地址請求消息,獲取所述連接的 中繼服務(wù)器為第一用戶終端分配的中繼候選地址;步驟502、在第一用戶終端維護(hù)的本地節(jié)點列表中選擇至少一個未連接的中繼服 務(wù)器;步驟503、向選擇的中繼服務(wù)器發(fā)送地址請求消息,獲取所述選擇的中繼服務(wù)器為 第一用戶終端分配的中繼候選地址。如圖5所示流程,步驟501在實施前需選擇連接的中繼服務(wù)器,具體選擇方法如 下第一用戶終端在voip網(wǎng)絡(luò)中獲取可用的Peer列表,保存在本地,并從中隨機(jī)選擇 出若干個Peer節(jié)點,探測第一用戶終端與選擇出的Peer節(jié)點間的鏈路質(zhì)量,維護(hù)鏈路質(zhì)量 較好的幾個節(jié)點列表,并在維護(hù)的節(jié)點列表中選擇出鏈路質(zhì)量最好的一個Peer節(jié)點作為 適合注冊的中繼服務(wù)器,并與之進(jìn)行連接。在實施時,Peer列表中節(jié)點的數(shù)目為至少兩個。由于中繼服務(wù)器為至少兩個,除當(dāng)前連接的中繼服務(wù)器外,還需要選擇其他未連 接的中繼服務(wù)器為第一用戶終端分配中繼候選地址。為了達(dá)到優(yōu)化選擇通信鏈路的目的, 在第一用戶終端維護(hù)的本地節(jié)點列表中選擇至少一個未連接的中繼服務(wù)器。實施時,選擇 的未連接的中繼服務(wù)器的數(shù)目可以是一個,也可以是兩個,還可以是三個以上,只要選擇的 各中繼服務(wù)器可以實現(xiàn)為第一用戶終端分配中繼候選地址的目的即可。一個中繼服務(wù)器為第一用戶終端分配一個中繼候選地址,至少兩個中繼服務(wù)器為 第一用戶終端分配至少兩個中繼候選地址,在實施時,獲取的至少兩個中繼候選地址的優(yōu) 先級相同。在實施時,除中繼候選地址外,第一用戶終端還收集到本地候選地址、經(jīng)NAT轉(zhuǎn)換 的候選地址,由于第一用戶終端位于對稱型NAT之后,根據(jù)本地候選地址、經(jīng)NAT轉(zhuǎn)換的候 選地址均無法與第一用戶終端連接,后文對上述兩個地址不再贅述。第一用戶終端的中繼候選地址收集結(jié)束后,在連接的中繼服務(wù)器上進(jìn)行第一用戶終端的注冊,其中,注冊地址為連接的中繼服務(wù)器為第一用戶終端分配的中繼候選地址。在 注冊結(jié)束后,第一用戶終端周期性探測節(jié)點列表中的節(jié)點,更新列表中的通信鏈路質(zhì)量信 肩、O如圖4所示流程,步驟402在實施時,根據(jù)所述中繼候選地址,建立第二用戶終端 分別經(jīng)各中繼服務(wù)器到達(dá)第一用戶終端的通信鏈路,由于中繼服務(wù)器為至少兩個,第二用 戶終端經(jīng)各中繼服務(wù)器到達(dá)第一用戶終端的通信鏈路也應(yīng)該為至少兩條。如圖4所示流程,步驟403在實施時,比較各通信鏈路的鏈路質(zhì)量,選擇鏈路質(zhì)量 最優(yōu)的一條進(jìn)行媒體流的傳輸。其中,最優(yōu)通信鏈路可以有多種選擇方式,如,可以根據(jù)回 環(huán)時間進(jìn)行選擇,也可以根據(jù)帶寬的占用進(jìn)行選擇,也可以綜合回環(huán)時間和帶寬進(jìn)行選擇, 當(dāng)然,還可以采用其他能夠?qū)崿F(xiàn)優(yōu)化通信鏈路的方式對通信鏈路進(jìn)行選擇。在一個實施例中,在比較各通信鏈路的回環(huán)時間之前,需要確定各通信鏈路的回 環(huán)時間,回環(huán)時間的確定方式有多種,本發(fā)明實施例選取了利用時間戳選項確定回環(huán)時間 的方法,具體處理流程如圖6所示步驟601、向第一用戶終端發(fā)送探測請求Stun Request消息;步驟602、接收第一用戶終端反饋的探測響應(yīng)Stun Response消息,所述探測響應(yīng) 消息中攜帶有用于記錄探測請求消息發(fā)送時間的時間戳選項;步驟603、比較時間戳選項中記錄的時間與當(dāng)前時間,確定各通信鏈路的回環(huán)時 間。其中,步驟601在實施時,由于至少兩個中繼候選地址的優(yōu)先級相同,可以同時對 第一用戶終端的至少兩個中繼候選地址發(fā)送Stun Request消息,也可以依次對至少兩個中 繼候選地址發(fā)送Stun Request消息,也可以將中繼候選地址分組、排序,按組次序發(fā)送Stim Request 消息。其中,步驟602、603中提到的時間戳選項為TLV(Type-Length-Value,類型-長 度-數(shù)值)格式,在本發(fā)明實施例中,Value具體為Time (時間),具體格式如圖7所示。在一個實施例中,比較各通信鏈路的回環(huán)時間之后,根據(jù)比較結(jié)果,選擇鏈路質(zhì)量 最優(yōu)的一條進(jìn)行媒體流的傳輸包括選擇回環(huán)時間最小的通信鏈路進(jìn)行媒體流的傳輸。實施時,為能夠準(zhǔn)確確定探測請求消息的發(fā)送時間,還可以在向第一用戶終端發(fā) 送的探測請求消息中增加時間戳選項,記錄發(fā)送時間。第一用戶終端只需將該時間戳選項 解析出來,攜帶在反饋的探測響應(yīng)消息里,發(fā)送給第二用戶終端。在實施時,媒體流的傳輸是雙向的,可以由第一用戶終端向第二用戶終端傳輸,也 可以由第二用戶終端向第一用戶終端傳輸,本發(fā)明實施例具體描述了第二用戶終端向第一 用戶終端傳輸媒體流的過程,第一用戶終端向第二用戶終端傳輸媒體流的處理方式與第二 用戶終端向第一用戶終端傳輸媒體流的處理方式相類似。現(xiàn)以一具體實施例進(jìn)行說明,具體的處理方式如下假設(shè)Client A和B都位于對稱型NAT后面,二者進(jìn)行語音或者視頻通信,具體網(wǎng) 絡(luò)環(huán)境配置如圖8所示,具體的處理過程如下Client A獲得可用的Peer列表后,在本地保存該列表,并從中隨機(jī)選擇若干個 (例如,8個或16個)Peer,探測和這些節(jié)點之間的鏈路質(zhì)量,并維護(hù)鏈路質(zhì)量較好的節(jié)點 列表(例如,4個或者8個)。從維護(hù)的節(jié)點列表中選擇鏈路質(zhì)量最好的Peer節(jié)點作為當(dāng)前連接的節(jié)點。本發(fā)明實施例中,假設(shè)ClientA選擇PeerA作為即將注冊的節(jié)點,并進(jìn)行連 接。Client B選擇Peer B作為即將注冊的節(jié)點,并進(jìn)行連接。Client A 向 Peer A 發(fā)送 Stun Binding Request 禾口 Stun Alloc Request 消息, 獲取經(jīng)過NAT轉(zhuǎn)換的候選地址Server Reflexive Candidate和Peer A為Client A分配 的中繼候選地址Relay Candidate (A)。除Peer A外,Client A還選擇了另外兩個未連接 的中繼服務(wù)器Peer E和Peer F。Client A要向Peer E和Peer F分別發(fā)送Stun Alloc Request 消息,獲取它們?yōu)橹峙涞?Relay Candidate (E)、Relay Candidate (F)。同理,Client B 向 Peer B 發(fā)送 Stun Binding Request (捆綁請求消息)和 Stun Alloc Request (分配請求消息),獲取 Server Reflexive Candidate 禾口 Relay Candidate );向選擇的未連接的Peer C和Peer D分別發(fā)送Stun Alloc Request消息, 獲取它們?yōu)橹峙涞?Relay Candidate (C)、Relay Candidate (D)。Client A向Peer A進(jìn)行注冊,注冊地址是Peer A為Client A分配的 RelayCandidate ;Client B向Peer B進(jìn)行注冊,注冊地址是Peer B為Client B分配的 Relay Candidate。Client AXlient B完成注冊后,在空閑時間周期性探測節(jié)點列表中的 節(jié)點,并更新列表中的鏈路質(zhì)量信息。實施時,Client A作為發(fā)送端,向Client B發(fā)送Invite消息,該消息中包含多個 候選地址,除至少兩個中繼候選地址外,還包括本地候選地址Local Candidate和Server Reflexive Candidate,艮口,在 Invite 消息中,包含 Local Candidate、Server Reflexive Candidate、Peer A 為之分配的 Relay Candidate (A),還包含 Relay Candidate )禾口 Relay Candidate(F)。在本發(fā)明實施例中,三個中繼候選地址的優(yōu)先級是相同的。Client B收到Invite消息后,向Client A返回ACK消息。在ACK消息中,攜帶 Client B 的多個候選地址,包含 Local Candidate^Server Reflexive Candidate 禾口 Relay Candidate(B)夕卜,還包含 Relay Candidate (C)、Relay Candidate (D)。根據(jù)優(yōu)先級規(guī)定,Client A首先用本地地址來依次探測Client B的本地候選地 址和Server Reflexive Candidate,由于Client B位于對稱型NAT后面,因此上述探測都 不成功。Client A 繼續(xù)探測 Client B 的 Relay Candidate,在本發(fā)明實施例中,Client A 可以同時向Client B的三個中繼候選地址發(fā)送Stun Request消息。為了獲取路徑的回環(huán) 時間RTT(Round Trip Time),可以在Stun Request消息中增加了時間戳選項,在發(fā)送Stun Request消息時,Client A將當(dāng)前的系統(tǒng)時間填充在時間戳選項中,然后再發(fā)送出去。正常情況下,對Client B的三個Relay Candidate探測都能夠成功。Client B在 收到Stun Request后,解析得到時間戳選項存儲的時間;將時間戳中的數(shù)值重新填入Stim Response包含的時間戳選項中,然后發(fā)送Stun Response。當(dāng)ClientA收到反饋的Stun Response消息后,從時間戳選項中取出時間值,然后與系統(tǒng)當(dāng)前時間對比,就可以獲得該通 信鏈路的回環(huán)時間RTT。比較三條通信鏈路的回環(huán)時間,選擇回環(huán)時間最小的通信鏈路進(jìn)行 媒體流的傳輸。Client B采用相同的處理方式,在與Client A連接的多條通信鏈路中,選擇一條 回環(huán)時間最小的通信鏈路進(jìn)行媒體流的傳輸?;谕话l(fā)明構(gòu)思,本發(fā)明實施例提供了一種用戶終端,具體結(jié)構(gòu)如圖9所示,該裝置可以包括第一獲取模塊901,用于獲取至少兩個中繼服務(wù)器為指定用戶終端分配的中繼候選地址;建立模塊902,用于根據(jù)所述中繼候選地址,建立本設(shè)備分別經(jīng)各中繼服務(wù)器到達(dá) 所述指定用戶終端的通信鏈路;第一選擇模塊903,用于比較各通信鏈路的鏈路質(zhì)量,選擇鏈路質(zhì)量最優(yōu)的一條進(jìn) 行媒體流的傳輸。一個實施例中,如圖10所示,第一獲取模塊901可以包括發(fā)送子模塊1001,用于向所述指定用戶終端發(fā)送邀請INVITE消息;接收子模塊1002,用于接收所述指定用戶終端反饋的應(yīng)答ACK消息,所述ACK消息 中包括至少兩個中繼服務(wù)器為所述指定用戶終端分配的中繼候選地址。一個實施例中,如圖11所示,第一選擇模塊903可以包括比較子模塊1101,用于比較各通信鏈路的回環(huán)時間和/或帶寬;選擇子模塊1102,用于根據(jù)比較結(jié)果,選擇鏈路質(zhì)量最優(yōu)的一條進(jìn)行媒體流的傳 輸。一個實施例中,如圖12所示,第一選擇模塊903還可以包括發(fā)送子模塊1201,用于向所述指定用戶終端發(fā)出探測請求消息;接收子模塊1202,用于接收所述指定用戶終端反饋的探測響應(yīng)消息,所述探測響 應(yīng)消息中攜帶有用于記錄探測請求消息發(fā)送時間的時間戳選項;確定子模塊1203,用于比較時間戳選項中記錄的時間與當(dāng)前時間,確定各通信鏈 路的回環(huán)時間。一個實施例中,比較子模塊1101比較各通信鏈路的回環(huán)時間后,選擇子模塊1102 可以進(jìn)一步用于選擇回環(huán)時間最小的通信鏈路進(jìn)行媒體流的傳輸。一個實施例中,如圖13所示,用戶終端可以進(jìn)一步包括第二獲取模塊1301,用于向本設(shè)備連接的中繼服務(wù)器發(fā)送地址請求消息,獲取所 述連接的中繼服務(wù)器為本設(shè)備分配的中繼候選地址;第二選擇模塊1302,用于在本設(shè)備維護(hù)的本地節(jié)點列表中選擇至少一個本設(shè)備未 連接的中繼服務(wù)器;第三獲取模塊1303,用于向選擇的中繼服務(wù)器發(fā)送地址請求消息,獲取所述選擇 的中繼服務(wù)器為所述用戶終端分配的中繼候選地址?;谕话l(fā)明構(gòu)思,本發(fā)明實施例提供了一種媒體流傳輸系統(tǒng),如圖14所示,包 括第一用戶終端1401,用于獲取至少兩個中繼服務(wù)器為其分配的中繼候選地址;第二用戶終端1402,用于從第一用戶終端獲取至少兩個中繼服務(wù)器為第一用戶終 端分配的中繼候選地址;根據(jù)所述中繼候選地址,建立第二用戶終端分別經(jīng)各中繼服務(wù)器 到達(dá)第一用戶終端的通信鏈路;比較各通信鏈路的鏈路質(zhì)量,選擇鏈路質(zhì)量最優(yōu)的一條進(jìn) 行媒體流的傳輸。本發(fā)明實施例中,獲取至少兩個中繼服務(wù)器為第一用戶終端分配的中繼候選地 址,根據(jù)所述中繼候選地址,建立第二用戶終端分別經(jīng)各中繼服務(wù)器到達(dá)第一用戶終端的通信鏈路,由于中繼服務(wù)器為至少兩個,第二用戶終端經(jīng)各中繼服務(wù)器到達(dá)第一用戶終端的通信鏈路也應(yīng)該至少兩條。通信鏈路為至少兩條時,各通信鏈路的鏈路質(zhì)量可能并不相 同,比較各通信鏈路的鏈路質(zhì)量,選擇鏈路質(zhì)量最優(yōu)的一條進(jìn)行媒體流的傳輸,因此,本發(fā) 明實施例并非像背景技術(shù)中提到的只考慮第一用戶終端與中繼服務(wù)器之間的鏈路情況; 而是考慮到了第一用戶終端與第二用戶終端之間實際的端對端鏈路狀態(tài),包括第一用戶終 端與中繼服務(wù)器、中繼服務(wù)器與第二用戶終端之間的鏈路綜合情況,因而可以達(dá)到優(yōu)化選 擇通信鏈路的目的,降低通信鏈路中端對端時延,改善通話質(zhì)量。 顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變形而不脫離本發(fā)明的精 神和范圍。這樣,倘若本發(fā)明的這些修改和變形屬于本發(fā)明權(quán)利要求及其等同技術(shù)范圍之 內(nèi),則本發(fā)明也意圖包含這些改動和變形在內(nèi)。
權(quán)利要求
一種媒體流傳輸方法,其特征在于,該方法包括獲取至少兩個中繼服務(wù)器為第一用戶終端分配的中繼候選地址;根據(jù)所述中繼候選地址,建立第二用戶終端分別經(jīng)各中繼服務(wù)器到達(dá)第一用戶終端的通信鏈路;比較各通信鏈路的鏈路質(zhì)量,選擇鏈路質(zhì)量最優(yōu)的一條進(jìn)行媒體流的傳輸。
2.如權(quán)利要求1所述的方法,其特征在于,獲取至少兩個中繼服務(wù)器為第一用戶終端 分配的中繼候選地址,包括向第一用戶終端發(fā)送邀請INVITE消息;接收第一用戶終端反饋的應(yīng)答ACK消息,所述ACK消息中攜帶至少兩個中繼服務(wù)器為 第一用戶終端分配的中繼候選地址。
3.如權(quán)利要求2所述的方法,其特征在于,向第一用戶終端發(fā)送邀請INVITE消息之前, 包括向第一用戶終端連接的中繼服務(wù)器發(fā)送地址請求消息,獲取所述連接的中繼服務(wù)器為 第一用戶終端分配的中繼候選地址;在第一用戶終端維護(hù)的本地節(jié)點列表中選擇至少一個第一用戶終端未連接的中繼服 務(wù)器;向選擇的中繼服務(wù)器發(fā)送地址請求消息,獲取所述選擇的中繼服務(wù)器為第一用戶終端 分配的中繼候選地址。
4.如權(quán)利要求1所述的方法,其特征在于,所述比較各通信鏈路的鏈路質(zhì)量,選擇鏈路 質(zhì)量最優(yōu)的一條進(jìn)行媒體流的傳輸,包括比較各通信鏈路的回環(huán)時間和/或帶寬;根據(jù)比較結(jié)果,選擇鏈路質(zhì)量最優(yōu)的一條進(jìn)行媒體流的傳輸。
5.如權(quán)利要求4所述的方法,其特征在于,比較各通信鏈路的回環(huán)時間之前,包括 向第一用戶終端發(fā)出探測請求消息;接收第一用戶終端反饋的探測響應(yīng)消息,所述探測響應(yīng)消息中攜帶有用于記錄探測請 求消息發(fā)送時間的時間戳選項;比較時間戳選項中記錄的時間與當(dāng)前時間,確定各通信鏈路的回環(huán)時間。
6.如權(quán)利要求5所述的方法,其特征在于,所述時間戳選項為類型-長度-數(shù)值TLV格式。
7.如權(quán)利要求4至6任一項所述的方法,其特征在于,比較各通信鏈路的回環(huán)時間之 后,根據(jù)比較結(jié)果,選擇鏈路質(zhì)量最優(yōu)的一條進(jìn)行媒體流的傳輸包括選擇回環(huán)時間最小的 通信鏈路進(jìn)行媒體流的傳輸。
8.一種用戶終端,其特征在于,包括第一獲取模塊,用于獲取至少兩個中繼服務(wù)器為指定用戶終端分配的中繼候選地址; 建立模塊,用于根據(jù)所述中繼候選地址,建立本設(shè)備分別經(jīng)各中繼服務(wù)器到達(dá)所述指 定用戶終端的通信鏈路;第一選擇模塊,用于比較各通信鏈路的鏈路質(zhì)量,選擇鏈路質(zhì)量最優(yōu)的一條進(jìn)行媒體 流的傳輸。
9.如權(quán)利要求8所述的用戶終端,其特征在于,所述第一獲取模塊包括發(fā)送子模塊,用于向所述指定用戶終端發(fā)送邀請INVITE消息;接收子模塊,用于接收所述指定用戶終端反饋的應(yīng)答ACK消息,所述ACK消息中攜帶至 少兩個中繼服務(wù)器為所述指定用戶終端分配的中繼候選地址。
10.如權(quán)利要求8所述的用戶終端,其特征在于,所述第一選擇模塊包括比較子模塊,用于比較各通信鏈路的回環(huán)時間和/或帶寬;選擇子模塊,用于根據(jù)比較結(jié)果,選擇鏈路質(zhì)量最優(yōu)的一條進(jìn)行媒體流的傳輸。
11.如權(quán)利要求10所述的用戶終端,其特征在于,所述第一選擇模塊還包括發(fā)送子模塊,用于向所述指定用戶終端發(fā)出探測請求消息;接收子模塊,用于接收所述指定用戶終端反饋的探測響應(yīng)消息,所述探測響應(yīng)消息中 攜帶有用于記錄探測請求消息發(fā)送時間的時間戳選項;確定子模塊,用于比較時間戳選項中記錄的時間與當(dāng)前時間,確定各通信鏈路的回環(huán) 時間。
12.如權(quán)利要求9至11任一項所述的用戶終端,其特征在于,比較子模塊比較各通信鏈 路的回環(huán)時間后,所述選擇子模塊進(jìn)一步用于選擇回環(huán)時間最小的通信鏈路進(jìn)行媒體流 的傳輸。
13.如權(quán)利要求8所述的用戶終端,其特征在于,進(jìn)一步包括第二獲取模塊,用于向本設(shè)備連接的中繼服務(wù)器發(fā)送地址請求消息,獲取所述連接的 中繼服務(wù)器為本設(shè)備分配的中繼候選地址;第二選擇模塊,用于在本設(shè)備維護(hù)的本地節(jié)點列表中選擇至少一個本設(shè)備未連接的中 繼服務(wù)器;第三獲取模塊,用于向選擇的中繼服務(wù)器發(fā)送地址請求消息,獲取所述選擇的中繼服 務(wù)器為所述用戶終端分配的中繼候選地址。
14.一種媒體流傳輸系統(tǒng),其特征在于,包括第一用戶終端,用于獲取至少兩個中繼服務(wù)器為其分配的中繼候選地址;第二用戶終端,用于從第一用戶終端獲取至少兩個中繼服務(wù)器為第一用戶終端分配的 中繼候選地址;根據(jù)所述中繼候選地址,建立第二用戶終端分別經(jīng)各中繼服務(wù)器到達(dá)第一 用戶終端的通信鏈路;比較各通信鏈路的鏈路質(zhì)量,選擇鏈路質(zhì)量最優(yōu)的一條進(jìn)行媒體流 的傳輸。
全文摘要
本發(fā)明公開了一種媒體流傳輸方法,該方法包括獲取至少兩個中繼服務(wù)器為第一用戶終端分配的中繼候選地址;根據(jù)所述中繼候選地址,建立第二用戶終端分別經(jīng)各中繼服務(wù)器到達(dá)第一用戶終端的通信鏈路;比較各通信鏈路的鏈路質(zhì)量,選擇鏈路質(zhì)量最優(yōu)的一條進(jìn)行媒體流的傳輸。本發(fā)明還公開了一種用戶終端和一種媒體流傳輸系統(tǒng)。采用本發(fā)明可以優(yōu)化選擇通信鏈路,降低通信過程中端對端時延,改善通話質(zhì)量。
文檔編號H04L29/08GK101834775SQ20091007993
公開日2010年9月15日 申請日期2009年3月13日 優(yōu)先權(quán)日2009年3月13日
發(fā)明者李振強(qiáng) 申請人:中國移動通信集團(tuán)公司