视频监控会话方法

文档序号:7595858阅读:676来源:国知局
专利名称:视频监控会话方法
技术领域
本发明涉及视频监控的技术领域,具体说是一种在头端设备和监控客户端之间进 行流媒体传输的视频监控会话方法。
背景技术
视频监控会话协议(VideoSurveillance Session Protocol,简称 VSSP,下同)是 用于视频监控领域的信令控制协议。通过以下3个方面来支持视频通信的创建、修改和结 束媒体能力,信令可携带视频监控会话的媒体描述信息(Session Media Description,简 称SMD,下同),确定视频监控头端设备的媒体能力,包括通道信息和媒体参数等;会话创建, 在视频监控客户端(主叫)和视频监控设备(被叫)之间创建视频监控会话;会话管理,包括 视频监控会话的转接、会话终止和会话参数的修改。视频监控会话协议是一种二进制编码格式的协议,承载会话媒体描述(Session Media Description)。会话媒体描述是一种类似于会话描述协议Cession Description ftx)t0C0l,RFC4566)的二进制协议,提供媒体信息的描述。视频监控会话协议除了提供给基 本的会话控制功能以外,还提供了会话内的信令消息,用以提供心跳检测、参数配置、抓拍、 云台控制功能。视频监控会话方法是在视频监控会话协议基础之上,连接头端设备和监控客户 端,并对流媒体传输进行控制的方法。

发明内容
本发明要解决的技术问题是提供一种在头端设备和监控客户端之间进行流媒体 传输的视频监控会话方法。本发明为解决公知技术中存在的技术问题所采取的技术方案是
本发明的视频监控会话方法,其中监控客户端通过了设备访问的鉴权和认证,获取了 头端设备的访问号码、头端设备的信令IP地址和端口号,且监控客户端支持头端设备的音 视频媒体格式,当监控客户端发送消息时以用户代理客户端方式运行,头端设备接收消息 时以用户代理服务器端方式运行,包括以下步骤
(1)监控客户端发送会话邀请,即INVITE消息,监控客户端首先与头端设备建立一个 TCP连接,并在TCP连接上发送INVITE消息,发起会话邀请,监控客户端在INVITE消息中加 入会话媒体描述信息SMD,告知头端设备其自己的媒体能力,监控客户端发送INVITE消息 后,等待头端设备回复消息,确定是否成功接收INVITE消息;
(2)头端设备回复200响应,头端设备收到会话邀请后,提取监控客户端INVITE消息中 的设备通道号,将该通道的媒体能力填写到会话媒体描述SMD中,随200消息返回至监控客 户端;
(3)头端设备发送音频媒体流,监控客户端收到200消息相应后,提取会话媒体描述 SMD中的媒体能力信息,准备建立媒体连接,若监控客户端在INVITE消息中加入了会话媒体描述信息SMD,则监控客户端工作在媒体流监听模式,由头端设备从SMD中提取监控客户 端的媒体流监听地址和端口号并发起TCP媒体连接;否则头端设备会工作在媒体流监听模 式,监控客户端会从SMD中提取头端设备媒体通道的TCP监听地址和端口号,随即向该地址 和端口号上先后发起两个TCP媒体连接,以接收音视频媒体流;监控客户端在获取媒体流 前,会分别在音视频TCP连接上发送一个媒体流的请求消息,该请求消息携带了本次媒体 流的会话标识(Call-ID),头端设备收到该请求消息后,会通过会话标识将媒体流与本次会 话建立关联;
(4)监控客户端发送BYE消息终止会话,当监控客户端想结束本次会话时,可以发送 BYE消息,准备结束本次会话;
(5)头端设备回复BYE消息的200响应,头端设备收到监控客户端的BYE消息后,即可 准备结束本次会话,向监控客户端发送200响应后,头端设备可以清除本次会话的所有资 源,断开媒体TCP连接和信令TCP连接;客户端收到200响应后,清除本次会话的所有资源, 断开媒体TCP连接和信令TCP连接,若客户端发送BYE消息后,在一段时间内没有收到200 响应,则客户端应主动清除本次会话的所有资源。上述客户端接收BYE消息200响应的延迟时间为30秒。上述方法包括VSSP协议栈、会话管理和用户代理;VSSP协议基于TCP协议,在遇 到TCP拥塞的情况下,VSSP协议进行干涉,提供了定时器操作,用以结束会话,VSSP协议栈 又包括TCP层,负责协议的发送与接收;协议字段解析层,即Syntax层,负责协议包的解包 与打包;对话层,即Dialog层,负责信令控制逻辑,Dialog为信令实体,代表两个用户代理 进行会话时建立的信令关系;会话管理实体kssion是Dialog层的使用者,Dialog负责 Session的建立、状态改变与销毁;用户代理her Agent为逻辑实体,对上提供人机操作接 口,下层包装了会话管理kssion实体、对话Dialog实体和媒体流实体;一个Dialog由三 个关键元素构成,即呼叫标识Call-ID、主叫标识From、被叫标识To。在头端设备与多个监控客户端之间设置流媒体服务器,一个头端设备被多个监控 客户端所访问,流媒体服务器中包含多个群组会话,每个群组会话管理了多个监控客户端 的会话和一个头端设备会话。采用十进制12位即12字节的全局统一标识码,作为协议字段T0、Fr0m的取值,其 格式为类别号+设备号+通道号,其中类别号为1位,设备号采用8位数字,通道号采用3 位数字;
类别号的取值定义如下
有效值选取区间为W-9],类别号=9,代表一般的监控客户端,类别号=1,代表一般设 备;其它取值为非法标识,会产生400响应即语法错误,或404响应即号码不存在; 设备号的取值定义如下 有效值选取区间为

其它任何无效取值为非法标识,会产生400响应即语法错误,或404响应即号码不存
在;
通道号取值如下
有效值选取区间为
或[#*];
其它任何无效取值为非法标识,会产生400响应即语法错误,或404响应即号码不存在。头端设备连接流媒体服务器时,流媒体服务器工作在监听模式,头端设备工作在 主动连接模式,头端设备与流媒体服务器之间的连接步骤为
(1)头端设备发起INVITE会话请求,头端设备会将自己的媒体能力通过SMD发送至流 媒体服务器,流媒体服务器收到SMD后会预先分配媒体流资源,以在媒体流到来后能够立 即进行媒体处理;
(2)流媒体服务器回复200消息响应,流媒体服务器会在回复的SMD中加入监听每一个 通道每一个媒体流的监听IP地址和端口号,媒体流请求由头端设备发起;
(3)头端设备依次发起通道000的音频和视频的媒体流请求,对于TCP连接,头端设备 可以在媒体流的第一个帧中加入会话媒体流会话关联信息,这里应使用Call-ID作为媒体 流与会话的关联键;
(4)头端设备依次发起通道001的音频和视频的媒体流请求。监控客户端连接流媒体服务器时,流媒体服务器工作在监听模式,流媒体服务器 与监控客户端之间的连接步骤为
(1)监控客户端向流媒体服务器发起INVITE请求,流媒体服务器收到INVITE请求后会 根据被叫号码,即头端设备+通道号,寻找相关的群组会话,找到头端设备所属的群组会话 后,建立与监控客户端的会话,并将该会话加入该群组会话中;
(2)流媒体服务器回复200消息响应;
(3)会话建立后由监控客户端向流媒体服务器发起音视频媒体流的TCP连接,TCP连接 建立后,监控客户端会发送一个媒体流请求头,流媒体服务器收到该请求头后,会建立媒体 流与会话的关联关系,并转发相应的头端设备通道的音视频媒体流。通过流媒体服务器向头端设备发送REINVITE消息改变媒体属性,头端设备与流 媒体服务器建立会话连接后,若此时没有监控客户端或者录像设备访问流媒体服务器获取 该设备的媒体转发流,则可以将头端设备的媒体流发送暂停,在REINVITE消息的SMD会话 媒体描述中,可以将IP地址设定为“0. 0. 0. 0”,则头端设备将停止向该地址发送媒体流,但 会话并不拆除,恢复媒体流发送时,只需再次通过发送REINVITE消息,将SMD中的IP地址 恢复为初始有效值。监控客户端与头端设备之间的MESSAGE消息通过流媒体服务器转发,流媒体服务 器以代理方式转发MESSAGE消息,MESSAGE消息的发送是独立于任何一个会话的,MESSAGE 消息本身也不会引起一个新的VSSP会话的创建,MESSAGE消息的发送采用独立的Call-ID, 不与任何会话关联,每个新的MESSAGE消息采用新的Call-ID,200消息响应使用MESSAGE 请求的Call-ID,以下是流媒体服务器代理模式下的MESSAGE消息通话过程
(1)监控客户端发起一个新的MESSAGE消息,在监控客户端和流媒体服务器间会创建 一个新的TCP连接,MESSAGE消息可以携带消息体Body,消息体的内容可以是文本内容也可 以是任何自定义格式的2进制内容;
(2)流媒体服务器收到MESSAGE消息后,根据TO字段的头端设备被叫号码,向该头端设 备转发MESSAGE消息,流媒体服务器会向头端设备发起一个新的TCP连接转发MESSAGE消 息,同时将该去话TCP连接与之前的来话TCP连接建立关联,该MESSAGE消息的Call-ID与 收到的MESSAGE消息的Call-ID相同;(3)头端设备收到MESSAGE消息后,回复200消息响应,200消息响应不携带消息体 Body ;
(4)流媒体服务器转发200消息相到主叫监控客户端,主叫监控客户端收到200消 息后结束本次即时消息通话,关闭TCP连接,或者保持此TCP连接,用于发送和接收新的 MESSAGE 消息;
(5)头端设备在之前创建的TCP连接上向监控客户端发起了一个新的MESSAGE消息,此 时被叫号码为监控客户端的会话ID号码,MESSAGE消息采用一个新的Call-ID ;
(6)流媒体服务器根据监控客户端被叫号码,通过连接管理机制,找到之前对应的监控 客户端创建的TCP连接,将该MESSAGE消息转发至监控客户端;
(7)监控客户端收到MESSAGE消息后,回复200消息响应,当监控客户端认为可以结束 本次即时消息通话,即关闭该TCP连接;
(8)流媒体服务器转发200消息响应,当发现监控客户端的TCP连接关闭后,随即关闭 与头端设备的TCP连接。监控客户端与头端设备之间的MESSAGE消息通过流媒体服务器转发,流媒体服务 器以网关转发模式转发MESSAGE消息,流媒体服务器收到主叫的MESSAGE消息后,立即回复 200响应,然后拷贝MESSAGE消息内容和消息类型,复制到一个新的MESSAGE消息发送到被 叫,以下是流媒体服务器网关转发模式下的MESSAGE消息通话过程
(1)监控客户端发起一个新的MESSAGE消息,在监控客户端和流媒体服务器间会创建 一个新的TCP连接,MESSAGE消息可以携带消息体Body,消息体的内容为文本内容或其他二 进制内容;
(2)流媒体服务器收到MESSAGE消息后,立即向监控客户端回复200响应;
(3)流媒体服务器根据TO字段的头端设备被叫号码,向该头端设备转发一个新的 MESSAGE消息,流媒体服务器会将监控客户端发送的MESSAGE消息体内容Body及其它字段 参数值复制到新的MESSAGE中,且在新的MESSAGE消息中使用一个新的Call-ID,流媒体服 务器会向头端设备发起一个新的TCP连接转发MESSAGE消息,同时将该去话TCP连接与之 前的来话TCP连接建立关联;
(4)头端设备收到MESSAGE消息后,回复200消息相应,200消息相应不能携带消息体 Body ;
(5)头端设备在之前创建的TCP连接上向监控客户端发起了一个新的MESSAGE消息,此 时被叫号码为监控客户端的会话ID号码,MESSAGE消息采用一个新的Call-ID ;
(6)流媒体服务器收到MESSAGE消息后,立即向头端设备回复200响应;
(7)流媒体服务器根据监控客户端被叫号码,通过连接管理机制,找到之前对应的监控 客户端创建的TCP连接,将该MESSAGE消息复制到一个新的MESSAGE消息中转发至监控客 户端,流媒体服务器会在MESSAGE消息中使用一个新的Call-ID ;
(8)监控客户端收到MESSAGE消息后,回复200响应,至此,监控客户端结束本次即时消 息通话,即可关闭该TCP连接,流媒体服务器发现监控客户端的TCP连接关闭后,也随即关 闭与头端设备的TCP连接。流媒体服务器始终处于监听状态,头端设备预先创建一个MESSAGE通信连接,该 MESSAGE消息并不被转发,只起TCP通信链路建立的作用,流媒体服务器会记录该MESSAGE的消息体类型,发往该头端设备的所有此类型的MESSAGE消息全部从此TCP连接进行转发, MESSAGE消息通话过程为
(1)头端设备首先向流媒体服务器发送MESSAGE消息,消息体类型为1,表示来自监控 客户端的向该头端设备发起的所有MESSAGE消息,只要消息体类型为1,则MESSAGE消息将 被转发至该头端设备,头端设备会周期性发送MESSAGE消息,以检测通信链路的是否正常 连接,如果链路因故障终端连接,则头端设备会周期性主动发起新的该类型的MESSAGE消 息以重新建立连接;
(2)流媒体服务器收到MESSAGE消息后,立即向监控客户端回复200响应;
(3)流媒体服务器根据TO字段的头端设备被叫号码,向该头端设备转发一个新的 MESSAGE消息,流媒体服务器会将监控客户端发送的MESSAGE消息体内容Body及其它字段 参数值复制到新的MESSAGE中,且在新的MESSAGE消息中使用一个新的Call-ID,流媒体服 务器会向头端设备发起一个新的TCP连接转发MESSAGE消息,同时将该去话TCP连接与之 前的来话TCP连接建立关联;
(4)头端设备收到MESSAGE消息后,回复200消息相应,200消息相应不能携带消息体 Body ;
(5)头端设备在之前创建的TCP连接上向监控客户端发起了一个新的MESSAGE消息,此 时被叫号码为监控客户端的会话ID号码,MESSAGE消息采用一个新的Call-ID ;
(6)流媒体服务器收到MESSAGE消息后,立即向头端设备回复200响应;
(7)流媒体服务器根据监控客户端被叫号码,通过连接管理机制,找到之前对应的监控 客户端创建的TCP连接,将该MESSAGE消息复制到一个新的MESSAGE消息中转发至监控客 户端,流媒体服务器会在MESSAGE消息中使用一个新的Call-ID ;
(8)监控客户端收到MESSAGE消息后,回复200响应,监控客户端关闭此TCP通信连接, 流媒体服务器检测到此连接关闭后并不试图关闭与头端设备的连接,仅解除客户端TCP连 接与头端TCP连接的对应关系,并清除相关资源。本发明具有的优点和积极效果是
本发明的视频监控会话方法能够实现对头端设备与监控客户端直联时的控制,同时能 够实现多台监控客户端同时访问头端设备并采用流媒体服务器时的设备间的连接控制。本 发明的视频监控会话方法对应于具有功能逻辑独立、易于扩展的、具有高可伸缩性视频监 控平台架构,从而能够满足大规模高清网络视频监控应用的需求。


图1是本发明的视频监控会话方法的步骤示意图; 图2是视频监控会话协议的结构;
图3为两个用户代理建立点对点会话时的会话连接关系;
图4为通过流媒体服务器会话时的会话连接关系;
图5是本发明的视频监控会话方法中不同类型消息的对照表;
图6是本发明的视频监控会话方法中消息响应的对照表;
图7是本发明的视频监控会话方法中会话请求的编码格式;
图8为本发明的视频监控会话方法中头端设备与流媒体服务器建立会话的示意图;图9为本发明的视频监控会话方法中监控客户端与流媒体服务器建立会话的示意图; 图10是本发明的视频监控会话方法中流媒体服务器以代理模式转发MESSAGE消息的 示意图11是本发明的视频监控会话方法中流媒体服务器以网关转发模式转发MESSAGE消 息的示意图12是本发明的视频监控会话方法中流媒体服务器以网关转发模式转发MESSAGE消 息的另一种示意图13是本发明的视频监控会话方法中流媒体服务器与头端设备断开时的示意图; 图14是本发明的视频监控会话方法中流媒体服务器与监控客户端断开时的示意图。
具体实施例方式以下参照附图及实施例对本发明进行详细的说明。图1是本发明的视频监控会话方法的步骤示意图。如图1所示,本发明的视频监控会话方法,其中监控客户端通过了设备访问的鉴 权和认证,获取了头端设备的访问号码、头端设备的信令IP地址和端口号,且监控客户端 支持头端设备的音视频媒体格式,当监控客户端发送消息时以用户代理客户端方式运行, 头端设备接收消息时以用户代理服务器端方式运行,包括以下步骤
(1)监控客户端发送会话邀请,即INVITE消息,监控客户端首先与头端设备建立一个 TCP连接,并在TCP连接上发送INVITE消息,发起会话邀请,监控客户端在INVITE消息中加 入会话媒体描述信息SMD,告知头端设备其自己的媒体能力,监控客户端发送INVITE消息 后,等待头端设备回复消息,确定是否成功接收INVITE消息;
(2)头端设备回复200响应,头端设备收到会话邀请后,提取监控客户端INVITE消息中 的设备通道号,将该通道的媒体能力填写到会话媒体描述SMD中,随200消息返回至监控客 户端;
(3)头端设备发送音频媒体流,监控客户端收到200消息相应后,提取会话媒体描述 SMD中的媒体能力信息,准备建立媒体连接,若监控客户端在INVITE消息中加入了会话媒 体描述信息SMD,则监控客户端工作在媒体流监听模式,由头端设备从SMD中提取监控客户 端的媒体流监听地址和端口号并发起TCP媒体连接;否则头端设备会工作在媒体流监听模 式,监控客户端会从SMD中提取头端设备媒体通道的TCP监听地址和端口号,随即向该地址 和端口号上先后发起两个TCP媒体连接,以接收音视频媒体流;监控客户端在获取媒体流 前,会分别在音视频TCP连接上发送一个媒体流的请求消息,该请求消息携带了本次媒体 流的会话标识(Call-ID),头端设备收到该请求消息后,会通过会话标识将媒体流与本次会 话建立关联;
(4)监控客户端发送BYE消息终止会话,当监控客户端想结束本次会话时,可以发送 BYE消息,准备结束本次会话;
(5)头端设备回复BYE消息的200响应,头端设备收到监控客户端的BYE消息后,即可 准备结束本次会话,向监控客户端发送200响应后,头端设备可以清除本次会话的所有资 源,断开媒体TCP连接和信令TCP连接;客户端收到200响应后,清除本次会话的所有资源, 断开媒体TCP连接和信令TCP连接(TCP连接双向断开),若客户端发送BYE消息后,在一段时间内没有收到200响应,则客户端应主动清除本次会话的所有资源。上述客户端接收BYE消息200响应的延迟时间为30秒。图2是视频监控会话协议的结构。如图2所示,上述视频监控会话方法建立在视频监控会话协议的基础之上,视频 监控会话协议包括VSSP协议栈、会话管理和用户代理;VSSP协议基于TCP协议,在遇到 TCP拥塞的情况下,VSSP协议进行干涉,提供了定时器操作,用以结束会话,VSSP协议栈又 包括TCP层,负责协议的发送与接收;协议字段解析层,即Syntax层,负责协议包的解包 与打包;对话层,即Dialog层,负责信令控制逻辑,Dialog为信令实体,代表两个用户代理 进行会话时建立的信令关系;会话管理实体kssion是Dialog层的使用者,Dialog负责 kssion的建立、状态改变与销毁;用户代理her Agent为逻辑实体,对上提供人机操作接 口,下层包装了会话管理kssion实体、对话Dialog实体和媒体流实体。图3为两个用户 代理建立点对点会话时的会话连接关系。这里用户代理分别是头端设备和监控客户端。一 个Dialog由三个关键元素构成,即呼叫标识Call-ID、主叫标识From、被叫标识To。媒体流 也可以使用该呼叫标识Call-ID,用以建立媒体流和会话的关联关系。主、被叫可以用全局 唯一的标识码进行标识,比如电话号码、统一资源定位符(URI)等。图4为通过流媒体服务器会话时的会话连接关系,在头端设备与多个监控客户端 之间设置流媒体服务器,一个头端设备被多个监控客户端所访问,流媒体服务器中包含多 个群组会话,每个群组会话管理了多个监控客户端的会话和一个头端设备会话。采用十进制12位即12字节的全局统一标识码,作为协议字段T0、Fr0m的取值,其 格式为类别号+设备号+通道号,其中类别号为1位,设备号采用8位数字,通道号采用3 位数字;
类别号的取值定义如下
有效值选取区间为W-9],类别号=9,代表一般的监控客户端,类别号=1,代表一般设 备;其它取值为非法标识,会产生400响应即语法错误,或404响应即号码不存在; 设备号的取值定义如下 有效值选取区间为

其它任何无效取值为非法标识,会产生400响应即语法错误,或404响应即号码不存
在;
通道号取值如下
有效值选取区间为
或[***];
其它任何无效取值为非法标识,会产生400响应即语法错误,或404响应即号码不存在。图5是本发明的视频监控会话方法中不同类型消息的对照表。INVITE请求用于建立视频监控会话。在直连模式下,一般由监控客户端向头端设 备发起INVITE请求。在流媒体服务器转发模式下,一般由头端设备和监控客户端分别向流 媒体服务器发送会话请求,建立会话。这种情况下,协议实现时,一般建议考虑在头端设备 系统启动后,周期性自动向配置好的流媒体服务器发送INVITE请求,直到建立会话为止。 周期发送时间自行定义,这里建议的周期发送时间为60秒。INVITE请求可以携带1条或多 条SMD会话媒体描述,也可以不携带SMD会话描述。
当监控客户端发起INVITE请求时,SMD会话媒体描述会携带初次希望访问的1个 或多个头端设备通道号,1个通道号对应一条SMD会话媒体描述记录。如果被叫号码包含一 个有效的通道号号码,则SMD至多包含一条相对应的通道号的媒体描述,这种情况下也可 以不携带SMD会话媒体描述,被叫收到该消息后,会自动在返回消息中加入通道号得媒体 信息。如果INVITE请求携带多条SMD会话媒体描述,被叫号码的通道号号码应为“***”,即 不指明特定的通道号,通道号的访问控制由SMD会话媒体描述提供。头端设备在向流媒体服务器发送INVITE请求时,主被叫号码相同,其中通道号号 码为“***”,INVITE请求中会携带所有通道的SMD会话媒体描述,在本次会话中与流媒体服 务器建立所有通道的媒体连接。REINVITE请求用于在会话期间改变媒体属性。REINVITE请求一般由监控客户端 发起,必须携带SMD会话媒体描述。REINVITE请求可以用于实现呼叫保持功能,这时可以保留会话但不切断,停止媒 体流的发送。可以将监控客户端SMD媒体流接收的IP地址设定为“0. 0. 0. 0”,则在该媒体 连接上的媒体发送会停止,恢复为有效值后,头端设备会继续发送媒体流。如果监控客户端与头端设备或者流媒体服务器建立的会话中包含多个通道的媒 体流,REINVITE请求可以在会话期间增加或者切断某个通道的媒体流传输。这种情况下, 会话发起时的被叫号码中通道号码必须为“***”,否则会话期间不允许增加或者切断媒体 流操作。当通过REINVITE携带的会话媒体描述进行某个通道的媒体流的切断操作时,会话 中保有的媒体通道数不能少于1个,否则视为无效的媒体属性变更操作。建议协议实现时, 在监控客户端的用户输入规则上采取操作限制,比如当通道数剩为1时,删减操作按钮变 为灰色禁用状态。REINVITE请求的实现可以根据需要而定,并不作为必须的实现。如果不实现 REINVITE请求,则系统不支持呼叫保持功能,不支持在会话过程中改变通道媒体属性的功 能。BYE请求用于结束一个已建立的或者正在建立中的会话。发送BYE请求后,应停止 UPDATE或UPDATE的200消息响应发送,如果在60秒内未收到BYE请求的200消息响应,则 结束并销毁当前会话。UPDATE用于提供信令链路的心跳检测,在视频监控会话协议中UPDATE发送的时 间间隔为10秒。收到UPDATE消息的一方必须返回200消息响应。UPDATE消息属于会话内消息,UPDATE消息的发送在一个会话建立后由会话的主 叫方发出,应在会话建立的10秒后发送。如果发出UPDATE的主叫方在发送某个UPDATE消息的60秒内都没有收到200响 应,则认为与被叫方的通信链路发生故障,则定时器触发时,结束并销毁当前会话。如果接收UPDATE的被叫方在发送一个200响应的60秒内都没有收到UPDATE消 息,则认为与主叫方的通信链路发生故障,立即结束并销毁当前会话。本协议建议由头端设备向流媒体服务器发送UPDATE消息,由流媒体服务器向监 控客户端发送UPDATE消息。MESSAGE请求一般由监控客户端发出,以实现远程头端设备的参数配置、JPEG图 像抓拍和485云台控制协议的传输。
MESSAGE请求既可以用于会话内请求,也可以用于会话外请求(独立于某个会话存 在)。MESSAGE请求可以携带文本或者二进制媒体流。MESSAGE请求的200响应不能携带媒 体流。当MESSAGE请求位于会话内时,如果没有收到200消息相应,系统不需要重新发送 MESSAGE请求,也不应切断当前会话。是否继续发送新的MESSAGE请求由操作人员确定。图6是本发明的视频监控会话方法中消息响应的对照表。如图6,200消息响应,请求成功。所有成功的会话请求都应回复200消息响应。当 监控客户端与流媒体服务器建立会话连接时,收到来自流媒体服务器的INVITE消息的200 消息响应,该消息可以携带会话媒体描述(SMD),提供被叫头端设备的媒体描述能力。消息响应,请求消息语法错误。,此消息虽然能够被识别,但是仍旧被拒绝。,被叫 不存在。可能的原因是被叫号码没有被定义,或者已经作废删除,或者没有连接流媒体服务 器。,当发送一个kssion内请求,如REINVITE、MESSAGE、UPDATE或者BYE时,请求携带的 Call-ID无法与会话匹配,则返回此消息响应。,流媒体服务器遇到内部错误,无法处理该消 息。主叫端可以在若干秒后重新尝试连接。,服务器不支持请求的方法。,流媒体服务器过载 时返回此消息响应。,流媒体服务器不支持请求中所用的VSSP协议版本。,由于媒体能力不 匹配,返回此消息响应。图7是本发明的视频监控会话方法中会话请求的编码格式。请求分三个部分,信令部分、SMD会话媒体描述、消息体(Message Body)。信令和 每个SMD的长度固定,消息体长度不定,可以在信令部分的BodyLength字段设定或读取消 息体的长度。信令部分总长度108字节,各字段的意义如下
(1)32位协议标识头,取值为“0xFF50FF50”。(2) 2字节版本号(Version),版本号分为3个部分,表示为字符串时可以是 “1. 12”,分为主版本号,次版本号1,取值分别为十进制(Γ99,各占8位,由高到低分别主版 本号、次版本号1。(3)请求(Request)类型,16位整数值。(4)序列号(Ckq),消息序列号,第一个会话请求的CSeq为0,会话建立后主被叫 所有的每个请求CSeq加1。(5)被叫号码(To),12字节字符串。(6)主叫号码(From),12字节字符串。(7 )会话标识(Cal I-ID),36字节字符串,Linux下可以取值为UUID,Windows下可 以取值为GUID。会话标识由主叫方在发起第一个会话请求时创建。所有后续的%8^011内 请求和响应都需要引用该值,媒体流帧头应加入该标识,以建立会话关联。(8)用户名(USerName),12字节字符串。该值可以不使用,在后续协议扩展时,引 入注册功能时使用。(9)用户密码(Password),12字节字符串。该值可以不使用,在后续协议扩展时, 引入注册功能时使用。(10)会话媒体描述标识字(HasSMD),32位整型值,为1时标识消息带有SMD描述, 为0表示不带有SMD描述。(11)会话描述个数(SMDCoimt),16位整型值,会话描述的个数。协议解析时,依据是否带有会话描述和会话描述的个数可以获取每个定长会话描述内容起始位置。(12)消息体类型(BodyType),16位整型值,取值为1时,消息体类型为抓拍数据; 取值为2时,消息体类型为参数配置数据;取值为3时,消息体类型为485云台控制数据。 其它取值类型,自行定义;取值为0时,无消息体数据,并且消息体长度也为0。(13)消息体长度(BodyLength),32位整型值,消息体的长度,为0时不带消息体。会话描述部分48字节,各字段意义如下。(1)通道号(Channel)。16位整型值,代表头端设备的通道号。缺省的,通道号最 高位为0,表示默认的媒体描述是新追加的。如果通道号最高位1,即数值为负的通道号,表 示取消该通道该SMD的媒体连接,这种方式一般用于通过REINVITE消息修改会话媒体属性 的情况。(2)媒体类型(MediaType)。16位整型值,为1时代表音品,为2时代表视频。(3) IP地址类型(IPType)。32位整型值,为1时代表IP V4,为2时代表IP V6。(4)IP地址。16字节十六进制值。如果IP地址类型为IP V4,则使用前4字节取 值,IP地址每个部分分别占8位长度。如IP地址172. 28. 1. 32,对应的16进制值分别为 八(、1(、01、20,对应的16进制整型值为0仏(10)120。剩余的12字节IP地址值取0。如果 IP地址类型为IP V6,则IPType字段后的16字节为IP V6地址,取值方式同IP V4。(5)端口号(Port)。32位整型值。如果媒体端口不采用监听方式,一般不使用该 值。(6)载荷类型(Payload)。32位整型值。常见I^ayload类型见附录A 表A-1。(7)媒体流方向(MediaDirection)。32位整型值。取值为1时代表在该连接上只 接收媒体流,取值为2时代表在该连接上只发送媒体流,取值为3时代表在该连接上即可接 收也可发送媒体流。(8 13)媒体属性。2字节属性值,可以自定义取值。消息体部分的内容可以自定义,在这里不作描述。UPDATE、REINFVITE、MESSAGE请 求可以携带消息体。在本实施例中仅说明视频监控会话的建立、修改和结束过程。所提供的部分实例 仅作为一种可能的通信实现方式,并不代表唯一的实现方式。实例中显示的数值皆为主机
字节序。所提供实例中各实体满足如下的配置条件 头端设备
IP 地址192. 168. 1. 10
通道数3
会话号码123787823000 123787823001、123787823*** 音频类型PCMU类型值0,采样率8000,声道数1,量化编码位数8 视频类型H. 264类型值98,宽度1920,高度1080 流媒体服务器
上行流IP地址:192. 168. 1. 50 上行流信令监听端口号3000 上行流媒体监听端口号3001下行流IP地址:192. 168. 1. 51 下行流监听端口号3000 下行流媒体监听端口号3001 监控客户端
IP 地址192. 168. 1. 139 会话号码918918311000。图8为本发明的视频监控会话方法中头端设备与流媒体服务器建立会话的示意 图。头端设备连接流媒体服务器时,流媒体服务器工作在监听模式,头端设备工作在 主动连接模式,头端设备与流媒体服务器之间的连接步骤为
(1)头端设备发起INVITE会话请求,头端设备会将自己的媒体能力通过SMD发送至流 媒体服务器,流媒体服务器收到SMD后会预先分配媒体流资源,以在媒体流到来后能够立 即进行媒体处理;
(2)流媒体服务器回复200消息响应,流媒体服务器会在回复的SMD中加入监听每一个 通道每一个媒体流的监听IP地址和端口号,媒体流请求由头端设备发起;
(3)头端设备依次发起通道000的音频和视频的媒体流请求,对于TCP连接,头端设备 可以在媒体流的第一个帧中加入会话媒体流会话关联信息,这里应使用Call-ID作为媒体 流与会话的关联键;
(4)头端设备依次发起通道001的音频和视频的媒体流请求。头端设备连接流媒体服务器后,会话一旦建立则将一直保持。指令信消息(抓拍、 参数配置、485云台控制)亦从该信令连接收发。图9为本发明的视频监控会话方法中监控客户端与流媒体服务器建立会话的示 意图。监控客户端连接流媒体服务器时,流媒体服务器工作在监听模式,流媒体服务器 与监控客户端之间的连接步骤为
(1)监控客户端向流媒体服务器发起INVITE请求,流媒体服务器收到INVITE请求后会 根据被叫号码,即头端设备+通道号,寻找相关的群组会话,找到头端设备所属的群组会话 后,建立与监控客户端的会话,并将该会话加入该群组会话中;
(2)流媒体服务器回复200消息响应,SMD描述的Port字段中有一个0x00000BB9的16 进制值,即流媒体服务器的TCP监听端口号3001 ;
(3)会话建立后由监控客户端向流媒体服务器发起音视频媒体流的TCP连接,TCP连接 建立后,监控客户端会发送一个媒体流请求头,流媒体服务器收到该请求头后,会建立媒体 流与会话的关联关系,并转发相应的头端设备通道的音视频媒体流。可以用于会话内的消息有REINVITE和UPDATE,通过流媒体服务器向头端设备发 送REINVITE消息改变媒体属性,头端设备与流媒体服务器建立会话连接后,若此时没有 监控客户端或者录像设备访问流媒体服务器获取该设备的媒体转发流,则可以将头端设 备的媒体流发送暂停,在REINVITE消息的SMD会话媒体描述中,可以将IP地址设定为 “0. 0. 0. 0”,则头端设备将停止向该地址发送媒体流,但会话并不拆除,恢复媒体流发送时, 只需再次通过发送REINVITE消息,将SMD中的IP地址恢复为初始有效值。
MESSAGE消息可以在会话外发送,用于会话外的即时通讯。抓拍、参数配置、485云 台控制全部采用基于MESSAGE消息的即时通讯方式实现。监控客户端和头端设备可以直接 进行端到端的MESSAGE通信,也可以采用基于服务器转发的通信模式。当通过流媒体服务 器转发MESSAGE消息时,有两种转发模式,第一种是代理模式,第二种是网关模式。图10是本发明的视频监控会话方法中流媒体服务器以代理模式转发MESSAGE消 息的示意图。监控客户端与头端设备之间的MESSAGE消息通过流媒体服务器转发,流媒体服务 器以代理方式转发MESSAGE消息,MESSAGE消息的发送是独立于任何一个会话的,MESSAGE 消息本身也不会引起一个新的VSSP会话的创建,MESSAGE消息的发送采用独立的Call-ID, 不与任何会话关联,每个新的MESSAGE消息采用新的Call-ID,200消息响应使用MESSAGE 请求的Call-ID,以下是流媒体服务器代理模式下的MESSAGE消息通话过程
(1)监控客户端发起一个新的MESSAGE消息,在监控客户端和流媒体服务器间会创建 一个新的TCP连接,MESSAGE消息可以携带消息体Body,消息体的内容可以是文本内容也可 以是任何自定义格式的2进制内容;
(2)流媒体服务器收到MESSAGE消息后,根据TO字段的头端设备被叫号码,向该头端设 备转发MESSAGE消息,流媒体服务器会向头端设备发起一个新的TCP连接转发MESSAGE消 息,同时将该去话TCP连接与之前的来话TCP连接建立关联,该MESSAGE消息的Call-ID与 收到的MESSAGE消息的Call-ID相同;
(3)头端设备收到MESSAGE消息后,回复200消息响应,200消息响应不携带消息体 Body ;
(4)流媒体服务器转发200消息相到主叫监控客户端,主叫监控客户端收到200消 息后结束本次即时消息通话,关闭TCP连接,或者保持此TCP连接,用于发送和接收新的 MESSAGE 消息;
(5)头端设备在之前创建的TCP连接上向监控客户端发起了一个新的MESSAGE消息,此 时被叫号码为监控客户端的会话ID号码,MESSAGE消息采用一个新的Call-ID ;
(6)流媒体服务器根据监控客户端被叫号码,通过连接管理机制,找到之前对应的监控 客户端创建的TCP连接,将该MESSAGE消息转发至监控客户端;
(7)监控客户端收到MESSAGE消息后,回复200消息响应,当监控客户端认为可以结 束本次即时消息通话,即关闭该TCP连接;TCP连接的关闭可以由监控客户端软件控制,比 如,监控客户端的本次即时消息对话的窗口关闭、或者按下即时消息通信结束按钮等操作, 都可以触发TCP连接的关闭;
(8)流媒体服务器转发200消息响应,当发现监控客户端的TCP连接关闭后,随即关闭 与头端设备的TCP连接。图11是本发明的视频监控会话方法中流媒体服务器以网关转发模式转发 MESSAGE消息的示意图。监控客户端与头端设备之间的MESSAGE消息通过流媒体服务器转发,流媒体服务 器以网关转发模式转发MESSAGE消息,流媒体服务器收到主叫的MESSAGE消息后,立即回复 200响应,然后拷贝MESSAGE消息内容和消息类型,复制到一个新的MESSAGE消息发送到被 叫,以下是流媒体服务器网关转发模式下的MESSAGE消息通话过程
18(1)监控客户端发起一个新的MESSAGE消息,在监控客户端和流媒体服务器间会创建 一个新的TCP连接,MESSAGE消息可以携带消息体Body,消息体的内容为文本内容或其他二 进制内容;
(2)流媒体服务器收到MESSAGE消息后,立即向监控客户端回复200响应;
(3)流媒体服务器根据TO字段的头端设备被叫号码,向该头端设备转发一个新的 MESSAGE消息,流媒体服务器会将监控客户端发送的MESSAGE消息体内容Body及其它字段 参数值复制到新的MESSAGE中,且在新的MESSAGE消息中使用一个新的Call-ID,流媒体服 务器会向头端设备发起一个新的TCP连接转发MESSAGE消息,同时将该去话TCP连接与之 前的来话TCP连接建立关联;
(4)头端设备收到MESSAGE消息后,回复200消息相应,200消息相应不能携带消息体 Body ;
(5)头端设备在之前创建的TCP连接上向监控客户端发起了一个新的MESSAGE消息,此 时被叫号码为监控客户端的会话ID号码,MESSAGE消息采用一个新的Call-ID ;
(6)流媒体服务器收到MESSAGE消息后,立即向头端设备回复200响应;
(7)流媒体服务器根据监控客户端被叫号码,通过连接管理机制,找到之前对应的监控 客户端创建的TCP连接,将该MESSAGE消息复制到一个新的MESSAGE消息中转发至监控客 户端,流媒体服务器会在MESSAGE消息中使用一个新的Call-ID ;
(8)监控客户端收到MESSAGE消息后,回复200响应,至此,监控客户端结束本次即时消 息通话,即可关闭该TCP连接,流媒体服务器发现监控客户端的TCP连接关闭后,也随即关 闭与头端设备的TCP连接。图12是本发明的视频监控会话方法中流媒体服务器以网关转发模式转发 MESSAGE消息的另一种示意图。流媒体服务器始终处于监听状态,头端设备预先创建一个MESSAGE通信连接,该 MESSAGE消息并不被转发,只起TCP通信链路建立的作用,流媒体服务器会记录该MESSAGE 的消息体类型,发往该头端设备的所有此类型的MESSAGE消息全部从此TCP连接进行转发, MESSAGE消息通话过程为
(1)头端设备首先向流媒体服务器发送MESSAGE消息,消息体类型为1,表示来自监控 客户端的向该头端设备发起的所有MESSAGE消息,只要消息体类型为1,则MESSAGE消息将 被转发至该头端设备,头端设备会周期性发送MESSAGE消息,以检测通信链路的是否正常 连接,如果链路因故障终端连接,则头端设备会周期性主动发起新的该类型的MESSAGE消 息以重新建立连接;
(2)流媒体服务器收到MESSAGE消息后,立即向监控客户端回复200响应;
(3)流媒体服务器根据TO字段的头端设备被叫号码,向该头端设备转发一个新的 MESSAGE消息,流媒体服务器会将监控客户端发送的MESSAGE消息体内容Body及其它字段 参数值复制到新的MESSAGE中,且在新的MESSAGE消息中使用一个新的Call-ID,流媒体服 务器会向头端设备发起一个新的TCP连接转发MESSAGE消息,同时将该去话TCP连接与之 前的来话TCP连接建立关联;
(4)头端设备收到MESSAGE消息后,回复200消息相应,200消息相应不能携带消息体 Body ;(5)头端设备在之前创建的TCP连接上向监控客户端发起了一个新的MESSAGE消息,此 时被叫号码为监控客户端的会话ID号码,MESSAGE消息采用一个新的Call-ID ;
(6)流媒体服务器收到MESSAGE消息后,立即向头端设备回复200响应;
(7)流媒体服务器根据监控客户端被叫号码,通过连接管理机制,找到之前对应的监控 客户端创建的TCP连接,将该MESSAGE消息复制到一个新的MESSAGE消息中转发至监控客 户端,流媒体服务器会在MESSAGE消息中使用一个新的Call-ID ;
(8)监控客户端收到MESSAGE消息后,回复200响应,监控客户端关闭此TCP通信连接, 流媒体服务器检测到此连接关闭后并不试图关闭与头端设备的连接,仅解除客户端TCP连 接与头端TCP连接的对应关系,并清除相关资源。图13是本发明的视频监控会话方法中流媒体服务器与头端设备断开时的示意 图。当流媒体停止服务时,需要先切断所有会话连接,这时需要流媒体服务器向头端 设备发送BYE消息来结束会话。由于在会话建立后,头端设备会发送心跳UPDATE消息, 检查信令链路的连接情况,每个UPDATE消息属于kssion会话内消息,每发送一个请求 (REQUEST), CSeq值会加1,因此上图假设发送BYE消息前的一个UPDATE消息的CSeq值为 Oxn (十六进制值),因此BYE消息发送时,CSeq值为Oxn+1。在整个会话期间Call-ID值不变。图14是本发明的视频监控会话方法中流媒体服务器与监控客户端断开时的示意 图。监控客户端BYE消息的发送一般由使用者通过用户界面触发,这时使用者希望主 动切断与流媒体服务器的会话时会。流媒体服务器也可以主动发送BYE消息给监控客户端,切断会话,比如,当流媒体 停止服务时,需要先切断所有会话连接,这时需要流媒体服务器向监控客户端和头端设备 发送BYE消息来结束会话。由于在会话建立后,流媒体服务器会发送心跳UPDATE消息,检查信令链路的连接 情况,每个UPDATE消息属于kssion会话内消息,每发送一个请求(REQUEST),CSeq值会加 1,因此上图假设发送BYE消息前的一个UPDATE消息的CSeq值为Oxn (十六进制值),因此 BYE消息发送时,CSeq值为Oxn+1。整个会话期间Call-ID值不变。以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制, 虽然本发明已以较佳实施例公开如上,然而,并非用以限定本发明,任何熟悉本专业的技 术人员,在不脱离本发明技术方案范围内,当然会利用揭示的技术内容作出些许更动或修 饰,成为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技 术实质对以上实施例所作的任何简单修改、等同变化与修饰,均属于本发明技术方案的范 围内。
权利要求
1.一种视频监控会话方法,其中监控客户端通过了设备访问的鉴权和认证,获取了头 端设备的访问号码、头端设备的信令IP地址和端口号,且监控客户端支持头端设备的音视 频媒体格式,当监控客户端发送消息时以用户代理客户端方式运行,头端设备接收消息时 以用户代理服务器端方式运行,包括以下步骤(1)监控客户端发送会话邀请,即INVITE消息,监控客户端首先与头端设备建立一个 TCP连接,并在TCP连接上发送INVITE消息,发起会话邀请,监控客户端在INVITE消息中加 入会话媒体描述信息SMD,告知头端设备其自己的媒体能力,监控客户端发送INVITE消息 后,等待头端设备回复消息,确定是否成功接收INVITE消息;(2)头端设备回复200响应,头端设备收到会话邀请后,提取监控客户端INVITE消息中 的设备通道号,将该通道的媒体能力填写到会话媒体描述SMD中,随200消息返回至监控客 户端;(3)头端设备发送音频媒体流,监控客户端收到200消息相应后,提取会话媒体描述 SMD中的媒体能力信息,准备建立媒体连接,若监控客户端在INVITE消息中加入了会话媒 体描述信息SMD,则监控客户端工作在媒体流监听模式,由头端设备从SMD中提取监控客户 端的媒体流监听地址和端口号并发起TCP媒体连接;否则头端设备会工作在媒体流监听模 式,监控客户端会从SMD中提取头端设备媒体通道的TCP监听地址和端口号,随即向该地址 和端口号上先后发起两个TCP媒体连接,以接收音视频媒体流;监控客户端在获取媒体流 前,会分别在音视频TCP连接上发送一个媒体流的请求消息,该请求消息携带了本次媒体 流的会话标识Call-ID,头端设备收到该请求消息后,会通过会话标识将媒体流与本次会话 建立关联;(4)监控客户端发送BYE消息终止会话,当监控客户端想结束本次会话时,可以发送 BYE消息,准备结束本次会话;(5)头端设备回复BYE消息的200响应,头端设备收到监控客户端的BYE消息后,即可 准备结束本次会话,向监控客户端发送200响应后,头端设备可以清除本次会话的所有资 源,断开媒体TCP连接和信令TCP连接;客户端收到200响应后,清除本次会话的所有资源, 断开媒体TCP连接和信令TCP连接,若客户端发送BYE消息后,在一段时间内没有收到200 响应,则客户端应主动清除本次会话的所有资源。
2.根据权利要求1所述的视频监控会话方法,其特征在于客户端接收BYE消息200响 应的延迟时间为30秒。
3.根据权利要求1所述的视频监控会话方法,其特征在于上述视频监控会话方法建 立在视频监控会话协议的基础之上,视频监控会话协议包括VSSP协议栈、会话管理和用 户代理;VSSP协议基于TCP协议,在遇到TCP拥塞的情况下,VSSP协议进行干涉,提供了 定时器操作,用以结束会话,VSSP协议栈又包括TCP层,负责协议的发送与接收;协议字 段解析层,即Syntax层,负责协议包的解包与打包;对话层,即Dialog层,负责信令控制 逻辑,Dialog为信令实体,代表两个用户代理进行会话时建立的信令关系;会话管理实体 Session是Dialog层的使用者,Dialog负责kssion的建立、状态改变与销毁;用户代理 User Agent为逻辑实体,对上提供人机操作接口,下层包装了会话管理kssion实体、对话 Dialog实体和媒体流实体;一个Dialog由三个关键元素构成,即呼叫标识Call-ID、主叫标 识From、被叫标识To。
4.根据权利要求3所述的视频监控会话方法,其特征在于在头端设备与多个监控客 户端之间设置流媒体服务器,一个头端设备被多个监控客户端所访问,流媒体服务器中包 含多个群组会话,每个群组会话管理了多个监控客户端的会话和一个头端设备会话。
5.根据权利要求4所述的视频监控会话方法,其特征在于采用十进制12位即12字 节的全局统一标识码,作为协议字段To、Fr0m的取值,其格式为类别号+设备号+通道号, 其中类别号为1位,设备号采用8位数字,通道号采用3位数字;类别号的取值定义如下有效值选取区间为W-9],类别号=9,代表一般的监控客户端,类别号=1,代表一般设 备;其它取值为非法标识,会产生400响应即语法错误,或404响应即号码不存在; 设备号的取值定义如下 有效值选取区间为
;其它任何无效取值为非法标识,会产生400响应即语法错误,或404响应即号码不存在;通道号取值如下有效值选取区间为
或[***];其它任何无效取值为非法标识,会产生400响应即语法错误,或404响应即号码不存在。
6.根据权利要求4所述的视频监控会话方法,其特征在于头端设备连接流媒体服务 器时,流媒体服务器工作在监听模式,头端设备工作在主动连接模式,头端设备与流媒体服 务器之间的连接步骤为(1)头端设备发起INVITE会话请求,头端设备会将自己的媒体能力通过SMD发送至流 媒体服务器,流媒体服务器收到SMD后会预先分配媒体流资源,以在媒体流到来后能够立 即进行媒体处理;(2)流媒体服务器回复200消息响应,流媒体服务器会在回复的SMD中加入监听每一个 通道每一个媒体流的监听IP地址和端口号,媒体流请求由头端设备发起;(3)头端设备依次发起通道000的音频和视频的媒体流请求,对于TCP连接,头端设备 可以在媒体流的第一个帧中加入会话媒体流会话关联信息,这里应使用Call-ID作为媒体 流与会话的关联键;(4)头端设备依次发起通道001的音频和视频的媒体流请求。
7.根据权利要求6所述的视频监控会话方法,其特征在于监控客户端连接流媒体服 务器时,流媒体服务器工作在监听模式,流媒体服务器与监控客户端之间的连接步骤为(1)监控客户端向流媒体服务器发起INVITE请求,流媒体服务器收到INVITE请求后会 根据被叫号码,即头端设备+通道号,寻找相关的群组会话,找到头端设备所属的群组会话 后,建立与监控客户端的会话,并将该会话加入该群组会话中;(2)流媒体服务器回复200消息响应;(3)会话建立后由监控客户端向流媒体服务器发起音视频媒体流的TCP连接,TCP连接 建立后,监控客户端会发送一个媒体流请求头,流媒体服务器收到该请求头后,会建立媒体 流与会话的关联关系,并转发相应的头端设备通道的音视频媒体流。
8.根据权利要求7所述的视频监控会话方法,其特征在于通过流媒体服务器向头端设备发送REINVITE消息改变媒体属性,头端设备与流媒体服务器建立会话连接后,若此时 没有监控客户端或者录像设备访问流媒体服务器获取该设备的媒体转发流,则可以将头端 设备的媒体流发送暂停,在REINVITE消息的SMD会话媒体描述中,可以将IP地址设定为 “0. 0. 0. 0”,则头端设备将停止向该地址发送媒体流,但会话并不拆除,恢复媒体流发送时, 只需再次通过发送REINVITE消息,将SMD中的IP地址恢复为初始有效值。
9.根据权利要求7所述的视频监控会话方法,其特征在于监控客户端与头端设备之 间的MESSAGE消息通过流媒体服务器转发,流媒体服务器以代理方式转发MESSAGE消息, MESSAGE消息的发送是独立于任何一个会话的,MESSAGE消息本身也不会引起一个新的 VSSP会话的创建,MESSAGE消息的发送采用独立的Call-ID,不与任何会话关联,每个新的 MESSAGE消息采用新的Call-ID,200消息响应使用MESSAGE请求的Call-ID,以下是流媒体 服务器代理模式下的MESSAGE消息通话过程(1)监控客户端发起一个新的MESSAGE消息,在监控客户端和流媒体服务器间会创建 一个新的TCP连接,MESSAGE消息可以携带消息体Body,消息体的内容可以是文本内容也可 以是任何自定义格式的2进制内容;(2)流媒体服务器收到MESSAGE消息后,根据TO字段的头端设备被叫号码,向该头端设 备转发MESSAGE消息,流媒体服务器会向头端设备发起一个新的TCP连接转发MESSAGE消 息,同时将该去话TCP连接与之前的来话TCP连接建立关联,该MESSAGE消息的Call-ID与 收到的MESSAGE消息的Call-ID相同;(3)头端设备收到MESSAGE消息后,回复200消息响应,200消息响应不携带消息体 Body ;(4)流媒体服务器转发200消息相到主叫监控客户端,主叫监控客户端收到200消 息后结束本次即时消息通话,关闭TCP连接,或者保持此TCP连接,用于发送和接收新的 MESSAGE 消息;(5)头端设备在之前创建的TCP连接上向监控客户端发起了一个新的MESSAGE消息,此 时被叫号码为监控客户端的会话ID号码,MESSAGE消息采用一个新的Call-ID ;(6)流媒体服务器根据监控客户端被叫号码,通过连接管理机制,找到之前对应的监控 客户端创建的TCP连接,将该MESSAGE消息转发至监控客户端;(7)监控客户端收到MESSAGE消息后,回复200消息响应,当监控客户端认为可以结束 本次即时消息通话,即关闭该TCP连接;(8)流媒体服务器转发200消息响应,当发现监控客户端的TCP连接关闭后,随即关闭 与头端设备的TCP连接。
10.根据权利要求7所述的视频监控会话方法,其特征在于监控客户端与头端设备之 间的MESSAGE消息通过流媒体服务器转发,流媒体服务器以网关转发模式转发MESSAGE消 息,流媒体服务器收到主叫的MESSAGE消息后,立即回复200响应,然后拷贝MESSAGE消息 内容和消息类型,复制到一个新的MESSAGE消息发送到被叫,以下是流媒体服务器网关转 发模式下的MESSAGE消息通话过程(1)监控客户端发起一个新的MESSAGE消息,在监控客户端和流媒体服务器间会创建 一个新的TCP连接,MESSAGE消息可以携带消息体Body,消息体的内容为文本内容或其他二 进制内容;(2)流媒体服务器收到MESSAGE消息后,立即向监控客户端回复200响应;(3)流媒体服务器根据TO字段的头端设备被叫号码,向该头端设备转发一个新的 MESSAGE消息,流媒体服务器会将监控客户端发送的MESSAGE消息体内容Body及其它字段 参数值复制到新的MESSAGE中,且在新的MESSAGE消息中使用一个新的Call-ID,流媒体服 务器会向头端设备发起一个新的TCP连接转发MESSAGE消息,同时将该去话TCP连接与之 前的来话TCP连接建立关联;(4)头端设备收到MESSAGE消息后,回复200消息相应,200消息相应不能携带消息体 Body ;(5)头端设备在之前创建的TCP连接上向监控客户端发起了一个新的MESSAGE消息,此 时被叫号码为监控客户端的会话ID号码,MESSAGE消息采用一个新的Call-ID ;(6)流媒体服务器收到MESSAGE消息后,立即向头端设备回复200响应;(7)流媒体服务器根据监控客户端被叫号码,通过连接管理机制,找到之前对应的监控 客户端创建的TCP连接,将该MESSAGE消息复制到一个新的MESSAGE消息中转发至监控客 户端,流媒体服务器会在MESSAGE消息中使用一个新的Call-ID ;(8)监控客户端收到MESSAGE消息后,回复200响应,至此,监控客户端结束本次即时消 息通话,即可关闭该TCP连接,流媒体服务器发现监控客户端的TCP连接关闭后,也随即关 闭与头端设备的TCP连接。
11.根据权利要求7所述的视频监控会话方法,其特征在于流媒体服务器始终处于监 听状态,头端设备预先创建一个MESSAGE通信连接,该MESSAGE消息并不被转发,只起TCP 通信链路建立的作用,流媒体服务器会记录该MESSAGE的消息体类型,发往该头端设备的 所有此类型的MESSAGE消息全部从此TCP连接进行转发,MESSAGE消息通话过程为(1)头端设备首先向流媒体服务器发送MESSAGE消息,消息体类型为1,表示来自监控 客户端的向该头端设备发起的所有MESSAGE消息,只要消息体类型为1,则MESSAGE消息将 被转发至该头端设备,头端设备会周期性发送MESSAGE消息,以检测通信链路的是否正常 连接,如果链路因故障终端连接,则头端设备会周期性主动发起新的该类型的MESSAGE消 息以重新建立连接;(2)流媒体服务器收到MESSAGE消息后,立即向监控客户端回复200响应;(3)流媒体服务器根据TO字段的头端设备被叫号码,向该头端设备转发一个新的 MESSAGE消息,流媒体服务器会将监控客户端发送的MESSAGE消息体内容Body及其它字段 参数值复制到新的MESSAGE中,且在新的MESSAGE消息中使用一个新的Call-ID,流媒体服 务器会向头端设备发起一个新的TCP连接转发MESSAGE消息,同时将该去话TCP连接与之 前的来话TCP连接建立关联;(4)头端设备收到MESSAGE消息后,回复200消息相应,200消息相应不能携带消息体 Body ;(5)头端设备在之前创建的TCP连接上向监控客户端发起了一个新的MESSAGE消息,此 时被叫号码为监控客户端的会话ID号码,MESSAGE消息采用一个新的Call-ID ;(6)流媒体服务器收到MESSAGE消息后,立即向头端设备回复200响应;(7)流媒体服务器根据监控客户端被叫号码,通过连接管理机制,找到之前对应的监控 客户端创建的TCP连接,将该MESSAGE消息复制到一个新的MESSAGE消息中转发至监控客户端,流媒体服务器会在MESSAGE消息中使用一个新的Call-ID ;(8)监控客户端收到MESSAGE消息后,回复200响应,监控客户端关闭此TCP通信连接, 流媒体服务器检测到此连接关闭后并不试图关闭与头端设备的连接,仅解除客户端TCP连 接与头端TCP连接的对应关系,并清除相关资源。
全文摘要
一种视频监控会话方法,包括以下步骤(1)监控客户端发送会话邀请,(2)头端设备回复200响应,(3)头端设备发送音频媒体流;(4)监控客户端发送BYE消息终止会话,(5)头端设备回复BYE消息的200响应,头端设备收到监控客户端的BYE消息后,即可准备结束本次会话。本发明的视频监控会话方法能够实现对头端设备与监控客户端直联时的控制,同时能够实现多台监控客户端同时访问头端设备并采用流媒体服务器时的设备间的连接控制。本发明的视频监控会话方法对应于具有功能逻辑独立、易于扩展的、具有高可伸缩性视频监控平台架构,从而能够满足大规模高清网络视频监控应用的需求。
文档编号H04L29/06GK102075737SQ20111004836
公开日2011年5月25日 申请日期2011年3月1日 优先权日2011年3月1日
发明者于新强, 冯雪松, 黄博 申请人:天津市天祥世联网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1