3G 牌照的發(fā)放,標(biāo)志著移動" title="中國移動">中國移動通信領(lǐng)域向3G技術(shù)升級的號角正式吹響,。3G 網(wǎng)絡(luò)區(qū)別于2G 網(wǎng)絡(luò)最重要的地方就是帶寬得到了很大的提升,,由此移動運營商采用最新的語音和視頻交互技術(shù),,可以為3G 手機用戶提供視頻會議、視頻點播和遠程監(jiān)控等眾多新興的交互式視頻增值服務(wù),。目前各大運營商鋪設(shè)的3G網(wǎng)絡(luò)基本是以3GPP R4 為規(guī)范,,實時視頻應(yīng)用采用的是電路域的3G-324M 協(xié)議標(biāo)準(zhǔn),而大部分增值應(yīng)用服務(wù)器采用的是IP" title="SIP">SIP 協(xié)議標(biāo)準(zhǔn),。因此,,為了解決兩種不同類型網(wǎng)絡(luò)的互聯(lián)互通,以提供豐富的多媒體增值應(yīng)用,,需要3G 交互式視頻網(wǎng)關(guān)進行不同協(xié)議間媒體格式和控制消息的轉(zhuǎn)換,,圖1 顯示了該網(wǎng)關(guān)在多媒體增值應(yīng)用服務(wù)體系結(jié)構(gòu)中所處的位置。本文首先簡要介紹了3G 交互式視頻網(wǎng)關(guān)所涉及到的關(guān)鍵技術(shù),,接著提出了該網(wǎng)關(guān)的一個具體的設(shè)計與實現(xiàn)方法,,最后給出了在實際環(huán)境中進行測試的情況。
圖1 3G 多媒體增值應(yīng)用服務(wù)體系結(jié)構(gòu),。
1 3G交互式視頻網(wǎng)關(guān)關(guān)鍵技術(shù)介紹
1.1 3G-324M 協(xié)議
3G-324M協(xié)議是3GPP組織以ITU-T H324/M為基礎(chǔ)制定的框架性標(biāo)準(zhǔn),,該協(xié)議主要是用來在低帶寬(通常為64kbps)的環(huán)境下提供足夠高質(zhì)量的實時多媒體通信。借助3G-324M 協(xié)議,,3G 終端既可以與其它的3G 終端進行實時的視頻通話,,也可以通過3G 交互式視頻網(wǎng)關(guān)和各種增值應(yīng)用服務(wù)器進行通信,獲得交互式的視頻增值服務(wù),,如視頻會議,、視頻點播、遠程監(jiān)控等,。
3G-324M 標(biāo)準(zhǔn)是一個標(biāo)準(zhǔn)體系,,包含下面幾個子協(xié)議標(biāo)準(zhǔn):音頻編碼標(biāo)準(zhǔn)(3GPP-AMR、G.723.1),、視頻編碼標(biāo)準(zhǔn)(H.263,、MPEG-4、H.261),、數(shù)據(jù)編碼標(biāo)準(zhǔn)(V.14,、LAPM(Link Access Procedure for Modems))、多路復(fù)用和解復(fù)用協(xié)議(H.223)和呼叫控制協(xié)議(H.245),。其中H.223 協(xié)議又分為兩層:適配層和復(fù)用層,。適配層的作用是為不同類型的數(shù)據(jù)進行適配,并提供相關(guān)的錯誤控制,,復(fù)用層的作用是交織多個媒體流如視頻,、音頻、用戶數(shù)據(jù)和控制消息(H.245)到一個媒體流,,使其能在傳輸信道上傳輸,。H.245 協(xié)議則規(guī)定了在會話各個階段的控制消息交換標(biāo)準(zhǔn),,H.245 定義的主要的邏輯過程包括主從決定過程,能力交換過程,,邏輯信道開關(guān)過程,,復(fù)用表初始化/修改過程,模式請求過程等,。
1.2 SIP 協(xié)議
SIP 協(xié)議是由IETF 提出來的在互聯(lián)網(wǎng)上進行多媒體通信的信令協(xié)議,,是下一代網(wǎng)絡(luò)(NGN)的核心協(xié)議之一 [6].SIP 是工作在應(yīng)用層上的一個信令協(xié)議,可以用來建立,、修改和終止有多方參與的多媒體會話進程,。一般情況下,SIP 協(xié)議使用RTP 協(xié)議傳送音頻和視頻流,,使用SDP 協(xié)議進行媒體描述。
圖2 基本的SIP 會話流程,。
一個簡單的SIP 會話流程如圖2 所示,。首先Alice給Bob 發(fā)送INVIte 消息邀請Bob 加入SIP 會話,INVITE 消息中攜帶了描述Alice 的音視頻編解碼格式和通信端口的SDP 信息,,Bob 收到INVITE 消息后,,發(fā)送200 OK 消息給Alice,200 OK 消息中攜帶了描述Bob 所選擇的編解碼格式和Bob 通信端口的SDP信息,,Alice 收到200 OK 消息后發(fā)送ACK 消息給Bob,,此時完成三次握手,進入媒體會話階段,。媒體會話完成后,,Bob 發(fā)送BYE 消息給Alice 結(jié)束SIP 會話,Alice 收到BYE 消息后,,給Bob 發(fā)送ACK 確認(rèn)消息,。
由于SIP 協(xié)議具有簡單性、靈活性,、可擴展性和開放性等顯著優(yōu)點,,人們對它的熱情正不斷高漲,正有越來越多的人利用SIP 構(gòu)筑下一代增值業(yè)務(wù)平臺,。
2 網(wǎng)關(guān)總體設(shè)計
網(wǎng)關(guān)的工作原理如圖3 所示,。
圖3 網(wǎng)關(guān)工作原理
由圖中可以看出,3G 交互式視頻網(wǎng)關(guān)主要負責(zé)控制消息和媒體格式的轉(zhuǎn)換,。在3G 電路域一側(cè),,3G 手機用戶通過撥打特服號碼撥通到3G 網(wǎng)關(guān),此時通過Q.931 信令建立起了一個B 信道,,這個信道是一個64Kbps 的數(shù)據(jù)信道,。在B 信道建立后,,3G-324M協(xié)議的初始化過程就在B 信道上進行,協(xié)議會在B 信道上建立三個邏輯信道,,分別用來傳輸H.245 控制消息,、音頻數(shù)據(jù)和視頻數(shù)據(jù)。在完成了3G-324M 協(xié)議的初始化后,,網(wǎng)關(guān)在IP 域一側(cè)通過SIP 協(xié)議與增值應(yīng)用服務(wù)器建立一個SIP 會話,,獲得RTP 格式的實時媒體流。對于從增值應(yīng)用服務(wù)器獲得的音頻,、視頻數(shù)據(jù)和控制消息,,網(wǎng)關(guān)轉(zhuǎn)換格式后,發(fā)送到3G-324M 協(xié)議棧,,3G-324M 協(xié)議棧根據(jù)H.223 協(xié)議將音頻,、視頻數(shù)據(jù)和控制消息復(fù)用到B 信道上發(fā)送到3G 手機。
對于從B 信道上獲得的數(shù)據(jù),,網(wǎng)關(guān)解復(fù)用成相應(yīng)的音頻,、視頻數(shù)據(jù)和控制消息后封裝成對應(yīng)的RTP 格式的數(shù)據(jù)報和SIP 消息,發(fā)送到增值應(yīng)用服務(wù)器,。網(wǎng)關(guān)的交互式功能主要通過控制消息的轉(zhuǎn)換實現(xiàn),,而控制消息主要來自手機端的DTMF 輸入。
在設(shè)計的時候,,由于實驗室已有的2G 音頻網(wǎng)關(guān)技術(shù)平臺已經(jīng)實現(xiàn)了SIP 協(xié)議棧并配有E1 板卡,, 所以只要在其基礎(chǔ)上加入3G-324M 協(xié)議棧,并實現(xiàn)3G-324M 協(xié)議與SIP 協(xié)議之間媒體格式和控制消息的轉(zhuǎn)換即可以完成3G 交互式視頻網(wǎng)關(guān)的基本功能,。
根據(jù)3G-324M 協(xié)議標(biāo)準(zhǔn),,3G-324M 協(xié)議棧的結(jié)構(gòu)設(shè)計如圖4 所示:
圖4 3G-324M 協(xié)議棧結(jié)構(gòu)
從圖中可以看出,所設(shè)計的3G-324M 協(xié)議棧一共有3 個邏輯信道,,分別是H.245 控制消息信道,、音頻信道和視頻信道。由應(yīng)用自上而下傳遞的控制消息翻譯成對應(yīng)的H.245消息,,經(jīng)過CCSR(Control ChannelSegmentation and Reassembly Layer,,簡稱CCSR)分段后交NSRP(Numbered Simple RetransmissionProtocol,簡稱NSRP)加上序列號,,加入到控制消息發(fā)送隊列中,,由應(yīng)用自上而下傳遞的音頻和視頻數(shù)據(jù)經(jīng)過H.223 的適配層進行適配后,也加入到相應(yīng)的媒體數(shù)據(jù)發(fā)送隊列中,,H.223 的復(fù)用層分別從各隊列中取得數(shù)據(jù)復(fù)用后通過3G 網(wǎng)絡(luò)發(fā)送到3G 手機上,。對于從3G網(wǎng)絡(luò)得到的數(shù)據(jù),協(xié)議棧自下而上通過H.223 進行解復(fù)用到各邏輯信道的接收隊列中,應(yīng)用從各邏輯信道提取控制消息或媒體數(shù)據(jù)進行處理,。
在設(shè)計3G-324M 協(xié)議棧音視頻發(fā)送機制的時候,,考慮到媒體流中視頻的數(shù)據(jù)量較大,而電路域提供給視頻的帶寬只有40kbps 左右,,所以如果不做適當(dāng)處理,,肯定會出現(xiàn)音頻超前視頻的情形。因此為音頻數(shù)據(jù)流設(shè)計一個緩沖區(qū),,只有當(dāng)音頻緩沖區(qū)中音頻包的個數(shù)大于一定域值的時候,,才會發(fā)送音頻數(shù)據(jù),這樣就最大限度的避免了可能出現(xiàn)的音視頻不同步的問題,。
在設(shè)計協(xié)議間媒體格式轉(zhuǎn)換機制,,特別是在將RTP 格式的H.263 視頻數(shù)據(jù)轉(zhuǎn)換成3G-324M 協(xié)議棧能處理的視頻幀的時候,由于RTP 封裝的H.263視頻數(shù)據(jù)在圖像開始碼處字節(jié)對齊,,具有填充位,,如果不去掉填充位直接發(fā)送到3G 手機終端,則會出現(xiàn)馬賽克,,所以設(shè)計了一個H.263 視頻幀的緩沖區(qū),,將連續(xù)兩個圖像開始碼之間的視頻幀緩沖起來,以去掉幀間的填充位,。具體的處理流程是讓程序掃描H.263格式的視頻流緩沖區(qū),每遇到圖像開始碼便將其之后的視頻幀緩沖起來,,緩沖區(qū)的大小動態(tài)分配,,直到遇到下一個圖像開始碼,然后將兩個圖像開始碼之間的視頻數(shù)據(jù)去掉填充位后發(fā)送到3G-324M 協(xié)議棧,。
3 網(wǎng)關(guān)的實現(xiàn)
在實現(xiàn)的時候,,用到的硬件主要包括PC 機一臺和E1 板卡一塊,用到的軟件主要包括Linux 操作系統(tǒng)和實驗室已有的2G 語音網(wǎng)關(guān)平臺(該平臺主要提供應(yīng)用程序接口,、SIP 協(xié)議棧和E1 板卡驅(qū)動程序),,在此基礎(chǔ)上實現(xiàn)了3G 交互式視頻網(wǎng)關(guān),其中最主要的是實現(xiàn)了3G-324M 協(xié)議棧以及3G-324M 協(xié)議與SIP協(xié)議間媒體格式和控制消息的轉(zhuǎn)換,。
3.1 3G-324M協(xié)議棧的實現(xiàn)設(shè)計的主要數(shù)據(jù)結(jié)構(gòu)包括:
H324M: 提供協(xié)議棧對外的統(tǒng)一接口,,包括H324M::Int(),H324M::Demux(),,H324M::Mutex()等,。其中H324M::Init()接口初始化3G-324M 協(xié)議棧, H324M::Demux()接口解復(fù)用從B 信道收到的數(shù)據(jù),,H324M::Mutex()將音頻,、視頻和控制消息復(fù)用后,發(fā)送到3G 手機終端。
H324MChannels: 音視頻信道,、控制信道和復(fù)用/解復(fù)用器等資源的容器,,并通過回調(diào)的形式向上層傳遞消息。
AudioChannel: 音頻信道,,包含H223 適配層等資源,,提供的接口包括AudioChannel::GetFrame(),AudioChannel::S-endFrame(),。
VideoChannel: 視頻信道,,包含H223 適配層等資源,提供的接口包括VideoChannel::GetFrame(),,VideoChannel::S-endFrame(),。
ControlChannel: 控制信道,實現(xiàn)了CCSR,、NSRP協(xié)議,。
H223ALReceiver: H223 協(xié)議的適配層,負責(zé)對從3G 手機接收到的數(shù)據(jù)進行檢錯,。
H223ALSender: H223 協(xié)議的適配層,,負責(zé)對發(fā)發(fā)送到3G手機的數(shù)據(jù)進行適配并追加所計算的校驗和。
H223Demuxer: H223 協(xié)議的復(fù)用層,,負責(zé)解復(fù)用從3G 手機接收到的數(shù)據(jù),,并將解復(fù)用后的數(shù)據(jù)根據(jù)數(shù)據(jù)類型分別添加到音頻、視頻和控制消息接收隊列中,。
H223Muxer: H223 協(xié)議的復(fù)用層,,將從IP 域一側(cè)收到的音頻、視頻和控制消息復(fù)用到一個物理通道上,,從3G 電路域一側(cè)發(fā)送到3G 手機上,。
3.2 網(wǎng)關(guān)工作流程。
網(wǎng)關(guān)的主要工作是在3G 域與IP 域之間進行控制消息和媒體格式的轉(zhuǎn)換,,主程序的設(shè)計首先進行3G-324M 協(xié)議棧等各種數(shù)據(jù)結(jié)構(gòu)的初始化,,然后在3G 域和IP 域兩個通道同時監(jiān)聽數(shù)據(jù)的到達。如果從監(jiān)聽返回的時候沒有數(shù)據(jù)到達,,則意味著某個通道出錯,,此時進行退出處理;如果從監(jiān)聽返回是因為3G域通道有數(shù)據(jù)到達,,則將收到的數(shù)據(jù)根據(jù)3G-324M協(xié)議解復(fù)用后進行格式轉(zhuǎn)換發(fā)送到IP 域的通道,;如果從監(jiān)聽返回是因為IP 域通道有數(shù)據(jù)到達,則轉(zhuǎn)換格式后根據(jù)3G-324M 協(xié)議復(fù)用并發(fā)送到3G 域通道,。在后兩種情況下,,進行完數(shù)據(jù)轉(zhuǎn)發(fā)后,,繼續(xù)回到監(jiān)聽3G域通道和IP 域通道的狀態(tài)。程序流程圖如圖5 所示,。
圖5 網(wǎng)關(guān)工作流程,。
4 測試
聯(lián)合中科院沈陽計算所網(wǎng)絡(luò)與通信實驗室的增值應(yīng)用服務(wù)器在實際的3G 環(huán)境中對所實現(xiàn)的網(wǎng)關(guān)進行了測試。在測試用例中,,3G 交互式視頻網(wǎng)關(guān)被放在了臺灣宏遠電信的機房中,,通過E1 板卡與交換機相連,并預(yù)先分配了一些測試號碼,,增值應(yīng)用服務(wù)器放在了互聯(lián)網(wǎng)的公網(wǎng)上,。在臺灣的測試人員通過3G 手機撥打預(yù)先分配的測試號碼撥號到網(wǎng)關(guān), 網(wǎng)關(guān)通過3G-324M 協(xié)議與3G 手機終端建立了視頻會話后,,發(fā)送SIP INVITE 消息與增值應(yīng)用服務(wù)器建立一個SIP會話,,增值應(yīng)用服務(wù)器將音視頻數(shù)據(jù)(在此測試用例中為一個3gp 格式的影音文件)發(fā)送到網(wǎng)關(guān),網(wǎng)關(guān)將接收到的音視頻數(shù)據(jù)轉(zhuǎn)換格式后再發(fā)送到3G 手機,,測試人員通過手機上的按鍵切換播放不同的影音文件,,實現(xiàn)交互功能。測試數(shù)據(jù)如表1 所示,,手機到網(wǎng)關(guān)的接通率在95%以上,,接通時間控制在6 秒之內(nèi),手機端收到的音頻聲音清晰,,視頻流暢,,音視頻基本同步。
表1 測試數(shù)據(jù)
5 結(jié)語
本文在闡述3G 交互式視頻網(wǎng)關(guān)關(guān)鍵技術(shù)的基礎(chǔ)上,,提出了該網(wǎng)關(guān)的一個具體的設(shè)計實現(xiàn)方法,。該網(wǎng)關(guān)與增值應(yīng)用服務(wù)器配合使用,可以用來在3G 通信網(wǎng)絡(luò)中提供交互式多媒體增值應(yīng)用服務(wù),,通過在實際環(huán)境中進行測試,該網(wǎng)關(guān)運行穩(wěn)定,,接通率高,,對今后開發(fā)類似的系統(tǒng)具有借鑒的意義。