基于SIP媒体能力重协商的NAT穿越方法、代理服务器和系统技术方案

技术编号:10212854 阅读:253 留言:0更新日期:2014-07-12 21:10
本发明专利技术公开了一种基于SIP媒体能力重协商的NAT穿越方法、代理服务器和系统,第一终端和第二终端中的至少一个位于私网,代理服务器位于公网,该方法包括:代理服务器分别接收来自第一终端和第二终端的媒体码流,并获取第一终端和第二终端的公网地址和公网端口号;代理服务器发起媒体能力重协商,将获取的第一终端的公网地址和公网端口号通知给第二终端,将获取的第二终端的公网地址和公网端口号通知给第一终端。

【技术实现步骤摘要】
基于SIP媒体能力重协商的NAT穿越方法、代理服务器和系 统
本专利技术涉及NAT穿越
,特别是指一种基于SIP媒体能力重协商的NAT穿越方法、代理服务器和系统
技术介绍
现有的SIP (Session Initiation Protocol,会话启动协议)穿越 NAT (NetworkAddress Translation,网络地址转换)技术,主要基于以下的思路:SIP信令通道通过终端的注册请求打穿NAT,后续通过注册刷新维持信令通道。终端发送的后续所有信令消息共用注册通道传送,而服务器则沿着注册通道的反向路径传送消息。媒体码流也采用类似技术,首先是终端向服务器发送RTP (Real-time Transport Protocol,实时传输协议)包,NAT将会给此RTP流打开一个端口,然后服务器将沿着此RTP流的方向路径发送RTP包。目前,NAT穿越技术的方案有以下几种:KSTUN(Simple Traversal of UDP over NATs,NAT 的 UDP 简单穿越)协议,终端与STUN服务器进行交互,从而确定NAT分配给它们的公网地址和端口号;2、TURN (Traversal Using Relay NAT)协议,是一种通过中继方式穿越NAT的方式,私网终端发出的报文都要经过TURN服务器进行中继转发;3、ICE (Interactive Connectivity Establishment,互动式连接建立),是一个综合解决方案,它通过连接性测试来选取传输通道,它所提供的是一种框架,使各种NAT穿透技术可以实现统一;4、SBC(Session Border Controller,会话边缘控制器)是一种比较完善的解决方案,它对原有网络没有任何要求,不需要终端做任何改造,终端的信令、媒体码流都需要经过SBC进行媒体转发。上述方案存在以下几点不足:1、需要对现有网络进行改造,根据上述不同的NAT穿越技术,终端必须要支持STUN,TURN或ICE协议,并且要部署穿越服务器(与一般的NAT设备不同,需要独立部署),它实现了 STUN或TURN服务器或SBC功能,代价较高。2、需要穿越服务器进行媒体码流中转,无法在终端之间建立直连的媒体码流。
技术实现思路
有鉴于此,本专利技术实施例的主要目的在于提供一种基于SIP媒体能力重协商的NAT穿越方法、代理服务器和系统,以解决现有适用SIP的NAT穿越技术方案中存在的需要部署代价较高的穿越服务器以及无法在终端之间建立直连的媒体码流的问题。为达到上述目的,本专利技术的技术方案是这样实现的:本专利技术实施例提供了一种基于SIP媒体能力重协商的NAT穿越方法,第一终端和第二终端中的至少一个位于私网,代理服务器位于公网,该方法包括:所述代理服务器分别接收来自第一终端和第二终端的媒体码流,并获取所述第一终端和第二终端的公网地址和公网端口号;所述代理服务器发起媒体能力重协商,将获取的所述第一终端的公网地址和公网端口号通知给所述第二终端,将获取的所述第二终端的公网地址和公网端口号通知给所述第一终端。本专利技术实施例还提供了 一种代理服务器,所述代理服务器位于公网,包括:获取模块,用于分别接收来自第一终端和第二终端的媒体码流,并获取第一终端和第二终端的公网地址和公网端口号;所述第一终端和第二终端中的至少一个位于私网;媒体能力重协商模块,用于发起媒体能力重协商,将获取的所述第一终端的公网地址和公网端口号通知给所述第二终端,将获取的所述第二终端的公网地址和公网端口号通知给所述第一终端。本专利技术实施例还提供了一种基于SIP媒体能力重协商的NAT穿越系统,包括上述的代理服务器、第一终端和第二终端,其中:所述代理服务器,用于分别接收来自第一终端和第二终端的媒体码流,并获取所述第一终端和第二终端的公网地址和公网端口号;还用于发起媒体能力重协商,将获取的所述第一终端的公网地址和公网端口号通知给所述第二终端,将获取的所述第二终端的公网地址和公网端口号通知给所述第一终端;所述第一终端,用于向所述第二终端的公网地址和公网端口号发送媒体码流;所述第二终端,用于向所述第一终端的公网地址和公网端口号发送媒体码流。本专利技术实施例还提供了一种基于SIP媒体能力重协商的NAT穿越装置,该装置包括硬件处理服务器,其中:所述硬件处理服务器,用于分别接收来自第一终端和第二终端的媒体码流,并获取所述第一终端和第二终端的公网地址和公网端口号;还用于发起媒体能力重协商,将获取的所述第一终端的公网地址和公网端口号通知给所述第二终端,将获取的所述第二终端的公网地址和公网端口号通知给所述第一终端。本专利技术上述基于SIP媒体能力重协商的NAT穿越方法、代理服务器和系统中:第一终端和第二终端中的至少一个位于私网,代理服务器位于公网;代理服务器分别接收来自第一终端和第二终端的媒体码流,并获取第一终端和第二终端的公网地址和公网端口号;代理服务器发起媒体能力重协商,将获取的第一终端的公网地址和公网端口号通知给第二终端,将获取的第二终端的公网地址和公网端口号通知给第一终端。之后,第一终端和第二终端可以基于对方的公网地址和公网端口号直接进行通信,无需代理服务器的转发;另外,上述技术方案的实现是基于现有的网络架构,无需对其进行改进,也无需设置专门的穿越服务器就实现了终端间的直接通信,节约了成本。【附图说明】图1为本专利技术实施例提供的基于SIP媒体能力重协商的NAT穿越过程示意图;图2为本专利技术实施一的媒体能力协商示意图;图3为本专利技术实施一的代理服务器接收媒体码流示意图;图4为本专利技术实施例一的媒体能力重协商示意图;图5为本专利技术实施二的媒体能力协商示意图;图6为本专利技术实施二的代理服务器接收媒体码流示意图;图7为本专利技术实施例二的媒体能力重协商示意图;图8为本专利技术实施例提供的代理服务器的结构示意图;图9为本专利技术实施例提供的基于SIP媒体能力重协商的NAT穿越系统不意图。【具体实施方式】下面结合附图和具体实施例对本专利技术的技术方案进一步详细阐述。在SIP会议电视的实际应用场景中,都会要求开放一定范围的媒体端口号,所以终端、MCU设备绝大部分都是处于完全锥形NAT (Full Cone NAT)中,也就是同一个媒体私网地址和媒体私网端口号发送过来的请求都会被映射到同一个媒体公网地址和媒体公网端口号,并且任何一个公网设备都可以通过这个映射的媒体公网地址和媒体公网端口号向这台私网设备发包。另外终端的媒体码流收发端口是相同的,即在同一个端口进行收发。如后续无特殊说明,本专利技术实施例所涉及的地址及端口(私网、公网)均为媒体码流收发地址和端口。基于这些特点,可以采用媒体能力重协商的方式通知终端设备,告知其对端的媒体码流收发地址及端口号,只要终端在进行媒体能力重协商时不改变本端的媒体码流收发端口,就可以实现媒体码流的NAT穿越。大致过程为:代理服务器(该代理服务器为SIP会议系统中的必备网元,负责终端的注册、信令的转发等功能,其本身不具备NAT穿越功能)通过接收第一终端发送的第一个媒体码流数据包学习到该终端的公网地址和公网端口号,然后,在对应的呼叫会话上代理服务器向对端终端(第二终端)发起媒体能力重协商(reinvite 消息或 update 消息),对应本文档来自技高网
...
基于SIP媒体能力重协商的NAT穿越方法、代理服务器和系统

【技术保护点】
一种基于SIP媒体能力重协商的NAT穿越方法,其特征在于,第一终端和第二终端中的至少一个位于私网,代理服务器位于公网,该方法包括:所述代理服务器分别接收来自第一终端和第二终端的媒体码流,并获取所述第一终端和第二终端的公网地址和公网端口号;所述代理服务器发起媒体能力重协商,将获取的所述第一终端的公网地址和公网端口号通知给所述第二终端,将获取的所述第二终端的公网地址和公网端口号通知给所述第一终端。

【技术特征摘要】
1.一种基于SIP媒体能力重协商的NAT穿越方法,其特征在于,第一终端和第二终端中的至少一个位于私网,代理服务器位于公网,该方法包括: 所述代理服务器分别接收来自第一终端和第二终端的媒体码流,并获取所述第一终端和第二终端的公网地址和公网端口号; 所述代理服务器发起媒体能力重协商,将获取的所述第一终端的公网地址和公网端口号通知给所述第二终端,将获取的所述第二终端的公网地址和公网端口号通知给所述第一终端。2.根据权利要求1所述基于SIP媒体能力重协商的NAT穿越方法,其特征在于,所述代理服务器分别接收来自第一终端和第二终端的媒体码流,并获取所述第一终端和第二终端的公网地址和公网端口号,包括: 在媒体能力协商过程中,所述代理服务器分别为所述第一终端和第二终端分配端口号,并将为所述第一终端分配的端口号通知给所述第二终端,将为所述第二终端分配的端口号通知给所述第一终端; 所述代理服务器在为所述第二终端分配的端口号监听、并接收来自所述第一终端的媒体码流;在为所述第一终端分配的端口号监听、并接收来自所述第二终端的媒体码流; 所述代理服务器从来自所述第一终端或第二终端的媒体码流中提取并记录所述第一终端或第二终端的公网地址和公网端口号。3.根据权利要求2所述基于SIP媒体能力重协商的NAT穿越方法,其特征在于,在媒体能力协商过程中,所述代理服务器分别为所述第一终端和第二终端分配端口号,并将为所述第一终端分配的端口号通知给所述第二终端,将为所述第二终端分配的端口号通知给所述第一终端,包括: 所述代理服务器接收来自第一终端的请求消息,为所述第一终端分配端口号,并将所述请求消息转发给所述第二终端;所述转发给所述第二终端的请求消息中携带所述代理服务器的公网地址和为所述第一终端分配的端口号; 所述代理服务器接收来自所述第二终端的响应消息,为所述第二终端分配端口号,并将所述响应消息转发给所述第一终端;所述转发给所述第一终端的响应消息中携带所述代理服务器的公网地址和为所述第二终端分配的端口号。4.根据权利要求2所述基于SIP媒体能力重协商的NAT穿越方法,其特征在于,所述代理服务器从来自所述第一终端或第二终端的媒体码流中提取并记录的所述第一终端或第二终端的公网地址和公网端口号为: 所述第一终端或第二终端位于私网时,由所述第一终端或第二终端的私网地址和私网端口号转换得到的公网地址和公网端口号; 所述第一终端或第二终端位于公网时,对应的所述媒体码流的源地址和源端口号为第一终端或第二终端的公网地址和公网端口号。5.根据权利要求1或4所述基于SIP媒体能力重协商的NAT穿越方法,其特征在于,在所述代理服务器获取所述第一终端和第二终端的公网地址和公网端口号之后;该方法还包括:所述代理服务器建立所述第一终端的公网地址、公网端口号与所述第二终端的公网地址、公网端口号的映射关系。6.根据权利要求1所述基于SIP媒体能力重协商的NAT穿越方法,其特征在于,所述代理服务器通过请求消息分别向所述第一终端和第二终端发起媒体能力重协商; 发送所述给所述第一终端的请求消息中携带所述第二终端的公网地址和公网端口号;发送所述给所述第二终端的请求消息中携带所述第一终端的公网地址和公网端口号。7.—种代理服务器,其特...

【专利技术属性】
技术研发人员:姚刚张强刘志鹏
申请(专利权)人:三亚中兴软件有限责任公司
类型:发明
国别省市:海南;66

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

1