一种媒体传输方法和设备技术

技术编号:14859678 阅读:78 留言:0更新日期:2017-03-19 11:46
本发明专利技术公开了一种媒体传输方法和设备,包括:用户终端根据STUN的探测结果,确定为待传输的媒体建立用于穿越防火墙的传输隧道的隧道类型,根据确定的隧道类型,为隧道类型对应的传输隧道分配用户终端侧的第一端口号,并将隧道类型、第一端口号和隧道数据包的载荷格式信息发送给网络侧,使网络侧根据隧道类型为隧道类型对应的传输隧道分配网络侧的第二端口号,在所述第一端口号和所述第二端口号之间建立传输隧道;接收网络侧通过建立的传输隧道传输的、按照所述隧道数据包的载荷格式信息封装的媒体的数据包,不仅能够穿越所有类型的防火墙,而且有效地提升了媒体传输效率。

【技术实现步骤摘要】

本专利技术涉及IP通信
,尤其涉及一种媒体传输方法和设备
技术介绍
在VoIP(VoiceoveIP;IP承载语音)通信系统中,语音数据和视频媒体数据通常采用RTP(Real-TimeTransportProtocol;实时传输协议)进行实时传输,并使用RTCP(Real-TimeTransportControlProtocol;实时传输控制协议)对RTP数据包提供可靠性传输管理机制。RTP数据包和RTCP数据包依靠用户数据协议(UserDatagramProtocol;UDP)传输。而在RTP数据包和RTCP数据包分别采用不同的端口传输时,要求用于传输RTCP数据包的UDP端口号比用于传输RTP数据包的UDP端口号大1、且用于传输RTCP数据包的UDP端口号为奇数。在企业网或者局域网应用场景中,出于网络安全方面的考虑,企业网或者局域网与公网之间部署防火墙。防火墙除了提供网络地址转换之外,还常常会对允许通过的报文类型和开放的端口范围进行限制。在实际应用中,由于防火墙的限制,导致RTP数据包和RTCP数据包不能正常进行。因此在VoIP客户端与网络侧之间VoIP通信时,需要具备穿越防火墙的能力。对于如何穿越防火墙的问题,提出了几种不同的穿越方式。例如:交互式连接建立(InteractiveConnectivityEstablishment;ICE)是一个协议族,包含STUN(SessionTraversalUtilitiesforNAT,网络地址转换会话传输应用程序)协议、TURN(TraversalUsingRelayNetworkAddressTranslation;通过Relay方式穿越NAT)协议,用于解决各种NAT穿越问题。在采用ICE/STUN协议穿越防火墙时,可以将通信双方用于传输RTP数据包和RTCP数据包的端口复用在同一个端口上,也就是说媒体网关将RTP/RTCP的端口固定地分配为80,媒体流以RTP/RTCPoverTCP的形式从防火墙的443或80端口穿越。这样虽然能够支持VoIP通信中的媒体流和信令分离传输、且使用标准的ICE客户端,但是在实际应用中,这种方式只能保证穿越部分防火墙,例如:具有HTTP(HyperTextTransportProtocol,超文本传输协议)代理功能的防火墙就无法穿越。因为具有HTTP代理功能的防火墙只允许HTTP类型的报文通过,具有HTTP代理功能的防火墙能够识别出IP(InternetworkProtocol,网际协议)包承载的上层协议数据包是不是HTTP协议数据包,如果不是HTTP协议数据包,则直接丢弃数据包。而采用RTCP/RTP协议数据包复用同一个端口,利用TCP(TransmissionControlProtocol,传输控制协议)连接方式穿越防火墙时,具有HTTP代理功能防火墙容易识别该数据包为非HTTP数据包而丢弃,造成媒体的数据包无法穿越防火墙。进一步地,提出了ICE/TURN解决方案,在VoIP客户端与网络侧之间部署TURN服务器作为媒体中继服务器,TURN服务器除了支持从协议默认端口3478端口接收终端发送的TURN请求之外,还支持从443端口和80端口接收TURN请求。媒体通过RTP/RTCPoverUDPoverTURNoverTCP方式从80端口,或者通过RTP/RTCPoverUDPoverTURNoverTLS方式从443穿越防火墙,达到TURN服务器,由TURN服务器将媒体转发给对端。这种方式虽然能够解决穿越所有防火墙的问题,但是依然存在以下问题:1、系统中增加TURN服务器,造成媒体的数据包传输时延;2、在媒体的数据包传输过程中,媒体的数据包封装次数过多,出现媒体的数据包的报头封装冗余,影响媒体传输效率;3、TURN服务器和用户终端之间的TURN握手信令复杂,且每一个媒体都要进行单独握手协商建立中继通道,增加了媒体的数据包传输复杂度。
技术实现思路
有鉴于此,本专利技术实施例提供了一种媒体传输方法和设备,用于解决目前VoIP通信系统的媒体在穿越防火墙的过程中存在的传输复杂以及传输效率低等问题。根据本专利技术的第一方面,提供了一种媒体传输方法,包括:用户终端根据网络地址转换会话传输应用程序STUN的探测结果,确定为待传输的媒体建立用于穿越防火墙的传输隧道的隧道类型,其中,所述隧道类型至少包含了传输层安全TLS隧道类型、数据报传输层安全DTLS隧道类型中的一种或者多种;所述用户终端根据确定的所述隧道类型,为所述隧道类型对应的传输隧道分配用户终端侧的第一端口号,并将所述隧道类型、所述第一端口号和隧道数据包的载荷格式信息发送给网络侧,使网络侧根据所述隧道类型为所述隧道类型对应的传输隧道分配网络侧的第二端口号,在所述第一端口号和所述第二端口号之间建立传输隧道;所述用户终端接收所述网络侧通过建立的所述传输隧道传输的、按照所述隧道数据包的载荷格式信息封装的媒体的数据包。结合本专利技术的第一方面可能的实施方式,在第一种可能的实施方式中,所述用户终端将所述隧道类型、所述第一端口号和隧道数据包的载荷格式信息发送给网络侧,包括:所述用户终端将所述隧道类型、所述第一端口号和隧道数据包的载荷格式信息携带在会话描述协议SDP消息中发送给IP承载语音VoIP信令服务器,由VoIP信令服务器根据所述隧道类型为所述隧道类型对应的传输隧道分配网络侧的第二端口号,并将所述第二端口号发送给媒体网关和所述用户终端;所述用户终端通过与所述媒体网关协商,在所述第一端口号和所述第二端口号之间建立传输隧道。结合本专利技术的第一方面可能的实施方式,或者结合本专利技术的第一方面的第一种可能的实施方式,在第二种可能的实施方式中,所述用户终端根据STUN的探测结果,确定为待传输的媒体建立用于穿越防火墙的传输隧道的隧道类型,包括:所述用户终端向STUN服务器发送由用户数据报协议UDP承载的地址收集请求,其中,所述地址收集请求用于获取防火墙分别为用于传输实时传输协议RTP数据包的端口和用于传输实时传输控制协议RTCP数据包的端口分配的公用地址;所述用户终端在无法接收到STUN服务器返回的由UDP承载的地址收集响应时,确定为待传输的媒体建立用于穿越防火墙的传输隧道的隧道类型为TLS隧道类型。结合本专利技术的第一方面可能的实施方式,或者结合本专利技术的第一方面的第一种可能的实施方式,或者结合本专利技术的第一方面的第二本文档来自技高网
...

【技术保护点】
一种媒体传输方法,其特征在于,包括:用户终端根据网络地址转换会话传输应用程序STUN的探测结果,确定为待传输的媒体建立用于穿越防火墙的传输隧道的隧道类型,其中,所述隧道类型至少包含了传输层安全TLS隧道类型、数据报传输层安全DTLS隧道类型中的一种或者多种;所述用户终端根据确定的所述隧道类型,为所述隧道类型对应的传输隧道分配用户终端侧的第一端口号,并将所述隧道类型、所述第一端口号和隧道数据包的载荷格式信息发送给网络侧,使网络侧根据所述隧道类型为所述隧道类型对应的传输隧道分配网络侧的第二端口号,在所述第一端口号和所述第二端口号之间建立传输隧道;所述用户终端接收所述网络侧通过建立的所述传输隧道传输的、按照所述隧道数据包的载荷格式信息封装的媒体的数据包。

【技术特征摘要】
2014.10.31 CN 20141061652961.一种媒体传输方法,其特征在于,包括:
用户终端根据网络地址转换会话传输应用程序STUN的探测结果,确定为
待传输的媒体建立用于穿越防火墙的传输隧道的隧道类型,其中,所述隧道类
型至少包含了传输层安全TLS隧道类型、数据报传输层安全DTLS隧道类型中
的一种或者多种;
所述用户终端根据确定的所述隧道类型,为所述隧道类型对应的传输隧道
分配用户终端侧的第一端口号,并将所述隧道类型、所述第一端口号和隧道数
据包的载荷格式信息发送给网络侧,使网络侧根据所述隧道类型为所述隧道类
型对应的传输隧道分配网络侧的第二端口号,在所述第一端口号和所述第二端
口号之间建立传输隧道;
所述用户终端接收所述网络侧通过建立的所述传输隧道传输的、按照所述
隧道数据包的载荷格式信息封装的媒体的数据包。
2.如权利要求1所述的媒体传输方法,其特征在于,所述用户终端将所
述隧道类型、所述第一端口号和隧道数据包的载荷格式信息发送给网络侧,包
括:
所述用户终端将所述隧道类型、所述第一端口号和隧道数据包的载荷格式
信息携带在会话描述协议SDP消息中发送给IP承载语音VoIP信令服务器,由
VoIP信令服务器根据所述隧道类型为所述隧道类型对应的传输隧道分配网络
侧的第二端口号,并将所述第二端口号发送给媒体网关和所述用户终端;
所述用户终端通过与所述媒体网关协商,在所述第一端口号和所述第二端
口号之间建立传输隧道。
3.如权利要求1或2所述的媒体传输方法,其特征在于,所述用户终端
根据STUN的探测结果,确定为待传输的媒体建立用于穿越防火墙的传输隧道
的隧道类型,包括:
所述用户终端向STUN服务器发送由用户数据报协议UDP承载的地址收

\t集请求,其中,所述地址收集请求用于获取防火墙分别为用于传输实时传输协
议RTP数据包的端口和用于传输实时传输控制协议RTCP数据包的端口分配的
公用地址;
所述用户终端在无法接收到STUN服务器返回的由UDP承载的地址收集
响应时,确定为待传输的媒体建立用于穿越防火墙的传输隧道的隧道类型为
TLS隧道类型。
4.如权利要求1至3任一所述的媒体传输方法,其特征在于,所述用户
终端在所述第一端口号和所述第二端口号之间建立传输隧道,具体包括:
若所述用户终端确定的隧道类型为TLS隧道类型,则所述用户终端在所述
第一端口号和所述第二端口号之间建立TLS隧道。
5.如权利要求1或2所述的媒体传输方法,其特征在于,用户终端根据
STUN的探测结果,确定为待传输的媒体建立用于穿越防火墙的传输隧道的隧
道类型,包括:
用户终端向STUN服务器发送由用户数据报协议UDP承载的地址收集请
求,其中,所述地址收集请求用于获取防火墙分别为用于传输实时传输协议
RTP数据包的端口和用于传输实时传输控制协议RTCP数据包的端口分配的公
用地址;
所述用户终端在接收到STUN服务器返回的地址收集响应时,进一步通过
所述用户终端的媒体端口向媒体网关对应的媒体端口发送媒体路径的STUN
连通性检测请求,其中,所述STUN连通性检测请求用以确定用户终端发送的
媒体的数据包是否可以直接到达所述媒体网关对应的媒体端口;
所述用户终端在尚未接收到所述媒体网关发送的STUN连通性检测响应
时,确定为待传输的媒体建立用于穿越防火墙的传输隧道的隧道类型为DTLS
隧道类型。
6.如权利要求1或2或5所述的媒体传输方法,其特征在于,所述用户
终端建立包含了所述第一端口号和所述第二端口号的传输隧道,具体包括:
若所述用户终端确定的隧道类型为DTLS隧道类型,则所述用户终端在所
述第一端口号和所述第二端口号之间建立DTLS隧道。
7.如权利要求1至6任一所述的媒体传输方法,其特征在于,通过以下
方式按照所述隧道数据包的载荷格式信息封装媒体的数据包:
若隧道类型为TLS隧道类型,则将媒体的数据包中包含的RTP协议数据
包/RTCP协议数据包与UDP协议数据包报头作为所述隧道数据包的载荷格式
信息封装在TLS隧道数据包中;或
若隧道类型为DTLS隧道类型,则将媒体的数据包中包含的RTP协议数据
包/RTCP协议数据包与UDP协议数据包报头作为所述隧道数据包的载荷格式
信息封装在DTLS隧道数据包中。
8.如权利要求7所述的媒体传输方法,其特征在于,所述UDP协议数据
包报头中包含的端口号分别为所述用户终端分配的媒体端口、所述媒体网关分
配的媒体端口。
9.如权利要求7或8所述的媒体传输方法,其特征在于,所述媒体传输
方法还包括:
所述用户终端对接收到的所述媒体数据包进行解封装,获取TLS隧道数据
包/DTLS隧道数据包中的媒体的数据包;
根据所述TLS隧道数据包/DTLS隧道数据包中UDP协议数据包报头中包
含的端口号,将所述媒体的数...

【专利技术属性】
技术研发人员:张旭武张进生
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1