定义
H.323是国际电联电信标准化部门(ITU-T)的建议书,描述了在所有分组网络上提供视听(A/V)通信会话的协议。H.323为跨分组网络的多媒体通信提供设备,计算机和服务标准,并指定实时视频,音频和数据详细信息的传输协议。由一组协议构成,其中有负责音频与视频信号的编码、解码和包装,有负责呼叫信令收发和控制的信令,还有负责能力交换的信令。H.323的第4版本具备做电信级大网的特征,以它为标准构建的IP电话网能很容易地与传统PSTN电话网兼容,从这点上看,H.323更适合于构建电话到电话的电信级大网。
H.323 广泛用于基于 IP 的视频会议、互联网协议语音 (VoIP) 和互联网电话。用户可以通过互联网进行通信,并使用与H.323标准兼容的各种产品。
H.323是ITU-T定义的一个协议族,它描述了在服务质量无保证的分组交换网中的多媒体信息传输服务。H.323协议族包括用于呼叫鉴权的RAS协议,用于建立呼叫的H.225.0协议,用于媒体控制的H.245协议,用千大型会议的H.332协议以及用于补充业务的H.450.x协议等。H.323还制定了统一的视频、音频数据流的压缩和解压缩标准及多媒体流的连接控制标准,确保来自不同厂商的设备有统一的标准可遵循以及设备之间的互操作性。H.323协议栈如图所示。
H.323标准协议栈
在H.323多媒体通信系统中,控制信令的传送利用了面向连接的传输机制,将可靠的TCP连接用千H.245控制信道、T.120数据信道、H.225.0呼叫信令信道。视频和音频信息在采用RTP协议打包后,基千无连接的UDP来传输,传输时延较小。
H.323协议一共定义了4种部件:终端(Terminal)、网关(Gateway汃网守(Gatekeeper)和多点控制单元CMCU,MultipointControlUnit),如图所示。
采用H.323协议的IP电话系统示意图
终端是H.323系统中面向用户的设备,它可以与其他终端设备、网关或多点控制单元进行通信,支持语音、数据和视频信息的交互。H.323终端的主要功能包括:音频编解码、视频编解码、多媒体信息封装传送、终端接入控制、呼叫控制、逻辑信道控制等。
网关是H.323系统与现有电路交换网的互通点。其核心功能是对不同系统的媒体信息和信令信息进行转换,以实现这些系统与H.323系统的互通。因此,除支持音视频编解码外,网关还要支持呼叫控制、逻辑信道控制等信令功能。由于网关的任务繁重,当容量要求较高时,可以采用H.323版本4提出的分离网关结构,实现媒体信息和信令的分开处理。
网守是H.323系统中的管理实体,它提供对终端和呼叫的管理功能。其主要功能包括:地址翻译、呼叫接纳控制、带宽控制、区域管理、呼叫控制、呼叫鉴权、带宽管理等。H.323系统中的呼叫路由就是由终端、网关和网守合作完成的。
多点控制单元是H.323系统中实现会议通信的重要设备。它包含多点控制CMC)功能通过H.245协议过程来实现对参加会议的多个成员进行控制。实现会议通信的另一个功能实体是多点处理CMP)功能,它接收参加会议成员的音视频信息,经过混合、交换等处理后回送给各成员。在集中式多点会议中,多点控制单元应包含多点处理功能。终端、网关以及多点控制单元在H.323系统中被称为端点(Endpoint),而网守的功能主要是对这些端点提供呼叫服务。利用它们,H.323可以支持音频、视频和数据的点到点或点到多点的通信。H.323系统的一个典型的呼叫建立过程如下。
1、用户A拨通网关1,然后输入被叫方用户B的号码;
2、网关1接收到被叫号码后,通过发送一个RAS接入请求CARQ)消息给网守,该消息中包括了被叫方的号码;
3、网守根据被叫方号码,查找到目的网关为网关2'并根据当前网关的资源状况(如带宽等),决定是否允许网关l的接入请求,如果允许,则给网关1发送一个RAS允许接入(ACF)消息,该消息包括了目的网关的地址和端口,否则发送一个拒绝接入CARJ)消息给网关1;
4、网关l通过H.225.oCQ.931)信令,与网关2建立起呼叫连接;
5、网关l和网关2通过H.245信令交换一些媒体信息,如媒体流的类型和格式等,然后在它们之间打开逻辑信道,为了保证通话质瞿,网关1可通过RSVP来预留资源;
6、网关2接通被叫方用户B,A与B就可以通话了。
诞生及发展
第一阶段:1996年10月,H.323由ITU-T第十六研究小组颁布并成为一种多媒体通信的标准。在第一版本的H.323建议书中,主要描述了包交换网中的基本多媒体业务,即语音和数据业务。由于处于初期实验阶段,当时只为传统的电话交换网和局域网的多媒体业务制定了内容,对于服务质量(QoS)应达到的水平没有严格的定义第二阶段:随着近几年IP网络的发展及VoIP的应用,支持新业务尤其是多媒体通信的需求加速了对H.323的修改。1998年1月,H.323的第二个版本出现了,它的改进之处在于,从功能定义上极大地支持计算机网上的电话业务,使我们利用包交换网实现高质量语音传递成为可能(VoIP)
第三阶段:ITU-T继续进行H.323的研究与发展,在H.323的第三个、第四个版本中加入了很多基于包交换网的其他类业务,例如传真业务、快速连接等。H323标准提供了基于IP网络(包括Internet)的传送声音、视频和数据的基本标准,它是一个框架协议。下图可以清晰地描述出H.323协议及其与PBN协议的关系:
H.323标准主要包括的协议参见下表。
标准名称
|
主要内容
|
H.323
|
基于包交换网络的多媒体通信系统,此协议总体上介绍了基于包交换网络的视频会议系统和终端的要求,解释了呼叫建立的基本过程。 |
H.225
|
呼叫信令协议以及包交换网络中的媒体打包,此协议规定了如何进行媒体打包。 |
RAS
|
呼叫接纳状态(Registration, Admission and Status)协议,是H.225.0组成部分。为网络管理点(GK)提供确定端点地址和状态、施行呼叫接纳控制等功能。 |
H.245
|
媒体通信控制协议,此协议规定了具体的通信控制信令,描述了各类通信消息(包括多点控制方面的信令)。 |
H.235
|
H系列多媒体终端的通信安全和加密机制,此协议提供安全和通信加/解密的标准规定。 |
H.283
|
逻辑通道传输的远端控制协议,此协议描述了如何通过逻辑通道进行远端设备的控制。 |
H.248
|
网关控制协议,此协议描述了网关设备。 |
G.7xx
|
音频编码规范,包括G.711 G.729A和G.723.1等常用的音频格式,还包括G.722、G.728、AAC等其他编码格式。 |
H.26x
|
视频编码规范,包括H.261、H.263、H.264等 视频编码格式。 |
H.323通信原理
在H.323多媒体通信系统中,控制信令和数据流的传送利用了面向连接的传输机制。在IP协议栈中,IP与TCP协作,共同完成面向连接的传输。可靠的传输保证了数据数据包传输时的流量控制、连续性以及正确性,但也可能引起传输时延以及占用网络宽带。H.323将可靠的TCP用于H.245控制信道、T.120数据信道,呼叫信令信道。而视频和音频信息采用不可靠的、面向非连接的传输方式,即利用用户数据协议UDP(User Datagram Protocol)。UDP无法提供很好的QoS,只提供最少的控制信息,因此传输时延较TCP小。 在有多个视频流和音频流的多媒体通信系统中,基于UDP和不可靠传输利用IP多点广播和由IETF实时传输协议RTP处理视频和音频信息。IP多播是以UDP方式进行不可靠多点广播传输的协议。RTP工作于IP多播的顶层,用于处理IP网上的视频和音频流,每个UDP包均加上一个包含时间戳和序号的报头。若接收端配以适当的缓冲,那么它就可以种用时间戳和序号信息复原,再生数据包、记录失序包、同步语音、图像和数据以及改善边接重放效果。实时控制协议RTCP用于RTP的控制。RTCP监视服务质量以及网上传送的信息,并定期将包含服务质量信息的控制信息包发分给所有通信节点。
在大型分组网络如因特网中,为一个多媒体呼叫保留点足够的宽带是很重要的,也是很困难的。另一个IETF协议--资源预流协议RSVP允许接收端为某一特殊的数据流申请一定数量的宽带,并得到一个答复,确认申请是否被许可。虽然RSVP不是H.323标准的正式组成部份,但大多数H.323产品都必须支持他,因为宽带的预流对IP网络上多媒体通信的成功至关重要,RSVP需要得到终端、网关、装有多点处理器的MCU以及中间路由器或交换机的支持。
H.225.0适用于不同类型的网络,其中包括以太网、令牌环网等。H.225.0被定义在诸如TCP/IP,SPX/IPX传输层。H.225.0通信的范围是在H.323网关之间,并且是在同一个网上,使用同一种传输协议。如果在整个因特网上使用H.323协议,通信性能将会下降。H.323试图把H.320扩展到无质量保证的局域网中,通过使用强大的认可控制会议控制,使一个专门会议的参加者从几人到几千人。
H.223建立了一个呼叫模型,在这个模型中,呼叫建立和性能协商没有使用RTP传输地址,呼叫建立之后才建立若干个RTP/RTCP连接。呼叫建立之前,终端可以向某个关守(Gatekeeper)注册。如果终端要向某个关守注册,它必须知道这个关守的年限(Vintage)。正因为如此,发现 (discovery)和注册(registion)结构都包含了一个H.245类型的对象标志,它提供了H.323应用版本的年限。这些结构还包含了可选择的非标准消息,它允许终端建立非标准关系。在这些结构的末尾,还包括了版本号的非标准状态。其中:版本号是必须的,非标准信息是可选的。非标准信息用来在两个终端之间相通知其年限及非标准状态。虽然所有的Q.931消息在用户到用户信息中具有可选的非标准信息,但在所有的RAS通道信息中还是具有可选的非标准信息。另外,在任何时候都能发送一个非标准RAS消息。进行注册、认可和状态通信的不可靠通道称为RAS通道。开始一个呼叫一般必须首先发送一个认可请求消息,接着发送一个初始建立消息,这个过程以收到连接消息为结束。
当可靠的H.245控制通道建立之后,音频、视频以及数据的传输通道都可以相应建立。多媒体会议的有关设置也可以在这里设置。当使用可靠的H.245控制通道传送消息后,H.225终端可以通过不可靠通道发送音频、视频数据。错误隐藏和其它一些信息是用来处理发生丢包的情况。一般情况下,音频、视频数据包不会重发,因为重发将引起网络网络上的延时。假设底层已经处理了对位出错的检测,而且错误的包不会传给H.225。音频、视频数据和呼叫信号不会在同一个通道里传输,并且不使用同样的消息结构。H.225.0有能力使用不同的传输地址,在不同的RTP实例当中发送和接收音频、视频数据,以确保不同媒体帧的序列号和每种媒体的服务质量。ITU正在研究如何把音频、视频数据包混合在同一个传输地址中同一帧中,虽然音频、视频数据能够凭错传输层服务访问点标识来共享同一个网络地址,但是制造商还是选择使用不同的网络地址来分别传输音频、视频数据。在网关、多点控制单元和关守中可以使用动态传输层服务访问点标识来代替固定传输层服务访问点标识。
一个可靠的传输地址用于终端与终端之间的呼叫建立,也可以用于关守之间,可靠的呼叫信号连接必须按照下例规则进行。在终端与终端的呼叫信号传输中,每个终端都可以打开或关闭可靠呼叫信号通道。对于关守的呼叫信号传输,终端必须保证在整个过程中打开可靠端口。虽然关守能够选择是否关闭信号通道,但是对于网关正在使用的呼叫通道,关守必须保证它打开。诸如显示信息等Q.931信息可以在端到端之间传输。如果由于传输层的某个原因使得可靠的连接被断开,这个连接必须重建,此次呼叫不认为是失败。除非H.245通道被关闭。呼叫状态和呼叫参考值不受关闭可靠连接的影响。同一时间可以打开多个H.245通道,因此同一个终端可以同时参加多个会议。在一个会议中,一个终端甚至可以同时打开多种类型的通道,例如,同时打开两个音频通道来得到立体声效果。但是在一个点对点的呼叫中只能打开一个H.245控制通道。
H.245协议定义了主从判别功能,当在一个呼叫中的两个终端同时初始化一个相同的事件时,就产生了冲突。例如,资源只能被一个事件使用。为了解决这个问题,终端必须判断谁是主终端,谁是从终端,主从叛别过程用来判断哪个终端是主终端,哪个是从终端。终端的状态一旦决定,在整个呼叫过程期间都不会改变。性能交换过程用来保证传输的媒体信号是能够被接收端接收的,也就是接收端必须能够解码接收数据。这要求每一个终端的接收和解码能力必须被对方终端知道。终端不需具备所有的能力,对于不能理解的要求可以不予理睬。终端通过发送它的性能集使对方知道自己的接收和解码能力。接收性能描述了终端接收和处理信息流的能力。发送必须确保所发送的性能集的内容是自己能够做到的。发送性能给接收方提供了操作方式的选择集,接收方可以从中选择某种方式。如果缺省了发送性能集,这说明了发送方没有给接收方选择,但这并不说明发送方不会向接收方发送数据。这些性能集使得终端可以同时提供多种媒体流的处理。例如,一个终端可以同时接收两路不同的H.262视频信号和两路不同的H.722音频信号。性能消息描述的不仅仅是终端具有的固有能力,还描述了它可以同时具有哪些模型。它也可能表示了发送性能和接收性能之间的一种折中。终端可以使用非标准参数结构来发送非标准性能和控制消息。非标准消息是制造商或其它组织定义的,用来表明其终端所具有的特殊能力。
逻辑通道信号过程确保在逻辑通道打开时,终端就具有接收和解码数据的能力。打开逻辑通道消息包含了关于传送数据的描述。逻辑通道必须在终端有能力同时接收所有打开通道的数据时才通被打开。一个逻辑通道由传送方打开。接收方可以向传送方请求关闭逻辑通道,传送方可以接受请求,也可以拒绝请求。当性能交换结束时,双方终端通过交换的性能描述符都知道了对方的性能。终端不需要知道描述符中所有性通,只要知道它使用的性能即可。终端知道自己与对方终端的环型延时是很有用的。环型延时判别就是用来测试环型延时的,它还可以用来测试远方终端是否存在。命令和说明可以用来传送一些特殊的数据。命令和说明不会得到远程终端的响应消息。命令用于强迫远程终端执行一个动作,说明用于提供信息。
H.323协议规定,音频和视频分组必须被封装在实时协议RTP中,并通过发送端和接收端的一个UDP的Socket对来进行承载。而实时控制协议RTCP用来评估会话和连接质量,以及在通信方之间提供反馈信息。相应的数据及其支持性的分组可以通过TCP或UDP进行操作。H.323协议还规定,所有的H.323终端都必须带一个语音编码器,最低要求是必须支持G.711建议。