T.124协议及其实现

发布时间:2005-03-16 作者:齐飞Qi Fei 赵帅锋Zhao Shuaifeng 裘正定Qiu Zhengding 阅读量:

 随着通信技术和计算机网络技术的不断发展及广泛应用,多媒体通信的时代已经到来。同时,Internet技术的迅猛发展,使得基于IP网的多媒体通信系统有着更广阔的应用前景。

      正是考虑到这种广阔的前景,国际电信联盟电信标准组(ITU-T)制定了H.323v2建议,即:基于分组的多媒体通信系统的标准。该标准提供了各种方式的多媒体通信,可用于各种网络媒体,包括局域网、公众网、广域网等。

     多媒体会议系统作为一种实时的、点到多点的多媒体通信应用,它包括电子白板、文字对话、多点文件传送、多点音频信号和视频信号传送等应用。其中,电子白板、文字对话以及多点文件传送属于数据通信的应用。这些服务通过一定的多点网络传输协议,来实现终端间的数据通信。

     下面将结合我们开发的一个基于IP局域网的H.323框架下的T.120数据通信系统,说明T.124协议如何为会议提供各种管理机制。

 

1 T.120系列协议

 

     T.120系列协议是由ITU-T制定的多媒体会议数据协议。这些协议包括一系列支持实时、多点数据通信及应用的协议和服务。T.120系列协议可在多种环境下应用,得到了包括微软、Intel等公司在内的许多大厂商的支持。T.120系列协议的一个主要特点是提供多点操作,从而为多点多媒体会议确定了独立于底层网络的多点数据通信服务。它包括以下系列协议:

    .T.120多媒体会议数据协议:为T.120协议的综述性的协议。它说明了T.120系列协议的使用环境、能力、网络拓扑结构、系统模型等。T.120采用星型网络拓扑结构,在网络中需要一个多点控制单元(MCU)进行数据转发。

     .T.121基本应用模块(GAT):定义了应用层协议的模型,包括资源管理器(ARM)和服务单元(ASE)。T.121协议是实现T.120多媒体会议应用的通用模板,它负责管理应用层协议所用到的多点通信服务(MCS)及总体会议控制(GCC)资源。

     .T.123传送层协议:为每种T.120支持的网络(PSTN、ISDN、CSDN、LAN)定义了传输层协议栈,并为MCS提供了一致的传送层服务接口(在H.323框架下,是基于IP局域网socket接口)。

     .T.122/T.125多点通信服务:T.122协议定义了一种通用的、多点的、面向连接的数据服务;T.125协议则定义了MCS的实现方法。MCS可以将T.123 socket的点对点通信映射成一个域,而后其它节点可以加入这个域里,从而实现了多点通信。

     .T.124总体会议控制:规定了会议的各种管理机制。

     .T.126多点静态图像和注释的交换(SI):定义了实现电子白板和注释交换等功能;

     .T.127多点二进制文件传输(MBFT):支持会议间二进制文件的传输。在T.120框架下,上述各层与T.124协议的相互关系如图1所示。

2 T.124协议

      T.124协议是基于T.120系列协议的数据会议系统的总体会议控制协议。它为会议的管理、MCU和多媒体终端控制提供了上层框架结构。它负责建立与终止会议、管理参加会议的终端的会议花名册和应用花名册、管理一个会场内应用实体的能力交换、为应用实体注册提供服务、协调会议的指挥权以及一些会议附加功能,如:节点间发送简短信息、定时会议等。

(1)会议的建立与终止

     GCC为建立与终止多点会议提供了一组原语服务。在创建新会议时,GCC既允许会议的参加节点创建,也允许会议的管理者创建。会议创建时,创建者要确定会议的特征。会议特征是由以下参数确定:会议名字、会议是否设置口令、是否锁存等。会议创建成功后,会议的创建者即成为会议的主席。

    新的会议建立成功,其他节点就可以加入会议,或通过节点主动加入,或通过主席邀请。在加入会议前(通过主席邀请的除外),节点也许不知道加入会议时所需信息,GCC提供了会议查询的服务,列出所有会议的名字及其特征。如果会议设置了口令,GCC要求节点必须提供正确的口令才能加入会议;如果会议设置成锁存,节点只有通过主席邀请才能加入会议。

     GCC允许一个节点同时加入多个会议,并提供了将一个节点从一个会场转移到另一个会场中的服务。这种功能可应用到会议合并或会议分开。GCC允许节点在任何时候加入和离开会议。

    GCC规定会议终止有两种方法:人工和自动。当所有节点离开会议时,会议自动终止。会议的主席可以在任何时候终止会议或驱逐一个节点。

(2)会议花名册

     为了使加入会议的节点能了解还有哪些节点参加会议,GCC提供了会议花名册管理服务。会议花名册记录了每个节点的信息记录,如:节点名字、节点处所有参加人员等。节点加入到会议后(或通过创建、加入或邀请),它必须向整个会场的所有节点声明它的存在。这样,所有节点GCC都会更新自己的花名册以增加新的节点信息,并向所有节点发出通知。节点可以随时更改会议花名册的信息,如参加会议人员的变动等。

(3)应用花名册

    应用花名册是GCC用来管理节点上的应用实体的数据库,记录着各应用实体的状态。应用花名册为节点间对等的应用实体相互通信提供了必要信息。节点加入会议后,都要把本地的应用花名册信息发送到其它节点。所有这样的信息组成了会议应用花名册,并广播到各个节点。通过对应用花名册的操作,GCC实现了对应用协议实体登记的管理。

(4)应用注册

     应用注册信息库是一个动态的中央数据库,仅存在于TOP GCC。通过对这个数据库的管理,TOP GCC实现了协调MCS管理信道、令牌以及其他共享资源。注册信息库,还可以协助对等应用协议实体间建立通信。通过应用实体注册,可以大大丰富声图、可视电话会议。

    此外,GCC还提供了其它一些服务,以协调会议管理,如发送简短文本信息、设置会议指挥权管理等上层应用。

 

3 T.124协议的会议机制

 

     在T.124协议下,会议的建立在不同的条件下可以有不同的方式,具体说明如下:

(1)Meet-me会议

     对于Meet-me会议,会议是在MCU建立,终端节点通过呼叫MCU而加入会议。会议可由MCU本地创建,也可由一节点向MCU(远端)呼叫创建会议。对于后者,呼叫节点要向远端节点(MCU)发送GCC会议建立请求,会议才能建立。在每种情况下,被创建会议的节点成为TOP GCC,呼叫节点成为主席。

    会议通常设置为开放式、列表式,其他节点可以主动、有选择地加入会议;会议还可以设置成口令保护,以阻止非法节点进入会议。

     当会议在远端创建时(使用GCC_Conference_Create原语),请求创建会议的节点必须指定会议名字。如果会议名字在MCU已经存在,MCU的节点控制器将对会议名字进行修改,以保证会议名字在MCU本地唯一。其它节点加入会议时,也必须指定修改的会议名字。此外,会议创建时,建议使用会议描述,以便节点更好地区分不同会议。

    节点在加入会议时,如果已经知道会议名字,可以立即加入会议而无需向MCU查询会议。

(2)Call-out会议

    Call-out会议是由本地MCU建立,其它节点由MCU呼叫而被邀请加入会议。会议通常设置为锁存式、非列表式。由于会议由MCU创建,所以MCU为TOP GCC。

(3)Call-through会议

    Call-through会议同Call-out会议除创建方式不同外,其他都相同。Call-through会议的创建是由节点向远端创建。会议一般设置为锁存式、非列表式。会议的终止方式设置为自动式。在Call-through会议中,会议名字一般未定,因为节点是被邀请加入会议的。如果已经存在一个会议名字未定的会议,节点控制器需要选择一个唯一、可读的名字作为会议名字。

(4)点对点会议

     点对点会议同其他会议模式有明显区别:仅有两个终端而无MCU。由于这种会议模式较简单,这里不作更详细的说明。

     综上,无论是哪一种会议模式,GCC规定节点加入到会议后(或通过创建、加入、被邀请),它必须向整个会场的所有节点声明它的存在,并将节点所有信息分发到会议其它节点。其它节点收到信息后,更新自己的会议花名册,记录新节点的信息。这样,节点才正式加入会议。

     节点更新会议花名册之后,便向节点上的所有应用协议实体(APE)发出允许其登记的通知。应用协议实体收到这个通知后便可以决定是否登记。如果应用实体向GCC请求登记,GCC将更新应用花名册,并向TOP GCC注册以获得令牌、信道或其它资源。应用实体登记成功后,会议就可以正式开始了。

     在会议进行中,节点可以随时加入或离开会议。这时,每个节点都要更新会议花名册;TOP GCC还要更新注册数据库。

 

4 T.124协议在基于IP网数据会议系统设计中的实现

 

4.1 系统拓扑结构

    考虑到IP网的特点,我们设计的会议系统的拓扑结构如图2所示。

这种结构实现简单、快捷,实用性很强,是典型的meet-me型会议。会议仅有一个MCU,其它终端通过有向连接连入MCU。在这里,假设由节点2创建会议即节点2为主席。节点2向节点1创建会议,其它节点通过GCC-Conference-Join加入会议。主席也可以邀请节点参加会议。

为了实现高效的数据传输,设计中的GCC层的协议数据单元(PDU)全部采用分组编码规则(PER)编解码。

 

4.2 在Win32环境下设计与实现

      在Win32环境下,采用面向对象的设计方法,使用标准C++,将T.124协议设计成一个类,单一线程。在这个类中,成员变量主要由以下数据组成:

     .会议花名册信息:记录会场各节点信息如参加人员、节点名字。为了能够动态地反映会议节点的信息,将该花名册定义成双向链表。

     .应用实体注册数据库:应用实体获取信道、令牌、应用实体等。

     .会场特征:记录了会议设置口令的标志、会议是否列表的标志以及会议终止方式。

     此外,还有记录本地节点号等成员变量。

     同时,我们在类中定义了实现GCC管理会议全部过程的成员函数(包括GCC层的编码、解码函数)。这些函数名称与GCC层的所有服务原语是一一对应的。如对应原语GCC_Conference_Create_request,实现其服务的函数定义为:

     int GCC:GCC_Conference_Create_request(S_GCC_CONFERENCE_CREATE_request*pSig)

      其中S_GCC_CONFERENCE_CREATE re-quest是一结构,包含了节点控制器向GCC请求建立会议的所有参数。

 

5 结束语

 

     T.124协议是一套完整的会议管理机制,它的机制和思想不仅可以应用到T.120系列的数据会议系统中,还可以应用到许多基于LAN、Internet等多点通信中。我们设计的T.124协议和T.122/T.125协议都是采用标准C++,因此,可以用于多种平台。在此支撑下,针对具体应用,可以设计出多种网络应用软件,实现丰富多样的会议控制功能。□

 

参考文献

ITU-T Recommendation H.323

ITU-T Recommendation T.121

ITU-T Recommendation T.122

ITU-T Recommendation T.123

ITU-T Recommendation T.124

ITU-T Recommendation T.125

ITU-T Recommendation T.126

ITU-T Recommendation T.127

 

(收稿日期:1998-11-18)

[摘要] 文章介绍了T.124协议的主要内容,并就其在IP网上的应用说明了T.124协议在系统设计中实现的方法。

[关键词] 数据通信 多媒体会议系统 信道 原语

[Abstract] This paper introduces the main contents of Protocol T.124 and gives an example on system design to describe the realization of the protocol on the Internet.

[Keywords] Data communications Mul-timedia conferencing system Channel Source language