会话初始协议应用系统的网络级备份方法、设备和系统的制作方法

文档序号:7954562阅读:231来源:国知局
专利名称:会话初始协议应用系统的网络级备份方法、设备和系统的制作方法
技术领域
本发明涉及一种会话初始协议(SIP)应用系统的网络级备份方法及采用该方法的设备和SIP应用系统。
背景技术
为了达到99.999%的电信服务可靠性要求,通常提供电信服务的每个网络设备内部有相应的可靠性机制。例如,网络设备通常由多块处理板组成,处理板间配置为主备用关系,正常情况下业务由主用工作板提供。当主用工作板故障,相应的备用工作板升为主用接替故障板的工作,保证了业务提供的连续性。
除设备内的可靠性机制外,运营商也关心网络的可靠性。为用户提供服务的某个网络设备因不可控因素,如地震、洪水等而彻底故障。运营商希望将该网络设备故障的影响减小到最低,继续为用户提供相应服务。网络可靠性有很多具体实现方案,网络可靠性的实现通常需要在两个主、备网络设备间备份或多或少的业务数据。
IETFRFC3261所定义的SIP协议,作为一种在两方或多方间创建、修改、终结会话的应用层协议,当前已得到业界的广泛支持,已广泛应用于各类多媒体会话的建立中。比如,3GPP的IMS网络以SIP协议为基础。SIP协议也可用于基于互联网(Internet)的各类会话控制。以SIP协议为基础的应用系统将越来越多地部署在电信运营商的网络中,为用户提供高质量的电信服务。
本发明关注SIP应用系统中,在主、备网络设备间备份业务数据的方法。
图1是一种现有技术的在主、备网络设备间备份业务数据的结构示意图。如图1所示,服务器P1为用户Bob提供服务。为保证主用服务器P1故障时,Bob仍然能够得到服务(接听Alice的呼叫),Bob的终端配置了两个SIP服务器P1和P2的IP地址。Bob终端在发起注册(REGISTER)时,分别同时注册在两个服务器。
当Alice的终端发现P1故障,将INVITE请求发往备用服务器P2。因Bob在P2已注册,因此P2可以为Bob服务,将来自Alice的呼叫请求(4)INVITE转发给Bob的终端。
在该方案中,达到同步SIP服务器P1与P2关于Bob的注册数据的目的,是通过Bob终端配置两个服务器地址,发起注册、注销时,同时分别与两个服务器交互而完成的。
为了使主、备用服务器中用户注册数据保持同步,用户终端要分别向主、备服务器发送注册请求并接收相应响应。相当于用户终端分别在主、备服务器上进行了注册,数据同步是由终端完成的。在该方案中,为同步网络设备间的数据而增加了对用户终端的要求,而实际的用户终端一般不支持这样的特殊功能,因此该方案不通用。
图2是另一种现有技术的在主、备网络设备间备份业务数据的结构示意图。
为使网络设备间的数据同步方案与终端无关,可在主、备服务器间进行数据动态实时备份。如图2所示,Bob只需要注册到服务器P1上,其注册相关数据被实时备份到服务器P2。当P1故障时,P2也可以为Bob提供服务。图中D1与D2为商业数据库,例如SQL服务器,接口“(3)database replication”为商业数据库提供的实时数据备份接口。
通过商业数据库提供的复制机制进行数据备份,显然要求网络设备的实现采用了现有的商用数据库技术。但网络设备的实现,基于成本、效率等各方面因素,绝大多数不会采用商用数据库。
如果网络设备的实现没有采用商用数据库,目前也存在通过私有协议在需同步数据的网络设备间传递备份数据的情形。但私有协议的可扩展性不强,往往与具体要备份的数据相关联。当增加了新的备份需求,要相应修改私有协议,不是一种通用的方法。

发明内容
本发明的目的是针对SIP应用系统提供克服以上困难的备份方法、采用该方法的设备和系统。
根据第一方面,本发明提供一种SIP应用系统的网络级备份方法,所述SIP应用系统包括通过网络相连的用户代理客户端、用户代理服务器和备用用户代理服务器,所述方法包括步骤基于自用户代理客户端发送给用户代理服务器的第一请求消息,产生第二请求消息,其中所述第一和第二请求消息包括状态数据;将第二请求消息发送给备用用户代理服务器;备用用户代理服务器接收到第二请求消息后,创建状态数据。
在第一方面中,优选的是,所述产生步骤和发送步骤是由所述用户代理服务器完成的。
优选的是,所述SIP应用系统包括SIP代理服务器(Proxy),所述产生步骤和发送步骤由该SIP代理服务器在收到来自用户代理服务器的针对第一请求消息的成功响应消息后完成。
优选的是,所述产生第二请求消息的步骤包括,通过在第一请求消息的route(路由)头域中添加备用用户代理服务器的地址而产生第二请求消息。
优选的是,所述状态数据包括订阅状态数据或注册状态数据。
优选的是,所述方法包括一个确认响应消息由备用用户代理服务器返回给第二请求消息的发送者,且不被该发送者继续路由的步骤。
优选的是,所述第二消息的超时数值是用户代理服务器确定的超时数值。
根据第二方面,提供一种在SIP应用系统中的用户代理服务器,所述SIP应用系统还包括通过网络与用户代理服务器相连的用户代理客户端和备用用户代理服务器,所述用户代理服务器包括基于自用户代理客户端发送给用户代理服务器的第一请求消息,产生第二请求消息的装置,其中所述第一和第二请求消息包括状态数据;将第二请求消息发送给备用用户代理服务器的装置,以便备用用户代理服务器创建状态数据。
在第二方面中,优选的是所述用户代理服务器包括接收来自备用用户代理服务器的确认响应消息且不将其继续路由的装置。
根据第三方面,提供一种在SIP应用系统中的备用用户代理服务器,所述SIP应用系统还包括通过网络和用户代理服务器相连的用户代理客户端和备用用户代理服务器,所述备用用户代理服务器包括接收第二请求消息的装置,所述第二请求消息是基于用户代理客户端发送给用户代理服务器的第一请求消息而产生的,所述第一和第二请求消息包括状态数据;基于第二请求消息,创建状态数据的装置。
根据第四方面,提供一种在SIP应用系统中的SIP代理服务器,所述SIP应用系统包括通过网络和SIP代理服务器相连的用户代理客户端、用户代理服务器和备用用户代理服务器,所述SIP代理服务器包括基于自用户代理客户端发送给用户代理服务器的第一请求消息,产生第二请求消息的装置,其中所述第一和第二请求消息包括状态数据;将第二请求消息发送给备用用户代理服务器的装置,从而备用用户代理服务器接收到第二请求消息后,创建状态数据。
在第四方面中,优选地,所述SIP代理服务器包括接收来自备用用户代理服务器的确认响应消息且不将其继续路由的装置。
优选地,所述SIP代理服务器包括将来自用户代理客户端的第一请求消息发送给用户代理服务器的装置。
根据第五方面,提供一种SIP应用系统,包括用户代理客户端、如第二方面所述的用户代理服务器和如第三方面所述的备用用户代理服务器。
根据第六方面,提供一种SIP应用系统,包括用户代理客户端、用户代理服务器、如第四方面所述的SIP代理服务器和如第三方面所述的备用用户代理服务器。
需要指出,请求消息和状态数据有关是指依据SIP协议,相关服务器可以从该请求生成所述的状态数据。
本发明利用SIP协议消息完成相关状态数据的备份,不需要相关的网络设备支持专门为备份目的设计的私有协议,通用性和扩展性强。


下面将以举例的形式参照附图对本发明的实施方案进行更详细的说明,其中图1是一种现有技术的在主、备网络设备间备份业务数据的组网示意图;图2是另一种现有技术的在主、备网络设备间备份业务数据的组网示意图;图3是用户订阅其注册状态事件的流程的示意图;图4是用户订阅成功时订阅状态数据的分布示意图;图5是根据本发明的一个实施方案的网络设备间备份订阅状态数据的流程示意图;图6是SIP服务器与备份实体的内部实现机制的示意图;图7a-d是图5中消息3-消息6的实际例子;
图8是网络设备间备份注册状态数据的流程的示意图;图9是根据本发明另一个实施方案的SIP应用系统的结构示意图;图10是图9所示的SIP应用系统通过SIP消息进行状态数据备份的流程示意图。
具体实施例方式
网络设备间的数据备份,一般不需要备份呼叫状态相关数据(呼叫状态变化非常频繁,数据量大,只在设备内部主、备板间进行实时备份),而是针对用户在网络设备的注册状态数据、订阅状态数据等数据量不大,变化不频繁的重要数据进行实时备份。
SIP注册过程可参见RFC3261第10章“Registrations”。SIP订阅的基本过程可参见RFC3265。基于RFC3265的架构,由其他RFC定义具体的事件订阅机制。例如RFC3680(A SIP Event Package forRegistrations)定义了注册状态事件的订阅和通知机制。通过该机制,用户可订阅其在网络设备的注册状态。当该用户注册状态发生变化,可获得及时的NOTIFY通知。例如,用户通过多个不同终端同时注册在服务器,用户进入实验室再以实验室终端注册。用户通过网络设备发来的注册状态事件通知,了解自己共在哪些终端上进行了注册。注册状态事件订阅机制还可用在其他场合,具体可参考RFC3680第三章“Usage Scenarios”。
本发明将以“订阅和注册状态数据”在网络设备间的备份为例说明本发明的具体实现。
图3是用户订阅其注册状态事件的流程的示意图。如图3所示,步骤1-4,用户终端UE通过SIP服务器的认证后,在SIP服务器注册成功。步骤5-6,UE收到对注册请求REGISTER的200响应后,发送SUBSCRIBE(即,订阅)消息订阅其自身注册状态事件。UE收到对SUBSCRIBE的200响应,维护相应的SIP Dialog(对话)状态以及订阅Subscription(订阅)状态。步骤7-8,因业务需要,例如运营商更改用户签约数据,需要终端发起重新注册,SIP服务器向UE发NOTIFY(通知)请求以通知其注册状态改变,此NOTIFY请求的发送基于步骤5-6中用户终端与SIP服务器间建立的SIP对话及订阅状态。
对话是SIP协议的基本概念之一,对话是在两个用户代理(UA)间持续一段时间的点对点的联系,由Call-ID、From Tag、To Tag等来唯一标识。对话中保存一些状态数据,如路由集等。
成功的订阅除了创建对话之外,也会创建订阅。订阅也是SIP协议的基本概念之一。订阅包含对应的对话指针、事件包名称、订阅定时器以及与具体事件相关的状态。后续SIP服务器发向终端的事件通知NOTIFY,以及后续终端通过SUBSCRIBE消息进行订阅状态的更新,都要基于已建立的对话和订阅。
图4是用户订阅成功时订阅状态数据的分布示意图。如图4所示,当用户订阅成功,在用户终端与SIP服务器都保存了与该订阅相关的对话和订阅。
任何用户注册状态的改变都会通过NOTIFY消息通知终端。当SIP服务器故障,用户在该SIP服务器上的注册状态实际丢失了,这本身也是注册状态的改变,也应该通知订阅注册状态事件的终端。但SIP服务器在本身故障的情况下无法发出任何通知消息。如能将与用户订阅相关的订阅状态数据(即前述的对话和订阅)保存在备用实体,备用实体可基于保存的SIP对话及订阅,生成NOTIFY通知终端相应的注册状态已失效。
图5是根据本发明的一个实施方案的网络设备间备份订阅状态数据(对话和订阅)的流程的示意图。两个网络设备间备份订阅状态数据的流程如下。
步骤1-2,用户终端在SIP服务器注册成功。
步骤3-4,终端发起用户注册状态事件订阅。SIP服务器接收该订阅请求,并回送对SUBSCRIBE的200响应表明接受该订阅。SIP服务器保存了与该订阅相关的对话及订阅信息。
步骤5-6,SIP服务器要将对话以及订阅信息备份到备用实体,向备用实体发送一个与消息3类似的SUBSCRIBE请求消息来达到这一目的。备用实体依据收到的SUBSCRIBE请求生成对话及订阅,向SIP服务器回送200响应。SIP服务器收到200响应,表明订阅状态数据备份成功。
图6是SIP服务器与备份实体的内部实现机制的示意图。如图6所示,步骤1-2,SIP服务器接收到SUBSCRIBE请求后,终结该请求。Server APP模块接受该订阅并向终端回送200响应表明订阅成功。对话、订阅也相应被创建和保存。通常的订阅流程到这里结束。
步骤3,根据本发明,SIP服务器的应用层判断需要将订阅状态数据备份到相应的备用实体(例如,依据配置信息),通过接口3,通知备份(Backup)模块进行后续处理。
步骤4,备份模块能通过SIP协议栈接口获得SIP服务器从终端接收的SUBSCRIBE请求消息,由于要将该请求路由到备用实体,在SUBSCRIBE请求中增加Route头域包含目的备份实体地址,通过SIP协议栈事务层(Transaction)将该请求发到相应的备用实体。
步骤5-6,备用实体接收到SUBSCRIBE请求,依据SIP协议要求的处理过程,将创建对话以及订阅等订阅状态数据,并依据SUBSCRIBE请求中携带的Via头域回送200响应到SIP服务器。由于是备用实体,收到SUBSCRIBE请求,不按SIP协议处理流程对收到的请求继续做路由。一方面,备用实体可以将自身定位为相对于SIP服务器的备用服务器,凡是来自SIP服务器的请求消息均不再作继续路由。另一方面,SIP服务器在发给备用实体的请求时,也可以通过添加特定的指示来表明是做备份用途,例如,备用实体依据接收的请求中的Route头域中所携带的指示参数来判断自身对该请求做备用实体角色。
步骤7,SIP服务器从事务层接收到备用实体的200响应后,关联到相应的备份模块。虽然该200响应中还有后续的Via头域,但备份模块此时并不将该200响应依据Via头域继续路由。
通过以上流程,SIP服务器完成订阅状态数据在备用实体的备份。
需要指出,在具体实现中,步骤3和步骤2的顺序可能有所不同。此外,SIP服务器也可以将Subscribe请求消息按照备用实体的IP地址发给备用实体,然后备用实体将与之对应的成功响应消息按照SIP服务器的IP地址发送给SIP服务器。
在SIP订阅机制的交互过程中,用户终端发送的Subscribe请求中包含Expire(超时)头域,向SIP服务器表明其希望的订阅周期。订阅周期结束前,终端需重新发送Subscribe请求更新订阅状态,否则SIP服务器将结束订阅。SIP服务器返回的200响应也携带超时头域,确定最终的订阅周期(可缩短用户要求的订阅周期)。如SIP服务器200响应中超时的值与所接收Subscribe请求中超时的值不同,则图6步骤4发给备用实体的Subscribe中的超时头域需为SIP服务器最终确定的订阅周期,而不是终端希望的订阅周期。这是因为备用实体没有决定订阅周期的逻辑判断功能,仅依据收到的Subscribe请求自动生成相应的对话和订阅。
当SIP服务器接收终端发出的用于更新已有订阅的SUBSCRIBE请求,同样按图6流程向备用实体发送SUBSCRIBE请求以更新备用实体的相应订阅状态数据。
终端没有发送订阅请求以刷新订阅状态而导致已有订阅的超时终止,SIP服务器不需要与备用实体交互,因订阅定时器功能通常属于SIP协议栈功能。当没有收到用于刷新的订阅请求,备用实体上的订阅状态也会自动终止。
图7a-d是图5中消息3-消息6的实际例子。通过图7a所示的消息3,用户终端向SIP服务器发起事件订阅。通过图7b所示的消息4,SIP服务器回送200响应表明订阅成功。通过图7c所示的消息5,SIP服务器通过向备用实体发送SUBSCRIBE请求来备份相关状态。其中添加Via头域为自身地址,添加Route头域包含备用实体地址。其中超时头域的值等于消息4中相应的超时值。通过图7d所示的消息6,SIP服务器收到来自备用实体的200响应,其中Via包含自身地址。此时SIP服务器并不依据其他Via头域继续路由该200响应。
同理,当需要备份注册状态数据时,SIP服务器也可采用类似方法向备用实体发送REGISTER(即,注册)请求完成注册状态数据的时实备份。图8是网络设备间备份注册状态数据的流程的示意图。由于具体过程与订阅状态数据类似,故不再重复。
图9是根据本发明的另一个实施方案,SIP应用系统进行状态数据备份的结构示意图。在该实施方案中,通过网络设备SIP代理服务器(PROXY)将来自终端的请求按正常流程转发给SIP服务器,SIP服务器处理成功后,SIP代理服务器也将接收的来自终端的请求发送给备用实体。
以注册为例,该实施方案的具体流程图如图10所示。
如图10,发送给备用实体的消息5 REGISTER与发往SIP服务器的消息2的差异,在于消息2是按通常的SIP消息路由方式生成的。消息5是SIP代理服务器强行发往备用实体的,增加一个Route头域表明备用实体的地址。
此实施方案的备份方法本质上与前面描述的方法是相同的,仅是将原先在SIP服务器所完成的备份工作(注册成功后,向备份服务器发送REGISTER以备份状态数据)改在由SIP代理服务器来执行。这里,SIP代理服务器需收到对REGISTER的200响应,确定注册成功后,再执行相应的备份任务。
此外,结构示意图9中的SIP代理服务器,也可被替换为SIP实体B2BUA(Back-to-Back User Agent)背靠背用户代理,此时备份处理过程与前述相同。B2BUA向SIP服务器发送请求并收到成功响应后,向备用实体发送相应请求以备份相关状态数据。
本发明的技术方案利用SIP协议消息完成相关状态数据的备份,不需要相关的网络设备支持专门为备份目的设计的私有协议,通用性和扩展性强。
利用SIP消息在SIP服务器和相关备用实体间传递信息,可利用SIP消息的路由机制。SIP服务器和备用实体往往不在一处(否则无法达到容灾的效果),其间可以有其他网络设备,通过这些网络设备可完成SIP消息的路由。
本发明前面的描述以发送SIP请求的实体为用户终端,接收SIP请求的实体为SIP服务器的方式为例来说明。实际上,本发明中发送SIP请求的实体并不限定于是终端,也可以是SIP服务器,本质上是SIP协议中的逻辑实体UAC(用户代理客户端),接收SIP请求的实体也不限定是SIP服务器,也可以是终端,本质上是SIP协议中的逻辑实体UAS(用户代理服务器端)。前述备用实体本质上也是UAS。
需要指出,本发明的技术方案既可以由运行在网络服务器中的中央处理器(CPU)的软件来实现,也可以由独立的硬件组合完成。
显而易见,在此描述的本发明可以有许多变化,这种变化不能认为偏离本发明的精神和范围。因此,所有对本领域技术人员显而易见的改变,都包括在本权利要求书的涵盖范围之内。
权利要求
1.一种SIP应用系统的网络级备份方法,所述SIP应用系统包括通过网络相连的用户代理客户端、用户代理服务器和备用用户代理服务器,所述方法包括步骤基于自用户代理客户端发送给用户代理服务器的第一请求消息,产生第二请求消息,其中所述第一和第二请求消息和拟备份的状态数据有关;将第二请求消息发送给备用用户代理服务器;备用用户代理服务器接收到第二请求消息后,创建该状态数据。
2.如权利要求1所述的网络级备份方法,其特征在于所述产生步骤和发送步骤是由所述用户代理服务器完成的。
3.如权利要求1所述的网络级备份方法,其特征在于所述SIP应用系统包括SIP代理服务器,所述产生步骤和发送步骤由该SIP代理服务器在收到来自用户代理服务器的针对第一请求消息的成功响应消息后完成。
4.如权利要求1-3之一所述的网络级备份方法,其特征在于所述产生第二请求消息的步骤包括,通过在第一请求消息的route头域中添加备用用户代理服务器的地址而产生第二请求消息。
5.如权利要求1-3之一所述的网络级备份方法,其特征在于所述状态数据包括订阅状态数据或注册状态数据。
6.如权利要求5所述的网络级备份方法,其特征在于所述第二消息的超时头域的数值是用户代理服务器确定的超时数值。
7.如权利要求1-3之一所述的网络级备份方法,其特征在于包括一个第二请求消息的确认响应消息由备用用户代理服务器返回给第二请求消息的发送者,且不被该发送者继续路由的步骤。
8.一种在SIP应用系统中的用户代理服务器,所述SIP应用系统还包括通过网络与用户代理服务器相连的用户代理客户端和备用用户代理服务器,所述用户代理服务器包括基于自用户代理客户端发送给用户代理服务器的第一请求消息,产生第二请求消息的装置,其中所述第一和第二请求消息和拟备份的状态数据有关;将第二请求消息发送给所述备用用户代理服务器的装置,以便该备用用户代理服务器创建所述状态数据。
9.如权利要求8所述的用户代理服务器,其特征在于包括接收来自所述备用用户代理服务器的确认响应消息且不将其继续路由的装置。
10.一种在SIP应用系统中的备用用户代理服务器,所述SIP应用系统还包括通过网络和所述备用用户代理服务器相连的用户代理客户端和用户代理服务器,所述备用用户代理服务器包括接收第二请求消息的装置,所述第二请求消息是基于用户代理客户端发送给所述用户代理服务器的第一请求消息而产生的,所述第一和第二请求消息和拟备份的状态数据有关;基于第二请求消息,创建状态数据的装置
11.一种在SIP应用系统中的SIP代理服务器,所述SIP应用系统包括通过网络和SIP代理服务器相连的用户代理客户端、用户代理服务器和备用用户代理服务器,所述SIP代理服务器包括基于自用户代理客户端发送给用户代理服务器的第一请求消息,产生第二请求消息的装置,其中所述第一和第二请求消息和拟备份的状态数据有关;将第二请求消息发送给备用用户代理服务器的装置,从而备用用户代理服务器接收到第二请求消息后,创建所述状态数据。
12.如权利要求11所述的SIP代理服务器,其特征在于包括接收来自备用用户代理服务器的确认响应消息且不将其继续路由的装置。
13.如权利要求11所述的SIP代理服务器,其特征在于包括将来自用户代理客户端的第一请求消息发送给用户代理服务器的装置。
14.一种SIP应用系统,包括用户代理客户端、如权利要求8所述的用户代理服务器和权利要求10所述的备用用户代理服务器。
15.一种SIP应用系统,包括用户代理客户端、用户代理服务器、如权利要求12所述的SIP代理服务器,和权利要求10所述的备用用户代理服务器。
全文摘要
本发明提供一种SIP应用系统的网络级备份方法、采用该方法的服务器和SIP应用系统。在该方法中,所述SIP应用系统包括通过网络相连的用户代理客户端、用户代理服务器和备用用户代理服务器,所述方法包括步骤基于自用户代理客户端发送给用户代理服务器的第一请求消息,产生第二请求消息,其中所述第一和第二请求消息包括状态数据;将第二请求消息发送给备用用户代理服务器;备用用户代理服务器接收到第二请求消息后,创建状态数据。本发明的方法利用SIP协议消息完成相关状态数据的备份,不需要相关的网络设备支持专门为备份目的设计的私有协议,通用性和扩展性强。
文档编号H04L12/24GK1893432SQ20061003291
公开日2007年1月10日 申请日期2006年1月11日 优先权日2006年1月11日
发明者文楷 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1