一种sip网络系统中维持nat地址绑定的方法及其装置的制作方法

文档序号:7967640阅读:99来源:国知局
专利名称:一种sip网络系统中维持nat地址绑定的方法及其装置的制作方法
技术领域
本发明涉及一种基于初始会话协议(SIP)协议的多媒体通信网络系统及其 装置。
背景技术
以基于IP技术的语音通话(VoIP)为代表的多媒体通信协议作为一种典型 的宽带应用正面临着前所未有的发展机遇。在VoIP技术和标准方面,主要使用 的有协议有H.323、 MGCP和SIP,这三种通信协议都可以完成IP网络上的语音 处理。H.323协议应用较为广泛,而SIP协议以其更加开放、更易扩展、与Internet 紧密结合等特性,逐渐成为VoIP的主流协议。
然而,在目前的网络环境中,IPv4地址空间处于严重耗尽的境况。为解决这 个问题,人们设计出了网络地址转换(NAT)/端口地址解析(PAT)装置, NAT/PAT后的网络终端仅有私有IP地址,这些私有地址在公众网上是不可路由 的。NAT是将私有地址和公有地址一一对应,并在一定时间内保持这种对应关 系;PAT则是将私有地址+TCP/UDP端口转换并为一个公有地址+—个TCP/UDP 端口,通常会将多个私有地址对应一个公有地址,以不同的TCP/UDP端口进行 区分。
穿越NAT/PAT是SIP等多媒体通信协议普遍面临的一个问题是如何使位 于私有网络中NAT/PAT装置后的SIP终端成为被叫,NAT/PAT需要为SIP终 端建立永久的地址绑定关系,当该SIP终端完成注册过程后,如果一段时间内 没有来自该SIP终端的任何消息,NAT/PAT装置内的地址绑定将会过期,SIP 服务器中所记录的地址(NAT/PAT的公有地址/端口号)不再对应该SIP终端的 实际私有地址。
出于上述考虑,当前一般采用如下方式以维持NAT/PAT地址绑定关系 方式一位于私有网络中NAT/PAT装置后的SIP终端周期性地发送注册
(REGISTER)请求给位于公共网络中的SIP服务器,请求周期必须低于 NAT/PAT装置地址绑定周期,但是该方式具有如下缺点1)、相比其它 NON-INVITE请求方式,REGISTER请求需要消耗更多的SIP服务器资源;2)、 SIP服务器不能通过相应的REGISTER响应消息将一些有用的信息传递给SIP 终端;3)、所有的SIP终端都不得不支持这种周期性的"Pinging"方式。
方式二位于公共网络中的SIP服务器周期性地发送可选项OPTIONS (SIP 协议定义的一种请求方式,用于査询接收方性能)请求给位于私有网络中 NAT/PAT装置后的所有的SIP终端,请求周期必须低于NAT/PAT装置地址绑定 周期,但是该方式具有如下缺点1)、相比其它方式,响应OPTIONS请求需 要消耗更多的SIP终端资源,其响应消息中需要包含额外的头部信息,例如 Allow,Accept语言等,对SIP终端的性能影响较大;2)、可靠性差,当SIP服 务器处于过负荷工作状态而不能及时生成OPTIONS请求通知SIP终端,将导致 地址绑定过期;3)、可扩展性差,由于OPTIONS请求仅仅为简单的请求消息, 不可能携带额外信息给SIP终端。

发明内容
本发明通过SIP服务器周期性地向位于私有网络NAT/PAT装置后的SIP用 户代理发送NOTIFY消息、SIP用户代理通过响应NOTIFY消息使得NAT/PAT 装置维持对NAT地址绑定更新。
本发明目的在于提供一种SIP网络系统中维持NAT地址绑定的方法,SIP 用户代理通过私有网络的NAT/PAT装置与第二网络的SIP服务器相连,所述方法 包括如下步骤a) 、 SIP服务器周期性地生成一个NOTIFY消息给SIP用户代 理;b) 、 SIP用户代理响应所述NOTIFY消息以维持NAT/PAT装置对NAT地 址绑定。
优选地,前述步骤a)中,SIP服务器在所述NOTIFY消息中进一步包括其服 务器状态信息。
优选地,前述步骤a)中,SIP服务器在所述NOTIFY消息中进一步包括网络 参数配置信息。所述网络参数配置信息可以是重定向SIP服务器信息。
优选地,前述步骤b)中,SIP用户代理在NAT地址绑定周期终止前没有收到
NOTIFY消息,生成一个用于维持所述NAT地址绑定的OPTIONS请求消息。 优选地,本发明上述方法进一步包括步骤c), SIP用户代理根据NOTIFY消
息所携带的服务器状态信息决定是否进行重定向操作。
本发明进一步目的在于提供一种SIP服务器,其特征在于包括一个控制装置
周期性地生成一个NOTIFY消息给私有网络的NAT/PAT装置的SIP用户代理。 优选地,所述控制装置进一步在所述NOTIFY消息中插入SIP服务器状态信息。
优选地,所述控制装置进一步在所述NOTIFY消息中插入网络参数配置信 息。所述网络参数配置信息可以是重定向SIP服务器地址信息。
本发明进一步目的还在于提供一种SIP用户代理,通过私有网络的NAT/PAT 装置与第二网络的SIP服务器相连,其特征在于包括识别装置识别来自SIP 服务器的非预订的NOTIFY消息;响应装置:对所述非预订的NOTIFY消息进行 响应,用于NAT/PAT装置维持NAT地址绑定。
优选地,SIP用户代理进一步包括计时装置:用于计算NAT地址绑定周期; 所述响应装置在NAT地址绑定周期内未收到非预订的NOTIFY消息计时装置触 发其生成OPTIONS请求消息以维持NAT/PAT装置对NAT地址绑定更新。
优选地,前述响应装置根据非预订的NOTIFY消息中的SIP服务器状态信息 决定是否进行重定向操作。
本发明进一步目的还在于提供了一种根据上述SIP用户代理、、NAT/PAT 装置、SIP服务器组成的SIP网络系统,其中,SIP用户代理通过私有网络的 NAT/PAT装置与第二网络的SIP服务器相连,其中SIP服务器周期性地生成 一个NOTIFY消息给私有网络的NAT/PAT装置的SIP用户代理;SIP用户代理 识别并响应所述NOTIFY消息;NAT/PAT装置根据来自SIP用户代理的响应消 息维持对NAT地址的绑定
本发明所带来的有益效果
1) 、本发明对整个SIP网络系统、以及SIP服务器、SIP用户代理的性能相 对影响较小,有效地维持了私有网络中NAT/PAT装置后的SIP用户代理的可连 接性,增加了 SIP网络系统的可靠性;
2) 、系统的可扩展性SIP服务器可以进一步通过扩展NOTIFY消息,通
过携带SIP服务器状态、网络参数等以指示SIP用户代理进行其它操作,如重新
定向等。


通过下面提出的结合附图的详细描述,本发明的特征、性质和优点将变得更 加明显,附图中相同的元件具有相同的标识,其中 图1是本发明SIP网络系统结构示意图2A是本发明所提供的维持NAT/PAT地址绑定方法实施例一;
图2B是本发明所提供的维持NAT/PAT地址绑定方法实施例二;
图3是本发明所提供的NOTIFY消息结构实施方式;
图4是根据本发明所提供的SIP服务器功能框图实施例;
图5是根据本发明所提供的SIP用户代理功能框图实施例。
具体实施例方式
下面结合附图,对本发明的优选实施方式进行详细的说明。
如图1所示本发明SIP网络系统结构示意图,它包括位于私有网络10中的
SIP用户代理12、 NAT/PAT装置11、以及位于公有网络20中的SIP服务器21。 SIP用户代理12主要指SIP端系统,包括处理SIP请求的用户代理客户 (UAC)和处理SIP响应的用户代理服务器(UAS),在SIP网络中具有SIP
用户代理功能的设备是工作站、SIP终端、综合接入媒体网关、呼叫代理等;
SIP服务器21的功能实体则有几种类型重定向服务器、代理服务器、注 册服务器。其中,代理服务器可以当作一个客户端或者是一个服务器。具有
解析能力,负责接收用户代理发来的请求,根据网络策略将请求发给相应的服
务器,并根据应答对用户做出响应,也可以将收到的消息改写后再发出;重定 向服务器负责规划SIP呼叫路由,它将获得的呼叫的下一跳地址信息告诉呼
叫方,呼叫方由此地址直接向下一跳发出申请,而重定向服务器则退出这个呼
叫控制过程;注册服务器用来完成UAS的登录,在SIP网络系统中所有的UAS 都要在网络上注册、登录,以便UAC通过服务器能找到。在实际使用中,这几 种服务器功能可共存于一个SIP服务器中,也可以分别存在于不同的SIP服务器中。
图2A是本发明所提供的维持NAT/PAT地址绑定方法实施例之一。
步骤S201、 S201', SIP用户代理12发送注册(REGISTER)请求消息给 位于公共网络20中的SIP服务器21,假设其目标IP地址为202.168.5.1、端口 号5060,其源地址为其在私有网络10中对应的私有地址172.24.161.89、端口 号5060; NAT/PAT装置11在完成源地址和端口转换后进一步将该REGISTER 请求发送给目标SIP服务器21,转换后的数据包源地址替换为NAT/PAT装置 11在公网20中所对应的202.168,5.100 (本例中源端口维持不变)。
步骤S202'、 S202, SIP服务器21在接收REGISTER请求消息后,对SIP 用户代理21进行身份验证,确认其合法后再对该用户的状态信息、IP地址信息 等进行更新,这里,SIP服务器记录的是NAT/PAT装置11分配给SIP用户代理 12的公共IP地址202.168.5.100、端口号5060, SIP服务器21在成功地解析和 执行了 Register请求后返回200 OK消息;NAT/PAT装置11完成目标地址(端 口)的替换转发给SIP用户代理21,转换后的200 OK消息目标IP地址为 172.24.161.89、目标端口号5060。
步骤S203' S203, SIP服务器21可通过静态配置或其他方式知道NAT/PAT 装置11的NAT地址绑定周期T1,在该T1周期结束前,SIP服务器21生成一 个NOTIFY消息发送给该SIP用户代理12,消息目标IP地址为202.168.5.100、 端口号5060 (NOTIFY消息的结构例将在后文中进一步明确);NAT/PAT装置 ll完成目标地址(端口)的替换转发给SIP用户代理21,转换后的NOTIFY消 息目标IP地址为172.24.161.89、目标端口号5060。
步骤S204、S204',SIP用户代理12在收到该NOTIFY消息后,对该NOTIFY 消息予以识别并予以响应,它以200 OK消息或其它非200最终响应方式予以应 答。值得说明的是,SIP用户代理12通常可以作为预订者使用登记(SUBSCRIBE) 消息来预订包括SIP服务器21在内的远端端点的状态变化通知,远端端点以 NOTIFY消息通知预订者它所预订的状态的变化,但SIP用户代理12 —般不会 对登记的NOTIFY消息予以应答,因此,SIP用户代理12有必要对该非预订的 的NOTIFY消息予以识别并予以响应;NAT/PAT装置11在接收到上述来自SIP 用户代理12的响应消息后,即可以维持对NAT地址绑定更新,并进一步将所
述响应消息在源地址、源端口替换后发送给SIP服务器。
在实际网络环境下,当SIP服务器21处于忙状态、没有及时生成NOTIFY 消息、或该NOTIFY消息无法有效送达SIP用户代理12(步骤S205')、致使SIP 代理12没有及时响应,将导致NAT/PAT装置11中的NAT地址绑定周期过期。 因此,作为本实施例的补充,如图例步骤S206、 S206',如果位于私有网络中的 SIP用户代理(12)在NAT地址绑定周期终止前没有收到NOTIFY消息,它将生 成 一个OPTIONS请求消息,通常OPTIONS请求消息通常用来查询另外 一 个SIP 用户代理或者SIP服务器的能力,本实施例中旨在作为一种补充方式用于 NAT/PAT装置11维持所述NAT地址绑定更新。
作为一种优选的实施方式,如图2B例步骤S213、 S213', SIP服务器21可 以进一步在生成的NOTIFY消息包含其服务器状态信息,如Normal(正常)或 OverLoad (过负荷)。如此,SIP用户代理12在获得SIP服务器21状态信息后 可进一步执行其他操作,例如它可以在获知SIP服务器21处于OverLoad状态, 它可以选择第二 SIP服务器21'进行注册(步骤S209,S209。,第二 SIP服务器的参 数配置可以根据DHCP、静态配置等方式予先配置在SIP用户代理12中。
作为一种优选的实施方式,SIP服务器21也可以在其生成的NOTIFY消息 中包括网络参数配置信息。例如当该SIP服务器状态为OverLoad时,它可以 进一步将第二 SIP服务器21'的地址等参数附加在该NOTIFY消息中,SIP用户 代理12在获得SIP服务器状态信息、第二 SIP服务器21'地址后可进一步执行重 定向操作、选择第二 SIP服务器21进行注册(步骤S209,S209〕,方便了系统管 理.'
图3进一步示意了上述实施方式中的一种NOTIFY消息数据包结构例,该 消息包括IP头、UDP头、SIP LOAD三部分IP头、UDP头部分分别包含了数 据包对应的目标设备NAT/PAT 11的IP地址"202.168.5.100"及对应目标端口 号"5060"等信息;SIP LOAD部分包括
(1) 起始行起始行传达消息类型NOTIFY与协议版本2.0;
(2) SIP头用来传递消息属性。这里,SIP的头部字段定义了 From: 指示请求的发端;TO:指示请求的收端;Call-ID:用于唯一标识一个特定的会 话或标识某一客户的所有登记;Cs叫表示命令序列号;Contact:给出直接通 信的地址;
(3)消息体用于描述被初始的会话。清晰区别了在起始行和SIP头中传 递的信令信息与在SIP范围之外的会话描述信息。消息体中包括一项用于指示 SIP服务器状态信息的标识"<baSic>OverLoad</basic〉";以及通知接收该 NOTIFY消息的SIP用户代理进行重定向操作的第二 SIP服务器21''的地址参 数。
图4是根据本发明思想的所提供的SIP服务器21功能框图,它包括网络接口 装置4K网络协议处理装置42、 SIP协议处理装置43三大部分。网络接口装置 41为服务器提供与传输介质无关的接口形式,例如有线、无线、光传输等方式; 网络协议处理装置42为所接收、发送的数据包进行网络层的解封装、封装处理, 例如它根据所接收的数据包的相关信息(如图3中NOTIFY数据包结构IP、 UDP包头中的目的地址信息、端口信息)向上层的SIP协议处理装置43提供IP 数据包的所承载的SIP消息;SIP协议处理装置43对所接收的SIP LOAD中的 纯文本信令协议进行处理,以用来建立、修改、和终止SIP会话。
上述SIP协议处理装置43可以包括注册处理装置431、它接收来自SIP用 户代理的Register请求,对其进行身份验证,确认其合法后再对其状态信息、IP 地址信息等进行更新,生成注册表432。
根据本发明所提供的实施例,为了触发位于私有网络(10)的NAT7PAT装置 11后的SIP用户代理12产生一个用于维持NAT地址绑定的响应消息,SIP协议 处理装置43包含一个控制装置434,它可以根据一个定时装置433的触发、周 期性地生成一个给注册SIP用户代理的NOTIFY消息。这里,SIP服务器可通过 静态配置或其他方式知道NAT/PAT装置11的NAT地址绑定周期Tl,配置在 注册表432相应SIP用户代理条目下。
前述控制装置434还可以进一步在生成的NOTIFY消息包含其服务器状态 信息,如Normal或OverLoad,如此,接收该NOTIFY消息的SIP用户代理在获 得SIP服务器状态信息后可进一步执行其他操作,例如它在获知SIP服务器处 于OverLoad状态,可以选择第二 SIP服务器进行注册,第二SIP服务器的参数 配置可以根据DHCP、静态配置等方式予先配置在SIP用户代理中。
前述控制装置434还可以进一步在生成的NOTIFY消息包含网络参数配置 信息,例如当服务器状态为OverLoad时,它可以进一步将一个第二 SIP服务 器地址等参数附加在该NOTIFY消息中,接收该NOTIFY消息的SIP用户代理 在获得SIP服务器状态信息、第二 SIP服务器地址后可进一步执行重定向操作、 选择第二 SIP服务器进行注册,方便了系统管理。
图5是根据本发明所提供的SIP用户代理12功能框图实施例,不失一般性, 它包括网络接口装置51、网络协议处理装置52、 SIP协议处理装置53三大部分; 其中,SIP协议处理装置53包括一个注册请求装置531,它发起Register请求。
根据本发明所提供的方法及SIP服务器,结合图1示意,为了使SIP用户 代理12所在的私有网络10的NAT/PAT装置11维持对其NAT地址的绑定,公 有网络20中的SIP服务器21周期性地发送NOTIFY消息给SIP用户代理12。 因此,SIP协议处理装置53需要一个识别装置532,它识别来自SIP服务器的非 预订的NOTIFY消息由于SIP用户代理通常可以作为预订者使用登记
(SUBSCRIBE)消息来预订包括SIP服务器在内的远端端点的状态变化通知, 远端端点以NOTIFY消息通知预订者它所预订的状态变化,但SIP用户代理一 般不会对登记的NOTIFY消息予以应答,因此,SIP用户代理有必要对来自SIP 服务器21该非预订的NOTIFY消息予以识别。SIP协议处理装置53还需要包括 一个响应装置533,对所述非预订的NOTIFY消息进行响应,用于NAT/PAT装 置维持NAT地址绑定,它以200 OK消息或其它非200最终响应方式予以应答。
前述SIP协议处理装置53还可以进一步包含一个计时装置534:用于计算 NAT地址绑定过期时间,当响应装置533在一个NAT地址绑定过期前没有对所 述非预订的NOTIFY消息进行响应,该计时装置534将触发所述响应装置533 生成一个用于NAT/PAT装置维持NAT地址绑定的OPTIONS请求消息(相反, 当响应装置533已经对对所述非预订的NOTIFY消息进行响应,它可以同时对 计时装置534进行复位处理以解除其对OPTIONS请求的触发),通常OPTIONS 请求消息用来査询另外一个SIP用户代理或者SIP服务器的能力,本实施例中旨 在作为一种补充方式用于NAT/PAT装置11维持所述NAT地址绑定。
与本发明实施例中所提供的SIP服务器相对应,所述响应装置533还可以解 析所接收到的NOTIFY消息,根据其提供的SIP服务器状态信息、网络参数配 置信息,决定是否进行重定向操作,例如在当前SIP服务器处于OverLoad状态,它触发注册单元531向第二 SIP服务器发出Register请求。第二 SIP服务器IP 地址等参数信息可以DHCP等方式予以配置或由所接收的NOTIFY消息中的网 络参数提供。
本领域的技术人员能进一步理解,结合这里公开的实施例所描述的各种说 明性的逻辑块、模块和算法步骤可以作为电子硬件、计算机软件或二者的组合 来实现。为了清楚说明硬件和软件之间的互换性,各种说明性的组件、框图、 模块、电路和步骤一般按照其功能性进行了阐述。这些功能性究竟作为硬件或 软件来实现取决于整个系统所采用的特定的应用程序和设计。技术人员可以认 识到这些情况下硬件和软件的交互性,以及怎样最好地实现每个特定应用程序 的所述功能。技术人员可能以对于每个特定应用不同的方式来实现所述功能, 但这种实现决定不应被解释为造成背离本发明的范围。
上述实施例所描述的各种说明性的逻辑装置可能直接包含在硬件模块中, 由处理器执行的软件模块中或在两者当中。硬件模块的实现或执行可以用通 用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、场可编程门阵 列(FPGA)或其它可编程逻辑器件、离散门或晶体管逻辑、离散硬件组件或为 执行这里所述功能而设计的任意组合;软件模块可能驻留在RAM存储器、闪存、 ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、 CD-ROM或本领域中已知的任何其它形式的存储媒质中。
尽管上述说明为本发明提供了一些实施例,并非用来限定本发明的保护范 围,本技术领域的专业人员可以在不脱离本发明的范围和精神的前提下,对实 施例进行各种修改,这种修改均属于本发明的范围内。
权利要求
1、一种初始会话协议(SIP)网络系统中维持网络地址转换(NAT)地址绑定的方法,SIP用户代理通过私有网络的地址转换/端口地址解析(NAT/PAT)装置与第二网络的SIP服务器相连,所述方法包括如下步骤a)、SIP服务器周期性地生成一个通知(NOTIFY)消息给SIP用户代理;b)、SIP用户代理响应所述NOTIFY消息以维持NAT/PAT装置对NAT地址绑定。
2、 如权利要求l所述方法,其特征在于所述步骤a)中,SIP服务器在所述 NOTIFY消息中进一步包括其服务器状态信息。
3、 如权利要求1或2所述方法,其特征在于所述步骤a)中,SIP服务器在 所述NOTIFY消息中进一步包括网络参数配置信息。
4、 如权利要求3所述方法,其特征在于所述步骤a)中,SIP服务器在所述 网络参数配置信息可以是重定向SIP服务器信息。
5、 如权利要求1所述方法,其特征在于所述步骤b)中,SIP用户代理在 NAT地址绑定周期终止前没有收到NOTIFY消息,生成一个用于维持所述NAT 地址绑定的可选项(OPTIONS)请求消息。
6、 如权利要求2至5所述方法,其特征在于所述方法进一步包括步骤c), SIP用户代理根据NOTIFY消息所携带的服务器状态信息决定是否进行重定向 操作。
7、 一种SIP服务器,其特征在于包括控制装置:周期性地生成一个NOTIFY消息给私有网络的NAT/PAT装置的 SIP用户代理。
8、 如权利要求7所述的SIP服务器,其特征在于所述控制装置进一步在所 述NOTIFY消息中插入SIP服务器状态信息。
9、 如权利要求7或8所述的SIP服务器,其特征在于所述控制装置进一步 在所述NOTIFY消息中插入网络参数配置信息。
10、 如权利要求9所述的SIP服务器,其特征在于所述网络参数配置信息 可以是重定向SIP服务器地址信息。
11、 一种SIP用户代理,通过私有网络的NAT/PAT装置与第二网络的SIP 服务器相连,其特征在于包括识别装置识别来自SIP服务器的非预订的NOTIFY消息; 响应装置:对所述非预订的NOTIFY消息进行响应,用于NAT/PAT装置维 持NAT地址绑定。
12、 如权利要求11所述的SIP终端,其特征在于它进一步包括 计时装置:用于计算NAT地址绑定周期;所述响应装置在NAT地址绑定周期内未收到非预订的NOTIFY消息计时装 置触发其生成OPTIONS请求消息以维持NAT/PAT装置对NAT地址绑定更新。
13、 如权利要求11或12所述的SIP终端,其特征在于所述响应装置根据 非预订的NOTIFY消息中的SIP服务器状态信息决定是否进行重定向操作。
14、 一种SIP网络系统,包括SIP用户代理、NAT/PAT装置、SIP服务器, 其中,SIP用户代理通过私有网络的NAT/PAT装置与第二网络的SIP服务器相 连,其特征在于SIP服务器周期性地生成一个NOTIFY消息给私有网络的NAT/PAT装置的 SIP用户代理;SIP用户代理识别并响应所述NOTIFY消息;NAT/PAT装置根据来自SIP用户代理的响应消息维持对NAT地址的绑定。
全文摘要
本发明提供了一种SIP网络系统中的NAT地址绑定维持方法及其所对应的装置、系统,所述SIP网络系统中,SIP用户代理通过私有网络的NAT/PAT装置与第二网络的SIP服务器相连,该方法包括如下步骤a)SIP服务器周期性地生成一个NOTIFY消息给SIP用户代理;b)SIP用户代理响应所述NOTIFY消息以维持NAT/PAT装置对NAT地址绑定。根据本发明提供的方法及装置,有效地维持了私有网络中SIP用户代理的可连接性,增加了SIP网络系统的可靠性。
文档编号H04L29/06GK101197808SQ20061011937
公开日2008年6月11日 申请日期2006年12月8日 优先权日2006年12月8日
发明者刘方鑫, 杨大刚, 琪 王, 王俊文, 王英晨, 赵永刚, 陈杰军 申请人:上海贝尔阿尔卡特股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1