3G交互式視頻網(wǎng)關(guān)的設(shè)計(jì)與實(shí)現(xiàn)方案三
3 網(wǎng)關(guān)的實(shí)現(xiàn)
在實(shí)現(xiàn)的時(shí)候,用到的硬件主要包括PC 機(jī)一臺(tái)和E1 板卡一塊,用到的軟件主要包括Linux 操作系統(tǒng)和實(shí)驗(yàn)室已有的2G 語(yǔ)音網(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ù)用器等資源的容器,并通過(guò)回調(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ù)類(lèi)型分別添加到音頻、視頻和控制消息接收隊(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)聽(tīng)數(shù)據(jù)的到達(dá)。如果從監(jiān)聽(tīng)返回的時(shí)候沒(méi)有數(shù)據(jù)到達(dá),則意味著某個(gè)通道出錯(cuò),此時(shí)進(jìn)行退出處理;如果從監(jiān)聽(tīng)返回是因?yàn)?G域通道有數(shù)據(jù)到達(dá),則將收到的數(shù)據(jù)根據(jù)3G-324M協(xié)議解復(fù)用后進(jìn)行格式轉(zhuǎn)換發(fā)送到IP 域的通道;如果從監(jiān)聽(tīng)返回是因?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)聽(tīng)3G域通道和IP 域通道的狀態(tài)。程序流程圖如圖5 所示。
圖5 網(wǎng)關(guān)工作流程。
評(píng)論