穿越防火墙的方法、客户端和媒体穿越服务器技术

技术编号:9338481 阅读:114 留言:0更新日期:2013-11-13 18:46
本发明专利技术提供穿越防火墙的方法、客户端和媒体穿越服务器。该方法包括:确定局域网中客户端的地址;向会话初始化协议SIP服务器发送包含所述客户端的地址的信息;接收所述SIP服务器发送的包含网络侧的媒体穿越服务器MTS地址的信息;根据所述客户端的地址以及所述MTS的地址,建立所述客户端与所述MTS之间的用于传输SIP媒体数据的隧道,所述隧道穿越所述客户端与所述MTS之间的所述局域网的防火墙,所述SIP媒体数据包括实时传输协议RTP数据和实时传输控制协议RTCP数据。本发明专利技术实施中,通过在客户端与网络侧的MTS之间的媒体平面建立一条穿越隧道,使得RTP、RTCP等媒体数据都可以通过该隧道进行传输,从而降低了呼叫过程的耗时,提高了用户体验。

【技术实现步骤摘要】
【国外来华专利技术】穿越防火墙的方法、客户端和媒体穿越服务器
本专利技术实施例涉及通信领域,并且更具体地,涉及一种穿越防火墙的方法、客户端、SIP服务器和媒体穿越服务器。
技术介绍
网际协议多媒体子系统(InternetProtocolMultimediaSubsystem,IMS)作为移动网络和固定网络相融合的基石,广泛应用于各种网络环境中。IMS采用会话初始化协议(SessionInitiationProtocol,SIP)作为会话信令协议,在客户端与IMS网络之间可以建立一个实时传输协议(Real-TimeTransportProtocol,RTP)的传输通道,以及一条实时传输控制协议(Real-timeTransportControlProtocol,RTCP)传输通道,利用该传输通道可以传输VoIP(VoiceofIP,IP承载语音)等实时数据信息;也可以建立消息会话中继协议(MessageSessionRelayProtocol,MSRP)传输通道,利用该通道可以传输视频、游戏、共享内容等IP多媒体业务。考虑网络的安全性,企业网络或局域网与公网之间普遍部署了防火墙来保障内网的安全性。但是,出于安全考虑,防火墙只开放少量的端口,或者通过HTTP代理方式,只允许超文本传输协议(HTTP,HypertextTransferProtocol)报文通过,造成RTP/RTCP报文无法通过防火墙,导致使得内网中的客户端无法与IMS网络进行通信,即内网中的客户端与IMS网络之间存在防火墙的穿越问题。现有技术中,常见的防火墙穿越问题有:网络地址转换(NetworkAddressTranslation,NAT)问题和限制性防火墙穿越问题。在NAT问题中,局域网中的客户端使用私有IP地址和端口,不能够直接与处于公网的IMS网络进行通信,而是由防火墙提供NAT功能,为客户端分配一个公有地址,然后将此公有地址与该客户端的私有地址绑定后才可以与公网通信。目前第三代合作伙伴计划(The3rdGenerationPartnership,3GPP)使用交互式连接建立(InteractiveConnectivityEstablishment,ICE)方案解决了NAT穿越问题。ICE方案包括STUN(SimpleTraversalofUDPthroughNAT,UDP包的简单NAT穿越)、TURN(TraversalUsingRelayNetworkAddressTranslation,通过Relay方式穿越NAT)以及ICE等多种协议,其核心思想都是建立客户端的私有地址和公有地址的绑定关系,利用客户端的公有地址与IMS网络进行通信。在限制性防火墙穿越问题中,防火墙不但可能限制允许通过的防火墙端口,也可能限制允许通过防火墙的报文的类型。目前,提出一种ICEoverTLS(TransportLayerSecurity,传输层安全)穿越方案。该方案对基于TURN的ICE方案的进行优化,UE与TURN服务器之间协商建立多条TLS隧道,不同的媒体报文通过不同TLS隧道实现防火墙穿越。但是,由于UE与TURN建立TLS连接的握手协商过程非常复杂,造成呼叫过程耗时长;而且,由于不同的TLS隧道封装不同的媒体流,所以每次呼叫UE与TURN服务器之间都需要建立多条TLS隧道,例如,要传输VoIP业务,UE至少需要与TRUN服务器之间同时建立承载TURN控制信息的TLS隧道、传输RTP数据的TLS隧道以及传输RTCP数据的TLS隧道,进一步增加了呼叫过程耗时,用户体验差。
技术实现思路
本专利技术实施例提供一种穿越防火墙的方法、客户端、SIP服务器和媒体穿越服务器,降低了呼叫过程的耗时,提高了用户体验。第一方面,提供一种穿越防火墙的方法,包括:确定局域网中客户端的地址;向会话初始化协议SIP服务器发送包含所述客户端的地址的信息;接收所述SIP服务器发送的包含网络侧的媒体穿越服务器MTS的地址的信息;根据所述客户端的地址以及所述MTS的地址,建立所述客户端与所述MTS之间的用于传输SIP媒体数据的隧道,所述隧道穿越局域网的防火墙,所述SIP媒体数据包括实时传输协议RTP数据和实时传输控制协议RTCP数据。结合第一方面,在第一方面的一种实现方式中,所述确定局域网中客户端的地址包括:确定所述客户端的地址,所述客户端的地址包括客户端的公有网际协议IP地址和客户端的公有端口。结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述接收所述SIP服务器发送的包含网络侧的MTS的地址的信息包括:接收所述包含所述MTS的地址的信息,所述MTS的地址包括所述MTS的公有IP地址和所述MTS的公有端口;则,所述根据所述客户端的地址以及所述MTS的地址,建立所述客户端与所述MTS之间的用于传输SIP媒体数据的隧道,包括:根据所述客户端的公有IP地址、所述客户端的公有端口、所述MTS的公有IP地址以及所述MTS的公有端口,建立所述隧道。结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,在所述确定所述客户端的地址之前,还包括:判断所述防火墙是否需要进行网络地址转换NAT;则,在确定所述防火墙需要进行NAT时,所述确定所述客户端的地址包括:获取所述客户端的私有IP地址,并分配所述客户端的私有端口;根据所述客户端的私有IP地址和所述客户端的私有端口查询所述客户端的公有IP地址和所述客户端的公有端口。结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述根据所述客户端的私有IP地址和所述客户端的私有端口查询所述客户端的公有IP地址和所述客户端的公有端口包括:获取所述MTS的公有IP地址;根据所述客户端的私有端口以及所述MTS的公有IP地址,与所述MTS的特定端口建立传输控制协议TCP连接,所述特定端口的端口号与所述防火墙允许通过的端口的端口号相同;通过所述TCP连接查询所述客户端的地址。结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述获取所述MTS的公有IP地址包括:向所述SIP服务器发送用于请求所述MTS的公有IP地址的请求消息;接收所述SIP服务器发送的请求响应消息,所述请求响应消息中携带所述MTS的公有IP地址。结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,在确定所述防火墙不需要进行NAT时,所述确定所述客户端的地址包括:获取所述客户端的公有IP地址;探测所述防火墙允许通过的特定端口;将所述防火墙允许通过的特定端口作为所述客户端的公有端口。结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,还包括:确定所述防火墙支持的传输协议,所述传输协议包括TCP和用户数据包协议UDP中的至少一种;向所述SIP服务器发送用于指示所述传输协议的信息;当通过所述隧道向所述MTS发送数据时,利用所述传输协议对所述数据进行封装;当接收所述MTS通过所述隧道发送的数据时,利用所述传输协议对所述数据进行解封装。第二方面,提供一种穿越防火墙的方法,包括:接收包含局域网中客户端的地址的信息;分配媒体穿越服务器MTS的公有端口;向所述客户端发送包含MTS的地址的信息,所述MTS地址包括所述MTS的公有端口以及获取的MTS的公有IP地址,并向所述MTS发送本文档来自技高网
...
穿越防火墙的方法、客户端和媒体穿越服务器

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种穿越防火墙的方法,其特征在于,包括:确定局域网中客户端的地址,所述客户端的地址包括所述客户端的公有网际协议IP地址和所述客户端的公有端口;向会话初始化协议SIP服务器发送包含所述客户端的地址的信息;接收所述SIP服务器发送的包含网络侧的媒体穿越服务器MTS的地址的信息,所述MTS的地址包括所述MTS的公有IP地址和所述MTS的公有端口;根据所述客户端的地址以及所述MTS的地址,建立所述客户端与所述MTS之间的用于传输SIP媒体数据的隧道,所述隧道穿越所述局域网中的防火墙,所述SIP媒体数据包括实时传输协议RTP数据和实时传输控制协议RTCP数据,其中,所述防火墙为端口或允许通过的报文类型受限的限制性防火墙,包含所述RTP数据和所述RTCP数据的数据包作为净荷封装在所述隧道的隧道数据包中,所述隧道数据包的隧道包头包括所述MTS的公有IP地址和公有端口,以及所述客户端的公有IP地址和公有端口,所述隧道数据包的封装类型为所述防火墙允许通过的报文类型。2.如权利要求1所述的方法,其特征在于,在所述确定局域网中客户端的地址之前,还包括:判断所述防火墙是否需要进行网络地址转换NAT;则,在确定所述防火墙需要进行NAT时,所述确定局域网中客户端的地址包括:获取所述客户端的私有IP地址,并分配所述客户端的私有端口;根据所述客户端的私有IP地址和所述客户端的私有端口,查询所述客户端的公有IP地址和所述客户端的公有端口。3.如权利要求2所述的方法,其特征在于,所述根据所述客户端的私有IP地址和所述客户端的私有端口,查询所述客户端的公有IP地址和所述客户端的公有端口包括:获取所述MTS的公有IP地址;根据所述客户端的私有端口以及所述MTS的公有IP地址,与所述MTS的特定端口建立传输控制协议TCP连接,所述特定端口的端口号与所述防火墙允许通过的端口的端口号相同;通过所述TCP连接查询所述客户端的地址。4.如权利要求3所述的方法,其特征在于,所述获取所述MTS的公有IP地址包括:向所述SIP服务器发送用于请求所述MTS的公有IP地址的请求消息;接收所述SIP服务器发送的请求响应消息,所述请求响应消息中携带所述MTS的公有IP地址。5.如权利要求2-4中任一项所述的方法,其特征在于,在确定所述防火墙不需要进行NAT时,所述确定局域网中客户端的地址包括:获取所述客户端的公有IP地址;探测所述防火墙允许通过的特定端口;将所述防火墙允许通过的特定端口作为所述客户端的公有端口。6.如权利要求1-4中任一项所述的方法,其特征在于,还包括:确定所述防火墙支持的传输协议,所述传输协议包括TCP和用户数据包协议UDP中的至少一种;向所述SIP服务器发送用于指示所述传输协议的信息;当通过所述隧道向所述MTS发送数据时,利用所述传输协议对所述数据进行封装;当接收所述MTS通过所述隧道发送的数据时,利用所述传输协议对所述数据进行解封装。7.一种穿越防火墙的方法,其特征在于,包括:接收包含局域网中客户端的地址的信息,所述客户端的地址包括所述客户端的公有网际协议IP地址和所述客户端的公有端口;分配媒体穿越服务器MTS的公有端口;向所述客户端发送包含MTS的地址的信息,所述MTS地址包括所述MTS的公有端口以及获取的MTS的公有IP地址,并向所述MTS发送包含所述客户端的地址以及所述MTS的公有端口的信息,以便所述客户端与所述MTS之间建立用于传输会话初始化协议SIP媒体数据的隧道,所述隧道穿越所述局域网中的防火墙,所述SIP媒体数据包括实时传输协议RTP数据和实时传输控制协议RTCP数据,其中,所述防火墙为端口或允许通过的报文类型受限的限制性防火墙,包含所述RTP数据和所述RTCP数据的数据包作为净荷封装在所述隧道的隧道数据包中,所述隧道数据包的隧道包头包括所述MTS的公有IP地址和公有端口,以及所述客户端的公有IP地址和公有端口,所述隧道数据包的封装类型为所述防火墙允许通过的报文类型。8.如权利要求7所述的方法,其特征在于,所述分配MTS的公有端口包括:将所述防火墙允许通过的端口的端口号作为所述MTS的公有端口的端口号。9.如权利要求7或8所述的方法,其特征在于,在所述接收包含局域网中客户端的地址的信息之前,还包括:接收所述客户端发送的用于请求所述MTS的公有IP地址的请求消息;向所述客户端发送请求响应消息,所述请求响应消息中携带所述MTS的公有IP地址。10.如权利要求7或8所述的方法,其特征在于,还包括:接收所述客户端发送的用于指示所述防火墙支持的传输协议的信息,所述传输协议包括TCP和用户数据包协议UDP中的至少一种;向所述MTS发送用于指示所述传输协议的信息。11.如权利要求7或8所述的方法,其特征在于,还包括:向所述MTS发送包含媒体网关的地址以及所述客户端的地址的信息。12.一种穿越防火墙的方法,其特征在于,包括:接收会话初始化协议SIP服务器发送的包含局域网中客户端的地址以及MTS的公有端口的信息,所述客户端的地址包括所述客户端的公有网际协议IP地址和所述客户端的公有端口;根据所述客户端的地址以及所述MTS的地址,建立所述MTS与所述客户端之间的用于传输SIP媒体数据的隧道,所述MTS的地址包括所述MTS的公有IP地址和所述MTS的公有端口,所述隧道穿越所述局域网中的防火墙,所述SIP媒体数据包括实时传输协议RTP数据和实时传输控制协议RTCP数据,其中,所述防火墙为端口或允许通过的报文类型受限的限制性防火墙,包含所述RTP数据和所述RTCP数据的数据包作为净荷封装在所述隧道的隧道数据包中,所述隧道数据包的隧道包头包括所述MTS的公有IP地址和公有端口,以及所述客户端的公有IP地址和公有端口,所述隧道数据包的封装类型为所述防火墙允许通过的报文类型。13.如权利要求12所述的方法,其特征在于,在所述接收SIP服务器发送的包含局域网中客户端的地址以及MTS的公有端口的信息之前,还包括:与所述客户端建立传输控制协议TCP连接,以便所述客户端根据所述TCP连接查询所述客户端的公有IP地址和所述客户端的公有端口。14.如权利要求12或13所述的方法,其特征在于,还包括:接收所述SIP服务器发送的用于指示所述防火墙支持的传输协议的信息,所述传输协议包括TCP和用户数据包协议UDP中的至少一种;当通过所述隧道向所述客户端发送数据时,利用所述传输协议对所述数据进行封装;当接收所述客户端通过所述隧道发送的数据时,利用所述传输协议对所述数据进行解封装。15.如权利要求12或13所述的方法,其特征在于,还包括:接收所述SIP服务器发送的包含媒体网关的地址的信息。16.一种客户端,其特征在于,包括:确定单元,用于确定局域...

【专利技术属性】
技术研发人员:张旭武孟斌
申请(专利权)人:华为技术有限公司
类型:
国别省市:

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

1