当前位置:文档之家› 基于SIP的视频会议结构和原理

基于SIP的视频会议结构和原理

摘要根据 IETF SIPPING 工作组提出的集中式会议模型,设计并实现了基于 SIP 的视频会议系统。

该系统各部分可分别设计,具有良好的可扩展性。

详细介绍了此系统的结构和工作原理。

前言近几年来,随着计算机技术、通信技术和互联网技术的飞速发展,视频会议的应用范围正逐渐从传统的专业领域、大型企业等高端用户向中小企业等普通用户和个人用户拓展。

据有关机构的分析结果显示,2004 年我国视频会议市场的规模已经达到 18.7 亿元,并以每年 26% 的速度递增,市场前景十分广阔。

本文主要介绍了一种基于 SIP 的集中式视频会议模型,并根据此模型设计了初步的实现方案,分析了此方案的工作原理。

目前, IETF 领导的对 SIP 会议模型的研究还处于草案阶段,并没有成为标准,因此,对 SIP 会议框架及其实现技术的研究具有一定的理论和实践意义。

1 视频会议系统的主流技术标准目前,视频会议系统的主流技术标准有 2 个, H.323 和 SIP[1] 。

前者是由 ITU-T SG16 定义,包括 H.225 呼叫控制信令和 RAS 信令、 H.245 媒体控制信令和 H.450 补充业务信令规范;后者由 IETF MMUSIC 工作组定义,包括 SDP 媒体描述规范。

H.323 系统沿用传统电信网的设计理念,兼顾传统 PSTN 呼叫流程和 IP 网特点而发展成熟,吸取了许多电信网的组网、互联和运营经验,能与 PSTN 网、窄带视频业务以及其他数据业务和应用网互联互通,近年来得到了广泛的应用,尤其是在组建 VoIP 大网方面凸现了其技术优势。

H.323 协议范围广,涵盖了各种独立设备、个人计算机技术以及点对点和点对多点的视频会议,该协议解决了视频会议中呼叫与会话控制、多媒体与带宽管理等许多问题。

也正是因为 H.323 系统在设计的时候考虑的问题太多,整个体系结构显得庞大且较为复杂,限制了其在中小企业的部署。

SIP 是用来建立、修改和终结多媒体会话的应用层控制协议,主要完成用户定位、用户能力交换、呼叫建立、呼叫处理等功能。

它继承了互联网协议的设计理念,与 H.323 协议相比,具有简单灵活、扩展方便的特点,可方便地与其他互联网协议结合提供丰富的 IP 多媒体业务,以便在各种网络环境下部署。

目前,大规模商用 VoIP 网络和会议系统都采用 H.323 标准,但随着 VoIP 技术的进一步发展和视频会议系统应用的逐渐普及, SIP 协议正日益受到业界的重视。

3GPP 已经确定将 SIP 协议作为第三代移动通信全 IP 网络的控制协议,制订了基于 SIP 的 IP 多媒体子系统( IMS )。

业界也已经确定将 SIP 作为下一代网络( NGN )的核心控制协议。

与此同时, SIP 协议及其应用的标准化工作也在积极的进行之中,这其中就包括由 IETF SIPPING 工作组领导的集中式多媒体会议的标准化工作和 XCON 工作组领导的会场控制和 CPCP ( Conference Policy Control Protocol )的标准化工作。

随着这些标准的制订,基于 SIP 的视频会议系统必将获得越来越广泛的应用。

2 集中式会议系统模型下面介绍一种基于 SIP 的集中式会议模型。

所谓集中式是指该模型相对于多播会议、全分布式会议等会议模型而言,具有信令集中控制、媒体集中处理的特点。

该会议模型也是应用最广泛的一种情形。

集中式会议模型的结构图 [2] 如图 1 所示。

该模型主要包括与会者( Participant )、会议控制中心( Focus )、会议策略服务器( CPS )、会议策略( CP )、会议通告服务( CNS )、媒体混合服务器( Mixer )等逻辑功能模块。

其中, Focus 、CPS 、 CNS 、 CP 和 Mixer 构成会议服务器,完成多媒体会议的核心功能。

此会议模型中各模块功能如下。

a )会议的控制中心:会议的控制中心与每个与会者之间存在 SIP 对话联系。

它一方面根据会议成员策略管理整个会议,如会议接入控制、与会人员管理等,另一方面它又根据会议媒体策略,对媒体混合服务器进行控制,保证每个与会者能够接收到会议的媒体流。

每一个会议控制中心都有一个会议 URI 与其相对应,此 URI 在全局范围内是惟一的。

当用户需要加入会议时,需向相应会议 URI 发送 INVITE 请求。

b )与会者:与会者是指会议中和会议控制中心维持 SIP 对话的 SIP 用户代理。

此用户代理可以是 PC 应用程序、 SIP 电话或者是 PSTN 网关,也可以是其他会议控制中心。

当与会者是其他会议的会议控制中心时,会议的拓扑结构是分级的,这种会议结构具有良好的可扩展性,所有区域性的子会议有单独的会议控制中心,这些会议控制中心再连接到主会议的会议控制中心上,进行分级控制和管理。

c ) CPS : CPS 是系统的逻辑功能模块,用来存储和操作会议策略,为用户和支配会议操作的会议策略之间提供接口。

用户可以使用 non-SIP 方法和 CPS 交互,完成会议策略的制定、修改等操作。

d ) CP :会议策略包含了支配会议控制中心进行会议操作的规则,一个会议对应一个会议策略,包括会议成员策略和会议媒体策略。

会议成员策略主要用于会议成员的管理,包括用户接入控制、用户权限管理等。

会议媒体策略用于会议媒体混合及分发的控制,包括媒体混合策略、同步策略、媒体分发策略等。

用户可以通过 Web 方式或其他 non-SIP 方式对会议策略进行维护。

e ) CNS :会议控制中心可以提供 CNS 功能,工作机制由 RFC 3265[4] 定义,主要完成向与会人员通知相应的会议事件和会议状态。

与会者在加入会议后可向会议控制中心发送 SUBSCRIBE 请求,订阅会议事件和状态通知服务。

会议通知服务器将通过 NOTIFY 消息定时向与会者通告预定的会议事件和会议状态。

例如,用户可以预定会议成员的在席信息,当有与会者加入或退出会议时,会议通知服务器将向该用户发送会议成员变更的情况。

f )媒体混合服务器:媒体混合服务器负责完成会议媒体的混合和分发,接收者可以是会议的与会者或其他的媒体混合服务器。

媒体流的混合处理由会议控制中心根据媒体策略进行直接或间接控制,处理过程因媒体流类型的不同而不同。

3 视频会议系统结构设计根据前面介绍的会议模型以及多媒体会议的一般功能要求 [3] ,我们设计了一个视频会议系统的实现方案,系统结构如图 2 所示。

该系统由多媒体会议终端、会议管理服务器、会议控制服务器、媒体服务器和系统数据库 5 部分构成。

呼叫服务器( CS )是 SIP Proxy 服务器,负责 SIP 消息的转发,并集成了注册服务器的功能。

下面分别介绍各组成部分的功能。

1 )多媒体会议终端多媒体会议终端是用户用来参加会议的桌面应用程序。

会议终端启动时会发送 REGISTER 消息向注册服务器注册,注册成功后便保持在线状态,可以随时发起呼叫或接收呼叫请求。

在加入会议后,可以发送SUBSCRIBE 请求,预定会议状态信息报告,以便获得最新的会议状态变更情况。

与会者可通过多媒体会议终端进行申请发言、释放申请、释放发言等操作。

可以进行即时消息的发送和接收,实现会议文字聊天功能。

2 )会议管理服务器会议管理服务器在图 2 中对应为 Web 服务器,主要完成通过 Web 界面管理会议的功能,包括会议的预定、修改和取消,会议策略的制定和修改等。

另外,还可以通过会议管理服务器对会议控制服务器的系统参数进行配置,并提交到系统数据库保存。

会议控制服务器在启动时可以从系统数据库将系统参数下载到本地,进行系统的初始化。

3 )会议控制服务器会议控制服务器是此系统的控制中心,模型中的会议控制中心功能,包括会议的创建、启动、删除、会场管理和控制、会议状态信息的采集和发布、会议成员的在席管理、处理会议成员请求等。

会议控制服务器通过 MEGACO/H.248[5] 命令对媒体服务器的媒体混合处理进行控制。

会议控制服务器主要由总控模块、 Web 管理模块、启动 / 注册模块、即时会议模块、会议状态通告模块、会议控制模块和会议列表等几部分组成。

其中总控模块主要负责系统的初始化工作和各个模块之间的通信调度等功能;启动 / 注册模块主要负责会议的启动和结束等操作;会议状态通告模块负责完成会议状态信息通知服务,遵从 RFC3265 标准;会议控制模块是会议控制服务器的主要功能模块,采用基于事件触发的工作机制。

会议列表负责维护会议的状态信息,包括会议属性、成员列表、请求队列和消息队列等,并提供对这些数据进行操作的接口函数。

4 )媒体服务器媒体服务器可采用纯软件方式实现媒体混合等处理,与传统的采用硬件板卡的方式相比,具有巨大的成本优势。

会议控制服务器通过 MEGACO/H.248 命令控制媒体服务器,完成创建关联域、增加终端、删除终端、修改终端属性、删除关联域等操作。

媒体服务器接收与会者发来的媒体流,按照媒体策略进行混合后,再分发给与会者,从而实现会议媒体流的交互。

4 视频会议系统工作原理在介绍了集中式视频会议系统的结构之后,下面简单介绍此系统的工作原理。

4.1 创建会议此系统支持预约式会议和即时会议 2 种会议类型。

预约式会议的创建可通过 Web 管理系统来完成。

会议预定成功后,将向系统数据库的会议数据表插入一条记录。

会议控制服务器的 Web 管理模块对系统数据库的会议数据表进行周期扫描,若发现新的会议记录,则按照预定要求生成新的会议节点,添加到会议列表中。

即时会议的创建可通过多媒体会议终端完成。

用户只需向指定的会议工厂 URI 发送 INVITE 请求即可创建一个即时会议。

新会议的 URI 由 302 响应的 Contact 头域带回。

4.2 加入会议与会者可以通过以下 5 种方式加入到会议中:a ) Call-In 方式。

用户可通过 E-mail 、 Web 公告、即时消息等方式事先获得会议 URI ,然后向会议URI 发送 INVITE 消息,请求加入会议。

b ) Call-Out 方式。

会议开始后,会议控制中心向用户发送 INVITE 消息,邀请其加入会议。

会议控制中心需事先存储与会者的 URI 列表。

c )第三方通过向会议 URI 发送 REFER[6] 请求,触发会议控制中心邀请用户加入会议。

d )第三方通过向用户发送 REFER 请求,触发用户主动加入会议。

e )若用户不知道会议 URI ,但可能通过其他途径获得会议中的某一个会话 ID ,则可通过发送带有 Join 头域的 INVITE 消息来加入会议 [7] 。

4.3 会议状态信息通告机制与会者在会议进行期间可以获得会议的事件及状态信息,这通过会议通告服务( CNS )来实现。

相关主题