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