一种远程多人会议的实现方法及相应系统的制作方法

文档序号:7647659阅读:217来源:国知局
专利名称:一种远程多人会议的实现方法及相应系统的制作方法
技术领域
本发明涉及互联网和多媒体通信领域,特别涉及一种远程多人会议的实现方法。
背景技术
在下一代互联网中,IP网络将成为语音和视频服务的主要承载。其中,包括语音和视频服务的远程多人会议是IP网络中的一个重要应用。多人会议被定义成一个终端服务,它允许两人或多人使用网络即时地传输语音和视频。
国际标准组织因特网工程任务组IETF XCon建议多人会议采用SIP体系结构,由Conference Proxy Server来控制会议的建立、进行和结束。
截止到目前,SIP没有关于多人会议的标准。现在符合SIP标准的即时消息系统中,还没有IPv6网络环境下,支持语音、视频同时传输并保持同步的多人会议实现方法。
在申请号为02827941.7的中国专利申请“电信网络内的服务接入和会议系统及方法”中提供了一种向电信网络内的服务用户提供用户服务的系统和方法。在网际协议(IP)电信网络内,可以在会议所有者和多个其它会议参与者之间建立会议呼叫。在使用对话初始化协议(SIP)控制信令进行呼叫建立和控制的网络内,修改SIP登记消息以表示用于服务提供者的服务能力信息和可选择的业务负载指示。将该登记消息发送给已修改的存在和即时消息(PIM)服务器,所述服务器存储用于诸如会议服务器的已登记会议提供者的存在信息和服务能力信息。PIM服务器随后向诸如会议参与者的预约服务用户通知在网络上登记的服务提供者的标识。PIM服务器可以使用业务负载信息通过向用户提供最轻负载的服务提供者的标识来平衡服务提供者之间的业务负载。对于会议呼叫来说,在会议所有者标识会议参与者和提供发起会议的标准之后,会议服务器标识每个参与者的服务CSCF,并当所服务的参与者存在和可用时,将一个请求发送给每个CSCF以通知会议服务器。当预定数量的参与者存在和可用时,会议服务器发起会议呼叫。该申请采用PIM服务器来建立会议,但没有对于会议过程中的多媒体数据流的传输方式进行说明。
在申请号为200610027170.4的中国专利申请“基于P2P和SIP的视频会议系统及其实现方法”中,引入了会议代理服务器、会议控制服务器来控制和管理视频会议,采用P2P的方式在与会人员间传输视频流。如图11所示,该申请中的视频会议系统包括会议代理服务器、会议控制服务器、客户端和支持人,所有的客户端以及主持人都与会议代理服务器和会议控制服务器相连,当客户端与客户端之间,以及客户端与主持人之间需要传输音视频流时,都要在会议控制服务器的作用下,通过会议代理服务器进行转发。这种实现方法的结构过于复杂。

发明内容
本发明的目的是克服现有的音视频会议系统的结构过于复杂的缺陷,从而提供一种简单、高效的多人语音、视频会议的实现方法,还提供了一种健壮性高的语音、视频系统。
为了实现上述目的,本发明提供了一种远程多人会议的实现方法,具体包括以下步骤步骤10)、一位用户发起多人会议,选择与会成员,并向所有与会成员发出邀请请求;步骤20)、所述与会成员接到邀请请求后,决定是否接受邀请,若接受邀请,向会议发起方发送同意邀请的响应信息,若不接受邀请,停止该与会成员和会议发起方的交互;步骤30)、会议发起方收到接受邀请的响应消息后,向接受邀请的与会成员发送确认消息,并与接受邀请的与会成员建立数据传输通道;步骤40)、接受邀请的与会成员的客户端通过步骤30)所建立的数据传输通道与会议发起方进行数据的传送,并通过会议发起方进行数据的分发,实现与会成员间的交互。
上述技术方案中,所述的步骤10)包括以下步骤步骤11)、所述会议发起方的客户端向所属SIP服务器发送SIP MESSAGE消息,并在该消息中包含被邀请的与会成员的统一资源标识信息和参与会晤的所有与会成员的昵称;步骤12)、会议发起方所属的SIP服务器向被邀请的与会成员客户端所属的SIP服务器转发SIP MESSAGE消息,再由被邀请与会成员所属的SIP服务器转发该消息至被邀请与会成员的客户端;步骤13)、所述会议发起方的客户端向所属SIP服务器发送SIP INVITE邀请消息,并在该消息中包含会晤的协商参数;步骤14)、会议发起方所属的SIP服务器向被邀请与会成员客户端所属的SIP服务器转发SIP INVITE邀请消息,再由被邀请与会成员所属的SIP服务器转发该邀请至被邀请与会成员的客户端。
在所述的步骤13)中,所述的协商参数包括网络类型、会话连接的地址、端口、会话的类型、与会人员的个数和媒体格式上述技术方案中,在所述的步骤20)中,若被邀请的与会成员接收邀请,则通过其所属的SIP服务器向会议发起方发送同意邀请的200 OK类型的响应消息,并在该响应消息中携带自身的协商参数。
所述的协商参数为网络类型、会话连接的地址、端口、会话的类型和媒体格式。
上述技术方案中,所述的步骤30)具体包括以下步骤步骤31)、会议发起方收到响应消息后,向与会成员发送SIP ACK类型的确认消息,与被邀请的与会成员建立数据传输通道,然后以RTP流的方式发送自身数据,并等待与会成员的RTP数据流的到达;步骤32)、与会人员收到SIP ACK类型的确认消息后,开始以RTP流的方式发送自身的数据,并等待会议发起方分发的RTP数据流。
上述技术方案中,在所述的步骤40)中,会议发起方接收到一个与会人员的数据流后,用该数据流创建N-1个克隆流,其中一个克隆流用于在发起方的客户端上播放,其余克隆流分别用于转发数据至其它与会成员的客户端;所述的N表示所有与会成员的个数。
上述技术方案中,所述的数据为音频数据。
上述技术方案中,所述的数据为音视频数据。
一种采用远程多人会议的实现方法的远程多人会议系统,包括一个会议发起方服务器,以及至少一个与会成员客户端,所述的与会成员客户端与所述的会议发起方相连,所述的会议发起方服务器充当临时的会议服务器,与其他与会成员协商建立会议,建立传输通道,并转发其他成员间的数据;所述的与会成员客户端与会议发起方服务器建立传输通道,实现多人会议。
上述技术方案中,所述的会议发起方服务器包括会议管理模块和数据转发模块;其中所述的会议管理模块提供用户选择与会人员的接口,并在和与会人员的交互过程中协商建立传输通道;所述的数据转发模块采用JMF中克隆数据源的方法分发数据流,每接收到一个RTP流,就从流中获取一个源数据源,使用该源数据源克隆出复用的数据源,发送到其它与会人员的RTP侦听端口。
本发明的优点在于1、本发明提供了基于SIP的多人语音、视频会议的实现方法,增强了SIP系统的业务功能;2、本发明在会议发起方实现会议服务器,为与会人员转发音视频数据,这种实现方法避免了采用三方集中式服务器带来的性能瓶颈,提高了会议系统的健壮性。


图1为会议发起者邀请另外两个与会人员参加音视频会议的流程图;图2为会议发起者邀请另外两个与会人员参加音视频会议时的语音、视频数据传输和转发流程;图3为通知与会人员信息的MESSAGE消息格式示例;图4为邀请参加多人会议的INVITE消息格式示例;图5为同意参加多人会议的200 OK消息格式示例;图6为与会人员接收到INVITE消息后的程序处理流程;图7为会议发起者接收到200 OK消息后的程序处理流程;图8为与会人员接收到同意会议确认消息ACK的程序处理流程;图9为与发起者和其它与会人员接收到RTP流后的程序处理流程;图10为本发明的音视频会议系统的结构图;图11为现有技术中的视频会议系统的结构图;图12为本发明的多人语音、视频会议的实现方法的流程图。
具体实施例方式
下面结合附图和具体实施方式
对本发明作进一步详细描述在本实施例中,假设会议的发起者邀请两个与会人员参加远程多人会议,在远程多人会议中同时传送音频和视频数据。下面结合附图12对这一实现过程做详细的说明。
如图1所示,用A表示会议的发起者,用B和C表示会议的参与者,用户A邀请用户B和用户C加入会议,具体流程如下
步骤1、用户A希望用户B、C能够加入多人音视频会议,于是在客户端A上发出邀请提示;步骤2、客户端A发送MESSAGE消息到A所属域的SIP服务器domain1,如图3所示,在MESSAGE消息中包括了与会人员的A与C的昵称,并指明了该次会议的发起者为A;步骤3、A所属域的SIP服务器domain1把从客户端A接收到的MESSAGE消息发送到B所在的SIP服务器domain2;步骤4、B所属域的SIP服务器domain2把接收到的MESSAGE消息发送到客户端B,客户端B接收到该消息后,在界面上弹出多人会议窗口,给出与会人员的昵称列表;步骤5、客户端A发送会议邀请信令INVITE到SIP服务器domain1,并在消息的SDP报头中包含音视频会晤的协商参数。INVITE信令的具体内容如图4所示,它的SDP报头中所包括的协商参数包括网络类型、会话连接的地址、端口、会话的类型、与会人员的个数和媒体格式。
步骤6、A所属域的SIP服务器domain1把所接收到的INVITE消息转发至B所属SIP服务器domain2;步骤7、A所属域的SIP服务器domain1向客户端A发送100 TRYING信令,该信令表示A所发出的邀请正在处理中;步骤8、B所属域的SIP服务器domain2把所接收到的INVITE信令转发至终端B;终端B接收到INVITE信令后,对该信令做进一步处理,如图6所示,其处理流程如下步骤8-1、解析INVITE信令中的SDP报头,获取会议与会人员的个数、主叫方RTP传输地址、端口,以及媒体的传输格式等信息;步骤8-2、将步骤8-1所得到的信息存储在客户端B的会议管理模块中;步骤8-3、根据INVITE信令中的信息,确定客户端B所用的RTP传输地址、端口,以及媒体的传输格式,并将上述的信息保存在200 OK信令的SDP报头中。
步骤9、B所属域的SIP服务器domain2往客户端A的SIP服务器domain1发送100 TRYING信令,该信令表示邀请在处理中;步骤10、终端B向所属SIP服务器domain2发送180 RINGING信令表示已接收到会议邀请,正等待用户响应;步骤11、SIP服务器domain2转发所接收到的180 RINGING信令至SIP服务器domain1;
步骤12、SIP服务器domain1将所接收到的信令180 RINGING转发至终端A;步骤13、用户B接收邀请,终端B发送应答的SIP信令200 OK,发送到B所属SIP服务器domain2,如图5所示,200 OK信令中携带了用户B所确定的音视频会议参数;步骤14、终端B所属域的SIP服务器domain2转发200 OK信令至终端A所属域的SIP服务器domain1;步骤15、终端A所属域的SIP服务器domain1转发所述200 OK信令至终端A;如图7所示,终端A接收到200 OK后做如下处理步骤15-1、终端A解析200 OK信令中的SDP报头,从报头中获取被叫方的RTP传输地址、端口,以及媒体传输格式;步骤15-2、终端A调用编码器,根据从SDP报头中得到媒体传输格式做编码操作,并根据RTP传输地址、端口发送数据;步骤15-3、打开INVITE消息中定义的监听端口,等待被叫方的RTP数据流;步骤16、终端A往终端B回复三次握手协商中的最后确认信令ACK,终端B接收到ACK后做相应的处理,建立A与B间的数据传输通道。
如图8所示,终端B接收到ACK信令后所要完成的操作具体包括以下步骤步骤16-1、终端B调用编码器,按照200 OK信令的SDP报头中所定义的媒体格式编码,并将编码后的数据发送至INVITE消息SDP报头中的端口;步骤16-2、打开200 OK信令中的SDP报头中所定义的监听端口,等待主叫方的RTP流。
步骤17、重复上述步骤,可建立用户A与用户C之间的数据传输通道。
本实施例中,音视频数据的编码、发送、接收、解码以及播放都是基于Java JMF类库,图2是会议发起方与与会者之间建立数据传输通道以后,在会议进行过程中,音视频数据的收发流程图,仍以前述实施例为例,对音视频数据的收发过程做详细说明。
步骤100、终端A往终端B发送音视频流a;步骤200、终端A往终端C发送音视频流b;步骤300、终端B往终端A发送音视频流c;步骤400、终端A从音视频流c中复制出音视频流d,发往终端C;步骤500、终端C往终端A发送音视频流e;步骤600、终端A从音视频流e中复制出音视频流f,发往终端B。
由音视频数据的上述收发过程可知,在本发明中,由会议发起方实现与会人员间音视频数据的转发,与会人员只负责相应数据的接收与播放。如图9所示,当一个终端接收到RTP流以后,如果该终端为一般的与会人员,则该终端直接播放音视频数据,若该终端为会议发起方,则不仅要播放音视频数据,还要将所接收到的RTP流进行克隆操作,并分发给其他与会人员。
在其它的实施例中,会议发起方和与会者之间也可以单独传送音频数据,则与会人员通过语音实现与其他与会者之间的交流。
根据本发明的远程多人会议的实现方法,本发明还提供了一种相应的远程多人会议系统,如图10所示,本发明的远程多人会议系统包括会议发起方服务器和若干与会人员客户端,与会人员客户端都与会议发起方服务器相连,会议发起方服务器充当临时服务器,与其他与会成员协商建立会议,建立传输通道,并负责控制和转发与会人员和会议发起方之间,以及与会人员之间的数据通信。而与会成员客户端与会议发起方建立传输通道,实现多人会议。
会议发起方服务器包括会议管理模块和数据转发模块;其中的会议管理模块提供用户选择与会人员的接口,并在和与会人员的交互过程中协商建立传输通道。数据转发模块采用JMF中Clone DataSource的方法分发数据流,每接收到一个RTP流,就从流中获取一个源数据源(DataSource),使用该源DataSource克隆出复用的DataSource,发送到其它与会人员的RTP侦听端口。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
权利要求
1.一种远程多人会议的实现方法,具体包括以下步骤步骤10)、一位用户发起多人会议,选择与会成员,并向所有与会成员发出邀请请求;步骤20)、所述与会成员接到邀请请求后,决定是否接受邀请,若接受邀请,向会议发起方发送同意邀请的响应信息,若不接受邀请,停止该与会成员和会议发起方的交互;步骤30)、会议发起方收到接受邀请的响应消息后,向接受邀请的与会成员发送确认消息,并与接受邀请的与会成员建立数据传输通道;步骤40)、接受邀请的与会成员的客户端通过步骤30)所建立的数据传输通道与会议发起方进行数据的传送,并通过会议发起方进行数据的分发,实现与会成员间的交互。
2.根据权利要求1所述的远程多人会议的实现方法,其特征在于,所述的步骤10)包括以下步骤步骤11)、所述会议发起方的客户端向所属SIP服务器发送SIP MESSAGE消息,并在该消息中包含被邀请的与会成员的统一资源标识信息和参与会晤的所有与会成员的昵称;步骤12)、会议发起方所属的SIP服务器向被邀请的与会成员客户端所属的SIP服务器转发SIP MESSAGE消息,再由被邀请与会成员所属的SIP服务器转发该消息至被邀请与会成员的客户端;步骤13)、所述会议发起方的客户端向所属SIP服务器发送SIP INVITE邀请消息,并在该消息中包含会晤的协商参数;步骤14)、会议发起方所属的SIP服务器向被邀请与会成员客户端所属的SIP服务器转发SIP INVITE邀请消息,再由被邀请与会成员所属的SIP服务器转发该邀请至被邀请与会成员的客户端。
3.根据权利要求2所述的远程多人会议的实现方法,其特征在于,在所述的步骤13)中,所述的协商参数包括网络类型、会话连接的地址、端口、会话的类型、与会人员的个数和媒体格式
4.根据权利要求1所述的远程多人会议的实现方法,其特征在于,在所述的步骤20)中,若被邀请的与会成员接收邀请,则通过其所属的SIP服务器向会议发起方发送同意邀请的200OK类型的响应消息,并在该响应消息中携带自身的协商参数。
5.根据权利要求4所述的远程多人会议的实现方法,其特征在于,所述的协商参数为网络类型、会话连接的地址、端口、会话的类型和媒体格式。
6.根据权利要求1所述的远程多人会议的实现方法,其特征在于,所述的步骤30)具体包括以下步骤步骤31)、会议发起方收到响应消息后,向与会成员发送SIP ACK类型的确认消息,与被邀请的与会成员建立数据传输通道,然后以RTP流的方式发送自身数据,并等待与会成员的RTP数据流的到达;步骤32)、与会人员收到SIP ACK类型的确认消息后,开始以RTP流的方式发送自身的数据,并等待会议发起方分发的RTP数据流。
7.根据权利要求1所述的远程多人会议的实现方法,其特征在于,在所述的步骤40)中,会议发起方接收到一个与会人员的数据流后,用该数据流创建N-1个克隆流,其中一个克隆流用于在发起方的客户端上播放,其余克隆流分别用于转发数据至其它与会成员的客户端;所述的N表示所有与会成员的个数。
8.根据权利要求1或6或7所述的远程多人会议的实现方法,其特征在于,所述的数据为音频数据。
9.根据权利要求1或6或7所述的远程多人会议的实现方法,其特征在于,所述的数据为音视频数据。
10.一种采用权利要求1-9所述的远程多人会议的实现方法的远程多人会议系统,其特征在于,所述的远程多人会议系统包括一个会议发起方服务器,以及至少一个与会成员客户端,所述的与会成员客户端与所述的会议发起方相连,所述的会议发起方服务器充当临时的会议服务器,与其他与会成员协商建立会议,建立传输通道,并转发其他成员间的数据;所述的与会成员客户端与会议发起方服务器建立传输通道,实现多人会议。
11.根据权利要求10所述的远程多人会议系统,其特征在于,所述的会议发起方服务器包括会议管理模块和数据转发模块;所述的会议管理模块提供用户选择与会人员的接口,并在和与会人员的交互过程中协商建立传输通道;所述的数据转发模块采用JMF中克隆数据源的方法分发数据流,每接收到一个RTP流,就从流中获取一个源数据源,使用该源数据源克隆出复用的数据源,发送到其它与会人员的RTP侦听端口。
全文摘要
本发明公开了一种远程多人会议的实现方法,包括一位用户发起多人会议,选择与会成员,并发出邀请请求;与会成员接到邀请请求后,决定是否接受邀请,若接受邀请,向会议发起方发送同意邀请的响应信息,若不接受邀请,停止该与会成员和会议发起方的交互;会议发起方收到接受邀请的响应消息后,向接受邀请的与会成员发送确认消息,并与接受邀请的与会成员建立数据传输通道;接受邀请的与会成员的客户端通过建立的数据传输通道与会议发起方进行数据的传送,并通过会议发起方进行数据的分发,实现与会成员间的交互。本发明增强了SIP系统的业务功能,避免了采用三方集中式服务器带来的性能瓶颈,提高会议系统的健壮性。
文档编号H04M7/00GK101034960SQ20071006523
公开日2007年9月12日 申请日期2007年4月6日 优先权日2007年4月6日
发明者周安福, 宋翊麟, 舒童, 徐刚, 刘敏, 杨征 申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1