CN105554029A - WebRTC与SIP终端媒体互通的方法和媒体网关 - Google Patents
WebRTC与SIP终端媒体互通的方法和媒体网关 Download PDFInfo
- Publication number
- CN105554029A CN105554029A CN201610056062.3A CN201610056062A CN105554029A CN 105554029 A CN105554029 A CN 105554029A CN 201610056062 A CN201610056062 A CN 201610056062A CN 105554029 A CN105554029 A CN 105554029A
- Authority
- CN
- China
- Prior art keywords
- media
- terminal
- webrtc
- coding
- media gateway
- 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.)
- Pending
Links
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/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- 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/75—Media network packet handling
Abstract
本发明提供一种WebRTC与SIP终端媒体互通的方法和媒体网关,通过媒体网关的媒体中继功能使得WebRTC终端和SIP终端之间建立起连接,并通过媒体网关的媒体中继功能分别与WebRTC终端和SIP终端协商好各自的媒体编解码信息以及与WebRTC终端的SRTP密钥信息,然后通过协商的媒体编解码信息和SRTP密钥信息进行媒体流的传输和转换,实现了WebRTC终端和SIP终端之间的媒体互通。
Description
技术领域
本发明涉及移动互联网领域,尤其涉及一种WebRTC与SIP终端媒体互通的方法和媒体网关。
背景技术
随着移动终端的普及和网络性能的快速发展,越来越多的人们希望能在网络上进行办公而不受限于使用客户端应用,于是网页实时通信(WebReal-TimeCommunication,WebRTC)技术得到广泛的关注。
WebRTC是一项在浏览器内部进行实时视频和音频通信的技术,该技术使得所有浏览器无需安装插件或第三方软件,仅仅通过浏览器提供简单的javascript,就可以点对点地分享应用的数据以及进行电话会议。能够进行WebRTC通信的终端称为WebRTC终端,WebRTC终端采用安全实时传输协议(SecureReal-timeTransportProtocol,SRTP)作为媒体承载协议,该协议可以对媒体数据进行加密,提高媒体会话的安全性。
IP多媒体子系统(IPMultimediaSubsystem,IMS)是一种基于IP网支持多媒体业务的网络架构,采用会话初始协议(SessionInitiationProtocol,SIP)进行端到端的呼叫控制,符合SIP协议的终端称为SIP终端。SIP终端采用实时传输协议(Real-timeTransportProtocol,RTP)作为媒体承载协议,不支持SRTP。
WebRTC终端和SIP终端之间媒体层面的互通需要实现两个网络的媒体承载协议和媒体编解码类型等的转换,目前,现有技术中还无法实现WebRTC终端和SIP终端媒体层面的互通。
发明内容
本发明提供一种WebRTC与SIP终端媒体互通的方法和媒体网关,用于实现WebRTC终端和SIP终端媒体层面的互通。
本发明实施例提供一种WebRTC与SIP终端媒体互通的方法,包括:
媒体网关接收网页实时通信WebRTC终端发送WebRTC终端支持的媒体编解码信息、WebRTC终端的安全实时传输协议SRTP密钥信息和WebRTC终端的候选地址信息;
媒体网关将媒体网关支持的媒体编解码信息发送给会话初始协议SIP终端;
媒体网关接收SIP终端发送的SIP终端支持的媒体编解码信息;
媒体网关将媒体网关支持的媒体编解码信息、媒体网关的SRTP密钥信息和媒体网关的候选地址信息发送给WebRTC终端,以使WebRTC终端和媒体网关获取到对方的候选地址信息并进行连通性检测;
媒体网关根据与WebRTC终端和SIP终端建立的连接以及协商的媒体编解码信息和SRTP密钥信息进行媒体流的传输和转换。
在本发明的一实施例中,媒体网关根据其与WebRTC终端和SIP终端建立的连接以及协商的媒体编解码信息和SRTP密钥信息进行媒体流的传输和转换,包括:
媒体网关通过与WebRTC终端建立的连接接收到WebRTC终端发送的第一媒体流后,使用WebRTC终端的SRTP密钥信息对第一媒体流进行解密,然后按照与WebRTC终端协商的媒体编解码信息对第一媒体流进行解码,并按照与SIP终端协商的媒体编解码信息对解码后的第一媒体流进行编码后,通过与SIP终端建立的连接将编码后的第一媒体流发送给SIP终端;或者,
媒体网关通过与SIP终端建立的连接接收到SIP终端发送的第二媒体流后,按照与SIP终端协商的媒体编解码信息对第二媒体流进行解码,并按照与WebRTC终端协商的媒体编解码信息对解码后的第二媒体流进行编码,然后使用媒体网关的SRTP密钥信息对编码后的第二媒体流进行加密后,通过与WebRTC终端建立的连接将加密后的第二媒体流发送给WebRTC终端。
在本发明的一实施例中,上述方法还包括:
媒体网关每接收到预设数量的数据帧时,向WebRTC终端请求一次关键帧;其中,数据帧属于第一媒体流。
在本发明的一实施例中,媒体网关与SIP终端协商的媒体编解码为H264编解码,H264编解码采用零延迟和快速编码。
在本发明的一实施例中,媒体网关分布式处理不同的媒体编解码任务。
本发明还提供一种媒体网关,包括:
会话管理模块,用于接收网页实时通信WebRTC终端发送WebRTC终端支持的媒体编解码信息、WebRTC终端的安全实时传输协议SRTP密钥信息和WebRTC终端的候选地址信息;将媒体网关支持的媒体编解码信息发送给会话初始协议SIP终端;接收SIP终端发送的SIP终端支持的媒体编解码信息;将媒体网关支持的媒体编解码信息、媒体网关的SRTP密钥信息和媒体网关的候选地址信息发送给WebRTC终端,以使WebRTC终端和媒体网关获取到对方的候选地址信息并进行连通性检测;
媒体传输模块,用于根据会话管理模块与WebRTC终端和SIP终端建立的连接以及协商的媒体编解码信息和SRTP密钥信息进行媒体流的传输和转换。
在本发明的一实施例中,媒体传输模块包括:网络地址转换NAT穿越子模块、SRTP/RTP转换子模块、转码子模块,其中,
NAT穿越子模块,用于接收WebRTC终端发送的第一媒体流;
SRTP/RTP转换子模块,用于使用WebRTC终端的SRTP密钥信息对第一媒体流进行解密;
转码子模块,用于按照与WebRTC终端协商的媒体编解码信息对第一媒体流进行解码,并按照与SIP终端协商的媒体编解码信息对解码后的第一媒体流进行编码后,通过与SIP终端建立的连接将编码后的第一媒体流发送给SIP终端;
转码子模块,还用于通过与SIP终端建立的连接接收到SIP终端发送的第二媒体流后,按照与SIP终端协商的媒体编解码信息对第二媒体流进行解码,并按照与WebRTC终端协商的媒体编解码信息对解码后的第二媒体流进行编码;
SRTP/RTP转换子模块,还用于使用媒体网关的SRTP密钥信息对编码后的第二媒体流进行加密;
NAT穿越子模块,还用于将加密后的第二媒体流发送给WebRTC终端。
在本发明的一实施例中,转码子模块,还用于每接收到预设数量的数据帧时,通过NAT穿越子模块向WebRTC终端请求一次关键帧;其中,数据帧属于第一媒体流。
在本发明的一实施例中,媒体网关与SIP终端协商的媒体编解码为H264编解码,H264编解码采用零延迟和快速编码。
在本发明的一实施例中,转码子模块包括:控制单元和至少一个转码单元,控制单元和转码单元分布式设置,以使媒体网关分布式处理不同的媒体编解码任务。
本发明实施例提供的WebRTC与SIP终端媒体互通的方法和媒体网关,通过媒体网关的媒体中继功能使得WebRTC终端和SIP终端之间建立起连接,并通过媒体网关的媒体中继功能分别与WebRTC终端和SIP终端协商好各自的媒体编解码信息以及与WebRTC终端的SRTP密钥信息,然后通过协商的媒体编解码信息和SRTP密钥信息进行媒体流的传输和转换,实现了WebRTC终端和SIP终端之间的媒体互通。
附图说明
图1为本发明提供的WebRTC与SIP终端媒体互通的方法的流程示意图;
图2为本发明提供的媒体网关实施例一的结构示意图;
图3为本发明提供的媒体网关实施例二的结构示意图。
附图标记说明:
100-会话管理模块;200-媒体传输模块;
210-NAT穿越子模块;220-SRTP/RTP转换子模块;
230-转码子模块;
231-控制单元;232-转码单元。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明提供的WebRTC与SIP终端媒体互通的方法的流程示意图,如图1所示,本实施例提供的方法包括:
步骤S101、媒体网关接收WebRTC终端发送WebRTC终端支持的媒体编解码信息、WebRTC终端的SRTP密钥信息和WebRTC终端的候选地址信息。
具体的,本实施例中,WebRTC终端为主叫终端,SIP终端为被叫终端。WebRTC终端通常采用VP8编解码,并采用SRTP协议对媒体流数据进行加密处理;在WebRTC终端需要与SIP终端建立会话连接时,可以向媒体网关发送一个会话描述协议(SessionDescriptionProtocol,SDP)消息,该消息中包含WebRTC终端支持的媒体编解码信息(例如VP8编解码)和WebRTC终端对媒体数据进行加密用的SRTP密钥信息;媒体网关接收到之后可以存储下来,以便在会话连接建立之后根据WebRTC终端支持的媒体编解码信息对从WebRTC终端接收到的媒体流进行解码、对从SIP终端接收到的媒体流进行编码,利用SRTP密钥信息对从WebRTC终端接收到的媒体流进行解密处理。
另外,WebRTC技术支持私网穿越,其可以让处于不同防火墙之后的终端进行通信,提高该技术的适用范围。在WebRTC终端需要与SIP终端建立会话连接时,WebRTC终端还需要将用于私网穿越的候选地址信息发送给媒体网关,媒体网关接收到之后可以存储下来,以便进行后续的连通性检测。此外,WebRTC终端向媒体网关发送的SDP消息中还可以包含用于私网穿越的用户和密码信息,以便在后续的连通性检测时使用。
步骤S102、媒体网关将媒体网关支持的媒体编解码信息发送给SIP终端。
具体的,媒体网关接收到WebRTC终端发送的用于建立会话连接的信息后,可以将媒体网关支持的媒体编解码信息包含在SDP消息中发送给SIP终端;SIP终端接收到之后可以查看媒体网关支持的媒体编解码信息中是否包含SIP终端支持的媒体编解码信息,如果没有可以向媒体网关返回一个消息,以终断此次连接。
步骤S103、媒体网关接收SIP终端发送的SIP终端支持的媒体编解码信息。
具体的,SIP终端接收到媒体网关发送的消息之后,发现媒体网关支持的媒体编解码信息中包含SIP终端支持的媒体编解码信息,则可以向媒体网关发送包含SIP终端支持的媒体编解码信息的SDP消息;媒体网关接收到之后可以存储下来,以便在会话连接建立之后根据SIP终端支持的媒体编解码信息对从SIP终端接收到的媒体流进行解码、对从WebRTC终端接收到的媒体流进行编码。
步骤S104、媒体网关将媒体网关支持的媒体编解码信息、媒体网关的SRTP密钥信息和媒体网关的候选地址信息发送给WebRTC终端,以使WebRTC终端和媒体网关获取到对方的候选地址信息并进行连通性检测。
具体的,媒体网关接收到SIP终端返回的消息之后,可以向WebRTC终端返回一个SDP消息,该消息中包含媒体网关支持的媒体编解码信息、媒体网关的SRTP密钥信息和媒体网关的候选地址信息。WebRTC终端接收到该消息之后,WebRTC终端和媒体网关都具有对方的候选地址信息,此时,WebRTC终端和媒体网关可以进行连通性检测,检测成功后即可建立WebRTC终端和SIP终端之间的连接。另外,媒体网关向WebRTC终端返回的SDP消息也可以包含媒体网关的用户和密码信息,在进行连通性检测时,WebRTC终端和媒体网关可以先根据两者的用户和密码信息进行检验,然后再根据两者的候选地址信息进行连通性检测。
步骤S105、媒体网关根据与WebRTC终端和SIP终端建立的连接以及协商的媒体编解码信息和SRTP密钥信息进行媒体流的传输和转换。
媒体网关在连通性检测成功后,建立与WebRTC终端和SIP终端之间的连接;根据与WebRTC终端和SIP终端建立的连接以及协商的媒体编解码信息和SRTP密钥信息即可进行媒体流的传输和转换。媒体流具体可以包括音频和视频等。
作为一种具体的实施方式,媒体网关通过与WebRTC终端建立的连接接收到WebRTC终端发送的第一媒体流后,可以使用WebRTC终端的SRTP密钥信息对第一媒体流进行解密,然后按照与WebRTC终端协商的媒体编解码信息对第一媒体流进行解码,并按照与SIP终端协商的媒体编解码信息对解码后的第一媒体流进行编码后,通过与SIP终端建立的连接将编码后的第一媒体流发送给SIP终端。
作为另一种具体的实施方式,媒体网关通过与SIP终端建立的连接接收到SIP终端发送的第二媒体流后,可以按照与SIP终端协商的媒体编解码信息对第二媒体流进行解码,并按照与WebRTC终端协商的媒体编解码信息对解码后的第二媒体流进行编码,然后使用媒体网关的SRTP密钥信息对编码后的第二媒体流进行加密后,通过与WebRTC终端建立的连接将加密后的第二媒体流发送给WebRTC终端。WebRTC终端接收到加密后的第二媒体流之后,可以使用媒体网关的SRTP密钥信息对加密后的第二媒体流进行解密处理,以获取第二媒体流中的数据。
需要说明的是,上述实施例是以WebRTC终端为主叫终端、SIP终端为被叫终端为例说明本发明中WebRTC终端与SIP终端之间的连接建立过程;当SIP终端为主叫终端、WebRTC终端为被叫终端时,WebRTC终端与SIP终端之间的连接建立过程与上述过程类似,此处不再赘述。
本实施例提供的WebRTC与SIP终端媒体互通的方法,通过媒体网关的媒体中继功能使得WebRTC终端和SIP终端之间建立起连接,并通过媒体网关的媒体中继功能分别与WebRTC终端和SIP终端协商好各自的媒体编解码信息以及与WebRTC终端的SRTP密钥信息,然后通过协商的媒体编解码信息和SRTP密钥信息进行媒体流的传输和转换,实现了WebRTC终端和SIP终端之间的媒体互通。
在上述图1所示实施例的基础上,在本发明的另一实施例中,该方法还包括:媒体网关每接收到预设数量的数据帧时,向WebRTC终端请求一次关键帧。其中,上述数据帧属于第一媒体流。
具体的,采用媒体编码技术进行压缩编码的媒体流的数据帧之间具有一定的依赖关系,当其中一个数据帧发生错误或者丢失时,之后的数据帧也会受到影响,导致黑屏等现象。关键帧技术是解决数据丢包问题的一种比较简单的方法,数据帧中的关键帧含有该帧图像的所有信息,其不依赖以往的数据帧,接收到关键帧之后可以恢复以前丢帧造成的错误。目前,WebRTC终端默认是只发送第一包数据的时候发送媒体流的关键帧,并且每隔大约1500帧(以10帧/秒的采样率,大概为150秒)左右才发另一帧关键帧,所以在这150秒的数据传输过程中,如果出现了数据帧丢失的情况,很有可能会导致不能正确进行媒体流的编解码工作,SIP终端处于长时间的黑屏状态。
为了保证媒体流的编解码工作正常进行,减少黑屏时间,本实施例中,媒体网关每收到预设数量(例如500帧)的数据帧即向WebRTC终端请求一次关键帧,从而能够较快的恢复媒体编解码工作,提高媒体会话的可靠性。采用上述技术,在SIP终端出现黑屏的时候,通常情况下会在5秒之内恢复正常。具体的,请求关键帧需要用到的技术是实时传输控制协议(RealtimeTransportControlProtocol,RTCP),通过向WebRTC终端发送RTCPfeedback报文可以完成关键帧的请求,具体的RTCP格式以及发送的消息的内容可以参考相关的一系列以编号排定的文件(RequestForComments,RFC),该文件中收集有几乎所有的互联网标准。
作为本发明一种可选的实施方式,媒体网关与SIP终端协商的媒体编解码为H264编解码,H264编解码采用零延迟和快速编码。
具体的,在SIP终端支持H264编码的时候,媒体通话过程中经常会看到,SIP终端的媒体会有较大的延时,一般会在4秒左右,这个延时值相对与H263编码的延时值较高。该延时与H264编码本身的复杂性有关系,但更多的是与H264编解码器的默认行为有关,默认情况下,H264编解码器会以保证媒体质量为首要目标,获取多帧媒体数据之后才输出媒体的第一帧。在实时性要求较高的媒体通话场景下,这样的策略会非常不合适。
本实施例中,将媒体网关中H264编解码器的源代码进行了修改,将H264编解码设置成默认零延迟和快速编码数据帧,以提高媒体互通的实时性。经此改动,从SIP终端看到的媒体延迟被减小到1秒以内,满足了实时通信的需求。
作为本发明另一种可选的实施方式,媒体网关分布式处理不同的媒体编解码任务。
具体的,媒体网关中负责媒体流转换的转换器的资源消耗比较大,在同时支持多个媒体转换的时候,会出现CPU负荷较高,转码器出现编码延迟、卡顿的情况。考虑到单个转码器的消耗资源没有办法继续减少,为了满足视频的通话质量的需求,本实施例中,将媒体网关分为控制网关和媒体转换实体,控制网关和媒体转换实体分布式设置,即两者位于不同的物理主机上。其中,控制网关包括了视频编码转换以外的所有功能,媒体转换实体只负责转换不同编码的视频。控制网关通过消息与媒体转换实体完成信息的交互;媒体转换实体可以布置多个,并且可以位于不同的物理主机上,由控制网关对不同的编解码任务进行调度,采用分布式处理方式实现负荷分担。
另外,可选的,本实施例中,媒体网关与WebRTC终端之间可只通过一个通信端口进行通信,以减少媒体网关的资源消耗。
具体的,当建立的媒体会话连接有多个时,媒体网关需要做很多对的媒体转换工作,需要的资源消耗会相对较多。本实施例中,媒体网关与WebRTC终端之间进行的所有媒体数据交互都只通过一个通信端口,从而极大的降低了通信端口的消耗。根据WebRTC的RFC文档,用于协商媒体信息的SDP里面的group-bundle和rtcp-mux两个字段,可以用来控制音频流和视频流的混合,RTCP和RTP流的混合;本实施例中可以通过设置上述两个字段来混合RTCP和RTP流,视频流和音频流,实现媒体网关与WebRTC终端之间进行的所有媒体数据交互只通过一个通信端口。
图2为本发明提供的媒体网关实施例一的结构示意图,如图2所示,本实施例提供的媒体网关包括:会话管理模块100和媒体传输模块200;其中,
会话管理模块100,用于接收网页实时通信WebRTC终端发送WebRTC终端支持的媒体编解码信息、WebRTC终端的安全实时传输协议SRTP密钥信息和WebRTC终端的候选地址信息;将媒体网关支持的媒体编解码信息发送给会话初始协议SIP终端;接收SIP终端发送的SIP终端支持的媒体编解码信息;将媒体网关支持的媒体编解码信息、媒体网关的SRTP密钥信息和媒体网关的候选地址信息发送给WebRTC终端,以使WebRTC终端和媒体网关获取到对方的候选地址信息并进行连通性检测;
媒体传输模块200,用于根据会话管理模块100与WebRTC终端和SIP终端建立的连接以及协商的媒体编解码信息和SRTP密钥信息进行媒体流的传输和转换。
本实施例提供的媒体网关可以执行上述方法实施例,其实现原理和技术效果类似,此处不再赘述。
图3为本发明提供的媒体网关实施例二的结构示意图,本实施例是对上述图2所示实施例中媒体传输模块200进一步的功能细化。如图3所示,本实施例提供的媒体传输模块200包括:网络地址转换(NetworkAddressTranslation,NAT)穿越子模块210、SRTP/RTP转换子模块220、转码子模块230,其中,
NAT穿越子模块210,用于接收WebRTC终端发送的第一媒体流;
SRTP/RTP转换子模块220,用于使用WebRTC终端的SRTP密钥信息对第一媒体流进行解密;
转码子模块230,用于按照与WebRTC终端协商的媒体编解码信息对第一媒体流进行解码,并按照与SIP终端协商的媒体编解码信息对解码后的第一媒体流进行编码后,通过与SIP终端建立的连接将编码后的第一媒体流发送给SIP终端;
转码子模块230,还用于通过与SIP终端建立的连接接收到SIP终端发送的第二媒体流后,按照与SIP终端协商的媒体编解码信息对第二媒体流进行解码,并按照与WebRTC终端协商的媒体编解码信息对解码后的第二媒体流进行编码;
SRTP/RTP转换子模块220,还用于使用媒体网关的SRTP密钥信息对编码后的第二媒体流进行加密;
NAT穿越子模块210,还用于将加密后的第二媒体流发送给WebRTC终端。
具体的,NAT穿越子模块210可以采用Libnice实现,Libnice是一个用C语言编写的用于私网穿越的开源代码库,包含了穿越四种基本类型NAT防火墙的处理。其中封装的数据包括本地私网穿越的用户和密码信息,候选地址信息,对端的用户和密码信息,对端的候选地址信息;提取的公共接口有初始化数据接口和发送数据接口等,媒体网关可以通过上述信息建立会话连接,通过上述接口实现NAT穿越子模块210与其他功能模块的交互。NAT穿越子模块210在实现建立媒体流直连以外,还可以在会话管理模块100建立会话连接时,协助会话管理模块100认证通信双方用户和进行连通性检测。
SRTP/RTP转换子模块220可以采用Libsrtp实现,Libsrtp是一个用C语言编写的用于srtp和rtp进行转换的开源代码库,实现了基本的SRTP/RTP转换功能,以及SRTCP/RTCP相互转换的功能。其中封装的数据包括本地的加解密密钥信息,对端的加解密密钥信息,加解密用的策略方法;提取出的公共接口有加密数据接口和解密数据接口,媒体网关可以通过上述信息对媒体流进行加解密处理,通过上述接口实现SRTP/RTP转换子模块220与其他功能模块的交互。
转码子模块230可以采用FFmpeg实现,FFmpeg是一个用C语言开发编写的用于进行音视频转换的开源代码库,支持多种类型编解码的扩展,可以兼容很多其他的具有单一功能的编码器。具体实现时,可以通过修改FFmpeg源代码,使之成为适合需要的转码器,如修改媒体流超时间隔等。转码子模块230可以实现对媒体流的编解码处理过程。
作为一种可选的实施方式,转码子模块230还用于每接收到预设数量的数据帧时,通过NAT穿越子模块210向WebRTC终端请求一次关键帧;其中,数据帧属于第一媒体流。
作为另一种可选的实施方式,转码子模块230包括:控制单元231和至少一个转码单元232,控制单元231和转码单元232分布式设置,以使媒体网关分布式处理不同的媒体编解码任务。
具体的,控制单元231基于C/S模型实现,控制单元231作为服务器Server,监听转码单元232发送的连接进来的请求,每有一个连接请求,就认为是一个支持转码功能的转码实体网关。控制单元231和转码单元232发送的消息是自定义的消息类型,主要包含四个字段,为消息类型,会话ID,编码类型和接收(发送)端口;其中,消息类型包括启动和销毁转码任务两种消息,每条消息的编码类型字段中包括解码方式和编码方式。转码单元232包含解码器和编码器,控制单元231和转码单元232位于不同的物理主机上;转码单元232可以为多个,并且也可以分布在不同的物理主机上。
在进行转码的时候,由控制单元231对转码进行控制,控制单元231在转码开始时会给转码单元232发送启动解码器的命令,并给出启动参数(例如解码类型);在转码结束后,控制单元231会发送销毁解码器的命令。
本实施例中没有对转码单元232进行认证处理,以减少消息处理流程;具体实现时,可以在控制单元231中设置一个合法转码单元IP列表,只有列表中的IP发送来的连接请求才可以成为一个合法的转码实体,以增加安全性。
另外,可选的,在本发明的一实施方式中,媒体网关与SIP终端协商的媒体编解码为H264编解码,H264编解码采用零延迟和快速编码。
本实施例提供的媒体网关可以执行上述方法实施例,其实现原理和技术效果类似,此处不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种WebRTC与SIP终端媒体互通的方法,其特征在于,包括:
媒体网关接收网页实时通信WebRTC终端发送所述WebRTC终端支持的媒体编解码信息、所述WebRTC终端的安全实时传输协议SRTP密钥信息和所述WebRTC终端的候选地址信息;
所述媒体网关将所述媒体网关支持的媒体编解码信息发送给会话初始协议SIP终端;
所述媒体网关接收所述SIP终端发送的所述SIP终端支持的媒体编解码信息;
所述媒体网关将所述媒体网关支持的媒体编解码信息、所述媒体网关的SRTP密钥信息和所述媒体网关的候选地址信息发送给所述WebRTC终端,以使所述WebRTC终端和所述媒体网关获取到对方的候选地址信息并进行连通性检测;
所述媒体网关根据与所述WebRTC终端和所述SIP终端建立的连接以及协商的媒体编解码信息和SRTP密钥信息进行媒体流的传输和转换。
2.根据权利要求1所述的方法,其特征在于,所述媒体网关根据其与所述WebRTC终端和所述SIP终端建立的连接以及协商的媒体编解码信息和SRTP密钥信息进行媒体流的传输和转换,包括:
媒体网关通过与所述WebRTC终端建立的连接接收到所述WebRTC终端发送的第一媒体流后,使用所述WebRTC终端的SRTP密钥信息对所述第一媒体流进行解密,然后按照与所述WebRTC终端协商的媒体编解码信息对所述第一媒体流进行解码,并按照与所述SIP终端协商的媒体编解码信息对解码后的第一媒体流进行编码后,通过与所述SIP终端建立的连接将编码后的第一媒体流发送给所述SIP终端;或者,
媒体网关通过与所述SIP终端建立的连接接收到所述SIP终端发送的第二媒体流后,按照与所述SIP终端协商的媒体编解码信息对所述第二媒体流进行解码,并按照与所述WebRTC终端协商的媒体编解码信息对所述解码后的第二媒体流进行编码,然后使用所述媒体网关的SRTP密钥信息对编码后的第二媒体流进行加密后,通过与所述WebRTC终端建立的连接将加密后的第二媒体流发送给所述WebRTC终端。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述媒体网关每接收到预设数量的数据帧时,向所述WebRTC终端请求一次关键帧;其中,所述数据帧属于所述第一媒体流。
4.根据权利要求1所述的方法,其特征在于,所述媒体网关与所述SIP终端协商的媒体编解码为H264编解码,所述H264编解码采用零延迟和快速编码。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述媒体网关分布式处理不同的媒体编解码任务。
6.一种媒体网关,其特征在于,包括:
会话管理模块,用于接收网页实时通信WebRTC终端发送所述WebRTC终端支持的媒体编解码信息、所述WebRTC终端的安全实时传输协议SRTP密钥信息和所述WebRTC终端的候选地址信息;将所述媒体网关支持的媒体编解码信息发送给会话初始协议SIP终端;接收所述SIP终端发送的所述SIP终端支持的媒体编解码信息;将所述媒体网关支持的媒体编解码信息、所述媒体网关的SRTP密钥信息和所述媒体网关的候选地址信息发送给所述WebRTC终端,以使所述WebRTC终端和所述媒体网关获取到对方的候选地址信息并进行连通性检测;
媒体传输模块,用于根据所述会话管理模块与所述WebRTC终端和所述SIP终端建立的连接以及协商的媒体编解码信息和SRTP密钥信息进行媒体流的传输和转换。
7.根据权利要求6所述的媒体网关,其特征在于,所述媒体传输模块包括:网络地址转换NAT穿越子模块、SRTP/RTP转换子模块、转码子模块,其中,
所述NAT穿越子模块,用于接收所述WebRTC终端发送的第一媒体流;
所述SRTP/RTP转换子模块,用于使用所述WebRTC终端的SRTP密钥信息对所述第一媒体流进行解密;
所述转码子模块,用于按照与所述WebRTC终端协商的媒体编解码信息对所述第一媒体流进行解码,并按照与所述SIP终端协商的媒体编解码信息对解码后的第一媒体流进行编码后,通过与所述SIP终端建立的连接将编码后的第一媒体流发送给所述SIP终端;
所述转码子模块,还用于通过与所述SIP终端建立的连接接收到所述SIP终端发送的第二媒体流后,按照与所述SIP终端协商的媒体编解码信息对所述第二媒体流进行解码,并按照与所述WebRTC终端协商的媒体编解码信息对所述解码后的第二媒体流进行编码;
所述SRTP/RTP转换子模块,还用于使用所述媒体网关的SRTP密钥信息对编码后的第二媒体流进行加密;
所述NAT穿越子模块,还用于将加密后的第二媒体流发送给所述WebRTC终端。
8.根据权利要求7所述的媒体网关,其特征在于,所述转码子模块,还用于每接收到预设数量的数据帧时,通过所述NAT穿越子模块向所述WebRTC终端请求一次关键帧;其中,所述数据帧属于所述第一媒体流。
9.根据权利要求6所述的媒体网关,其特征在于,所述媒体网关与所述SIP终端协商的媒体编解码为H264编解码,所述H264编解码采用零延迟和快速编码。
10.根据权利要求6-9任一项所述的媒体网关,其特征在于,所述转码子模块包括:控制单元和至少一个转码单元,所述控制单元和所述转码单元分布式设置,以使所述媒体网关分布式处理不同的媒体编解码任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610056062.3A CN105554029A (zh) | 2016-01-27 | 2016-01-27 | WebRTC与SIP终端媒体互通的方法和媒体网关 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610056062.3A CN105554029A (zh) | 2016-01-27 | 2016-01-27 | WebRTC与SIP终端媒体互通的方法和媒体网关 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105554029A true CN105554029A (zh) | 2016-05-04 |
Family
ID=55832963
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610056062.3A Pending CN105554029A (zh) | 2016-01-27 | 2016-01-27 | WebRTC与SIP终端媒体互通的方法和媒体网关 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105554029A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107451629A (zh) * | 2017-07-21 | 2017-12-08 | 881飞号通讯有限公司 | 一种基于扫描二维码实现的网页实时语音通信方法 |
CN107770141A (zh) * | 2016-08-23 | 2018-03-06 | 中兴通讯股份有限公司 | 一种视频会议系统的通信方法及装置 |
CN107846567A (zh) * | 2017-11-02 | 2018-03-27 | 苏州科达科技股份有限公司 | 一种srtp能力协商方法及会议终端 |
CN108173863A (zh) * | 2017-12-29 | 2018-06-15 | 深圳市泛海三江科技发展有限公司 | 建立适用于物联网设备的轻量级WebRTC系统的方法和系统 |
CN108234421A (zh) * | 2016-12-21 | 2018-06-29 | 北京视联动力国际信息技术有限公司 | 一种视联网终端与互联网终端音频数据互通的方法与系统 |
CN108234439A (zh) * | 2016-12-09 | 2018-06-29 | Sap欧洲公司 | 对网络实时通信提供商的攻击保护 |
CN108809918A (zh) * | 2017-05-04 | 2018-11-13 | 中国移动通信集团重庆有限公司 | 媒体流传输方法及装置 |
CN109257344A (zh) * | 2018-09-06 | 2019-01-22 | 广州高清视信数码科技股份有限公司 | 一种基于Docker容器技术的WebRTC媒体网关及其互通方法 |
CN109788072A (zh) * | 2019-03-07 | 2019-05-21 | 杭州当虹科技股份有限公司 | 一种将标准Webrtc客户端接入现有系统的方法 |
CN110233856A (zh) * | 2019-06-28 | 2019-09-13 | 北京云中融信网络科技有限公司 | 报文处理方法、装置及计算机可读存储介质 |
CN111447236A (zh) * | 2020-04-03 | 2020-07-24 | 安康鸿天科技股份有限公司 | 基于区块链的通信鉴权方法、装置、终端设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1129499A (zh) * | 1993-06-17 | 1996-08-21 | 斯凯德特公司 | 卫星网状网络的基于协议的帧中继多路交换方案 |
CN1492697A (zh) * | 2003-09-28 | 2004-04-28 | ����ͨѶ�ɷ�����˾ | 一种大容量h.248协议分布式处理系统和方法 |
CN104980395A (zh) * | 2014-04-04 | 2015-10-14 | 中国电信股份有限公司 | 第一系统与第二系统媒体互通的方法和系统以及媒体网关 |
-
2016
- 2016-01-27 CN CN201610056062.3A patent/CN105554029A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1129499A (zh) * | 1993-06-17 | 1996-08-21 | 斯凯德特公司 | 卫星网状网络的基于协议的帧中继多路交换方案 |
CN1492697A (zh) * | 2003-09-28 | 2004-04-28 | ����ͨѶ�ɷ�����˾ | 一种大容量h.248协议分布式处理系统和方法 |
CN104980395A (zh) * | 2014-04-04 | 2015-10-14 | 中国电信股份有限公司 | 第一系统与第二系统媒体互通的方法和系统以及媒体网关 |
Non-Patent Citations (2)
Title |
---|
SIYU TANG,PATRICE RONDAO ALFACE: "Impact of Random and Burst Packet Losses on H.264 Scalable Video Coding", 《IEEE》 * |
竹洪涛: "一种基于SIP和WebRTC的实时可视对讲方案设计", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107770141A (zh) * | 2016-08-23 | 2018-03-06 | 中兴通讯股份有限公司 | 一种视频会议系统的通信方法及装置 |
CN107770141B (zh) * | 2016-08-23 | 2022-04-19 | 中兴通讯股份有限公司 | 一种视频会议系统的通信方法及装置 |
CN108234439A (zh) * | 2016-12-09 | 2018-06-29 | Sap欧洲公司 | 对网络实时通信提供商的攻击保护 |
CN108234439B (zh) * | 2016-12-09 | 2022-02-25 | Sap欧洲公司 | 对网络实时通信提供商的攻击保护 |
CN108234421B (zh) * | 2016-12-21 | 2019-03-01 | 视联动力信息技术股份有限公司 | 一种视联网终端与互联网终端音频数据互通的方法与系统 |
CN108234421A (zh) * | 2016-12-21 | 2018-06-29 | 北京视联动力国际信息技术有限公司 | 一种视联网终端与互联网终端音频数据互通的方法与系统 |
CN108809918A (zh) * | 2017-05-04 | 2018-11-13 | 中国移动通信集团重庆有限公司 | 媒体流传输方法及装置 |
CN107451629B (zh) * | 2017-07-21 | 2020-03-10 | 881飞号通讯有限公司 | 一种基于扫描二维码实现的网页实时语音通信方法 |
CN107451629A (zh) * | 2017-07-21 | 2017-12-08 | 881飞号通讯有限公司 | 一种基于扫描二维码实现的网页实时语音通信方法 |
CN107846567B (zh) * | 2017-11-02 | 2020-12-29 | 苏州科达科技股份有限公司 | 一种srtp能力协商方法及会议终端 |
CN107846567A (zh) * | 2017-11-02 | 2018-03-27 | 苏州科达科技股份有限公司 | 一种srtp能力协商方法及会议终端 |
CN108173863B (zh) * | 2017-12-29 | 2021-08-17 | 深圳市泛海三江科技发展有限公司 | 建立适用于物联网设备的轻量级WebRTC系统的方法和系统 |
CN108173863A (zh) * | 2017-12-29 | 2018-06-15 | 深圳市泛海三江科技发展有限公司 | 建立适用于物联网设备的轻量级WebRTC系统的方法和系统 |
CN109257344A (zh) * | 2018-09-06 | 2019-01-22 | 广州高清视信数码科技股份有限公司 | 一种基于Docker容器技术的WebRTC媒体网关及其互通方法 |
CN109257344B (zh) * | 2018-09-06 | 2021-01-26 | 广州高清视信数码科技股份有限公司 | 一种基于Docker容器技术的WebRTC媒体网关及其互通方法 |
CN109788072A (zh) * | 2019-03-07 | 2019-05-21 | 杭州当虹科技股份有限公司 | 一种将标准Webrtc客户端接入现有系统的方法 |
CN110233856A (zh) * | 2019-06-28 | 2019-09-13 | 北京云中融信网络科技有限公司 | 报文处理方法、装置及计算机可读存储介质 |
CN111447236A (zh) * | 2020-04-03 | 2020-07-24 | 安康鸿天科技股份有限公司 | 基于区块链的通信鉴权方法、装置、终端设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105554029A (zh) | WebRTC与SIP终端媒体互通的方法和媒体网关 | |
CN106331581B (zh) | 一种移动终端与视联网终端通信的方法和装置 | |
CN104980395B (zh) | 第一系统与第二系统媒体互通的方法和系统以及媒体网关 | |
CN110213652B (zh) | 一种音视频数据传输方法、装置及存储介质 | |
CN106850399B (zh) | 一种基于WebRTC技术即时消息的通信方法 | |
CN102045537A (zh) | 连接视频会议系统和视频监控系统的方法和装置 | |
US8953671B2 (en) | Codec capability negotiation method and terminal thereof | |
CN105099897A (zh) | 一种在浏览器和电信网络之间进行通信的方法和网关 | |
US10523730B2 (en) | Real-time transport protocol (RTP) media conference server routing engine | |
CN102281261A (zh) | 一种数据传输方法、系统和装置 | |
CN102404547B (zh) | 一种实现视频会议级联的方法及终端 | |
CN101938624A (zh) | 一种基于h.323协议的ip机顶盒多点安全视频会议系统 | |
CN101562667A (zh) | 软交换架构下的编解码转换控制方法、媒体网关及系统 | |
CN101931783A (zh) | 一种视频会议双流发送系统及方法 | |
WO2021073155A1 (zh) | 视频会议方法、装置、设备及存储介质 | |
CN115334273A (zh) | 一种协议转换音视频通信方法及系统 | |
CN101635919B (zh) | 一种ip多媒体系统会议媒体数据的加密方法及系统 | |
WO2017036259A1 (zh) | 资源请求方法及装置、终端控制方法及装置 | |
CN111131743A (zh) | 基于浏览器的视频通话方法、装置、电子设备及存储介质 | |
CN106713308B (zh) | 媒体流实时传输的方法和装置 | |
JP2005295468A (ja) | 通信装置及び通信システム | |
CN102624741A (zh) | 一种基于tlv的数据传输方法及系统 | |
KR20140001477A (ko) | 영상통화의 효율적 세션 교섭을 위한 장치 및 방법 | |
CN101494644B (zh) | 一种会话发起协议消息的传输方法 | |
CN101296205B (zh) | 在ip网络或混合网络中实现透明传输的方法、设备及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160504 |
|
RJ01 | Rejection of invention patent application after publication |