CN101237389A - 一种实现远程媒体流控制的方法、通信系统和设备 - Google Patents
一种实现远程媒体流控制的方法、通信系统和设备 Download PDFInfo
- Publication number
- CN101237389A CN101237389A CN200710006883.7A CN200710006883A CN101237389A CN 101237389 A CN101237389 A CN 101237389A CN 200710006883 A CN200710006883 A CN 200710006883A CN 101237389 A CN101237389 A CN 101237389A
- Authority
- CN
- China
- Prior art keywords
- session
- media stream
- indication information
- point
- controlled point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/613—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
- H04L65/1104—Session initiation protocol [SIP]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明实施例公开了一种实现远程媒体流控制的方法,包括:控制点向被控点发送携带有操作指示信息的SIP请求消息,远程指示被控制点需要执行的会话操作和/或媒体流操作;被控制点接收到所述SIP请求消息后,根据所述操作指示信息,执行相应的会话操作和/或媒体流操作。应用本发明实施例的方法,能够实现控制点直接控制被控制点的指定媒体流操作。更进一步地,在操作指示信息中可以携带对多个会话及相应媒体流的操作指示,因此可以实现在一个SIP请求中,远程控制多个会话的目的。本发明实施例还公开了实现远程媒体流控制的通信系统和控制点设备、被控制点设备。
Description
技术领域
本发明涉及通信技术,特别涉及一种实现远程媒体流控制的方法、通信系统和设备。
背景技术
会话发起协议(SIP)是因特网工程任务组(IETF)制定的多媒体通信系统框架协议之一,是一个基于文本的应用层控制协议。它独立于底层协议,用于建立、修改和终止IP网上的多媒体会话。在SIP协议中,多媒体会话是由一组多媒体发送者和接受者及其彼此之间的数据流组成,会话采用SIP对话,并在对话期间发送请求时遵循SIP规则。对话是通信双方之间的一种SIP关系,它提供了在通信双方之间进行路由和消息排序时所依据的必要的状态信息。SIP用户代理(UA)或终端构成对话的端点:它发送或者接收SIP请求和响应,是多媒体流的终点。UA通常是用户设备(UE),即终端上的一个应用或一个专用的硬件设备。
在RFC 3515中定义了SIP REFER方法。SIP REFER方法提供一种机制:REFER请求的发送者指引其接收者去访问REFER请求中所标识的资源。这个资源通过一个统一资源定位符(URL)标识;如果这个URL是一个SIP统一资源标识(URI),那么REFER请求的接收者就会发送另一个SIP请求给这个SIP URI所标识的UA。此外,在通常情况下,REFER请求同时还创建一个订阅,使得REFER请求的接收者可以把这次引荐的状态信息和结果通知给发送者。
SIP REFER方法的一个应用是实现远程呼叫控制功能。远程呼叫控制指的是一个没有直接参与相关会话的UA通过发送REFER请求给另一个UA,指示后者建立、更新或者终止它所直接参与的会话。在远程呼叫控制的操作中,发送REFER请求的UA称为控制点,接收REFER请求并执行会话操作的UA称之为被控制点。一个远程呼叫控制的模型如图1所示。
在图1中,整个远程呼叫控制流程包括以下步骤:
步骤101,UA1(控制点)向UA2(被控制点)发出一个REFER请求,该请求结构如下:
REFER sip:ua2@example.com SIP/2.0
To:<sip:ua2@example.com>
From:<sip:ua1@example.com>;tag=dklea
Refer-To:<sip:ua3@example.com>
Contact:<sip:ua1@example.com>
REFER请求的Refer-To头域中包含了UA3的SIP URI,隐含的默认操作是INVITE请求,即UA1指示UA2向UA3发送一个INVITE请求建立会话。其中,UA3即为此次远程呼叫控制会话的对端UA。
步骤102,UA2收到REFER请求后,返回一个202 Accepted响应。
步骤103,UA2在收到REFER请求后,创建一个订阅。
步骤104,根据事件订阅/通知(SUBSCRIBE/NOTIFY)框架,UA2创建一个NOTIFY请求发送给UA1。该NOTIFY请求不仅包含了带有标签“refer”的Event消息头,还包含了一个“message/sipfrag”消息体。
步骤105,UA1收到NOTIFY请求消息后,返回一个200 OK响应。
步骤106,UA2根据REFER请求消息中的Refer-To头域,向UA3发送INVITE请求,其结构如下:
INVITE sip:ua3@example.com SIP/2.0
To:<sip:ua3@example.com>
From:<sip:ua2@example.com>;tag=xyz
Call-ID:123
Contact:<sip:ua2@example.com>
Content-Type:application/sdp
m=audio 2200 RTP/AVP 96 97
a=sendrecv
m=video 5050 RTP/AVP 98 99
a=sendrecv
上述INVITE请求是一个会话建立请求,即UA2希望和UA3之间建立一个新会话,这个会话中包含两个媒体流,具体为一个音频流和一个视频流。
步骤107,UA3向UA2发送200 OK响应。
步骤108,在收到UA3返回的200 OK响应后,UA2再发送一个ACK请求给UA3,表明会话成功建立。
步骤109,UA2再次发送NOTIFY请求给UA1,通知UA1这次引荐的结果。
步骤110,UA1返回一个200 OK响应给UA2。
至此,远程呼叫控制的方法流程结束。
从上述例子中可以看出,虽然UA1并没有直接参与UA2和UA3的会话,但它通过发送REFER请求,远程控制了UA2和UA3之间的会话建立。
SIP INVITE方法能够执行两种会话操作:会话建立操作和会话更新操作,上例中是一个会话建立操作。一个会话建立操作或者会话更新操作通常包含一个或多个媒体流操作。比如在上例中的会话建立操作包含了两个媒体流增加操作。
目前的SIP REFER方法尽管能够远程控制会话的建立、更新和终止等操作,却无法对远程会话中的媒体流进行控制,它还不能够实现远程控制媒体流的增加、减少、更新、切换、复制等操作。在这个例子中可以看出,收到REFER请求的被控制点所执行的会话建立操作包含了两个媒体流增加操作,但这两个媒体流操作是被控制点根据会话需求确定并完成的,并不是由控制点指示的。控制点仅仅指示了被控制点需要执行一次会话建立操作,但并没有指示这个会话建立操作中究竟包含哪些媒体流操作。事实上,目前的SIP协议还无法实现这种远程媒体流控制的功能。
SIP REFER方法虽然能够远程控制会话的建立、更新和终止,但无法对远程会话中的媒体流进行控制,比如说,无法远程控制媒体流的添加、删除、更新、切换、复制、对端切换和对端复制等操作。另外,一个REFER请求只能远程控制一个会话,不能同时控制多个会话。
在控制点发出的REFER请求中没有标识出需要远程控制的会话。如果被控制点原本就参与了一个或多个会话,当它收到一个控制点发来的REFER请求后,它不知道这个REFER请求指示的是执行一次会话建立操作,还是在某个已存在的会话中执行会话更新操作。
综上,目前的SIP协议还无法实现远程媒体流控制的功能。
发明内容
有鉴于此,本发明实施例提供一种实现远程媒体流控制的方法,能够利用SIP协议实现远程媒体流控制的功能。
本发明实施例还提供一种实现远程媒体流控制的通信系统,能够利用SIP协议实现远程媒体流控制的功能。
本发明实施例又提供一种通信系统中的控制点设备和被控制点设备,能够实现远程媒体流控制的功能。
为实现上述目的,本发明实施例采用如下的技术方案:
一种实现远程媒体流控制的方法,包括:
控制点向被控点发送携带有操作指示信息的SIP请求消息,远程指示被控制点需要执行的会话操作和/或媒体流操作;
被控制点接收到所述SIP请求消息后,根据所述操作指示信息,执行相应的会话操作和/或媒体流操作。
一种实现远程媒体流控制的通信系统,包括控制点设备和被控制点设备,
所述控制点设备,用于向所述被控制点设备发送预设的携带操作指示信息的SIP请求消息,指示所述被控制点设备执行需要的会话及媒体流操作;所述操作指示信息用于指示进行的会话及媒体流操作;
所述被控制点设备,用于接收所述控制点设备发送的所述SIP请求消息,并根据该SIP请求消息中携带的操作指示信息,执行相应的会话及媒体流操作。
一种通信系统中的控制点设备,包括:远程控制单元和接口单元,
所述远程控制单元,用于根据需要,形成操作指示信息及预设的携带该操作指示信息的SIP请求消息,并将该SIP请求消息发送给所述接口单元;所述操作指示信息用于指示进行的会话及媒体流操作;
所述接口单元,用于将所述远程控制单元发送的SIP请求消息转发给系统中的被控制点设备。
一种通信系统中的被控制点设备,包括:第一接口单元和会话操作执行单元,
所述第一接口单元,用于接收系统中控制点设备发送的携带操作指示信息的SIP请求消息,并将该请求消息发送给所述会话操作执行单元;所述操作指示信息用于指示进行的会话及媒体流操作;
所述会话操作执行单元,用于根据所述第一接口单元接收的SIP请求消息中的操作指示信息,执行相应的会话及媒体流操作。
由上述技术方案可见,本发明实施例中,首先,控制点根据进行的远程操作,生成操作指示信息,并将携带该操作指示信息的SIP请求消息发送给被控制点,由于该操作指示信息中记录了控制点要求被控制点进行的会话及媒体流操作,因此被控制点接收到该SIP请求消息后,即能够确认控制点要求自身进行的具体的会话及媒体流操作;然后,被控制点依照操作指示信息,执行相应的会话及媒体流操作。这样,便能够实现控制点直接控制被控制点的指定媒体流操作。
更进一步地,在操作指示信息中可以携带对多个会话及相应媒体流的操作指示,因此可以实现在一个SIP请求中,远程控制多个会话的目的。
附图说明
图1为目前的远程呼叫控制的流程图。
图2为本发明实施例提供的实现远程媒体流控制方法的总体流程图。
图3为本发明实施例提供的实现远程媒体流控制的通信系统的总体结构图。
图4为本发明实施例一中实现远程媒体流控制方法的具体流程图。
图5为操作指示信息的第一种可能结构示意图。
图6为操作指示信息的第二种可能结构示意图。
图7为操作指示信息的第三种可能结构示意图。
图8为本发明实施例一中通信系统的具体结构图。
图9为本发明实施例二中实现远程媒体流控制方法的具体流程图。
图10为本发明实施例二中通信系统的具体结构图。
具体实施方式
为使本发明的目的、技术手段和优点更加清楚明白,以下结合附图对本发明实施例作进一步详细说明。
图2为本发明实施例提供的实现远程媒体流控制方法的总体流程图。如图2所示,该方法包括:
步骤201,控制点向被控点发送携带有操作指示信息的SIP请求消息,远程指示被控制点需要执行的会话操作和/或媒体流操作。
步骤202,被控制点接收到SIP请求消息后,根据其中携带的操作指示信息,执行相应的会话操作和/或媒体流操作。
图3为本发明实施例提供的实现远程媒体流控制的通信系统的总体结构图。如图3所示,该系统包括:控制点设备310和被控制点设备320。其中,控制点设备310的结构即为本发明实施例提供的通信系统控制点设备的总体结构图,被控制点设备320即为本发明实施例提供的通信系统被控制点设备的总体结构图。可以看出,控制点设备310包括远程控制单元311和接口单元312;被控制点设备320包括第一接口单元321和会话操作执行单元322。
在该系统中,控制点设备310中的远程控制单元311,用于根据需要,形成操作指示信息及预设的携带该操作指示信息的SIP请求消息,并将该SIP请求消息发送给接口单元312。其中,操作指示信息用于指示进行的会话及媒体流操作。
控制点设备310中的接口单元312,用于将远程控制单元311发送的SIP请求消息转发给被控制点设备320。
被控制点设备320中的第一接口单元321,用于接收控制点设备310发送的携带操作指示信息的SIP请求消息,并将该请求消息发送给会话操作执行单元322,其中,操作指示信息用于指示进行的会话及媒体流操作。
被控制点设备320中的会话操作执行单元322,用于根据第一接口单元321接收的SIP请求消息中的操作指示信息,执行相应的会话及媒体流操作。
由上述可以看出,通过操作指示信息,控制点可以通知被控制点执行指定的会话及媒体流操作。上述即为对本发明提供的远程媒体流控制方法、系统和设备的总体概述,下面通过具体实施例说明本发明实施例的具体实施方式。
在本发明实施例中,控制点可以首先获取被控制点的会话状态信息,再根据该信息形成操作指示信息,也可以直接将要远程控制的操作形成操作指示信息发送给被控制点。下面通过两个实施例分别说明在这两种情况下,本发明实施例的具体实施方式。
实施例一:
本实施例中,控制点直接将要进行的远程操作形成操作指示信息发送给被控制点。具体地,图4为本发明实施例一中实现远程媒体流控制方法的具体流程图。如图4所示,该方法包括:
步骤401,控制点根据要进行的远程控制操作,生成操作指示信息。
本实施例中,根据远程控制操作的不同,生成的操作指示信息内容也有所不同。
总的来说,操作指示信息中可能包括下述具体信息:会话指示信息、会话对应的媒体流指示信息、媒体流对应的操作符、关联指示和原因信息。
一、会话指示信息,用于标识所操作的会话,指的是控制点希望远程操纵的一个会话的相关指示。这个会话可以是被控制点已经参与的会话,也可以是控制点希望被控制点新建的一个会话。
会话指示信息的内容可能包括对端UA标识和会话标识。其中,对端UA标识指的是参与该会话的对端UA的SIP URI;会话标识指的是该会话区别于其它会话的标记。当控制点希望被控制点执行会话建立操作时,会话指示信息中仅包括对端UA标识,不包括会话标识;当控制点希望被控制点执行某会话更新操作时,会话指示信息中包括会话标识,该会话标识所代表的会话即为控制点系统更新的会话,此时,会话指示信息中还可以进一步包括可选的对端UA标识。
二、媒体流指示信息,用于标识一个会话对应的媒体流,指的是控制点希望远程操纵的一个媒体流的相关指示。
媒体流指示信息的内容包括下面的一种或任意组合:媒体流标识,媒体流的类型、模式属性。
其中,媒体流标识是把该媒体流和所属会话中的其它媒体流区别开来的标记,本发明实施例没有规定媒体流标识的具体表现形式,它可以是该媒体流在会话中的顺序号,也可以是描述该媒体流的字符串,也可以是一个数字。
媒体流的类型是RFC 4566会话描述协议(SDP)中定义的″media type″,目前定义的″media type″包括″audio″、″video″、″text″、″application″和″message″。媒体流的模式属性包括RFC 4566中定义的四种,目前包括″sendonly″、″recvonly″、″sendrecv″和″inactive″。
当控制点指令被控制点执行媒体流切换操作、媒体流复制操作、媒体流对端切换操作、或媒体流对端复制操作时,生成的媒体流指示信息中还可以进一步携带源会话标识和源媒体流标识。当执行媒体流切换操作,或媒体流对端切换操作时,生成的媒体流指示信息中可以携带切换失败指示。
其中,源会话标识指的是操作的媒体流所属于的原有会话的会话标识;源媒体流标识指的是该媒体流在原有会话中的媒体流标识。切换失败指示指的是当媒体流切换操作或者媒体流对端切换操作失败时,在该媒体流的所属源会话中是保留该媒体流,还是删除该媒体流。
三、操作符指的是对应媒体流指示信息所指示的媒体流需要执行的媒体流操作。
本发明实施例中提供的操作符包括:媒体流增加操作的标识、媒体流删除操作的标识、媒体流更新操作的标识、媒体流切换操作的标识、媒体流复制操作的标识、媒体流对端切换操作的标识、媒体流对端复制操作的标识中的任意一种。
四、关联指示,用于表示多个会话间的关系,具体指的各个会话指示信息所指示的会话间的关系。
会话间的关系可分为两种,一是各自独立的,二是视为一个逻辑会话。逻辑会话的含义是,当被控制点同时直接参与了多个会话,这些会话从SIP协议的角度来看是通过独立的,因为它们是通过独立的SIP对话分别建立的,但被控制点把所有会话包含的媒体流视为由一个SIP对话所建立的。
五、原因信息,用于携带媒体流控制的文字表述信息。
上述介绍了操作指示信息中可能包括的具体信息。在本步骤中,操作指示信息可以包括一个或多个会话指示信息,指示一个或多个会话进行相应操作。相应地,操作指示信息中可以包括针对各个会话的一个或多个媒体流指示信息,以及针对各个媒体流的一个操作符。这样,控制点就可以通过一个操作指示信息指示被控制点进行多个会话及媒体流操作。
对于任意一个会话及其相应的媒体流操作,在形成操作指示信息时遵循以下规定:
当控制点指令被控制点自行决定某会话对应的媒体流操作、或指令会话操作不包含媒体流操作时,形成的操作指示信息中包括该会话对应的会话指示信息,而不包括相应的媒体流指示信息和操作符,也即对应的媒体流指示信息和操作符为空;
当控制点指令被控制点进行指定媒体流操作时,形成的操作指示信息包括:会话对应的会话指示信息、与会话指示信息标识的会话对应的媒体流指示信息,以及与媒体流指示信息标识的媒体流对应的操作符。
在生成操作指示信息时,会话指示信息、媒体流指示信息和操作符的组织结构包括三种:
一、会话指示信息包括媒体流指示信息,媒体流指示信息包括操作符,具体地,在会话指示信息中包括该会话指示信息对应的会话所对应的媒体流指示信息,并在该媒体流指示信息中包括该媒体流指示信息标识的媒体流所对应的操作符。
二、当对某会话对应的各个媒体流进行的操作相同时,会话指示信息包括媒体流指示信息和操作符,当对某会话对应的各个媒体流进行的操作不同时,会话指示信息包括媒体流指示信息,媒体流指示信息包括操作符。
三、会话指示信息与媒体流指示信息以并列方式进行组织,媒体流指示信息包括操作符。在这种组织结构下,媒体流指示信息进一步包括:该媒体流指示信息标识的媒体流所对应会话的标识。
如前所述,当某会话的某媒体流操作涉及到媒体流切换、媒体流复制、媒体流对端复制操作或媒体流对端切换操作时,操作指示信息中可以进一步包括源会话标识和源媒体流标识;当某会话的某媒体流操作涉及到媒体流对端切换或媒体流切换操作时,操作指示信息可以进一步包括该操作符对应媒体流所对应的切换失败指示。事实上,源媒体流标识通常包括在媒体流指示信息中,而源会话标识和切换失败指示在操作指示信息中的组织方式与上述操作符相同,可以包括在媒体流指示信息中,或者当所有媒体流的源会话标识和/或切换失败指示相同时,直接包括在会话指示信息中。当然,按照上述结构可以演进出多种操作指示信息的组织结构,如,当所有媒体流操作相同、且源会话标识相同时,会话指示信息包括媒体流指示信息、操作符和源会话标识,媒体流指示信息包括切换失败指示等。
按照第一种方式组织后,操作指示信息的一种可能结构如图5所示,即操作符、源会话标识和切换失败指示;按照第二种方式组织后,操作指示信息的一种可能结构如图6所示,即假定所有媒体流的操作、源会话标识和切换失败指示均相同,因此该三项内容直接包括在会话指示信息中;按照第三种方式组织后,操作指示信息的一种可能结构如图7所示,即媒体流指示信息与会话指示信息并列组织,操作符等信息包括在媒体流指示信息中。
步骤402,将形成的操作指示信息携带在SIP请求消息中,发送给控制点。
本步骤中,携带操作指示信息的SIP请求消息可以为:新定义的SIP方法或扩展的已有SIP方法,如SIP REFER方法。
SIP请求消息携带操作指示信息的方式可以为:在SIP请求消息的消息体中携带记录操作指示信息的文档;或者,在SIP请求消息的头域中扩展字段携带操作指示信息。其中,记录操作指示信息的文档描述语言为XML语言、文本语言或二进制语言。
当携带操作指示信息的请求为SIP REFER时,那么需要处理REFER请求的订阅问题,本实施例提出三种处理方法。
一、该REFER请求可以取消隐式订阅的机制,具体地,可以参照RFC4488,将Refer-Sub头域的值设为“false”。
二、在该REFER请求的Event头域中包含预先定义的会话事件标签,表明控制点要订阅被控制点的会话状态信息。
三、在该REFER请求中的Event头域中包含多重引荐事件标签,表明控制点向被控制点订阅这次引荐的状态和结果。
假定利用REFER请求携带操作指示信息,发送的REFER请求消息的内容举例如下:
REFER sip:recipient@example.com SIP/2.0
To:<sip:recipient@example.com>
From:<sip:controller@example.com>;tag=afdfa
Refer-To:<cid:mt111111@example.com>
Refer-Sub:false
Content-Type:application/session-list+xml
Content-ID:mt111111@example.com
<?xml version=″1.0″encoding=″UTF-8″?>
<session-list xmlns=″urn:ietf:params:xml:ns:session-list″>
<correlation>independent</correlation>
<reason>An example of remote media control</reason>
<session>
<dialog call-id=″123″local-tag=″xyz″remote-tag=″abc″/>
<remote>sip:ua1@example.com</remote>
<stream>
<operation>delete</operation>
<id>1</id>
<type>audio</type>
</stream>
<stream>
<operation>add</operation>
<type>video</type>
<status>sendrecv</status>
</stream>
</session>
<session>
<remote>sip:ua3@example.com</remote>
<stream>
<operation>transfer</operation>
<type>audio</type>
<status>sendrecv</status>
<orig-dialog call-id=″456″local-tag=″opq″remote-tag=″rst″/>
<ori g-id>1</orig-id>
<prese rve>true</preserve>
</stream>
</session>
</session-list>
在本例中,操作指示信息通过在消息体中携带一个名叫“session-list”的XML文档实现的。
在“session-list”文档中,<correlation>元素代表关联指示,其值″independent″意味着会话间的关系是各自独立的;<reason>元素代表原因信息。
每一个<session>元素代表被控制点所参与的一个会话指示信息;<dialog>元素指明会话标识;<remote>元素指明对端UA;每个<stream>元素代表会话中的一个媒体流指示信息;<id>元素代表媒体流标识;<type>元素指明媒体流的类型;<status>元素指明媒体流的模式属性;<orig-dialog>元素代表源会话标识;<orig-id>元素代表源媒体流标识。
<operation>元素指明操作符:″delete″代表媒体流删除操作;″add″代表媒体流增加操作;″transfer″代表媒体流切换操作。
<preserve>元素指明切换失败指示,其值″true″意味着当媒体流切换操作或者媒体流对端切换操作失败时,该媒体流的所属源会话中保留该媒体流。
可以看出,控制点希望远程操纵两个会话中。第一个是会话更新操作,控制点要求更新被控制点和UA1之间的现有会话,要求删除第一个媒体流,并增加一个视频流;第二个是会话建立操作,控制点希望被控制点和UA3之间建立一个新会话,该会话中包含一个媒体流切换操作。
REFER请求的Refer-Sub头域的值为“false”,该值表明控制点取消REFER请求的隐式订阅功能。REFER请求的Refer-To头域中指明了“session-list”文档在消息体中的位置。
另外,需要说明的是操作指示信息中的原因信息除可以位于操作指示信息中,还可以位于RFC 3326中定义的Reason头域中。
步骤403,被控制点接收SIP请求消息,并提取操作指示信息。
由于操作指示信息中可能包括对多个会话的操作,因此需要对每个会话指示信息所指明的会话进行相应的操作。下面以对其中一个会话进行的操作为例说明执行会话及媒体流操作的过程。
步骤404,确定要进行的会话操作类型及对端UA。
本步骤中,确定会话操作类型的方式可以为:若该会话指示信息中包括会话标识,则确定对该会话进行更新操作;若该会话指示信息中不包括会话标识,则确定进行会话建立操作。
确定对端UA的方式为:根据该会话指示信息中携带的对端UA的SIPURI识别对端UA或根据会话标识所指明的会话来确定对端UA。
步骤405,根据步骤404确定的会话操作类型和操作指示信息,与对端UA交互完成相应的会话及媒体流操作。
本步骤中,首先根据会操作类型和操作指示信息构造INVITE请求发送给对端UA,然后对端UA返回响应,与控制点交互完成相应的操作。
其中,构造INVITE请求的方式具体为:
一、根据会话操作类型,确定INVITE请求的类型。
当步骤404中确定的会话操作类型为会话建立操作时,确定生成初始INVITE请求;
当步骤404中确定的会话操作类型为会话更新操作时,确定生成SIP对话内的INVITE请求。
二、根据操作指示信息,构造INVITE请求中的SDP消息体,并形成INVITE请求。
在构造SDP消息体时,若操作指示信息中包括与操作的会话对应的媒体流指示信息和操作符,则根据媒体流指示信息和操作符构造SDP消息体;若操作指示信息中不包括与操作的会话对应的媒体流指示信息,则在SDP消息体中不包括媒体流操作,或者,被控制点自行确定SDP消息体中的媒体流操作信息。
具体地,根据媒体流指示信息和操作符构造SDP消息体时,被控制点根据媒体流指示信息中的媒体流标识、媒体流的类型、模式属性来生成SDP消息中相应的“m=”行和“a=”行,每一个执行操作的媒体流的操作类型由相关的操作符决定。
当被控制点接收的操作符指明媒体流增加操作时,则被控制点确定控制点指令进行媒体流增加操作,被控制点向对端UA发送INVITE请求,在该请求中,要求在对应会话中增加媒体流指示信息标识的媒体流;对端UA接收到该INVITE请求后,即返回响应,并与被控制点交互实现在该会话中增加该媒体流。
当被控制点接收的操作符指明媒体流删除操作时,则被控制点确定控制点指令进行媒体流删除操作,被控制点向对端UA发送INVITE请求,在该请求中,要求在对应会话中删除媒体流指示信息标识的媒体流;对端UA接收到该INVITE请求后,即返回响应,并与被控制点交互实现在该会话中删除该媒体流。
当被控制点接收的操作符指明媒体流更新操作时,则被控制点确定控制点指令进行媒体流更新操作,被控制点向对端UA发送INVITE请求,在该请求中,要求在对应会话中更新媒体流指示信息标识的媒体流;对端UA接收到该INVITE请求后,即返回响应,并与被控制点交互实现在该会话中更新该媒体流。
当被控制点接收的操作符指明媒体流切换操作时,则被控制点确定控制点指令进行媒体流切换操作,被控制点向对端UA发送INVITE请求,在该请求中,要求在对应会话中增加指定会话中的指定媒体流;对端UA接收到该INVITE请求后,即返回响应,并与被控制点交互实现在该会话中增加指定会话中的指定媒体流。其中,指定会话为被控制点所参与的由源会话标识指定的另一个会话,指定的媒体流为由源媒体流标识指定的一个媒体流。并在对应会话中增加该指定媒体流后,进一步与该指定会话的对端UA交互,删除指定会话中的指定媒体流,具体可以采用如INVITE请求或BYE请求的SIP请求消息实现该指定媒体流的删除。
当被控制点接收的操作符指明媒体流复制操作时,则被控制点确定控制点指令进行媒体流复制操作,被控制点向对端UA发送INVITE请求,在该请求中,要求在对应会话中增加指定会话中的指定媒体流;对端UA接收到该INVITE请求后,即返回响应,并与被控制点交互实现在该会话中增加指定会话中的指定媒体流。其中,指定会话和指定媒体流的含义与上述相同。
当被控制点接收的操作符指明媒体流对端切换操作时,则被控制点确定控制点指令进行媒体流对端切换操作,被控制点向对端UA发送INVITE请求,在该请求中,要求在对应会话中增加指定会话中的指定媒体流;对端UA接收到该INVITE请求后,即返回响应,并与被控制点交互实现在该会话中增加指定会话中的指定媒体流。另外,将源会话标识和源媒体流标识发送给对端UA,具体可以利用INVITE请求或其中的SDP消息体携带。这样,对端UA可以根据源会话标识和源媒体流标识唯一确定被切换或被复制的媒体流。被控制点还可以将操作指示信息中的切换失败指示发送给对端UA,具体可以采用INVITE请求或其中的SDP消息体携带。这样,接收INVITE请求的对端UA可以明确媒体流对端切换失败时的处理方式。其中,指定会话为对应会话的对端UA所参与的由源会话标识指定的会话,指定媒体流的含义与前述相同。
当被控制点接收的操作符指明媒体流对端复制操作时,则被控制点确定控制点指令进行媒体流对端复制操作,被控制点向对端UA发送INVITE请求,在该请求中,要求在对应会话中增加指定会话中的指定媒体流;对端UA接收到该INVITE请求后,即返回响应,并与被控制点交互实现在该会话中增加指定会话中的指定媒体流。另外,可以将源会话标识和源媒体流标识发送给对端UA,具体可以利用INVITE请求或其中的SDP消息体携带。这样,对端UA可以根据源会话标识和源媒体流标识唯一确定被切换或被复制的媒体流。其中,指定会话为对应会话的对端UA所参与的由源会话标识指定的会话,指定媒体流的含义与前述相同。
上述即为根据会话操作类型和操作指示信息进行相应的会话及媒体流操作的过程。
接下来,以具体的例子说明发送INVITE消息并进行相应会话操作的步骤。假定被控制点接收到步骤402举例列出的SIP REFER请求,则针对该请求中第一个<session>元素中的内容,向对端UA(假定为UA1)发送如下所示的INVITE请求:
INVITE sip:ua1@example.com SIP/2.0
To:<sip:ua1@example.com>;tag=abc
From:<sip:recipient@example.com>;tag=xyz
Call-ID:123
Contact:<sip:recipient@example.com>
Content-Type:application/sdp
m=audio 0RTP/AVP 96
m=video 5050RTP/AVP 9899
a=sendrecv
在上述请求消息中,SDP消息体中的“m=”行和“a=”行是根据第一个<session>元素中的两个<stream>元素而构建的。
UA1接收该INVITE请求后返回200OK响应;被控制点发送ACK请求,表明会话成功更新。
这时,由于该REFER请求取消了隐式订阅,因此不需要返回引荐状态和结果。若在发送REFER请求时订阅了被控制点的会话状态信息,则更新会话后,需要将更新后被控制点当前的会话状态信息返回给控制点。被控制点接收到会话状态信息,会反馈一个200 OK响应。
针对步骤402中SIP请求消息的第二个<session>元素中的内容,向对端UA(假定为UA3)发送如下所示的INVITE请求:
INVITE sip:ua3@example.com SIP/2.0
To:<sip:ua3@example.com>
From:<sip:recipient@example.com>;tag=jjjj
Contact:<sip:recipient@example.com>
Content-Type:application/sdp
m=audio 1000RTP/AVP 96
a=sendrecv
在上述请求消息中,SDP消息体中的“m=”行和“a=”行是根据第二个<session>元素中的<stream>元素而构建的。
UA3接收该INVITE请求后返回200OK响应;被控制点向UA3发送ACK请求,表明会话成功建立。
与第一个会话操作相同,若需要返回会话状态信息给控制点,则控制点会反馈一个200OK响应。
在此之后,由于新建会话中的媒体流是从被控制点和另一个UA(假定为UA2)间的源会话中切换而来的,因此被控制点需要与UA2间的这个会话中删除切换的媒体流。
若在发送REFER请求的Event头域中包含多重引荐事件标签,则更新会话后,将返回给控制点一个NOTIFY请求,包括该REFER请求中指示的每个会话操作的执行状态。
至此,本实施例提供的利用SIP协议实现远程媒体流控制的方法流程结束。
本实施例还提供了实现远程媒体流控制的通信系统,以及该通信系统中的控制点设备和被控制点设备,可以用于实施上述远程媒体流的控制方法。图8为本实施例提供的通信系统的具体结构图。该通信系统即为图3所示的系统的一种具体实施方式。如图8所示,该系统包括:控制点设备310、被控制点设备320和对端UA 330。可以看出,本实施例中的系统进一步包括了对端UA 330。其中的控制点设备310包括远程控制单元311和接口单元312,为图3中控制点设备310的一种具体实施方式;被控制点设备320包括第一接口单元321和会话操作执行单元322,会话操作执行单元322包括执行单元322a和第二接口单元322b,为图3中被控制点设备320的一种具体实施方式。
具体地,在该通信系统中,控制点设备310中的远程控制单元311,用于根据需要,形成操作指示信息及预设的携带该操作指示信息的SIP请求消息,并将该SIP请求消息发送给接口单元312。其中,操作指示信息用于指示进行的会话及媒体流操作。
控制点设备310中的接口单元312,用于将远程控制单元311发送的SIP请求消息转发给被控制点设备320。
在被控制点设备320中,第一接口单元321,用于接收控制点设备310发送的携带操作指示信息的SIP请求消息,并将该请求消息发送给会话操作执行单元322,其中,操作指示信息用于指示进行的会话及媒体流操作。
会话操作执行单元322中的执行单元322a,用于接收第一接口单元321发送的SIP请求消息,并根据该消息中的操作指示信息,构造INVITE请求,将该请求发送给第二接口单元322b;还用于根据第二接口单元322b接收的信息,完成会话及媒体流操作。
会话操作执行单元322中的第二接口单元322b,用于接收执行单元322a发送的INVITE请求,并将该请求发送给对端UA330,并接收返回的响应消息转发给第二接口单元322b。
对端UA 330,用于接收被控制点设备320发送的INVITE请求,并根据该请求与被控制点设备320交互完成会话及媒体流操作。
由上述本实施例的方法、系统和设备的具体实施方式可以看出,控制点可以直接根据要进行的远程操作形成操作指示信息发送给被控制点,在该操作指示信息中包括了具体的会话及媒体流操作指示,不仅能够远程控制被控制点的会话建立和更新操作,而且可以直接远程控制被控制点在会话操作过程中执行指定的媒体流操作。同时,由于在一次远程控制操作中,操作指示信息可以携带多个会话的指示操作,因此可以一次控制多个会话操作。
实施例二:
本实施例中,控制点首先获取被控制点的会话状态信息,再根据该信息形成操作指示信息发送给被控制点。具体地,图9为本发明实施例二中实现远程媒体流控制方法的具体流程图。如图9所示,该方法包括:
步骤901,控制点获取被控制点的会话状态信息。
本步骤中,控制点获取被控制点的会话状态信息的方式具体包括:控制点向被控制点发送获取会话状态信息的请求消息,被控制点接收到所述请求消息后,将会话状态信息发送给控制点。
控制点获取被控制点的会话状态信息可以基于SIP的方法,也可以基于非SIP的方法,如通过超文本传输协议(HTTP),控制点发出HTTP POST请求给被控制点,并从控制点返回的HTTP 200OK响应中获得信息。
当采用基于SIP的方法获取被控制点的会话状态信息时,可以选择利用SIP协议中的订阅(SUBCRIBE)/通知(NOTIFY)框架实现。具体可以为:
一、控制点向被控制点发送一个SUBSCRIBE请求,在该请求的Event头域中包括预先定义的会话事件标签,表明控制点要订阅被控制点的会话状态信息。
在发送的SUBSCRIBE请求中,会话状态信息可以通过XML语言、SDP语言、二进制语言和文本语言描述中的一种或任意组合描述。会话状态信息的内容包括对端UA标识、会话标识和标识会话中包含媒体流相关信息的媒体流状态信息,其中,媒体流状态信息包括媒体流标识、媒体流的类型和模式属性。有关于媒体流标识、媒体流的类型和模式属性的意义和取值与实施例一中介绍的相同。会话状态信息的内容还可以包括被控制点当前参与的会话中所使用的SDP消息体。
二、被控制点接收到SUBSCRIBE请求后,创建订阅,并将会话状态信息携带在NOTIFY请求中发送给控制点。
根据订阅/通知框架,在订阅持续的时间内,每当被控制点参与的会话发生改变时,它都会把改变后的会话状态信息传递给控制点。
下面举例说明上述利用订阅/通知框架获取被控制点会话状态信息的过程:
A、控制点发送SUBSCRIBE请求给被控制点,该请求的Event头域中的“session-event”标签代表会话事件标签,该标签表明控制点要订阅被控制点的会话状态信息。请求的消息内容举例如下:
SUBSCRIBE sip:recipient@example.com SIP/2.0
To:<sip:recipient@example.com>
From:<sip:controller@example.com>;tag=ddd
Event:session-event
Accept:application/session-info+xml
B、被控制点返回针对SUBSCIRBE请求的200OK响应,表明它已经接受了该请求。
C、被控制点为控制点创建订阅后,发送NOTIFY请求给控制点。请求的消息内容举例如下:
NOTIFY sip:controller@example.com SIP/2.0
To:<sip:controller@example.com>;tag=ddd
From:<sip:recipient@example.com>;tag=aaa
Event:session-event
Content-type:application/session-info+xml
<?xml version=″1.0″encoding=″UTF-8″?>
<session-info xmlns=″urn:ietf:params:xml:ns:session-info″
entity=″sip:recipient@example.com″>
<session>
<dialog call-id=″123″local-tag=″xyz″remote-tag=″abc″/>
<remote>sip:ua1@example.com</remote>
<stream>
<id>1</id>
<type>audio</type>
<status>sendonly</status>
</stream>
</session>
<session>
<dialog call-id=″456″local-tag=″opq″remote-tag=″rst″/>
<remote>sip:ua2@example.com</remote>
<stream>
<id>1</id>
<type>audio</type>
<status>sendrecv</status>
</stream>
<stream>
<id>2</id>
<type>video</type>
<status>sendrecv</status>
</stream>
</session>
</session-info>
该NOTIFY请求中,Event头域中的“session-event”标签代表会话事件标签,这表明NOTIFY请求的消息体中携带了被控制点的会话状态信息。会话状态信息是通过一个名叫“session-info”文档来描述的。在本例中,“session-info”文档的描述语言是XML语言。
在“session-info”文档中,每一个<session>元素代表被控制点所参与的一个会话状态信息;<dialog>元素指明会话标识;<remote>元素指明对端UA;每个<stream>代表会话中的一个媒体流状态信息;<id>元素代表媒体流标识;<type>元素指明媒体流的类型;<status>元素指明媒体流的模式属性。在本例中,媒体流标识的取值是媒体流在会话中的顺序号。
可以看出,本例中被控制点当前参与了两个会话。和UA1(sip:ua1@example.com)之间的会话包含一个音频流;和UA2(sip:ua2@example.com)之间的会话包含一个音频流和一个视频流。
D、控制点返回针对NOTIFY请求的200OK响应,表明它已经收到该请求。
步骤902,控制点根据被控制点的会话状态信息和要进行的远程操作,形成操作指示信息。
本步骤中,可以根据目前被控制点的会话状态信息,了解被控制点的各个会话的状态,从而确定进行的远程操作,进而形成操作指示信息。依照本实施例的方式,能够根据被控制点实时的会话状态,调整远程操作,使得实现的远程控制更加合理。
具体根据确定的远程操作形成操作指示信息的过程与实施例一中的相同,这里就不再赘述。
步骤903,将形成的操作指示信息携带在SIP请求消息中,发送给被控制点。
步骤904,被控制点接收SIP请求消息,并提取操作指示信息。
步骤905,确定要进行的会话操作类型及对端UA。
步骤906,根据步骤905确定的会话操作类型和操作指示信息,构造INVITE请求,并发送给对端UA,对端UA返回响应,并与被控制点交互完成相应的会话及媒体流操作。
上述步骤903~906的操作与实施例一中的步骤402~405相同,这里就不再赘述。
步骤907,被控制点将更新后的会话状态信息发送给控制点。
当步骤901中利用SIP的订阅/通知框架获取会话状态信息时,则在控制点对被控制点会话状态信息的订阅处于激活状态下时,被控制点向控制点发送NOTIFY请求,携带被控制点当前的会话状态信息。
当步骤901中利用其他非SIP方式获取会话状态信息时,则采用相应的消息携带被控制点当前的会话状态信息。
至此,本实施例提供的利用SIP协议实现远程媒体流控制的方法流程结束。
本实施例还提供了实现远程媒体流控制的通信系统,以及该通信系统中的控制点设备和被控制点设备,可以用于实施上述远程媒体流的控制方法。图10为本实施例提供的通信系统的具体结构图。该通信系统即为图3所示的系统的又一种具体实施方式。如图10所示,该系统包括:控制点设备310、被控制点设备320和对端UA 330。可以看出,本实施例中的系统构成与实施例一中的相同。控制点设备310包括远程控制单元311、接口单元312和会话状态信息获取单元313,为图3中控制点设备310的又一种具体实施方式;被控制点设备320包括第一接口单元321、会话操作执行单元322和会话状态收集单元323,会话操作执行单元322包括执行单元322a和第二接口单元322b,为图3中被控制点设备320的又一种具体实施方式。
具体地,在该通信系统中,控制点设备310中的会话状态信息获取单元313,用于获取被控制点的会话状态信息,并发送给远程控制单元311。
远程控制单元311,用于根据接收的会话状态信息,形成操作指示信息及预设的携带该操作指示信息的SIP请求消息,并将该SIP请求消息发送给接口单元312。其中,操作指示信息用于指示进行的会话及媒体流操作。
控制点设备310中的接口单元312,用于将远程控制单元311发送的SIP请求消息转发给被控制点设备320。
在被控制点设备320中,第一接口单元321,用于接收控制点设备310发送的携带操作指示信息的SIP请求消息,并将该请求消息发送给会话操作执行单元322;还用于将接收自会话状态信息收集单元323的会话状态信息发送给控制点设备310;其中,操作指示信息用于指示进行的会话及媒体流操作。
会话操作执行单元322中的执行单元322a,用于接收第一接口单元321发送的SIP请求消息,并根据该消息中的操作指示信息,构造INVITE请求,将该请求发送给第二接口单元322b;还用于根据第二接口单元322b接收的信息,完成会话及媒体流操作,并在完成操作后,将当前所参与会话的状态发送给会话状态收集单元323。
会话操作执行单元322中的第二接口单元322b,用于接收执行单元322a发送的INVITE请求,并将该请求发送给对端UA 330,并接收返回的响应消息转发给第二接口单元322b。
会话状态收集单元323,用于根据接收的会话的状态形成会话状态信息,并转发给第一接口单元321。
对端UA 330,用于接收被控制点设备320发送的INVITE请求,并根据该请求与被控制点设备320交互完成会话及媒体流操作。
由上述本实施例的方法、系统和设备的具体实施方式可以看出,控制点首先获取被控制点的会话状态信息,并以此为根据,确定要进行的远程操作,然后根据该远程操作形成操作指示信息发送给被控制点,使被控制点完成指定的会话及媒体流操作。与实施例一相同的是,在该操作指示信息中包括了具体的会话及媒体流操作指示,不仅能够远程控制被控制点的会话建立和更新操作,而且可以直接远程控制被控制点在会话操作过程中执行指定的媒体流操作,同时能够实现一次性控制多个会话操作。另外,比实施例一更进一步的是,本实施例所进行的远程操作是根据预先获得的被控制点的会话状态信息确定的,这样能够根据被控制点的实时会话状态,调整进行的远程控制操作,提高远程控制的合理性。
以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (27)
1. 一种实现远程媒体流控制的方法,其特征在于,该方法包括:
控制点向被控点发送携带有操作指示信息的SIP请求消息,远程指示被控制点需要执行的会话操作和/或媒体流操作;
被控制点接收到所述SIP请求消息后,根据所述操作指示信息,执行相应的会话操作和/或媒体流操作。
2. 根据权利要求1所述的方法,其特征在于,所述控制点向被控点发送携带有操作指示信息的SIP请求消息的步骤包括:
控制点根据控制的各个会话及会话操作类型,生成操作指示信息中的会话指示信息;
控制点根据要控制的各个会话中的媒体流操作,生成与各个会话指示信息对应的媒体流指示信息和操作符。
3. 根据权利要求2所述的方法,其特征在于,所述被控点根据操作指示信息,执行相应的会话及媒体流操作的步骤包括:
被控制点从接收的SIP请求中提取所述操作指示信息,根据其中的会话指示信息确定要进行的会话操作类型及该会话的对端UA;
根据所述会话操作类型和所述操作指示信息,确定所操作的会话及媒体流,以及对各个媒体流的操作,并与所述对端UA交互完成相应的会话及媒体流操作。
4. 根据权利要求3所述的方法,其特征在于,
控制点指示被控制点进行会话建立操作,在所述会话指示信息中携带对端用户代理UA标识,用于指示被控制点建立会话的对端UA;所述被控制点根据对端UA标识确定进行会话建立操作;和/或,
控制点指示被控制点进行会话更新操作,在所述会话指示信息中携带会话标识,用于指示被控制点更新的会话;所述被控制点根据会话指示信息确定要进行会话更新操作及该更新会话的对端UA;和/或,
控制点指示被控制点自行决定会话对应的媒体流操作、或指示会话操作不包含媒体流操作时,所述媒体流指示信息和操作符为空;和/或,
控制点指示被控制点对指定的媒体流进行增加操作,在所述媒体流指示信息中携带指定媒体流的媒体流标识、媒体流的类型或模式属性中的一种或任意组合,在所述操作符中携带媒体流增加操作的标识;所述被控制点与对应会话指示信息所标识会话的对端UA交互,在对应的会话指示信息标识的会话中增加所述媒体流指示信息标识的媒体流;和/或,
控制点指示被控制点对指定的媒体流进行删除操作,在所述媒体流指示信息中携带指定媒体流的媒体流标识、媒体流的类型或模式属性中的一种或任意组合,在所述操作符中携带媒体流删除操作的标识;所述被控制点与对应会话指示信息所标识会话的对端UA交互,在对应的会话指示信息标识的会话中删除所述媒体流指示信息标识的媒体流;和/或,
控制点指示被控制点对指定的媒体流进行更新操作,在所述媒体流指示信息中携带指定媒体流的媒体流标识、媒体流的类型或模式属性中的一种或任意组合,在所述操作符中携带媒体流更新操作的标识;所述被控制点与对应会话指示信息所标识会话的对端UA交互,在对应的会话指示信息标识的会话中更新所述媒体流指示信息标识的媒体流;和/或,
控制点指示被控制点执行媒体流切换操作,在所述媒体流指示信息中携带源媒体流标识,在所述操作符中携带媒体流切换操作的标识,且在所述操作指示信息中携带源会话标识;所述被控制点与对应会话指示信息所标识会话的对端UA交互,在对应的会话指示信息标识的会话中增加指定会话中的指定媒体流;根据所述操作指示信息中携带的源会话标识确定源会话对应的对端UA,并与该对端UA交互,在指定会话中删除指定媒体流;和/或,
控制点指示被控制点执行媒体流复制操作,在所述媒体流指示信息中携带源媒体流标识,在所述操作符中携带媒体流复制操作的标识,且在所述操作指示信息中携带源会话标识;所述被控制点与对应会话指示信息所标识会话的对端UA交互,在对应的会话指示信息标识的会话中增加指定会话中的指定媒体流;和/或,
控制点指示被控制点执行媒体流对端切换操作,在所述媒体流指示信息中携带源媒体流标识,在所述操作符中携带媒体流对端切换操作的标识,且在所述操作指示信息中携带源会话标识;所述被控制点与对应会话指示信息所标识会话的对端UA交互,在对应的会话指示信息标识的会话中增加指定会话中的指定媒体流,并将源会话标识和源媒体流标识发送给所述对端UA;和/或,
控制点指示被控制点执行媒体流对端复制操作,在所述媒体流指示信息、操作符中分别携带源媒体流标识和媒体流对端复制操作的标识,且在所述操作指示信息中携带源会话标识;所述被控制点与对应会话指示信息所标识会话的对端UA交互,在对应的会话指示信息标识的会话中增加指定会话中的指定媒体流;
所述指定会话为所述源会话标识所指定的会话,所述指定媒体流为所述源媒体流标识所指定的媒体流。
5. 根据权利要求4所述的方法,其特征在于,当控制点指示被控制点执行媒体流切换操作时,在所述操作指示信息中进一步携带切换失败指示;被控制点根据操作指示信息中的切换失败指示,确定在媒体流切换失败后是否在所述指定会话中保留所述指定媒体流;和/或,
当控制点指示被控制点执行媒体流对端切换操作时,在所述操作指示信息中进一步携带切换失败指示;被控制点将所述切换失败指示发送给对应会话指示信息所标识会话的对端UA。
6. 根据权利要求1所述的方法,其特征在于,当所述操作指示信息中包括对多个会话的操作指示时,在所述操作指示信息中进一步携带:用于表示多个会话间关系的关联指示;
在所述被控制点接收SIP请求消息后进一步包括:根据所述关联指示判断是否把各个会话指示信息所代表的会话视为一个逻辑会话。
7. 根据权利要求1所述的方法,其特征在于,在所述操作指示信息中进一步包括原因信息,用于携带媒体流控制的文字表述信息。
8. 根据权利要求1所述的方法,其特征在于,在控制点向被控点发送携带有操作指示信息的SIP请求消息前,该方法进一步包括:控制点获取被控制点的会话状态信息,并根据所述会话状态信息确定进行的远程控制操作。
9. 根据权利要求8所述的方法,其特征在于,所述控制点获取被控制点的会话状态信息的方法为:
控制点向被控制点发送获取会话状态信息的请求消息,被控制点接收到所述请求消息后,将会话状态信息发送给控制点。
10. 根据权利要求9所述的方法,其特征在于,所述控制点获取被控制点的会话状态信息的方法具体为:控制点向被控制点发送订阅SUBSCRIBE请求,订阅被控制点的会话状态信息;
被控制点收到该SUBSCRIBE请求,为控制点创建订阅,并将会话状态信息携带在通知NOTIFY请求中发送给控制点;
在执行完所述执行相应的会话及媒体流操作后,该方法进一步包括:当会话状态信息的订阅处于激活状态时,控制点向被控制点返回NOTIFY请求,并携带被控制点当前的会话状态信息。
11. 根据权利要求9所述的方法,其特征在于,所述获取会话状态信息的请求消息为HTTP POST请求;
被控制点将携带会话状态信息的HTTP 200 OK响应发送给控制点。
12. 根据权利要求1所述的方法,其特征在于,SIP请求消息携带所述操作指示信息的方式为:在所述SIP请求消息的消息体中携带记录操作指示信息的文档;或者,在所述SIP请求消息的头域中扩展字段携带操作指示信息。
13. 根据权利要求12所述的方法,其特征在于,所述记录操作指示信息的文档描述语言为XML语言、文本语言或二进制语言。
14. 根据权利要求1所述的方法,其特征在于,当所述SIP请求消息为SIPREFER时,控制点可将Refer-Sub头域的值设置为“false”,取消隐式订阅的机制;
或者,控制点通过在所述SIP REFER请求中的事件携带预设的会话事件标签,订阅被控制点所参与会话状态的会话状态信息;
或者,控制点通过在所述SIP REFER请求中携带预设的多重引荐事件标签,订阅引荐的状态和结果,所述引荐的状态和结果包括REFER请求中指示的每个会话操作的执行状态。
15. 根据权利要求14所述的方法,其特征在于,
当控制点订阅被控制点所参与会话状态的会话状态信息时,在执行完所述执行相应的会话及媒体流操作后,该方法进一步包括:被控制点向控制点发送携带被控制点当前会话状态信息的NOTIFY请求;
当控制点订阅引荐的状态和结果时,在执行完所述执行相应的会话及媒体流操作后,该方法进一步包括:被控制点向控制点发送携带引荐状态和结果的NOTIFY请求。
16. 根据权利要求8或14所述的方法,其特征在于,所述会话状态信息通过XML语言、SDP语言、二进制语言和文本语言描述中的一种或任意组合描述;
所述会话状态信息包括对端UA标识、会话标识和标识会话中包含媒体流相关信息的媒体流状态信息;
所述媒体流状态信息包括媒体流标识、媒体流的类型和模式属性。
17. 一种实现远程媒体流控制的通信系统,包括控制点设备和被控制点设备,其特征在于,
所述控制点设备,用于向所述被控制点设备发送预设的携带操作指示信息的SIP请求消息,指示所述被控制点设备执行需要的会话及媒体流操作;所述操作指示信息用于指示进行的会话及媒体流操作;
所述被控制点设备,用于接收所述控制点设备发送的所述SIP请求消息,并根据该SIP请求消息中携带的操作指示信息,执行相应的会话及媒体流操作。
18. 根据权利要求17所述的系统,其特征在于,该控制点设备包括:远程控制单元和接口单元,
所述远程控制单元,用于根据需要,形成操作指示信息及预设的携带该操作指示信息的SIP请求消息,并将该SIP请求消息发送给所述接口单元;所述操作指示信息用于指示进行的会话及媒体流操作;
所述接口单元,用于将所述远程控制单元发送的SIP请求消息转发给系统中的被控制点设备。
19. 根据权利要求18所述的系统,其特征在于,该控制点设备进一步包括会话状态信息获取单元,用于获取系统中被控制点的会话状态信息,并发送给所述远程控制单元;
所述远程控制单元,进一步用于根据接收的会话状态信息,形成操作指示信息。
20. 根据权利要求17所述的系统,其特征在于,该被控制点设备包括:第一接口单元和会话操作执行单元,
所述第一接口单元,用于接收系统中控制点设备发送的携带操作指示信息的SIP请求消息,并将该请求消息发送给所述会话操作执行单元;所述操作指示信息用于指示进行的会话及媒体流操作;
所述会话操作执行单元,用于根据所述第一接口单元接收的SIP请求消息中的操作指示信息,执行相应的会话及媒体流操作。
21. 根据权利要求20所述的系统,其特征在于,所述会话操作执行单元包括执行单元和第二接口单元,
所述执行单元,用于接收所述第一接口单元发送的SIP请求消息,并根据该消息中的操作指示信息,构造INVITE请求,并将该请求发送给所述第二接口单元;还用于根据所述第二接口单元接收的信息,完成会话及媒体流操作;
所述第二接口单元,用于接收所述执行单元发送的INVITE请求,并将该请求发送出去,并接收返回的响应消息转发给所述第二接口单元。
22. 根据权利要求17到21中任意一项所述的系统,其特征在于,该被控制点设备进一步包括会话状态信息收集单元,
所述会话操作执行单元,用于在执行完相应的会话及媒体流操作后,进一步将当前所参与会话的状态发送给所述会话状态收集单元;
所述会话状态收集单元,用于根据接收的所述会话的状态形成会话状态信息,并转发给所述第一接口单元;
所述第一接口单元,用于将所述会话状态信息发送给系统中的控制点设备。
23. 一种通信系统中的控制点设备,其特征在于,该控制点设备包括:远程控制单元和接口单元,
所述远程控制单元,用于根据需要,形成操作指示信息及预设的携带该操作指示信息的SIP请求消息,并将该SIP请求消息发送给所述接口单元;所述操作指示信息用于指示进行的会话及媒体流操作;
所述接口单元,用于将所述远程控制单元发送的SIP请求消息转发给系统中的被控制点设备。
24. 根据权利要求23所述的控制点设备,其特征在于,该控制点设备进一步包括会话状态信息获取单元,用于获取系统中被控制点的会话状态信息,并发送给所述远程控制单元;
所述远程控制单元,进一步用于根据接收的会话状态信息,形成操作指示信息。
25. 一种通信系统中的被控制点设备,其特征在于,该被控制点设备包括:第一接口单元和会话操作执行单元,
所述第一接口单元,用于接收系统中控制点设备发送的携带操作指示信息的SIP请求消息,并将该请求消息发送给所述会话操作执行单元;所述操作指示信息用于指示进行的会话及媒体流操作;
所述会话操作执行单元,用于根据所述第一接口单元接收的SIP请求消息中的操作指示信息,执行相应的会话及媒体流操作。
26. 根据权利要求25所述的被控制点设备,其特征在于,所述会话操作执行单元包括执行单元和第二接口单元,
所述执行单元,用于接收所述第一接口单元发送的SIP请求消息,并根据该消息中的操作指示信息,构造INVITE请求,并将该请求发送给所述第二接口单元;还用于根据所述第二接口单元接收的信息,完成会话及媒体流操作;
所述第二接口单元,用于接收所述执行单元发送的INVITE请求,并将该请求发送出去,并接收返回的响应消息转发给所述第二接口单元。
27. 根据权利要求25或26所述的被控点设备,其特征在于,该被控点设备进一步包括会话状态信息收集单元,
所述会话操作执行单元,用于在执行完相应的会话及媒体流操作后,进一步将当前所参与会话的状态发送给所述会话状态收集单元;
所述会话状态收集单元,用于根据接收的所述会话的状态形成会话状态信息,并转发给所述第一接口单元;
所述第一接口单元,用于将所述会话状态信息发送给系统中的控制点设备。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710006883.7A CN101237389B (zh) | 2007-02-02 | 2007-02-02 | 一种实现远程媒体流控制的方法、通信系统和设备 |
PCT/CN2008/070199 WO2008095436A1 (fr) | 2007-02-02 | 2008-01-28 | Procédé, système et dispositif de télécommunication pour commander à distance un flux multimédia |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710006883.7A CN101237389B (zh) | 2007-02-02 | 2007-02-02 | 一种实现远程媒体流控制的方法、通信系统和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101237389A true CN101237389A (zh) | 2008-08-06 |
CN101237389B CN101237389B (zh) | 2011-11-09 |
Family
ID=39681279
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710006883.7A Expired - Fee Related CN101237389B (zh) | 2007-02-02 | 2007-02-02 | 一种实现远程媒体流控制的方法、通信系统和设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101237389B (zh) |
WO (1) | WO2008095436A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010015208A1 (en) * | 2008-08-06 | 2010-02-11 | Huawei Technologies Co., Ltd. | Method and system for session controlling |
CN102568263A (zh) * | 2011-12-22 | 2012-07-11 | 北京工业大学 | 一种基于sip信令的远程多媒体互动式教学系统 |
CN102833254A (zh) * | 2012-08-29 | 2012-12-19 | 中兴通讯股份有限公司 | 一种sip网络中控制服务的实现方法、系统和设备 |
CN104065656A (zh) * | 2014-06-24 | 2014-09-24 | 浙江宇视科技有限公司 | 一种媒体流数据识别方法 |
WO2014169599A1 (zh) * | 2013-04-16 | 2014-10-23 | 华为技术有限公司 | 一种媒体流的传输带宽的调整方法及相关装置 |
CN105376325A (zh) * | 2015-12-07 | 2016-03-02 | 青岛农业大学 | 获取http消息状态的方法、设备与系统 |
CN109246449A (zh) * | 2017-07-11 | 2019-01-18 | 中国移动通信集团重庆有限公司 | 视频流分发方法、装置、设备及计算机存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7227865B2 (en) * | 2001-08-16 | 2007-06-05 | Interdigital Technology Corporation | Utilizing session initiation protocol for identifying user equipment resource reservation setup protocol capabilities |
JP2005518727A (ja) * | 2002-02-21 | 2005-06-23 | 富士通株式会社 | プログラムガイドに従ってインターネットコンテンツを取得する方法およびシステム |
US20050190772A1 (en) * | 2004-02-26 | 2005-09-01 | Shang-Chih Tsai | Method of triggering application service using filter criteria and IP multimedia subsystem using the same |
US7626950B2 (en) * | 2004-08-18 | 2009-12-01 | At&T Intellectual Property, I,L.P. | SIP-based session control among a plurality of multimedia devices |
KR100606800B1 (ko) * | 2005-03-15 | 2006-08-01 | 엘지전자 주식회사 | 이동통신 단말기의 멀티미디어 스트리밍 서비스 제공방법및 스트리밍 서비스 시스템 |
CN100531216C (zh) * | 2006-03-14 | 2009-08-19 | 华为技术有限公司 | 媒体资源的控制方法及装置 |
-
2007
- 2007-02-02 CN CN200710006883.7A patent/CN101237389B/zh not_active Expired - Fee Related
-
2008
- 2008-01-28 WO PCT/CN2008/070199 patent/WO2008095436A1/zh active Application Filing
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9294111B2 (en) | 2008-08-06 | 2016-03-22 | Futurewei Technologies, Inc. | Remote media IMS sessions |
WO2010015208A1 (en) * | 2008-08-06 | 2010-02-11 | Huawei Technologies Co., Ltd. | Method and system for session controlling |
US8370500B2 (en) | 2008-08-06 | 2013-02-05 | Futurewei Technologies, Inc. | Remote session control |
CN102568263A (zh) * | 2011-12-22 | 2012-07-11 | 北京工业大学 | 一种基于sip信令的远程多媒体互动式教学系统 |
CN102833254B (zh) * | 2012-08-29 | 2016-03-30 | 中兴通讯股份有限公司 | 一种sip网络中控制服务的实现方法、系统和设备 |
WO2014032605A1 (zh) * | 2012-08-29 | 2014-03-06 | 中兴通讯股份有限公司 | 一种sip网络中控制服务的实现方法、系统和设备 |
CN102833254A (zh) * | 2012-08-29 | 2012-12-19 | 中兴通讯股份有限公司 | 一种sip网络中控制服务的实现方法、系统和设备 |
WO2014169599A1 (zh) * | 2013-04-16 | 2014-10-23 | 华为技术有限公司 | 一种媒体流的传输带宽的调整方法及相关装置 |
US10050882B2 (en) | 2013-04-16 | 2018-08-14 | Huawei Technologies Co., Ltd. | Method for adjusting media stream transmission bandwidth and related apparatus |
CN104065656A (zh) * | 2014-06-24 | 2014-09-24 | 浙江宇视科技有限公司 | 一种媒体流数据识别方法 |
CN104065656B (zh) * | 2014-06-24 | 2017-07-14 | 浙江宇视科技有限公司 | 一种媒体流数据识别方法 |
CN105376325A (zh) * | 2015-12-07 | 2016-03-02 | 青岛农业大学 | 获取http消息状态的方法、设备与系统 |
CN109246449A (zh) * | 2017-07-11 | 2019-01-18 | 中国移动通信集团重庆有限公司 | 视频流分发方法、装置、设备及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2008095436A1 (fr) | 2008-08-14 |
CN101237389B (zh) | 2011-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101427513B (zh) | 第三方会话修改 | |
CN101237389B (zh) | 一种实现远程媒体流控制的方法、通信系统和设备 | |
CN101232465B (zh) | 会议系统中传送文件的方法、文件传送系统及会议服务器 | |
US7624188B2 (en) | Apparatus and method to provide conference data sharing between user agent conference participants | |
JP5749375B2 (ja) | マルチメディアセッションのためのマルチユーザリアルタイムトランスコーディングシステムおよび方法 | |
EP2342883B1 (en) | File transfer in conference services | |
CN101420375B (zh) | 通信网络中的共享内容流的分配 | |
KR20050083746A (ko) | 회의 제어 중 회원 관리를 위한 사이드 채널 | |
CN1984135A (zh) | 一种进行会话能力信息操作的方法及网络实体 | |
KR20100061406A (ko) | 통합 메시지 서비스에서 인터워킹을 위한 세션 제어 방법과 장치 및 시스템 | |
CN101471806A (zh) | 子会议实现方法、私密会议实现方法、装置和终端设备 | |
CN101160798B (zh) | 一种实现应用业务的方法、系统及实体 | |
CN102761550B (zh) | 实现流媒体服务的方法、装置及系统 | |
CN101834730A (zh) | 一种多媒体会议控制方法和系统 | |
US8885010B2 (en) | Multipoint conference method that does not use a server | |
CN101005402B (zh) | Sip用户代理业务切换的信息上报方法 | |
CN101635976A (zh) | 通过第三方设备进行呼叫建立和控制 | |
CN101453349A (zh) | 一种处理实时流媒体协议的方法及系统 | |
CN101369906A (zh) | 一种会议业务实现方法及设备 | |
CN101005502B (zh) | 业务脚本获取、控制方法及其控制系统和媒体资源服务器 | |
CN1933476B (zh) | 基于会话发起协议的订阅方法 | |
CN101483532B (zh) | 一种媒体流复制的方法、系统及设备 | |
CN101459572B (zh) | 一种在ip分组网中实现关联媒体流的方法及装置 | |
Rosenberg | A Framework for Application Interaction in the Session Initiation Protocol (SIP) | |
WO2015131466A1 (zh) | 基于会话初始协议sip的数据业务处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111109 Termination date: 20130202 |