SIP视频会议框架与信令控制流程_第1页
SIP视频会议框架与信令控制流程_第2页
SIP视频会议框架与信令控制流程_第3页
SIP视频会议框架与信令控制流程_第4页
SIP视频会议框架与信令控制流程_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SIP视频会议框架

与信令控制流程

SIP会议框架模型分析

SIP紧耦合会议拓扑

紧耦合是指由一个中心节点实现信令集中控制的会议集中混合模式在这个会议模型中,终端各成员间的通信,通过一个核心的混合器来实现。每个成员均需与混合器建立媒体和信令的连接。混合器负责对所有成员进行混合控制,并进行媒体流的混合分发

本模式的优点每个成员只会收到一个混合后的流。减少了计算复杂性。对于终端用户减少了带宽需求,并且可以自由选择自己的编码格式。音频流在混合前可以静音压缩。整个系统的灵活性大大增强,并且可以支持具有不同网络带宽性能的多样的终端。缺点是:整个网络的可扩展性一般,由于会议中只有一个集中的混合器,不可能在一个会话中同时支持上千方的成员。另外,服务器中的混合器将会引入一定的包传输延迟。所以,该模式适用于中小型网络。SIP紧耦合会议物理实现模型对于集中式混合模式来说,它是通过核心的混合器来实现用户信令的控制、媒体流的混合等功能,如果再考虑到会议策略也由这个物理上的单一会议服务器来实现,就是经典的onebox解决方案。最简单的实现为:在网络中有一个物理服务器。该服务器实现了focus、Conferencepolicyserver、以及mixer。如图所示集中式会议服务器模型FocusFocus正如它的名字一样,是一个会议的核心。会议中的所有参与者都通过focus被SIP会话联系在一起。Focus的主要功能是保持各会话与它的连接。Focus确保参加会议的各成员被连接在上面。为了确保每个参与者都可以得到会议的媒体流,focus也可以调用mixer使SIP进行媒体会话。也就是说,Focus实现了会议的一切控制功能。MixersMixer负责将会议中媒体流混合,然后将混合好的媒体流分发给各收件人。在mediapolicy规则下,Focus通过调用mixer实现流媒体的混合。Mixer本身并不是会议的实体。Mixer接收输入媒体流进行混合,然后形成新的媒体流输出。Mixer总是直接的或间接的处于focus的控制下。Focus首先分析媒体策略,然后在mixer中插入恰当的规则。如果Focus直接控制mixer,那么mixer要么和focus共驻主存,要么通过很多协议被focus控制。如果focus是间接控制mixer的,那么focus委托mixer进行混合,参与者都拥有各自的mixer。会议通知服务器Focus提供了会议通知服务器,它担当通知的角色。会议通知服务器接受来自用户的订阅,并通知订阅者会议状态的改变。会议状态包括:参与者联系到focus的状态,以及与其相关联的会话信息。当有一个新的参与者加入会议时,会议状态发生了变化,则通过notificationservice通知参与者。同样地,当有参与者离开,则需通知订阅者。

SIP视频会议系统

控制功能模块在SIP视频会议系统中会议的控制功能至关重要,它的实现是视频会议实现的基础。因此,对会议的控制功能总结如下:与各与会者进行信令交互,控制多方会话的建立,维持和结束维护会议的状态并通报给各与会者较全面的会议控制能力多个会议的配置、初始化、管理安全准入机制保障视频无冲突的共享会议应能添加、删除多个参与者控制功能流程视频会议流程包括创建会议、加入会议、开始会议和结束会议等步骤。其中会议开始后如何进行会议状态信息通告,以及会场控制机制需要制定相应的规范,这就需要对会议建立中的信令流程进行设计。创建会议

实现过程描述如下:用户发出包含要创建的会议URI的INVITE消息。会议服务器Focus收到该INVITE请求。Focus查找INVITE消息请求的会议,看是否存在该会议URI,如果不存在,说明是一个新的会议请求,则创建一个新的会议,会议的名称、URI为请求的会议名称、URI,并创建对应的会话。Focus向该用户返回200OK消息,其Contactheader中包含会议的URI和isfocus属性,且该用户被加入到创建的会议中,成为会议的第一个会议成员。该用户和媒体服务器建立媒体通道连接。将新创建的会议进行注册,以便其他的用户可以申请加入该会议。加入会议方式一:用户通过发送INVITE请求加入会议,即dial-in方式Dial-In方式加入会议,用户可先通过E-mail、公告、即时消息等方式事先获得会议URI,然后向会议URI发送INVITE消息,请求加入会议。其实现过程描述如下:F1:用户UA向Focus发送INVITE请求。F2:Focus在收到呼叫请求消息后,该SIP消息进入SIP协议栈的接收队列,等候进入状态机处理队列。消息进入状态机处理队列并由状态机进行消息状态处理,Focus发出180Ring消息通知UA呼叫处理进行中。F3:根据会议策略,如果允许加入则发出200OK确认消息,否则发出403Forbidden或401Unauthorized等消息。F4:UA收到200OK,发出ACK确认消息。其中200OK的SDP描述中携带着媒体服务器的媒体描述信息,UA和媒体服务器之间将建立媒体通道。Focus收到ACK确认消息,本次双方呼叫协商过程结束,SIP协议栈状态机处理结束,释放占用的资源。RTP:UA和媒体服务器之间开始媒体流的传输,默认的媒体策略是UA将会收到所有其他会议用户的音频流,UA接收一路视频流,该视频流可以在不同会议用户之间切换。F5:UA向Focus发出SUBSCRIBE消息,订阅会议状态信息。F6:Focus向UA返回200OK消息,UA订阅成功。F7:Focus向UA发出NOTIFY通知消息,告知会议状态。F8:UA收到NOTIFY消息,从NOTIFY携带的内容描述中得到会议的状态信息,并返回200OK确认消息。会议状态信息包括:出席会议的成员,每个成员的连接信息和媒体信息,会议成员的加入和离开,成员的策略改变等状态变化。每当会议状态发生改变,Focus就向各个会议成员UA发送NOTIFY通知消息,UA通过NOTIFY消息时刻了解会议状态。消息体描述如下:F1INVITEsip:3402934234@conf.exap\SIP/2.0Via:SIP/2.0/UDP;branch=z9hG4bKhjhs8ass83Max-Forwards:70To:<sip:3402934234@>From:Carol<sip:carol@>;tag=32331Call-ID:d432fa84b4c76e66710CSeq:45INVITEContact:<sip:carol@>Allow:INVITE,ACK,CANCEL,OPTIONS,BYE,REFER,SUBSCRIBE,NOTIFYAllow-Events:dialogAccept:application/sdp,message/sipfragSupported:replacesContent-Type:application/sdpContent-Length:...(SDP)F2SIP/2.0180RingingVia:SIP/2.0/UDP

To:<sip:3402934234@>From:Carol<sip:carol@>;tag=32331Call-ID:d432fa84b4c76e66710CSeq:45INVITEContact:<sip:3402934234@>Content-Length:0F3SIP/2.0200OKVia:SIP/2.0/UDP;branch=z9hG4bKhjhs8ass83;received=To:<sip:3402934234@>;tag=733413From:Carol<sip:carol@>;tag=32331Call-ID:d432fa84b4c76e66710CSeq:45INVITEContact:<sip:3402934234@>;isfocusAllow:INVITE,ACK,CANCEL,OPTIONS,BYE,REFER,SUBSCRIBE,NOTIFYAllow-Events:dialog,conferenceAccept:application/sdp,application/conference-info+xml,message/sipfragSupported:replaces,join,gruuContent-Type:application/sdpContent-Length:...(SDP)F4SIP/2.0200OKVia:SIP/2.0/UDP

To:<sip:3402934234@>From:Carol<sip:carol@>Call-ID:d432fa84b4c76e66710CSeq:45INVITEContact:<sip:carol@>Content-Type:application/sdp

Content-Length:…(SDP)F5SUBSCRIBEsip:3402934234@SIP/2.0Via:SIP/2.0/UDP;branch=z9hG4bKdf334Max-Forwards:70To:<sip:3402934234@>From:Carol<sip:carol@>;tag=43524545Call-ID:k3l43id034kserereeCSeq:22SUBSCRIBEContact:<sip:carol@>Allow:INVITE,ACK,CANCEL,OPTIONS,BYE,REFER,SUBSCRIBE,NOTIFYEvent:conferenceAccept:application/conference-info+xmlSupported:replacesContent-Length:0F6SIP/2.0200OKVia:Via:SIP/2.0/UDP

To:<sip:3402934234@>From:Carol<sip:carol@>Call-ID:k3l43id034kserereeCSeq:22SUBSCRIBEContact:<sip:3402934234@>Content-Type:application/sdp

Content-Length:…(SDP)F7NOTIFYsip:carol@SIP/2.0Via:SIP/2.0/UDP;branch=z9hG4bK3343d1Max-Forwards:70To:Carol<sip:carol@>;tag=43524545From:<sip:3402934234@>;tag=a3343df32Call-ID:k3l43id034kserereeCSeq:34321NOTIFYContact:<sip:3402934234@>;isfocusAllow:INVITE,ACK,CANCEL,OPTIONS,BYE,REFER,SUBSCRIBE,NOTIFYEvent:conferenceAccept:application/sdp,message/sipfragSubscription-State:active;expires=3600Supported:replaces,join,gruuContent-Type:application/conference-info+xmlContent-Length:...(SDP)F8SIP/2.0200OKVia:Via:SIP/2.0/UDP

To:Carol<sip:carol@>From:<sip:3402934234@>Call-ID:k3l43id034kserereeCSeq:34321NOTIFYContact:<sip:carol@>Content-Type:application/sdp

Content-Length:…(SDP)方式二:Focus通过发送INVITE要求用户参加会议,即dial-out方式方式三:REFER

——第三方参与者邀请用户加入会议,该用户通过发送INVITE给Focus加入会议方式四:REFERwithREFER:第三方参与者请求Focus添加新用户到会议

参与者通过REFER方法请求Focus添加参与者。下图中就展现了这个例子,现有在会议中的成员Alice,她想要邀请Bob加入会议。移除参与者——REFERwithBYE删除会议

这里是创建者离开会议则会议则会议室被删除中科院

FOCUS模块设计与实现FOCUS模块的主要包括如下函数:1.初始化函数:完成各个参数、协议栈的初始化,ConferenceFactoryURI的初始化、创建FOCUS,启动Work线程等。2.消息监听和接收发送函数:监听设定的端口是否有消息到达,并接收到达的消息,送入接收队列;从发送队列中取出待发送的消息进行发送。3.消息处理函数:对收到的所有消息进行处理。4.销毁函数:完成FOCUS的销毁,释放资源。中科院具体控制消息处理过程

我们定义了一些控制消息用于会议控制,这些控制消息基本上能完成会议控

制的功能。控制消息和消息处理程序的对应关系如下所示:

{"Register",msg_handler_register},{"SessionStart",msg_handler_sessionstart},{"SessionEnd",msg_handler_sessionend},{"PrePareReql",msg_handler_preparereql},{"PrePareAckl",msg_handler_prepareackl},{"PrePareNakl",msg_handler_preparenakl},{"PrePareReq2",msg_handler_perparereq2},{"PrePareAck2",msg_handler_prepareack2},{"PrePareNak2",msg_handler_preparenak2},{"CancelPreParel",msg_handler_cancelpreparel},{"Preview",msg_handler_preview},{"CancelPreview",msg

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论