CN113098864B - 一种数据传输系统 - Google Patents

一种数据传输系统 Download PDF

Info

Publication number
CN113098864B
CN113098864B CN202110349827.3A CN202110349827A CN113098864B CN 113098864 B CN113098864 B CN 113098864B CN 202110349827 A CN202110349827 A CN 202110349827A CN 113098864 B CN113098864 B CN 113098864B
Authority
CN
China
Prior art keywords
message
server
channel
protocol
type
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.)
Active
Application number
CN202110349827.3A
Other languages
English (en)
Other versions
CN113098864A (zh
Inventor
李泽夫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision System Technology Co Ltd
Original Assignee
Hangzhou Hikvision System Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision System Technology Co Ltd filed Critical Hangzhou Hikvision System Technology Co Ltd
Priority to CN202110349827.3A priority Critical patent/CN113098864B/zh
Publication of CN113098864A publication Critical patent/CN113098864A/zh
Application granted granted Critical
Publication of CN113098864B publication Critical patent/CN113098864B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本申请提供一种数据传输系统,包括源设备、目的设备、SIP服务器和消息服务器;SIP服务器接收源设备发送的用于建立消息通道的第一协商请求,基于第一协商请求向消息服务器发送用于建立消息通道的第二协商请求;消息服务器基于第二协商请求建立消息服务器与源设备之间的第一消息通道,向SIP服务器发送用于建立消息通道的第一协商响应;SIP服务器向源设备发送用于建立消息通道的第二协商响应,源设备基于第二协商响应建立源设备与消息服务器之间的第一消息通道。消息服务器接收源设备通过第一消息通道发送的业务数据,将业务数据发送给目的设备。通过本申请技术方案,使用消息通道传输业务数据,将业务数据从会话通道独立出来,满足数据传输需求。

Description

一种数据传输系统
技术领域
本申请涉及数据处理技术领域,尤其是涉及一种数据传输系统。
背景技术
数据传输系统由源设备,目的设备,SIP(Session Initiation Protocol,会话初始协议)服务器,媒体服务器等组成,为了实现视频数据的传输及控制,需要建立两个传输通道,即会话通道和媒体流通道。可以在源设备、SIP服务器和目的设备之间建立会话通道,源设备与目的设备通过会话通道传输控制数据,例如,源设备通过会话通道将控制数据发送给SIP服务器,SIP服务器通过会话通道将控制数据发送给目的设备。可以在源设备、媒体服务器和目的设备之间建立媒体流通道,源设备与目的设备通过媒体流通道传输视频数据或者音频数据,例如,源设备通过媒体流通道将视频数据或者音频数据发送给媒体服务器,媒体服务器通过媒体流通道将视频数据或者音频数据发送给目的设备。
随着互联网技术的快速发展,数据传输系统扩展了多种类型的业务数据,即源设备与目的设备之间会传输各种类型的业务数据。由于源设备与目的设备之间具有会话通道和媒体流通道,而媒体流通道用于承载视频数据或者音频数据,不适合传输业务数据,因此,可以使用会话通道传输业务数据。
但是,会话通道是使用SIP协议传输控制数据,若使用会话通道传输业务数据,也需要使用SIP协议传输业务数据,受限于SIP协议的SIP消息体的大小限制,只能通过会话通道传输即时消息和短消息等,一旦业务数据是图像或者长消息等,则SIP协议的SIP消息体无法承载这些业务数据,导致无法正确传输业务数据。综上所述,在数据传输系统扩展了多种类型的业务数据后,可能无法通过会话通道传输各种类型的业务数据,导致无法满足数据传输需求。
发明内容
本申请提供一种数据传输系统,所述数据传输系统包括源设备、目的设备、会话初始协议SIP服务器、媒体服务器和消息服务器;在所述源设备、所述SIP服务器、所述消息服务器和所述目的设备之间建立会话通道,所述会话通道用于传输控制数据;在所述源设备、所述媒体服务器和所述目的设备之间建立媒体流通道,所述媒体流通道用于传输媒体流数据;其中:
所述SIP服务器接收源设备发送的用于建立消息通道的第一协商请求,基于所述第一协商请求向所述消息服务器发送用于建立消息通道的第二协商请求;
所述消息服务器基于所述第二协商请求建立所述消息服务器与所述源设备之间的第一消息通道,并向SIP服务器发送用于建立消息通道的第一协商响应;
所述SIP服务器接收到所述第一协商响应后,向所述源设备发送用于建立消息通道的第二协商响应,以使所述源设备接收到所述第二协商响应后,基于所述第二协商响应建立所述源设备与所述消息服务器之间的第一消息通道;
所述消息服务器接收所述源设备通过所述第一消息通道发送的第一类协议消息,所述第一类协议消息包括业务数据,将所述业务数据发送给目的设备;
其中,所述第一协商请求、所述第二协商请求、所述第一协商响应和所述第二协商响应均通过所述会话通道进行传输。
示例性的,所述SIP服务器接收源设备发送的用于建立消息通道的第一协商请求之后,所述SIP服务器向所述消息服务器发送用于建立消息通道的第三协商请求,所述消息服务器基于所述第三协商请求向所述SIP服务器发送第三协商响应;所述SIP服务器基于所述第三协商响应向目的设备发送用于建立消息通道的第四协商请求,以使所述目的设备基于所述第四协商请求建立所述目的设备与所述消息服务器之间的第二消息通道,并向SIP服务器发送第四协商响应;所述SIP服务器基于所述第四协商响应向所述消息服务器发送用于建立消息通道的第五协商请求,以使所述消息服务器接收到所述第五协商请求后,基于所述第五协商请求建立所述消息服务器与所述目的设备之间的第二消息通道;其中,所述第三协商请求、所述第四协商请求、所述第五协商请求、所述第三协商响应和所述第四协商响应,均通过所述会话通道进行传输。
由以上技术方案可见,本申请实施例中,可以建立消息通道,使用消息通道传输业务数据,而不是通过会话通道传输业务数据,将业务数据从会话通道中独立出来放在消息通道中传输,不占用会话通道的负载,业务数据的传输不再受限于SIP协议的SIP消息体的大小限制,即使业务数据是图像或者长消息等,也能够通过消息通道正确传输业务数据。在数据传输系统扩展了多种类型的业务数据后,可以通过消息通道传输各种类型的业务数据,满足数据传输需求。
附图说明
图1A-图1E是本申请一种实施方式中的数据传输系统的结构示意图;
图1F是会话通道、消息通道和媒体流通道的示意图;
图2是本申请一种实施方式中的数据传输方法的流程示意图;
图3是本申请一种实施方式中的数据传输方法的流程示意图;
图4是本申请一种实施方式中的数据传输方法的流程示意图;
图5A和图5B是本申请一种实施方式中的数据传输方法的流程示意图;
图6是本申请一种实施方式中的数据传输方法的流程示意图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在介绍本申请实施例的技术方案之前,先介绍与本申请有关的概念:
数据传输系统:由源设备、目的设备、SIP服务器和媒体服务器等组成,可以在源设备、SIP服务器和目的设备之间建立会话通道,在源设备、媒体服务器和目的设备之间建立媒体流通道。参见图1A所示,为数据传输系统的结构示意图,终端设备101和终端设备102也可以称为SIP客户端或者SIP设备,当需要在终端设备101和终端设备102之间交互数据时,则终端设备101和终端设备102分别作为源设备和目的设备。比如说,在终端设备101向终端设备102发送数据时,终端设备101作为源设备,终端设备102作为目的设备。在终端设备102向终端设备101发送数据时,终端设备102作为源设备,终端设备101作为目的设备。SIP服务器103可以通过中心信令控制服务器和信令安全路由网关实现,也就是说,可以通过部署中心信令控制服务器和信令安全路由网关,实现SIP服务器103的功能。媒体服务器104用于实现媒体资源(如视频资源和音频资源等)的管理功能,从而在源设备和目的设备之间传输媒体流。
终端设备101(即源设备)和终端设备102(即目的设备)可以位于同一个域中,参见图1A所示。终端设备101和终端设备102也可以位于不同域中,在终端设备101和终端设备102位于不同域时,每个域均可以存在SIP服务器和媒体服务器,参见图1B所示,域1可以为控制域,域2可以为控制域或者非控制域,控制域表示由数据传输系统控制的区域,非控制域表示不由数据传输系统控制的区域,图1B中以域2为控制域为例,数据传输系统至少可以包括终端设备101、终端设备102、SIP服务器103、SIP服务器105、媒体服务器104和媒体服务器106,域1和域2之间可以通过IP网络进行数据传输。
会话通道和控制数据(即系统控制命令):可以在源设备、SIP服务器和目的设备之间建立会话通道,源设备可以通过会话通道将控制数据发送给SIP服务器,SIP服务器可以通过会话通道将控制数据发送给目的设备。
会话通道通常采用SIP协议传输控制数据,也就是说,源设备与目的设备之间传输的是基于SIP协议的SIP消息,通过该SIP消息承载控制数据。
控制数据是基于第一指定协议类型的数据,也就是说,若数据的协议类型是第一指定协议类型,则该数据是控制数据。第一指定协议类型可以包括但不限于:SDP(SessionDescription Protocol,会话描述协议)、MANSCDP(Monitoring and Alarming NetworkSystem Control Description Protocol,监测告警联网系统控制描述协议)、MANSRTSP(Monitoring and Alarming Network System Real Time Streaming Protocol,监测告警联网系统实时流传输协议)等,当然,上述只是第一指定协议类型的几个示例,对此第一指定协议类型不做限制。
参见图1A所示,在终端设备101(即源设备)与SIP服务器103之间建立会话通道,在终端设备102(即目的设备)与SIP服务器103之间建立会话通道。终端设备101可以通过会话通道将SIP消息(用于承载控制数据)发送给SIP服务器103,由SIP服务器103通过会话通道将SIP消息发送给终端设备102。
媒体流通道和媒体流数据(即视频数据或者音频数据等):可以在源设备、媒体服务器和目的设备之间建立媒体流通道,源设备可以通过媒体流通道将媒体流数据发送给媒体服务器,媒体服务器通过媒体流通道将媒体流数据发送给目的设备。媒体流通道通常采用RTP(Realtime Transport Protocol,实时传输协议)/RTCP(Realtime TransportControl Protocol,实时传输控制协议)协议传输媒体流数据,也就是说,源设备与目的设备之间传输的是基于RTP/RTCP协议的RTP/RTCP消息,可以通过RTP/RTCP消息承载媒体流数据。
媒体流数据是基于第二指定协议类型的数据,也就是说,若数据的协议类型是第二指定协议类型,则该数据是媒体流数据。第二指定协议类型可以包括但不限于:视频协议类型和音频协议类型,比如说,H264(数字视频压缩格式)、MPEG4(Moving PicturesExperts Group,动态图像专家组)等,当然,上述只是第二指定协议类型的几个示例,对此第二指定协议类型不做限制。
参见图1A所示,在终端设备101与媒体服务器104之间建立媒体流通道,在终端设备102与媒体服务器104之间建立媒体流通道。终端设备101可以通过媒体流通道将RTP/RTCP消息(用于承载媒体流数据)发送给媒体服务器104,由媒体服务器104通过媒体流通道将RTP/RTCP消息发送给终端设备102。
业务数据:随着互联网技术的快速发展,数据传输系统扩展了多种协议类型的业务数据,即源设备与目的设备之间会传输各种协议类型的业务数据。
业务数据是基于第三指定协议类型的数据,也就是说,若数据的协议类型是第三指定协议类型,则该数据是业务数据。第三指定协议类型可以包括但不限于:图片协议、文件协议、MIME(Multipurpose Internet Mail Extensions,多用途互联网邮件扩展)协议等,当然,上述只是第三指定协议类型的几个示例,对此第三指定协议类型不做限制。其中,图片协议是指传输图片数据的协议,文件协议是指传输文件数据的协议,MIME协议是描述消息内容类型的因特网标准,能够传输文本、图像、音频、视频以及其它应用程序等数据。
比如说,业务数据可以是各种类型的智能数据、结构化数据、门禁数据、停车场数据、访问控制数据、扩展数据等,对此业务数据不做限制。
在数据传输系统扩展了多种协议类型的业务数据后,可以使用会话通道传输业务数据,即通过SIP协议传输业务数据。受限于SIP协议的SIP消息体的大小限制,一旦业务数据是图像或者长消息等,则SIP协议的SIP消息体无法承载业务数据,导致无法正确传输业务数据,即,无法满足数据传输需求。
针对上述发现,本申请实施例中,在数据传输系统中额外部署消息服务器,在会话通道和媒体流通道的基础上,还可以在源设备、消息服务器和目的设备之间建立消息通道,使用消息通道传输业务数据,而不是通过会话通道传输业务数据,从而将业务数据从会话通道中独立出来放在消息通道中传输,不占用会话通道的负载,业务数据的传输不再受限于SIP协议的SIP消息体的大小限制。
数据传输系统可以包括但不限于源设备、目的设备、消息服务器、SIP服务器和媒体服务器,即数据传输系统额外增加消息服务器。基于此,可以在源设备、SIP服务器、消息服务器和目的设备之间建立会话通道,该会话通道可以用于传输控制数据(即第一指定协议类型的数据)。可以在源设备、媒体服务器和目的设备之间建立媒体流通道,该媒体流通道可以用于传输媒体流数据(即第二指定协议类型的数据)。可以在源设备、消息服务器和目的设备之间建立消息通道,该消息通道可以用于传输业务数据(即第三指定协议类型的数据)。
参见图1C所示,为数据传输系统的一个结构示意图,在图1A的基础上,可以额外增加消息服务器107。参见图1D所示,为数据传输系统的另一个结构示意图,在图1B的基础上,可以额外增加消息服务器107和消息服务器108,即每个域增加一个消息服务器。消息服务器107和消息服务器108用于实现业务数据的管理,从而在源设备和目的设备之间传输业务数据。
为了方便描述,在后续实施例中,以图1C所示的数据传输系统为例。
可以在源设备、消息服务器和目的设备之间建立消息通道,源设备通过消息通道将业务数据发送给消息服务器,消息服务器通过消息通道将业务数据发送给目的设备。本实施例中,消息通道可以采用MSRP(Message Session Relay Protocol,消息会话中继协议)协议传输业务数据,也就是说,源设备与目的设备之间传输的是基于MSRP协议的MSRP消息,通过该MSRP消息承载业务数据。当然,消息通道也可以采用其它协议传输业务数据,对此不做限制。
参见图1C所示,在终端设备101(即源设备)与消息服务器107之间建立消息通道,在终端设备102(即目的设备)与消息服务器107之间建立消息通道。终端设备101通过消息通道将MSRP消息(用于承载业务数据)发送给消息服务器107,由消息服务器107通过消息通道将MSRP消息发送给终端设备102。
参见图1E所示,为数据传输系统的结构示意图,SIP服务器作为控制协议网关,通过该控制协议网关建立会话通道,也就是说,可以通过SIP服务器建立会话通道。媒体服务器作为媒体网关,通过该媒体网关建立媒体流通道,也就是说,可以通过媒体服务器建立媒体流通道。消息服务器作为消息网关,通过该消息网关建立消息通道,也就是说,可以通过消息服务器建立消息通道。
参见图1F所示,为会话通道、消息通道和媒体流通道的示意图,针对会话通道来说,IP层之上是TCP(Transmission Control Protocol,传输控制协议)/UDP(UserDatagram Protocol,用户数据包协议)层,TCP/UDP层之上是SIP层,即会话通道采用SIP协议传输控制数据,控制数据可以是SDP、MANSCDP、MANSRTSP等协议类型的数据。针对消息通道来说,IP层之上是TCP层,TCP层之上是MSRP层,即消息通道采用MSRP协议传输业务数据,业务数据可以是图片协议、文件协议、MIME协议等协议类型的数据。针对媒体流通道来说,IP层之上是TCP/UDP层,TCP/UDP层之上是RTP/RTCP层,即媒体流通道采用RTP/RTCP协议传输媒体流数据,媒体流数据是视频协议和音频协议的数据。
本申请实施例中提出了一种数据传输系统,该数据传输系统可以包括源设备、目的设备、SIP服务器、媒体服务器和消息服务器。在源设备、SIP服务器、消息服务器和目的设备之间建立会话通道,该会话通道可以用于传输控制数据。在源设备、媒体服务器和目的设备之间建立媒体流通道,该媒体流通道可以用于传输媒体流数据。在此基础上,参见图2所示,为本申请实施例中提出的数据传输方法的流程图,该方法可以应用于数据传输系统,该方法可以包括:
步骤201,SIP服务器接收源设备发送的用于建立消息通道的第一协商请求,基于第一协商请求向消息服务器发送用于建立消息通道的第二协商请求。
步骤202,消息服务器基于该第二协商请求建立消息服务器与源设备之间的第一消息通道,并向SIP服务器发送用于建立消息通道的第一协商响应。
步骤203,SIP服务器接收到该第一协商响应后,向源设备发送用于建立消息通道的第二协商响应,以使源设备接收到该第二协商响应后,基于该第二协商响应建立源设备与消息服务器之间的第一消息通道。
综上所述,可以在源设备与消息服务器之间建立第一消息通道,并通过第一消息通道传输业务数据,关于该业务数据的传输过程,还可以包括:
步骤204,消息服务器接收源设备通过第一消息通道发送的第一类协议消息,该第一类协议消息包括业务数据,并将该业务数据发送给目的设备。
在上述实施例中,该第一协商请求、该第二协商请求、该第一协商响应和该第二协商响应,均可以通过会话通道进行传输。
在一种可能的实施方式中,SIP服务器接收源设备发送的用于建立消息通道的第一协商请求之后,SIP服务器还可以向消息服务器发送用于建立消息通道的第三协商请求,消息服务器基于第三协商请求向SIP服务器发送第三协商响应。SIP服务器基于述第三协商响应向目的设备发送用于建立消息通道的第四协商请求,以使目的设备基于第四协商请求建立目的设备与消息服务器之间的第二消息通道,并向SIP服务器发送第四协商响应。SIP服务器基于第四协商响应向消息服务器发送用于建立消息通道的第五协商请求,以使消息服务器接收到第五协商请求后,基于第五协商请求建立消息服务器与目的设备之间的第二消息通道。在上述实施例中,该第三协商请求、该第四协商请求、该第五协商请求、该第三协商响应和该第四协商响应,均可以通过会话通道进行传输。
在消息服务器与目的设备建立第二消息通道的基础上,消息服务器将业务数据发送给目的设备,可以包括但不限于:消息服务器将该第一类协议消息转换为第二类协议消息,并通过第二消息通道将该第二类协议消息发送给目的设备,该第二类协议消息可以包括该业务数据;示例性的,该第二类协议消息的协议类型与该第一类协议消息的协议类型,可以相同或者不同。
在一种可能的实施方式中,在消息服务器与目的设备未建立第二消息通道的基础上,消息服务器将业务数据发送给目的设备,可以包括但不限于:消息服务器将该第一类协议消息转换为第三类协议消息,并通过非消息通道将该第三类协议消息发送给目的设备,该第三类协议消息可以包括该业务数据。示例性的,该非消息通道是消息服务器与目的设备之间的传输通道,该第三类协议消息的协议类型与该第一类协议消息的协议类型,可以不同或者相同。
在一种可能的实施方式中,消息服务器接收源设备通过第一消息通道发送的第一类协议消息之后,SIP服务器还可以接收源设备发送的用于断开消息通道的第一离开请求,基于第一离开请求向消息服务器发送用于断开消息通道的第二离开请求。消息服务器基于第二离开请求断开消息服务器与源设备之间的第一消息通道,并向SIP服务器发送用于断开消息通道的第一离开响应。SIP服务器接收到第一离开响应后,向源设备发送用于断开消息通道的第二离开响应,以使源设备接收到第二离开响应后,基于第二离开响应断开源设备与消息服务器之间的第一消息通道。在上述过程中,该第一离开请求、该第二离开请求、该第一离开响应和该第二离开响应,均可以通过会话通道进行传输。
在一种可能的实施方式中,SIP服务器基于第一协商请求向消息服务器发送用于建立消息通道的第二协商请求之前,SIP服务器还可以收集消息服务器支持的能力集。SIP服务器基于第一协商请求向消息服务器发送用于建立消息通道的第二协商请求,可以包括:SIP服务器在接收到第一协商请求后,从第一协商请求中解析出源设备支持的能力集。若源设备支持的能力集与消息服务器支持的能力集存在交集,则基于第一协商请求向消息服务器发送用于建立消息通道的第二协商请求。示例性的,若源设备支持的能力集与消息服务器支持的能力集不存在交集,则SIP服务器禁止向消息服务器发送第二协商请求。
示例性的,源设备支持的能力集可以包括源设备支持的业务数据的协议类型,消息服务器支持的能力集可以包括消息服务器支持的业务数据的协议类型。
示例性的,SIP服务器收集消息服务器支持的能力集,可以包括但不限于:SIP服务器通过会话通道向消息服务器发送能力集查询命令;消息服务器通过会话通道向SIP服务器发送能力集查询响应,该能力集查询响应包括消息服务器支持的能力集;SIP服务器从能力集查询响应获取消息服务器支持的能力集。
在一种可能的实施方式中,消息服务器接收源设备通过第一消息通道发送的第一类协议消息之后,消息服务器还可以从该第一类协议消息中解析出第一数字摘要,该第一数字摘要可以是源设备基于共享密钥和该第一类协议消息中的指定信息进行杂凑运算后得到。然后,消息服务器可以从消息服务器中查询出共享密钥,并基于该共享密钥和该第一类协议消息中的指定信息进行杂凑运算,得到第二数字摘要。若该第二数字摘要与该第一数字摘要相同,则可以确定该第一类协议消息通过验证,并执行将业务数据发送给目的设备的操作;否则,若该第二数字摘要与该第一数字摘要不同,则可以确定该第一类协议消息未通过验证,消息服务器禁止将该业务数据发送给目的设备。
示例性的,SIP服务器可以获取共享密钥。然后,SIP服务器可以通过会话通道将该共享密钥发送给源设备,以使源设备基于该共享密钥和第一类协议消息中的指定信息进行杂凑运算,得到第一数字摘要;以及,SIP服务器可以通过会话通道将该共享密钥发送给消息服务器,以使消息服务器基于该共享密钥和第一类协议消息中的指定信息进行杂凑运算,得到第二数字摘要。
示例性的,消息服务器从第一类协议消息中解析出第一数字摘要之前,还可以从第一类协议消息中解析出第一类协议消息的发送时刻,并确定第一类协议消息的接收时刻;若该接收时刻大于该发送时刻,且该接收时刻与该发送时刻之间的差值小于阈值,则执行从第一类协议消息中解析出第一数字摘要的操作;否则,确定第一类协议消息未通过验证,禁止将业务数据发送给目的设备。
示例性的,该共享密钥可以包括但不限于VKEK(Video Key Encryption Key,视频密钥加密密钥)。VKEK是一种对称密钥,按照一定规律变化,用于对传输的机密性进行保护。本实施例中,VKEK用于保护消息通道的信息安全。
示例性的,上述执行顺序只是为了方便描述给出的示例,在实际应用中,还可以改变步骤之间的执行顺序,对此执行顺序不做限制。而且,在其它实施例中,并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其它实施例中可能被分解为多个步骤进行描述;本说明书中所描述的多个步骤,在其它实施例也可能被合并为单个步骤进行描述。
由以上技术方案可见,本申请实施例中,可以建立消息通道,使用消息通道传输业务数据,而不是通过会话通道传输业务数据,将业务数据从会话通道中独立出来放在消息通道中传输,不占用会话通道的负载,业务数据的传输不再受限于SIP协议的SIP消息体的大小限制,即使业务数据是图像或者长消息等,也能够通过消息通道正确传输业务数据。在数据传输系统扩展了多种类型的业务数据后,可以通过消息通道传输各种类型的业务数据,满足数据传输需求。比如说,可以通过建立一条或多条消息通道来传输各种类型的业务数据。
以下结合具体实施例,对本申请实施例的数据传输方法进行说明。
实施例1:源设备通过会话通道查询目的设备支持的能力集,目的设备支持的能力集包括目的设备支持的业务数据的协议类型。以及,SIP服务器通过会话通道查询源设备支持的能力集,源设备支持的能力集包括源设备支持的业务数据的协议类型。以及,SIP服务器通过会话通道查询目的设备支持的能力集,目的设备支持的能力集包括目的设备支持的业务数据的协议类型。以及,SIP服务器通过会话通道查询消息服务器支持的能力集,消息服务器支持的能力集包括消息服务器支持的业务数据的协议类型。基于此,SIP服务器可以基于源设备支持的能力集和消息服务器支持的能力集,决策是否允许在消息服务器和源设备之间建立消息通道。SIP服务器可以基于目的设备支持的能力集和消息服务器支持的能力集,决策是否允许在消息服务器和目的设备之间建立消息通道。
示例性的,可以在MANSCDP协议的Query(查询)方法中增加能力集查询命令,源设备在会话通道上向目的设备发送能力集查询命令。目的设备在接收到能力集查询命令后,在会话通道上向源设备发送能力集查询响应,该能力集查询响应包括目的设备支持的能力集,即,目的设备支持的业务数据的协议类型。例如,在目的设备支持图片协议时,则目的设备支持的能力集包括图片协议;在目的设备支持文件协议时,则目的设备支持的能力集包括文件协议;在目的设备支持MIME协议时,则目的设备支持的能力集包括MIME协议。
在能力集查询响应中,除了目的设备支持的能力集,还可以包括目的设备所属消息服务器的标识,及该消息服务器支持的能力集,如图片协议、文件协议、MIME协议等。针对MIME协议来说,还可以为application(应用)、MANSCDP、xml(Extensible MarkupLanguage,可扩展标记语言)、image(图像)、JSON(JavaScript Object Notation,JavaScript对象简谱)等协议类似,对此不做限制。
源设备在获知目的设备支持的能力集后,可以向目的设备发送目的设备支持的协议类型的业务数据。比如说,若目的设备支持的能力集包括MIME协议,则源设备可以向目的设备发送MIME协议的业务数据,若目的设备支持的能力集包括文件协议,则源设备可以向目的设备发送文件协议的业务数据。
源设备在获知目的设备所属消息服务器的标识,及该消息服务器支持的能力集后,可以根据这些信息向消息服务器发起消息通道协商流程。
示例性的,SIP服务器在会话通道上向源设备发送能力集查询命令,源设备在接收到能力集查询命令后,可以在会话通道上向SIP服务器发送能力集查询响应,该能力集查询响应包括源设备支持的能力集,即,源设备支持的业务数据的协议类型,如图片协议、文件协议、MIME协议等。SIP服务器在会话通道上向目的设备发送能力集查询命令,目的设备在接收到能力集查询命令后,在会话通道上向SIP服务器发送能力集查询响应,该能力集查询响应包括目的设备支持的能力集,即,目的设备支持的业务数据的协议类型。SIP服务器在会话通道上向消息服务器发送能力集查询命令,消息服务器在接收到能力集查询命令后,在会话通道上向SIP服务器发送能力集查询响应,该能力集查询响应包括消息服务器支持的能力集,即,消息服务器支持的业务数据的协议类型。
SIP服务器在查询到源设备支持的能力集和消息服务器支持的能力集之后,可以决策是否在源设备与消息服务器之间建立消息通道。例如,若源设备支持的能力集和消息服务器支持的能力集存在交集,则允许在源设备与消息服务器之间建立消息通道;若源设备支持的能力集和消息服务器支持的能力集不存在交集,则禁止在源设备与消息服务器之间建立消息通道。
SIP服务器在查询到目的设备支持的能力集和消息服务器支持的能力集之后,可以决策是否在目的设备与消息服务器之间建立消息通道。例如,若目的设备支持的能力集和消息服务器支持的能力集存在交集,则允许在目的设备与消息服务器之间建立消息通道;若目的设备支持的能力集和消息服务器支持的能力集不存在交集,则禁止在目的设备与消息服务器之间建立消息通道。
实施例2:在源设备与消息服务器之间建立消息通道(将该消息通道记为第一消息通道),源设备通过第一消息通道向消息服务器发送MSRP消息(用于承载业务数据)。在目的设备与消息服务器之间建立消息通道(将该消息通道记为第二消息通道),消息服务器通过第二消息通道向目的设备发送MSRP消息。比如说,可以通过如下步骤建立第一消息通道和第二消息通道,并通过第一消息通道和第二消息通道传输MSRP消息,该MSRP消息包括业务数据。
S11、源设备向SIP服务器发送第一协商请求,第一协商请求是用于建立消息通道的协商请求,SIP服务器接收第一协商请求。其中,源设备通过会话通道向SIP服务器发送第一协商请求,即第一协商请求通过会话通道传输。
S12、SIP服务器向消息服务器发送第二协商请求,第二协商请求是用于建立消息通道的协商请求,消息服务器接收第二协商请求。其中,SIP服务器通过会话通道向消息服务器发送第二协商请求,即第二协商请求通过会话通道传输。
示例性的,若源设备支持的能力集与消息服务器支持的能力集存在交集,则SIP服务器向消息服务器发送第二协商请求。若源设备支持的能力集与消息服务器支持的能力集不存在交集,则禁止发送第二协商请求,结束流程。
S13、消息服务器基于第二协商请求建立消息服务器与源设备之间的第一消息通道。比如说,第二协商请求包括源设备的MSRP地址、源设备支持的能力集(即源设备支持的业务数据的协议类型,如图片协议、文件协议、MIME协议等),因此,消息服务器基于源设备的MSRP地址和源设备支持的能力集建立第一消息通道,该第一消息通道作为消息服务器与源设备之间的消息通道。
第一消息通道的目的地址为源设备的MSRP地址,表示消息服务器通过第一消息通道发送MSRP消息时,MSRP消息的目的地址为源设备的MSRP地址。
第一消息通道的协议类型为源设备支持的业务数据的协议类型(如图片协议、文件协议、MIME协议等,后续以MIME协议为例),表示消息服务器通过第一消息通道发送MSRP消息时,该MSRP消息承载的是该协议类型的业务数据,即MSRP消息的内容采用该协议类型的消息格式。比如说,MSRP消息承载的是MIME协议类型的业务数据,即采用MIME协议类型的消息格式。
S14、消息服务器向SIP服务器发送用于建立消息通道的第一协商响应(即针对第二协商请求的第一协商响应)。示例性的,消息服务器通过会话通道向SIP服务器发送第一协商响应,即第一协商响应通过会话通道传输。
S15、SIP服务器接收到第一协商响应后,SIP服务器向源设备发送用于建立消息通道的第二协商响应,源设备接收第二协商响应。示例性的,SIP服务器通过会话通道向源设备发送第二协商响应,即第二协商响应通过会话通道传输。
S16、源设备基于第二响应建立源设备与消息服务器之间的第一消息通道。例如,第二响应包括消息服务器的MSRP地址、消息服务器支持的能力集(消息服务器支持的业务数据的协议类型),因此,源设备基于消息服务器的MSRP地址和消息服务器支持的能力集建立第一消息通道,第一消息通道作为源设备与消息服务器之间的消息通道。第一消息通道的目的地址为消息服务器的MSRP地址,第一消息通道的协议类型为消息服务器支持的业务数据的协议类型。
S17、SIP服务器向消息服务器发送用于建立消息通道的第三协商请求,消息服务器基于第三协商请求向SIP服务器发送第三协商响应。
S18、SIP服务器基于第三协商响应向目的设备发送用于建立消息通道的第四协商请求,目的设备接收第四协商请求。示例性的,SIP服务器通过会话通道向目的设备发送第四协商请求,即第四协商请求通过会话通道传输。
示例性的,若目的设备支持的能力集与消息服务器支持的能力集存在交集,则允许建立消息服务器与目的设备之间的第二消息通道,因此,SIP服务器向目的设备发送第四协商请求,以触发建立第二消息通道。若目的设备支持的能力集与消息服务器支持的能力集不存在交集,则禁止建立消息服务器与目的设备之间的第二消息通道,因此,结束流程,不再向目的设备发送第四协商请求。
S19、目的设备基于第四协商请求建立目的设备与消息服务器之间的第二消息通道。比如说,第四协商请求包括消息服务器的MSRP地址、消息服务器支持的能力集(即业务数据的协议类型),目的设备基于消息服务器的MSRP地址和消息服务器支持的能力集建立第二消息通道,第二消息通道作为目的设备与消息服务器之间的消息通道。第二消息通道的目的地址为消息服务器的MSRP地址,第二消息通道的协议类型为消息服务器支持的业务数据的协议类型。
S20、目的设备向SIP服务器发送针对第四协商请求的第四协商响应,第四协商响应是用于建立消息通道的第四协商响应。示例性的,目的设备通过会话通道向SIP服务器发送第四协商响应,即第四协商响应通过会话通道传输。
S21、SIP服务器基于第四协商响应向消息服务器发送用于建立消息通道的第五协商请求,即SIP服务器通过会话通道向消息服务器发送第五协商请求。
S22、消息服务器基于第五协商请求建立消息服务器与目的设备之间的第二消息通道。例如,第五协商请求包括目的设备的MSRP地址、目的设备支持的能力集(目的设备支持的业务数据的协议类型),消息服务器基于目的设备的MSRP地址和目的设备支持的能力集建立第二消息通道,第二消息通道作为消息服务器与目的设备之间的消息通道。第二消息通道的目的地址为目的设备的MSRP地址,第二消息通道的协议类型为目的设备支持的业务数据的协议类型。
综上所述,基于S11-S22,可以通过在会话通道传输相关命令,从而建立第一消息通道和第二消息通道。在建立第一消息通道和第二消息通道后,就可以通过第一消息通道和第二消息通道传输MSRP消息,以下对此进行说明。
S23、源设备通过第一消息通道向消息服务器发送第一类协议消息,该第一类协议消息包括业务数据,消息服务器接收该第一类协议消息。
比如说,由于第一消息通道的目的地址为消息服务器的MSRP地址,因此,第一类协议消息的目的地址为消息服务器的MSRP地址。由于第一消息通道的协议类型为消息服务器支持的业务数据的协议类型,如MIME协议类型,则第一类协议消息是MIME协议类型的消息,即,通过MSRP消息承载MIME协议类型的业务数据,即MSRP消息的消息体采用MIME协议类型的消息格式。
比如说,基于MIME协议类型的消息格式对业务数据进行封装,得到消息体,然后,为该消息体封装MSRP消息的消息头,得到MSRP消息。
S24、消息服务器将第一类协议消息转换为第二类协议消息,并通过第二消息通道将第二类协议消息发送给目的设备,该第二类协议消息可以包括该业务数据,目的设备接收该第二类协议消息,并解析出该业务数据。示例性的,第二类协议消息的协议类型与第一类协议消息的协议类型相同或者不同。
比如说,消息服务器先从第一类协议消息中解析出该业务数据,并生成第二类协议消息。由于第二消息通道的目的地址为目的设备的MSRP地址,因此,第二类协议消息的目的地址为目的设备的MSRP地址。由于第二消息通道的协议类型为目的设备支持的业务数据的协议类型,若是MIME协议类型(即第二类协议消息的协议类型与第一类协议消息的协议类型相同),则第二类协议消息是MIME协议类型的消息,即,通过MSRP消息承载MIME协议类型的业务数据,即MSRP消息的消息体采用MIME协议类型的消息格式。若是图片协议(即第二类协议消息的协议类型与第一类协议消息的协议类型不同),则第二类协议消息是图片协议类型的消息,即,通过MSRP消息承载图片协议类型的业务数据,即MSRP消息的消息体采用图片协议类型的消息格式。
S25、目的设备通过第二消息通道向消息服务器发送第二类协议消息,该第二类协议消息包括业务数据,消息服务器接收该第二类协议消息。
S26、消息服务器将第二类协议消息转换为第一类协议消息,并通过第一消息通道将第一类协议消息发送给源设备,该第一类协议消息可以包括该业务数据,源设备接收该第一类协议消息,并从第一类协议消息中解析出该业务数据。
S25和S26的实现过程,与S23和S24的实现过程类似,在此不再赘述。
以下结合图3所示的流程图,对实施例2的相关步骤进行说明。
步骤301、源设备向SIP服务器发送Invite消息(即第一协商请求),Invite消息中携带SDP消息体,SDP消息体包括源设备的MSRP地址、源设备支持的能力集,SDP消息体还可以包括“Message”字段,“Message”字段表示需要建立消息通道。其中,源设备可以在会话通道向SIP服务器发送Invite消息。
步骤302、SIP服务器接收到Invite消息后,触发建立目的设备和消息服务器之间的第二消息通道。在触发建立第二消息通道时,SIP服务器可以向消息服务器发送Invite消息(即第三协商请求),该Invite消息不携带SDP消息体。
步骤303、消息服务器接收到Invite消息后,向SIP服务器回复200OK响应(即第三协商响应),200OK响应中携带SDP消息体,SDP消息体中携带消息服务器的MSRP地址、消息服务器支持的能力集(即业务数据的协议类型)。
示例性的,可以在SIP服务器与消息服务器之间建立会话通道,关于会话通道的建立方式,在此不再赘述。SIP服务器通过会话通道向消息服务器发送Invite消息,消息服务器通过会话通道向SIP服务器回复200OK响应。
步骤304、SIP服务器接收到200OK响应后,向目的设备发送Invite消息(即第四协商请求),Invite消息携带SDP消息体,SDP消息体携带消息服务器的MSRP地址、消息服务器支持的能力集等内容。SDP消息体还可以携带“Message”字段,“Message”字段表示需要建立消息通道。SDP消息体还可以携带SSRC(Synchronous source,同步信源)值,SSRC值是全局唯一标识。消息服务器与源设备之间的消息通道的SSRC值,及消息服务器与目的设备之间的消息通道的SSRC值相同,消息服务器根据SSRC值关联源设备和目的设备的消息通道。
步骤305、目的设备接收到Invite消息后,向SIP服务器回复200OK响应(即第四协商响应),200OK响应携带SDP消息体,SDP消息体携带目的设备的MSRP地址、目的设备支持的能力集(即业务数据的协议类型)。SDP消息体还可以携带“Message”字段和SSRC值(与Invite消息中的SSRC值相同)。
示例性的,目的设备接收到Invite消息后,由于Invite消息的SDP消息体携带“Message”字段,因此,目的设备还可以建立目的设备与消息服务器之间的第二消息通道,第二消息通道的目的地址为消息服务器的MSRP地址,第二消息通道的协议类型为消息服务器支持的业务数据的协议类型。
步骤306、SIP服务器接收到200OK响应后,向消息服务器发送ACK请求(即第五协商请求),ACK请求携带SDP消息体,SDP消息体携带目的设备的MSRP地址、目的设备支持的能力集。SDP消息体还携带“Message”字段和SSRC值。消息服务器接收到ACK请求后,由于ACK请求的SDP消息体携带“Message”字段,因此,消息服务器还可以建立消息服务器与目的设备之间的第二消息通道,第二消息通道的目的地址为目的设备的MSRP地址,第二消息通道的协议类型为目的设备支持的业务数据的协议类型,且第二消息通道与SSRC值关联。
步骤307、SIP服务器接收到200OK响应后,还可以向目的设备发送ACK请求,ACK请求中不携带SDP消息体,表示完成与目的设备的交互过程。
示例性的,步骤304中的Invite消息、步骤305中的200OK响应、步骤306中的ACK请求、步骤307中的ACK请求,均是通过会话通道传输。
步骤308、SIP服务器触发建立源设备和消息服务器之间的第一消息通道。在触发建立第一消息通道时,SIP服务器可以向消息服务器发送Invite消息(即第二协商请求),该Invite消息携带SDP消息体,SDP消息体携带源设备的MSRP地址、源设备支持的能力集。SDP消息体还可以携带“Message”字段和SSRC值,该SSRC值与第二消息通道的SSRC值相同,即步骤306中的SSRC值。
示例性的,步骤301中的Invite消息的SDP消息体中,可以包括源设备的MSRP地址、源设备支持的能力集,因此,在步骤308中,SIP服务器可以获知源设备的MSRP地址、源设备支持的能力集,并向消息服务器发送Invite消息。
步骤309、消息服务器接收到Invite消息后,消息服务器向SIP服务器回复200OK响应(即第一协商响应),200OK响应中可以携带SDP消息体,该SDP消息体中携带消息服务器的MSRP地址、消息服务器支持的能力集。SDP消息体还可以携带“Message”字段和SSRC值(与Invite消息中的SSRC值相同)。
示例性的,消息服务器接收到Invite消息后,由于Invite消息的SDP消息体携带“Message”字段,则消息服务器建立消息服务器与源设备之间的第一消息通道,第一消息通道的目的地址为源设备的MSRP地址,第一消息通道的协议类型为源设备支持的业务数据的协议类型,且第一消息通道与SSRC值关联。
步骤310、SIP服务器接收到200OK响应后,向源设备发送200OK响应(即第二协商响应),200OK响应携带SDP消息体,SDP消息体携带消息服务器的MSRP地址、消息服务器支持的能力集、以及“Message”字段和SSRC值。
步骤311、源设备接收到200OK响应后,向SIP服务器发送ACK。
源设备接收到200OK响应后,由于200OK响应的SDP消息体携带“Message”字段,因此,源设备还可以建立源设备与消息服务器之间的第一消息通道,第一消息通道的目的地址为消息服务器的MSRP地址,第一消息通道的协议类型为消息服务器支持的业务数据的协议类型,且第一消息通道与SSRC值关联。
步骤312、SIP服务器接收到ACK后,还可以向消息服务器发送ACK,该ACK中不携带SDP消息体,表示完成与消息服务器的交互过程。
示例性的,步骤308中的Invite消息、步骤309中的200OK响应、步骤310中的200OK响应、步骤311和步骤312中的ACK,均是通过会话通道传输。
综上所述,在源设备与消息服务器之间建立第一消息通道,在目的设备与消息服务器之间建立第二消息通道,通过第一消息通道在源设备与消息服务器之间传输MSRP消息,通过第二消息通道在目的设备与消息服务器之间传输MSRP消息。MSRP消息用于承载消息通道中各种协议类型的业务数据。
步骤301、步骤308-312,用于在源设备与消息服务器之间建立第一消息通道,步骤302-307,用于在目的设备与消息服务器之间建立第二消息通道。
实施例3:在源设备与消息服务器之间建立消息通道(将该消息通道记为第一消息通道),源设备通过第一消息通道向消息服务器发送MSRP消息(用于承载业务数据)。在目的设备与消息服务器之间未建立消息通道,消息服务器通过非消息通道向目的设备发送业务数据。比如说,通过如下步骤建立第一消息通道,并通过第一消息通道传输MSRP消息,该MSRP消息包括业务数据。
S31、源设备向SIP服务器发送第一协商请求,第一协商请求是用于建立消息通道的协商请求,SIP服务器接收第一协商请求。
S32、SIP服务器向消息服务器发送第二协商请求,第二协商请求是用于建立消息通道的协商请求,消息服务器接收第二协商请求。
S33、消息服务器基于第二协商请求建立消息服务器与源设备之间的第一消息通道。示例性的,该第一消息通道的目的地址为源设备的MSRP地址,该第一消息通道的协议类型为源设备支持的业务数据的协议类型。
S34、消息服务器向SIP服务器发送用于建立消息通道的第一协商响应(即针对第二协商请求的第一协商响应),SIP服务器接收该第一协商响应。
S35、SIP服务器接收到第一协商响应后,SIP服务器向源设备发送用于建立消息通道的第二协商响应,源设备接收第二协商响应。
S36、源设备基于第二协商响应建立源设备与消息服务器之间的第一消息通道。示例性的,第一消息通道的目的地址为消息服务器的MSRP地址,第一消息通道的协议类型为消息服务器支持的业务数据的协议类型。
S31-S36的实现过程,与S11-S16的实现过程类似,在此不再重复赘述。
基于S31-S36,可以通过在会话通道传输相关命令,从而建立第一消息通道,然后,可以通过第一消息通道传输MSRP消息,以下对此进行说明。
S37、源设备通过第一消息通道向消息服务器发送第一类协议消息,该第一类协议消息包括业务数据,消息服务器接收该第一类协议消息。
若第一消息通道的协议类型为MIME协议类型,则第一类协议消息是MIME协议类型的消息,即,通过MSRP消息承载MIME协议类型的业务数据。
S38、消息服务器将第一类协议消息转换为第三类协议消息,并通过非消息通道将第三类协议消息发送给目的设备,该第三类协议消息可以包括该业务数据,目的设备接收该第三类协议消息,并解析出该业务数据。示例性的,第三类协议消息的协议类型与第一类协议消息的协议类型相同或者不同。
比如说,消息服务器先从第一类协议消息中解析出该业务数据,并生成第三类协议消息。由于消息服务器与目的设备之间的传输通道是非消息通道(即不是消息通道),因此,第三类协议消息的协议类型是与该非消息通道匹配的协议类型,对此第三类协议消息不做限制,只要能够将第三类协议消息发送给目的设备,且目的设备能够从第三类协议消息中解析出业务数据即可。
S39、目的设备通过非消息通道向消息服务器发送业务数据,消息服务器接收业务数据,通过第一消息通道向源设备发送第一类协议消息,第一类协议消息包括该业务数据,源设备接收第一类协议消息,并解析出该业务数据。
以下结合图4所示的流程图,对实施例3的相关步骤进行说明。
步骤401、源设备向SIP服务器发送Invite消息(即第一协商请求),Invite消息携带SDP消息体,SDP消息体携带源设备的MSRP地址、源设备支持的能力集、“Message”字段,“Message”字段表示需要建立消息通道。
步骤402、SIP服务器向消息服务器发送Invite消息(即第二协商请求),Invite消息携带SDP消息体,SDP消息体中可以携带源设备的MSRP地址、源设备支持的能力集、“Message”字段等内容。
步骤403、消息服务器收到Invite消息后,向SIP服务器回复200OK响应(第一协商响应),200OK响应携带SDP消息体,SDP消息体携带消息服务器的MSRP地址、消息服务器支持的能力集、“Message”字段。消息服务器建立消息服务器与源设备之间的第一消息通道,第一消息通道的目的地址为源设备的MSRP地址,第一消息通道的协议类型为源设备支持的业务数据的协议类型。
步骤404、SIP服务器接收到200OK响应后,向源设备发送200OK响应(即第二协商响应),该200OK响应中可以携带SDP消息体,该SDP消息体中可以携带消息服务器的MSRP地址、消息服务器支持的能力集、“Message”字段。
步骤405、源设备收到200OK响应后向SIP服务器发送ACK,建立源设备与消息服务器之间的第一消息通道,第一消息通道的目的地址为消息服务器的MSRP地址,第一消息通道的协议类型为消息服务器支持的业务数据的协议类型。
步骤406、SIP服务器接收到ACK后,还可以向消息服务器发送ACK,该ACK中不携带SDP消息体,表示完成与消息服务器的交互过程。
综上所述,在源设备与消息服务器之间建立第一消息通道,通过第一消息通道传输MSRP消息,MSRP消息用于承载消息通道中各种协议类型的业务数据,并通过非消息通道在目的设备与消息服务器之间传输消息流。
实施例4:在实施例2的基础上,还可以断开第一消息通道和第二消息通道,比如说,源设备向SIP服务器发送第一离开请求,第一离开请求用于断开消息通道。SIP服务器基于第一离开请求向消息服务器发送用于断开消息通道的第二离开请求。消息服务器在接收到第二离开请求后,基于第二离开请求断开消息服务器与源设备之间的第一消息通道,并向SIP服务器发送用于断开消息通道的第一离开响应。SIP服务器接收到第一离开响应后,向源设备发送用于断开消息通道的第二离开响应。源设备在接收到第二离开响应后,基于第二离开响应断开源设备与消息服务器之间的第一消息通道。其中,第一离开请求、第二离开请求、第一离开响应和第二离开响应均通过会话通道进行传输。
以及,SIP服务器在接收到第一离开请求后,还可以断开消息服务器与目的设备之间的第二消息通道,例如,SIP服务器向消息服务器发送第三离开请求,第三离开请求用于断开消息通道。消息服务器在接收到第三离开请求后,基于第三离开请求断开目的设备与消息服务器之间的第二消息通道,并向SIP服务器发送用于断开消息通道的第三离开响应。SIP服务器接收到第三离开响应后,向目的设备发送用于断开消息通道的第四离开请求,目的设备在接收到第四离开请求后,基于第四离开请求断开消息服务器与目的设备之间的第二消息通道。其中,第三离开请求、第四离开请求、第三离开响应均通过会话通道进行传输。
以下结合图5A所示的流程图,对实施例4的上述过程进行说明。
步骤511、源设备向SIP服务器发送BYE消息(即第一离开请求)。
步骤512、SIP服务器在接收到BYE消息后,向消息服务器发送BYE消息(即第二离开请求),该BYE消息用于断开消息通道。
步骤513、消息服务器在接收到BYE消息后,断开消息服务器与源设备之间的第一消息通道,并向SIP服务器发送200OK响应(即第一离开响应)。
步骤514、SIP服务器接收到200OK响应后,向源设备发送200OK响应(即第二离开响应),以使源设备断开源设备与消息服务器之间的第一消息通道。
步骤515、SIP服务器在接收到BYE消息后,第二次向消息服务器发送BYE消息(即第三离开请求),该BYE消息用于断开消息通道。
步骤516、消息服务器在接收到BYE消息后,可以断开消息服务器与目的设备之间的第二消息通道,并向SIP服务器发送200OK响应(即第三离开响应)。
步骤517、SIP服务器在接收到200OK响应后,向目的设备发送BYE消息(即第四离开请求),该BYE消息用于断开消息通道。
步骤518,目的设备在接收到BYE消息后,向SIP服务器发送200OK响应,并断开目的设备与消息服务器之间的第二消息通道。
在实施例3的基础上,还可以断开第一消息通道,比如说,源设备向SIP服务器发送第一离开请求,SIP服务器基于第一离开请求向消息服务器发送第二离开请求。消息服务器在接收到第二离开请求后,基于第二离开请求断开消息服务器与源设备之间的第一消息通道,向SIP服务器发送第一离开响应。SIP服务器接收到第一离开响应后,向源设备发送第二离开响应。源设备在接收到第二离开响应后,基于第二离开响应断开源设备与消息服务器之间的第一消息通道。以下结合图5B所示的流程图,对上述过程进行说明。
步骤521、源设备向SIP服务器发送BYE消息(即第一离开请求)。
步骤522、SIP服务器在接收到BYE消息后,向消息服务器发送BYE消息(即第二离开请求),该BYE消息用于断开消息通道。
步骤523、消息服务器在接收到BYE消息后,断开消息服务器与源设备之间的第一消息通道,并向SIP服务器发送200OK响应(即第一离开响应)。
步骤524、SIP服务器接收到200OK响应后,向源设备发送200OK响应(即第二离开响应),以使源设备断开源设备与消息服务器之间的第一消息通道。
实施例5:在使用消息通道传输MSRP消息时,还可以对MSRP消息进行验证,从而保证MSRP消息的安全性。比如说,可以通过会话通道将共享密钥发送给消息发送方和消息接收方。消息发送方在接收到共享密钥后,存储该共享密钥。消息接收方在接收到共享密钥后,存储该共享密钥。消息发送方在发送MSRP消息时,可以基于该共享密钥得到数字摘要,并在MSRP消息中添加数字摘要。消息接收方在接收到MSRP消息后,从MSRP消息中解析出数字摘要,并基于该数字摘要确定该MSRP消息是否通过验证。为了方便描述,后续以消息接收方是消息服务器,消息发送方是源设备为例,针对其它情况(如消息接收方是消息服务器,消息发送方是目的设备),实现流程类似。
从上述实施例可以看出,源设备会通过第一消息通道向消息服务器发送第一类协议消息,因此,消息服务器需要对第一类协议消息进行验证。
示例性的,SIP服务器可以获取共享密钥(也可以称为对称密钥),并通过会话通道将该共享密钥发送给源设备,以使源设备接收到共享密钥后,存储该共享密钥,SIP服务器还可以通过会话通道将该共享密钥发送给消息服务器,以使消息服务器接收到共享密钥后,存储该共享密钥,该共享密钥可以包括但不限于VKEK。共享密钥为VKEK时,可以通过会话通道将VKEK密文发送给源设备和消息服务器。VKEK密文是采用公钥对VKEK加密后得到的。基于此,源设备在得到VKEK密文后,基于私钥对VKEK密文进行解密,得到VKEK。消息服务器在得到VKEK密文后,基于私钥对VKEK密文进行解密,得到VKEK。
在一种可能的实施方式中,源设备向消息服务器发送第一类协议消息时,先基于共享密钥和第一类协议消息中的指定信息(如第一类协议消息中的所有信息或者部分信息,对此不做限制)进行杂凑运算(即哈希运算),得到第一数字摘要。然后,在第一类协议消息中添加第一数字摘要,比如说,在第一类协议消息中增加安全认证字段,通过安全认证字段承载第一数字摘要。
消息服务器通过第一消息通道接收到第一类协议消息后,还可以从该第一类协议消息中解析出第一数字摘要,得到去除第一数字摘要的第一类协议消息。
然后,消息服务器从本消息服务器中查询出共享密钥,并基于共享密钥和第一类协议消息(即去除第一数字摘要的第一类协议消息)中的指定信息(如第一类协议消息中的所有信息或者部分信息,对此不做限制)进行杂凑运算(杂凑运算的算法与源设备采用的算法相同),得到第二数字摘要。
若第二数字摘要与第一数字摘要相同,则确定该第一类协议消息通过验证,若第二数字摘要与第一数字摘要不同,则确定该第一类协议消息未通过验证。
以下结合图6所示的流程图,对实施例5的上述过程进行说明。
步骤601,源设备基于共享密钥和第一类协议消息中的指定信息进行杂凑运算,得到第一数字摘要,并在第一类协议消息中添加第一数字摘要。
示例性的,第一类协议消息(如MSRP消息)中的指定信息,可以是MSRP消息头域中的所有信息或者部分信息,例如,Method(方法)、From-Path(来源路径)、To-Path(到达路径)、Message-ID(消息标识)、Date(数据)、密钥和消息体中的至少一个,对此指定信息的类型不做限制。
步骤602,源设备通过第一消息通道将第一类协议消息发送给消息服务器。
步骤603,消息服务器从第一类协议消息中解析出第一数字摘要,基于共享密钥和第一类协议消息中的指定信息进行杂凑运算,得到第二数字摘要。
示例性的,第一类协议消息(如MSRP消息)中的指定信息,可以是MSRP消息头域中的所有信息或者部分信息,具体内容参见步骤601,在此不再赘述。
示例性的,源设备向消息服务器发送第一类协议消息时,还可以将杂凑运算的算法信息添加到第一类协议消息中。消息服务器可以从第一类协议消息中解析出杂凑运算的算法信息,继而基于杂凑运算的算法信息进行杂凑运算。
示例性的,源设备向消息服务器发送第一类协议消息时,还可以将第一类协议消息的发送时刻(即发送第一类协议消息的时刻)添加到第一类协议消息中。消息服务器可以从第一类协议消息中解析出第一类协议消息的发送时刻,并确定第一类协议消息的接收时刻(即接收到第一类协议消息的时刻)。
若接收时刻大于发送时刻,且接收时刻与发送时刻之间的差值小于阈值,则确定第一类协议消息符合时间要求,执行步骤603。否则,确定第一类协议消息不符合时间要求,不再执行步骤603,直接确定第一类协议消息未通过验证。
步骤604,若第二数字摘要与第一数字摘要相同,则消息服务器确定第一类协议消息通过验证,否则,消息服务器确定第一类协议消息未通过验证。
示例性的,消息服务器通过第一消息通道向源设备发送MSRP消息时,也可以基于共享密钥和MSRP消息中的指定信息进行杂凑运算,得到第一数字摘要,并在MSRP消息中添加第一数字摘要。源设备从MSRP消息中解析出第一数字摘要,基于共享密钥和MSRP消息中的指定信息进行杂凑运算,得到第二数字摘要。若第二数字摘要与第一数字摘要相同,则源设备确定MSRP消息通过验证,否则,确定MSRP消息未通过验证,在此不再重复赘述。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种数据传输系统,其特征在于,所述数据传输系统包括源设备、目的设备、会话初始协议SIP服务器、媒体服务器和消息服务器;在所述源设备、所述SIP服务器、所述消息服务器和所述目的设备之间建立会话通道,所述会话通道用于传输控制数据;在所述源设备、所述媒体服务器和所述目的设备之间建立媒体流通道,所述媒体流通道用于传输媒体流数据;其中:
所述SIP服务器接收源设备发送的用于建立消息通道的第一协商请求,基于所述第一协商请求向所述消息服务器发送用于建立消息通道的第二协商请求;
所述消息服务器基于所述第二协商请求建立所述消息服务器与所述源设备之间的第一消息通道,并向SIP服务器发送用于建立消息通道的第一协商响应;
所述SIP服务器接收到所述第一协商响应后,向所述源设备发送用于建立消息通道的第二协商响应,以使所述源设备接收到所述第二协商响应后,基于所述第二协商响应建立所述源设备与所述消息服务器之间的第一消息通道;
所述消息服务器接收所述源设备通过所述第一消息通道发送的第一类协议消息,所述第一类协议消息包括业务数据,将所述业务数据发送给目的设备;
其中,所述第一协商请求、所述第二协商请求、所述第一协商响应和所述第二协商响应均通过所述会话通道进行传输。
2.根据权利要求1所述的系统,其特征在于,所述SIP服务器接收源设备发送的用于建立消息通道的第一协商请求之后,
所述SIP服务器向所述消息服务器发送用于建立消息通道的第三协商请求,所述消息服务器基于所述第三协商请求向所述SIP服务器发送第三协商响应;
所述SIP服务器基于所述第三协商响应向目的设备发送用于建立消息通道的第四协商请求,以使所述目的设备基于所述第四协商请求建立所述目的设备与所述消息服务器之间的第二消息通道,并向SIP服务器发送第四协商响应;
所述SIP服务器基于所述第四协商响应向所述消息服务器发送用于建立消息通道的第五协商请求,以使所述消息服务器接收到所述第五协商请求后,基于所述第五协商请求建立所述消息服务器与所述目的设备之间的第二消息通道;
其中,所述第三协商请求、所述第四协商请求、所述第五协商请求、所述第三协商响应和所述第四协商响应,均通过所述会话通道进行传输。
3.根据权利要求2所述的系统,其特征在于,
所述消息服务器将所述业务数据发送给目的设备,包括:
所述消息服务器将所述第一类协议消息转换为第二类协议消息,并通过所述第二消息通道将所述第二类协议消息发送给所述目的设备;
其中,所述第二类协议消息包括所述业务数据,所述第二类协议消息的协议类型与所述第一类协议消息的协议类型相同或者不同。
4.根据权利要求1所述的系统,其特征在于,
所述消息服务器将所述业务数据发送给目的设备,包括:
所述消息服务器将所述第一类协议消息转换为第三类协议消息,通过非消息通道将所述第三类协议消息发送给所述目的设备;
其中,所述第三类协议消息包括所述业务数据;
所述非消息通道是所述消息服务器与所述目的设备之间的传输通道;
所述第三类协议消息的协议类型与所述第一类协议消息的协议类型不同。
5.根据权利要求1所述的系统,其特征在于,所述消息服务器接收所述源设备通过所述第一消息通道发送的第一类协议消息之后,
所述SIP服务器接收源设备发送的用于断开消息通道的第一离开请求,基于所述第一离开请求向所述消息服务器发送用于断开消息通道的第二离开请求;
所述消息服务器基于所述第二离开请求断开所述消息服务器与所述源设备之间的第一消息通道,并向SIP服务器发送用于断开消息通道的第一离开响应;
所述SIP服务器接收到所述第一离开响应后,向所述源设备发送用于断开消息通道的第二离开响应,以使所述源设备接收到所述第二离开响应后,基于所述第二离开响应断开所述源设备与所述消息服务器之间的第一消息通道;
其中,所述第一离开请求、所述第二离开请求、所述第一离开响应和所述第二离开响应均通过所述会话通道进行传输。
6.根据权利要求1-5任一项所述的系统,其特征在于,所述SIP服务器基于所述第一协商请求向所述消息服务器发送用于建立消息通道的第二协商请求之前,所述SIP服务器收集所述消息服务器支持的能力集;
所述SIP服务器基于所述第一协商请求向所述消息服务器发送用于建立消息通道的第二协商请求,包括:所述SIP服务器在接收到所述第一协商请求后,从所述第一协商请求中解析出所述源设备支持的能力集;若所述源设备支持的能力集与所述消息服务器支持的能力集存在交集,则基于所述第一协商请求向所述消息服务器发送用于建立消息通道的第二协商请求;
所述源设备支持的能力集包括所述源设备支持的业务数据的协议类型,所述消息服务器支持的能力集包括所述消息服务器支持的业务数据的协议类型。
7.根据权利要求6所述的系统,其特征在于,
所述SIP服务器收集所述消息服务器支持的能力集,包括:
所述SIP服务器通过会话通道向所述消息服务器发送能力集查询命令;
所述消息服务器通过会话通道向所述SIP服务器发送能力集查询响应;其中,所述能力集查询响应包括所述消息服务器支持的能力集;
所述SIP服务器从所述能力集查询响应获取所述消息服务器支持的能力集。
8.根据权利要求1-5任一项所述的系统,其特征在于,所述消息服务器接收所述源设备通过所述第一消息通道发送的第一类协议消息之后,
从所述第一类协议消息中解析出第一数字摘要,所述第一数字摘要是所述源设备基于共享密钥和第一类协议消息中的指定信息进行杂凑运算后得到;
从所述消息服务器中查询出共享密钥,基于所述共享密钥和所述第一类协议消息中的指定信息进行杂凑运算,得到第二数字摘要;
若所述第二数字摘要与所述第一数字摘要相同,则确定所述第一类协议消息通过验证,执行将所述业务数据发送给目的设备的操作;否则,确定所述第一类协议消息未通过验证,禁止将所述业务数据发送给目的设备。
9.根据权利要求8所述的系统,其特征在于,
所述SIP服务器获取共享密钥,并通过会话通道将所述共享密钥发送给所述源设备,以使所述源设备基于所述共享密钥和第一类协议消息中的指定信息进行杂凑运算,得到第一数字摘要;以及,通过会话通道将所述共享密钥发送给所述消息服务器,以使所述消息服务器基于所述共享密钥和第一类协议消息中的指定信息进行杂凑运算,得到第二数字摘要。
10.根据权利要求8所述的系统,其特征在于,
在所述消息服务器从所述第一类协议消息中解析出第一数字摘要之前,
所述消息服务器从所述第一类协议消息中解析出所述第一类协议消息的发送时刻,并确定所述第一类协议消息的接收时刻;若所述接收时刻大于所述发送时刻,且所述接收时刻与所述发送时刻之间的差值小于阈值,则执行从所述第一类协议消息中解析出第一数字摘要的操作;否则,确定所述第一类协议消息未通过验证,禁止将所述业务数据发送给目的设备。
CN202110349827.3A 2021-03-31 2021-03-31 一种数据传输系统 Active CN113098864B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110349827.3A CN113098864B (zh) 2021-03-31 2021-03-31 一种数据传输系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110349827.3A CN113098864B (zh) 2021-03-31 2021-03-31 一种数据传输系统

Publications (2)

Publication Number Publication Date
CN113098864A CN113098864A (zh) 2021-07-09
CN113098864B true CN113098864B (zh) 2022-07-01

Family

ID=76672149

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110349827.3A Active CN113098864B (zh) 2021-03-31 2021-03-31 一种数据传输系统

Country Status (1)

Country Link
CN (1) CN113098864B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101383785A (zh) * 2008-10-24 2009-03-11 中国科学院计算技术研究所 一种面向sip应用的业务流管理方法
CN102868665A (zh) * 2011-07-05 2013-01-09 华为软件技术有限公司 数据传输的方法及装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1893427A (zh) * 2005-07-07 2007-01-10 华为技术有限公司 一种进行业务支持能力协商的方法
BRPI0621350A2 (pt) * 2006-02-24 2012-10-09 Ericsson Telefon Ab L M método para fornecer um canal de controle habilitado por ims para um serviço de iptv, canal de controle habilitado por ims para um serviço de iptv, e, código de programa de computador
CN101299747A (zh) * 2007-04-30 2008-11-05 华为技术有限公司 一种媒体控制方法、系统、装置及媒体服务组合设备
CN102065099B (zh) * 2010-12-28 2013-07-24 北京神州泰岳软件股份有限公司 信令与承载分离的通信系统
US20120233334A1 (en) * 2011-03-07 2012-09-13 Avaya Inc. Shared media access for real time first and third party control
CN102664899B (zh) * 2012-05-04 2015-11-25 华为技术有限公司 一种业务处理方法、装置及系统
CN104506745B (zh) * 2014-12-19 2018-02-13 上海斐讯数据通信技术有限公司 一种网关设备及通话监听处理方法
CN110875914B (zh) * 2018-09-03 2022-06-07 中国移动通信有限公司研究院 一种基于共享会话链路传输消息的方法及装置
CN109889516B (zh) * 2019-02-14 2021-10-08 视联动力信息技术股份有限公司 一种会话通道的建立方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101383785A (zh) * 2008-10-24 2009-03-11 中国科学院计算技术研究所 一种面向sip应用的业务流管理方法
CN102868665A (zh) * 2011-07-05 2013-01-09 华为软件技术有限公司 数据传输的方法及装置

Also Published As

Publication number Publication date
CN113098864A (zh) 2021-07-09

Similar Documents

Publication Publication Date Title
CN111586599B (zh) 网络辅助信息提供方法及相关设备
KR102519409B1 (ko) 다중 경로 미디어 전달을 위한 방법 및 장치
CN110213652B (zh) 一种音视频数据传输方法、装置及存储介质
CN106850399B (zh) 一种基于WebRTC技术即时消息的通信方法
KR100594790B1 (ko) 범용 이동 통신 시스템의 멀티미디어 기능 장치 사이에서통신 정보를 감소시키기 위한 시스템 및 방법
US20060271636A1 (en) Push-to-transfer (PTX) content from remote site
WO2016210109A1 (en) Mechanisms to support adaptive constrained application protocol (coap) streaming for internet of things (iot) systems
US8990563B2 (en) Sending protected data in a communication network
CN104980395A (zh) 第一系统与第二系统媒体互通的方法和系统以及媒体网关
CN106559396B (zh) 基于Web实时通信的媒体多播方法和系统
CN109408015A (zh) 一种多媒体文件处理方法、发送终端和显示终端
CN110875914B (zh) 一种基于共享会话链路传输消息的方法及装置
CN101222320B (zh) 一种媒体流安全上下文协商的方法、系统和装置
US20240292363A1 (en) Information transmission method and apparatus
CN113726895B (zh) 文件传输方法、装置及网络ktv系统
CN108810475B (zh) 一种基于Onvif标准及Sip协议的Android视频监控装置
CN106713308B (zh) 媒体流实时传输的方法和装置
CN113098864B (zh) 一种数据传输系统
EP3182643B1 (en) Media control method and device
US20200204595A1 (en) Media protection within the core network of an ims network
US11089561B2 (en) Signal plane protection within a communications network
JP2011515980A (ja) 通信システムにおけるピアツーピアマルチメディア接続の状態を問い合わせるシステムおよび方法
CN113612734A (zh) 一种跨网远程庭审媒体流的传输方法和装置
CN113572678A (zh) 一种基于websocket实现的即时通讯方法
KR102272335B1 (ko) Udp기반의 멀티캐스트로 컨텐츠를 제공하는 방법, 서버 그리고 사용자 단말

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant