3 网关的实现
在实现的时候,用到的硬件主要包括PC 机一台和E1 板卡一块,用到的软件主要包括Linux 操作系统和实验室已有的2G 语音网关平台(该平台主要提供应用程序接口、SIP 协议栈和E1 板卡驱动程序),在此基础上实现了3G 交互式视频网关,其中最主要的是实现了3G-324M 协议栈以及3G-324M 协议与SIP协议间媒体格式和控制消息的转换。
3.1 3G-324M协议栈的实现设计的主要数据结构包括:
H324M: 提供协议栈对外的统一接口,包括H324M::Int(),H324M::Demux(),H324M::Mutex()等。其中H324M::Init()接口初始化3G-324M 协议栈, H324M::Demux()接口解复用从B 信道收到的数据,H324M::Mutex()将音频、视频和控制消息复用后,发送到3G 手机终端。
H324MChannels: 音视频信道、控制信道和复用/解复用器等资源的容器,并通过回调的形式向上层传递消息。
AudioChannel: 音频信道,包含H223 适配层等资源,提供的接口包括AudioChannel::GetFrame(),AudioChannel::S-endFrame()。
VideoChannel: 视频信道,包含H223 适配层等资源,提供的接口包括VideoChannel::GetFrame(),VideoChannel::S-endFrame()。
ControlChannel: 控制信道,实现了CCSR、NSRP协议。
H223ALReceiver: H223 协议的适配层,负责对从3G 手机接收到的数据进行检错。
H223ALSender: H223 协议的适配层,负责对发发送到3G手机的数据进行适配并追加所计算的校验和。
H223Demuxer: H223 协议的复用层,负责解复用从3G 手机接收到的数据,并将解复用后的数据根据数据类型分别添加到音频、视频和控制消息接收队列中。
H223Muxer: H223 协议的复用层,将从IP 域一侧收到的音频、视频和控制消息复用到一个物理通道上,从3G 电路域一侧发送到3G 手机上。
3.2 网关工作流程。
网关的主要工作是在3G 域与IP 域之间进行控制消息和媒体格式的转换,主程序的设计首先进行3G-324M 协议栈等各种数据结构的初始化,然后在3G 域和IP 域两个通道同时监听数据的到达。如果从监听返回的时候没有数据到达,则意味着某个通道出错,此时进行退出处理;如果从监听返回是因为3G域通道有数据到达,则将收到的数据根据3G-324M协议解复用后进行格式转换发送到IP 域的通道;如果从监听返回是因为IP 域通道有数据到达,则转换格式后根据3G-324M 协议复用并发送到3G 域通道。在后两种情况下,进行完数据转发后,继续回到监听3G域通道和IP 域通道的状态。程序流程图如图5 所示。
图5 网关工作流程。
4 测试
联合中科院沈阳计算所网络与通信实验室的增值应用服务器在实际的3G 环境中对所实现的网关进行了测试。在测试用例中,3G 交互式视频网关被放在了台湾宏远电信的机房中,通过E1 板卡与交换机相连,并预先分配了一些测试号码,增值应用服务器放在了互联网的公网上。在台湾的测试人员通过3G 手机拨打预先分配的测试号码拨号到网关, 网关通过3G-324M 协议与3G 手机终端建立了视频会话后,发送SIP INVITE 消息与增值应用服务器建立一个SIP会话,增值应用服务器将音视频数据(在此测试用例中为一个3gp 格式的影音文件)发送到网关,网关将接收到的音视频数据转换格式后再发送到3G 手机,测试人员通过手机上的按键切换播放不同的影音文件,实现交互功能。测试数据如表1 所示,手机到网关的接通率在95%以上,接通时间控制在6 秒之内,手机端收到的音频声音清晰,视频流畅,音视频基本同步。
表1 测试数据
5 结语
本文在阐述3G 交互式视频网关关键技术的基础上,提出了该网关的一个具体的设计实现方法。该网关与增值应用服务器配合使用,可以用来在3G 通信网络中提供交互式多媒体增值应用服务,通过在实际环境中进行测试,该网关运行稳定,接通率高,对今后开发类似的系统具有借鉴的意义。
上一篇:3G交互式视频网关的设计与实现方案二
下一篇:可投射视频游戏全景图像
推荐阅读最新更新时间:2023-10-12 20:41