1 引言
在3G 网络中可以提供基于电路域的可视电话业务,即3G-324M 可视电话,允许移动用户之间能够随时随地进行视频、语音等的交互,极大地方便了客户可视通话的需求。在固定网络中,基于IP 承载的视频通信和视频应用也得到了广泛应用,如可视电话、视频会议、视频监控等,这些视频应用主要基于H.323和SIP 协议。
3G 网络与IP 网的融合[1]统一不仅可以使运营商提高对网络资源的利用率, 而且移动终端也可以通过统一的IP 网方便地访问和享受因特网上的各种信息和服务。但由于3G 网络和固定网络在视频通信及视频应用业务的会话和传输协议等方面都不同,在两网之间需增加视讯互通网关(VIG),以实现基于CS 域的视频互通,从而实现点对点的视频电话、视频会议等业务。本文针对3G-324M 终端与H.323 终端的多媒体互通问题进行深入研究和探讨。
2 3G-324M和H.323标准简介及互通分析
2.1 3G-324M 标准简介
一直以来,人们对可视电话的追求就没有停止过。
从第一部电话的发明到现在这一百多年里,人们早已厌倦了只闻其声不见其面的传统电话。但是,长久以来,视频电话一直没有形成像传统电话和移动电话这样的普及程度。他一直是某些大公司,或特殊人群的专有设备。追其原因可以归纳如下:
(1) 在传统固定电话上加装显示设备而形成的可视固定电话,由于相对普通电话价格高昂,需求小,从形成之日到现在,一直没能得到大众的认可。
(2) 现在的移动电话上,虽然彩屏和摄像头都已经几乎成为标配,但是,因为GSM 网络的低码率,高误码率,使双向的视频传输不能达到可接受的图像质量。
但是现在,随着3G 网络的全面铺开,移动视频电话的瓶颈终于得以解决。3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP" title="3GPP">3GPP 推荐的3G-324M视频电话协议就是在3G 网络上实现实时视频通话的协议。他是以H.324 协议为基础,为了适用3G 网络的特性, 作了相应的改动, 可以在WCDMA 、TD-SCDMA 等3G 网络上实现实时视频通话的协议。
为了适用音频电话的实时性需求,H324M 协议需要建立在电路交换无线网络上,而非IP 分组交换网络。
H.324[2]是ITU 于1996 年5 月制定的PSTN 多媒体可视电话系列标准,即H.324 框架性建议。该协议规定了以电话交换网为传输媒介、以嵌入式设备或PC 为终端的多媒体通信的实现标准。H.324 附件C定义了在易出错传输环境下的多媒体通信标准,从而使该协议能够应用于无线移动环境,应用附件C 的H.324 协议也被称为H.324M 协议。
H.324M 协议标准被3GPP 和3GPP2 两大移动通信组织所接受,成为移动可视电话的国际标准。其中,3GPP 根据自身需要,对标准中的某些细节进行了重新阐述和修改,被称为3G-324M[3]标准。3G-324M标准在技术上与H.324M 非常相似,但是它指定H.263 作为强制视频编码标准,而把MPEG-4 作为视频编码推荐标准。AMR 是音频编码强制标准。H.223制定了多路音频和视频信号在单个移动通讯信道的多路复用应用标准,H.245 制定了在各个阶段的消息控制交换标准。另外,level 2(又H.223 附录B 制定)被指定为强制的多路复用协议层,它可以提供增强的容错控制。
2.2 H.323 标准简介
H.323 标准是基于数据包的多媒体通信系统,描述了用于包交换网络的多媒体通信系统及其组成单元,规定了各单元间通信的过程。
从整体上来说,H.323[4]是一个框架协议,它涉及到终端设备、视频、音频和数据传输、通信控制、网络接口等方面的内容,还包括组成多点会议的多点控制单元(MCU)、多点控制器(MC)、多点处理器(MP)、网关(MGW)以及网守(GK)等设备。它的基本组成单元是"域",在H.323 系统中,所谓域是指一个由关守管理的、包含多点控制单元(MCU)、多点控制器(MC)、多点处理器(MP)及终端组成的集合。一个域最少包含一个终端,而且必须有且只有一个关守。H.323 系统中的各个逻辑组成种类有:终端、网关、多点控制单元(MCU)、多点控制器(MC)、多点处理器(MP),其中终端、网关、多点控制单元(MCU)是H.323 的终端设备,是网络中的逻辑单元。
H.323 标准协议不是单纯的一个协议,而是包含网守RAS 协议、呼叫信令H.225 协议、媒体控制协议H.245 协议、媒体传输RTCP/TCP 协议以及音视频编解码协议和数据共享协议T.120 协议的一系列协议的集合体。
在音频编码中,主要有ITU-T 的G 系列标准(G.7ll、G.722、G.728、G.729、G.723.1 和MPEG-1的音频部分。对于视频编码,主要是H.260 系列的标准(H.261 和H.263)。数据应用主要指T.120 系列多媒体会议数据协议,共包括T.120-T.128 九个标准,支持实时、多点数据通信及应用。为满足音频和视频的实时通信需要,H.323系统采用RTP 封装传送音频、视频信号,而H.225.0 定义了如何利用RTP 封装这些信号。
系统控制和管理协议包括RTCP、H.225.0 协议的部分和多媒体通信控制H.245 协议。其中RTCP 就是RTP 协议所对应的控制协议,它提供数据传送QoS的监测手段,并获知通信各方的信息。H.225.O 协议在这里又分为RAS 协议和呼叫信令协议两部分。RAS协议主要完成端点和网守之间的管理工作,包括网守发现、端点登记、端点定位、呼叫许可、呼叫退出、带宽管理、状态查询和网关资源查询等功能。呼叫信令协议完成呼叫的建立、释放和H.245 控制信道建立的任务。
2.3 3G-324M 标准和H.323 标准互通分析
根据前面的介绍我们知道,3G_324M 和分组网络中的H.323 协议在组成方式上有不同之处,所以在通信时需要增加互通网关设备VIG 来完成NGN 中的H.323 视频终端和UMTS CS 域的3G_324M 终端的互通。主要包括以下几个方面的互通:
(1) 呼叫控制层面的互通:在3G_324M 中,呼叫的建立和通信双方的握手是由传统的呼叫信令(TUP/ISUP/BICC/MCC)完成的;在H.323 中,这些功能是由H.225 协议完成的。
(2) 系统控制层面的互通:在3G_324M 和H.323 中,系统控制信令都是由H.245 协议完成的,但在3G_324M 中,H.245 消息的交换是在H.223复用协议的AL1 层进行,并通过协议规定的逻辑通道0 来传送的;而在H.323 中,通过H.225 的交互过程,通信双方打开了另外一个TCP 端口来进行H.245消息的交换,所以在这两者之间也需要进行映射。
(3) 媒体层面的互通:在移动无线信道中,音频编解码一般采用AMR 语音编码格式,视频采用H.263或MPEG4,而在分组宽带网络中音频编解码格式很多,如:压缩率较高的G.723.1、时延较小的G.729或质量较高的G.722、G.711 等等,视频编解码格式也有很多可供选择。如果在两个互通的网络节点间没有同一编码标准媒体流,则需要媒体处理器设备进行媒体数据压缩格式的转换。
(4) 媒体承载层面的互通:3G_324M 使用H.223协议对承载控制H.245 消息和媒体流压缩数据进行打包复用,混合成适于电路交换网络信道传输的数据进行传输。而在分组网络中,H.323 节点对媒体数据不需要进行复用,直接通过RTP(实时传输协议)/RTCP(实时传输控制协议)进行传输的,各种媒体分别通过不同的RTP 会话端口传送。
3 互通网关VIG研究与设计
为了实现3G-324M 视频终端和H.323视频终端的互通,增加了视讯网关VIG,它主要实现控制面和媒体面的互通。控制面互通包括呼叫控制信令的互通和系统控制信令的互通。媒体面互通主要指媒体面音、视频编解码格式的转换、速率的适配等。
3.1 VIG 组网模型。
VIG 组网模型分为内置和外置两种。图1 是外置VIG 组网模型。该模型下VIG 模块(指实现VIG 功能的主要模块,包括H246[5],H245,H245agent,VIGP)与移动呼叫处理模块(MCC)分在不同交换局,局间走ISUP,BICC 等局间信令。外置组网时VIG 局是3G 网络和H323 网络间的互通设备。图2 是内置VIG 组网模型。该模型下VIG 模块与移动呼叫处理模块同在一个交换局,可以直接提供3G 网络的起呼和落地。内置组网时VIG 局既是3G 网络和H323 网络间的互通设备,也可以看成3G 网络的一部分。
图1 和图2 中细线指控制面连接,粗线条指媒体面连接。
图1 外置VIG 组网
图2 内置VIG 组网。
3.2 VIG 系统框架
本文基于VIG 内置组网模型,VIG 的功能实现内嵌在媒体网关控制器MGC(MSC SERVER)和媒体网关Mgw(MG)中,VIG 的系统框架如图3 所示。前面协议互通的分析中提到,视讯网关VIG 主要实现四个层面的互通,这在VIG 的系统框架图中可以得到具体的体现,具体见以下分析。
图3 VIG 系统框架。
MGC 即为MscServer 网元,主要实现H.323域和3G_324M 域之间呼叫控制信令和系统控制信令的映射。
图左侧是3G_324M 域,呼叫信令(MCC/TUP/ISUP/BICC)通过控制面通道直接传送到MscServer,然后通过H246 模块转换为H225.0 呼叫控制信令与右侧的H.323 域互通,这样就实现了呼叫控制层面的互通。3G_324M 域的系统控制信令H.245 在H.223 复用流的0 号逻辑通道内通过媒体面通道传送到Mgw,然后经过Mgw 上的H245agent 模块传送到MscServer 上的H245 模块进行编解码,再由H.246 模块实现与H323 域互通,这样就实现了系统控制层面的互通。
MG 即为Mgw 网元。324M 域的媒体流在H.223复用流的非0 号逻辑通道内传送到Mgw,经过Mgw上VIGP 模块的转换与H323 域互通(通过RTP),这样就实现了媒体层面的互通。
MscServer 和Mgw 之间运行H.248[6]媒体网关控制协议。MscServer 通过H.248 协议控制媒体面承载的建立,释放和维护,实现媒体承载层面的互通。
另外MscServer 上的H246模块也负责和H.323域的网守GK 之间RAS 协议功能的实现。
3.3 H.323 和3G-324M 终端的视频通信呼叫流程
图4 是3G-324M 终端向H.323 终端发起视频呼叫的通信流程,下面对这一过程进行简单的说明:
图4 3G-324M 终端向H.323 终端发起视频呼叫的通信流程
3G 主叫用户向MSC 发SETUP 请求建立呼叫,其中承载参数是多媒体;MSC 识别出被叫号码为IP 网络的终端,向VIG 发送ISUP IAM 消息(初始地址消息);VIG 通过H.225 的RAS 消息ARQ(Access Request)和ACF(Access Confirm)向GK 请求访问H.323 网络,并获得GateKeeper 的批准;VIG 根据被叫号码分析,向H.323 终端发送Setup 消息,请求呼叫;被叫H.323 终端向VIG 返回CallProceeding 消息;H.323终端通过RAS 向GateKeeper 请求访问H.323网络,并获批准;VIG 向MSC 回应ISUP ACM,报告呼叫建立过程中的事件;MSC 向主叫3G 终端返回CallProceeding 消息;H.323 终端向MSC 回应Alerting,振铃提醒;VIG 向MSC 回应ISUP CPG 消息;MSC 向主叫3G 终端回送振铃信号Alerting;被叫用户摘机后,被叫H.323 终端向VIG 发送Connect消息,表明连接建立;VIG 向被叫H.323 终端发送连接确认消息Connect ACK;VIG 向MSC 回应ISUPANM(Answer Message)被叫应答消息;MSC 向主叫3G 终端发送Connect 消息,连接建立;主叫3G终端向MSC发送连接确认消息ConnectACK;主叫3G 终端与VIG 之间进行H.245 过程,包括终端能力交互(Ter minal Capability Set)、主从决定(Master-Slave Dertermination)、打开逻辑通道(Open Logical Channel)等过程;VIG 与被叫H.323终端之间进行H.245 过程,同上;主叫3G 终端与被叫H.323 终端之间进行视频电话的通信过程,其中主叫3G 终端与VIG 之间的媒体流为H.223 复用媒体流,VIG 与被叫H.323 终端的媒体流为RTP 媒体流。H.323 呼叫3G-324M 原理相似,这里不再赘述。
4 小结
本文对3G-324M 标准和H.323标准进行了简要介绍,在此基础上对两种标准的互通进行了分析和研究,并提出了内置式组网模型和该模型下的系统框架设计,实现了一个3G-324M 和H.323 网络互通的视讯网关的实现模型。通过对3G-324M 和H.323 的互通研究不仅可以解决目前移动多媒体网络与软交换网络的互通问题,还可以为将来的3G-324M 与SIP 的互通提供极大的参考,这也是NGN 网络需要解决的一个核心问题。