您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 会议纪要 > 基于SIP的三方及多方会议的研究
的三方及多方会议的研究李华,徐塞虹北京邮电大学计算机科学与技术学院,北京(100876)E-mail:potatossss@163.com摘要:由IETF提出的SIP协议较ITU-T提出的H.323协议更简单、灵活,且易于扩展,成为VoIP技术中的关键协议。随着网络带宽的增加,多媒体会议的需求变得日益突出。本文首先对SIP协议以及当前基于SIP的会议的实现方法作大体介绍,然后详细介绍一种有服务器参与的三方会议的实现方案,最后讨论从三方会议到多方会议的扩展。关键词:SIP协议,三方会议,媒体流,会议服务器中图分类号:TP3931.引言SIP(SessionInitiationProtocol[1])是由IETF提出的用于基于IP多播网络的会话建立,修改和终止的应用层协议。由于SIP的简单,灵活和易于扩展等特性,SIP协议已经成为VoIP技术中最重要的信令协议,并且已经被3GPP采纳为移动网络的应用协议,成为下一代网络技术中的关键技术之一。在IMS(InternetMultimediaSubsystem)中,三方及多方会议变得越来越重要,其中一个原因是Mbone(多播主干网络)的带宽越来越大,使得多方会议的实现变得更易于实现。2.SIP协议概述SIP协议是一个信令协议,其作用在于建立,修改和释放多媒体会话。SIP协议最早由IETF的MMUSIC工作组在1999年以RFC2543提出,在2002年提出RFC3261版本。与H.323协议族不同,SIP不是一个垂直的通信系统,需要配合其他协议(如SDP,SessionDescriptionProtocol[2],会话描述协议;RTP,实时传输协议)来完成会话的建立,修改和释放功能。与HTTP协议类似,SIP协议是基于文本的,方便调试与扩展。SIP消息可以分为请求和应答两种,请求和应答以是否含有请求方法来区分。SIP协议给出6种基本请求方法:INVITE,CANCEL,ACK,BYE,REGISTER,OPTIONS。SIP中有两种实体,用户代理(UA)和网络服务器。用户代理一般理解为终端,负责媒体接入和传输;而网络服务器根据作用,可以分为代理服务器,重定向服务器和注册服务器等。3.基于SIP的会议由IETF提出的在Mbone上基于SIP的会议结构如图1。会议控制模块处于SIP协议模块之上,负责会议的建立、修改和终止等逻辑。SIP协议可以使用UDP传输,也可以使用TCP传输,但是目前大多数实现都使用UDP,因为SIP协议中的事务层及定时机制实现了消息的可靠传输机制,因此在传输层就选用了实现简单的UDP协议。目前,IETF的SIP会议分就信令来说可以分为集中式星形结构和网状结构。相对的,会议媒体可分成集中式和非集中式两种[4]。协议在一个会议中的作用主要有:a)发起一个呼叫或者一个会议。用INVITE请求发起一个呼叫,如果这个呼叫的被叫端是会议服务器,那么就是发起一个会议。b)加入一个现有的会议。如果一个用户知道某个会议存在,并且知道此加入会议的关键字(如会议密码等安全信息),那么这个用户可以用INVITE请求加入到会议中。c)退出一个现有的会议。如果某个与会者需要退出当前会议,那么,他的用户代理可以通过发送BYE请求退出这个会议,而当前会议状态根据当前与会人数作相应的改变。如果当前与会人数少于2人,那么会议将终止;如果与会人数超过1人,那么会议状态不变。d)邀请会议参与者。会议的发起者,或者有邀请参与者权限的与会者可以通过INVITE请求和REFER请求的组合来实现邀请与会者加入当前会议。e)修改会议媒体参数。会议的发起者或者由修改媒体参数权限的与会者可以通过RE-INVITE来修改当前会议的媒体参数。3.2SIP会议分类根据信令和媒体的连接方式,可以把SIP会议分成以下几类:a)信令集中式:如图2所示,信令集中式的会议拓扑中,每个会议的发起者和参与这都与会议服务器通信,除了会议的发起者外,其他的与会者都不知道会议的存在。这种结构的优点是终端用户代理不需要特殊的功能,实现了RFC3261及相关扩展方法(如REFER和NOTIFY)的用户代理即可。)非信令集中式:非信令集中式分成两种。一种是以某个用户代理为会议信令的处理者的终端式会议。用户A、B、C进行三方会议,其中,用户A是信令处理者(往往用户A也是会议的发起者),而用户B和用户C是参与者。三个用户代理中,只有用户代理A知道会议的存在,其他的参与者认为仅与用户A通信。另一种是网状式会议。用户A、B、C进行会议,三个用户的用户代理都知道该会议的存在。用户代理A维护了与用户代理B通信的相关数据,也维护了与用户代理C通信的相关数据。用户代理B和C与用户代理A相似。3.3会议媒体分类图3集中式媒体连接拓扑图所示,在集中式信令模型中常采用的是集中式的媒体连接模型。各个用户之间不存在直接的媒体连接。所有用户都和SIP会议服务器建立媒体连接。图3中,会议服务器将用户C和用户D的媒体在本地进行混合,然后作为一个媒体流发送给用户A。因此,媒体流对于所有用户都是相同的,即发送自身的媒体给会议服务器,接收经过会议服务器混合的媒体流。非集中式媒体连接中,某个用户代理处理会议相关信令的模型使用与集中式媒体连接相似的方式。即处理会议相关信令的用户代理进行语音混合,然后发送给相应的其他用户代理。对于网状结构的会议模型,因为每个用户代理都知道会议的存在,每个用户代理之间都存在连接,因此,这些用户代理之间的媒体不需要特殊的处理,即不需要进行语音混合。4.SIP会议的实现方案4.1基本概念及设计背景本节给出一个SIP三方会议的实现方案。该方案属于集中式信令和集中式媒体方式。三方会议通话是指:用户A和用户B正在通话,用户A需要和用户C通话,并且他不希望中断与用户B的通信,因此,他把和用户B的通话保持住,然后和用户C通话。此时,用户A希望用户B能参与这次通话,即用户A、B、C三人的通信可以形成电话会议。4.2三方会议的设计与实现如图4所示,三方会议的实现步骤如下:(1)用户A和用户B正在通话中。(2)用户A通过带特殊SDP消息体的INVITE消息实现把和用户B的通话保持住。如图4-6所示。(3)用户A向用户C发起呼叫建立请求,用户C回复200OK响应消息,用户A发送ACK确认请求,用户A和用户C进行通话。(4)用户A通过与步骤(2)相同的方法把和用户C的通话保持住。(5)用户A发送INVITE请求给会议服务器。(6)会议服务器根据用户A的用户名,查找相关的会议数据。确定用户A当前不处于任何会议室,于是给用户A发送200OK应答。应答中包含了唯一标识该会议的标识符。(7)用户A发送ACK确认请求,进入会议室。(8)用户A向用户B发送REFER请求,通知用户B把用户A、B之间的通话转移到用户B和会议服务器之间。(9)用户B发送202Accepted应答,确认接受REFER请求,并向会议服务器发送INVITE请求。其中,在请求的请求行中包括了会议的唯一标识符。(10)会议服务器接收到用户B的请求,查找相关信息,发送200OK接受用户B加入到会议室。(11)对于用户C,重复(8)~(10)的步骤。至此,用户A、B、C加入到会议室,完成三方会议建立。图4三方会议通话信令流程图5.三方会议到多方会议的简单扩展由以上的三方会议实现方案可以看出,三方会议向多方会议扩展的一个简单实现方案是增加某个用户代理所能允许的同时存在的通话数。如果用户代理的一个电话端口最多允许N路连接,那么这种用户代理可以通过上述方式形成N方会议。这种扩展方法的优点是简单,易于实现,且不要求会议服务器实现复杂的信令控制。缺点在于,会议的参与人数受到会议发起者的用户代理允许的最大连接数限制。即会议的最大容量受限于与某个用户代理。6.结论本文介绍了基于SIP协议的会议,并且给出了一个三方会议的实现方案,并对三方会议向多方会议的扩展提出一个简单的实现思路。UAAUABUACConferenceServerInsessionINVITEHoldHold200OKACKINVITEsip:conference@ConfSvr.comsip/2.0ACK200OKwithconferencetokenACKREFERwithconferencetoken202AcceptedINVITEwithconferencetoken200OK参考文献[1]IETFJ.Rosenberg,H.Schulzrinne,G.CamarilloRFC3261“SIP:SessionInitiationProtocol”2002[2]IETFM.Handley,V.JacobsonRFC2327“SDP:SessionDescriptionProtocol”1998[3]I.MiladinovicandJ.Stadler,“MultipartyConferenceSignalingusingtheSessionInitiationProtocol(SIP)”2003[4]IIR.SIPCongress,SIPConferencing2001ThreewayconferencebaseonSIPLiHua,XuSaihongBeijingUniversityofPostsandTelecommunications,ComputerScience,Beijing(100876)AbstractComparetoH.323protocolstackfromITU-T,theSIPprotocolismoreeasy,moreflexibleandmoreextensive.SIPbecomesthekeyprotocolintheVoIPfiled.Asthebandwidthismoreandmorewiderthaneverbefore,therequestformultimediaconferencebecomesobvious.ThispaperwillintroduceSIPandSIPbasedconferenceinthebeginning,anddescribesanimplementationofathreewayconferencewithconferenceserverindetail.Inthelastpart,thispaperwillconsideramultiwayconferenceextendedfromthethreewayconference.Keywords:SIP,conference,mediastream,conferenceserver
本文标题:基于SIP的三方及多方会议的研究
链接地址:https://www.777doc.com/doc-910475 .html