专利名称:Sip服务器服务进程故障恢复方法及sip服务器的制作方法
技术领域:
本发明涉及基于SIP(Session Initiation Protocol,会话初始协议)的通信服务系统, 特别涉及服务程序的故障探测及控制方法。
背景技术:
在SIP通信服务系统中,SIP服务器需要提供不同的逻辑组件,如注册服务提供终端设备 的注册,代理服务提供用户的呼入与呼出以及与其他SIP应用服务进行通信。这些服务进程 是SIP通信系统中的核心组件,如果出现故障的话,终端接入的各类产品(如软电话、语音 网关上的电话、IP电话、无线IP电话等)将无法进行正常的注册和呼叫,导致系统的崩渍。
目前对上述故障的解决方案是,采用VRRP(Virtual Router Redundancy Protocol,虚 拟路由冗余协议)或者监控进程的方式来保活服务器并完成故障恢复,如附图l所示(在图l 中,服务进程放在一起,仅仅是为了描述的方便,在实际部署中,这些服务进程也可以分布 在不同的设备上进行部署)。在正常的情况下,主服务器SIP服务器A工作,并提供相应的业 务与呼叫处理,备份服务器SIP服务器B处于等待状态,不进行业务处理。当主服务器监控到 网络中断等情况出现时,根据VRRP协议,备份服务器接替主服务器的工作,确保系统提供正 常业务。现有技术中, 一般还使用进程监控的方式来监控服务器的状态,监控进程实时监控 各服务进程的状态,当进程出现常见异常时,看门狗可以自动重启机器或者进程,来迅速恢 复业务。这种进程监控的方式,能够监控到的异常局限在内存不足、进程退出、CPU占用高 、网络不通等方面。但在实际部署中,其他一些异常如信号量死锁、缓冲区溢出、接口不监 听、呼叫状态混乱等,会导致SIP呼叫及其他业务的中断,但上述方式均无法恢复此类故障 ,因为此时出现异常的服务器进程状态或者网络环境均是正常的。
发明内容
本发明所要解决的技术问题,就是针对现有SIP通信服务系统中,SIP服务进程状态正常 而内部发生异常时(即进程从静态上表现为正常,但实际上不能够处理各种请求与业务), VRRP协议与进程监控方式不能恢复故障的问题,提出一种在SIP通信系统中,利用呼叫来保 活服务进程并进行故障恢复的方法,以及具有相应功能的服务器。
本发明解决所述技术问题,采用的技术方案是,SIP服务器服务进程故障恢复方法,包 括以下步骤a、 在监控进程中提供一个呼叫保活模块,所述呼叫保活模块使用一个SIP系统中分配的 用户名,并具有相应功能;
b、 所述呼叫保活模块,周期性地发送呼叫信息;
c、 呼叫保活模块如果收到呼叫失败的响应,通知SIP服务器启动故障恢复程序; 具体的,步骤c中所述故障恢复程序是重启服务进程或重启系统;
具体的,步骤a中所述相应功能包括但不限于呼叫功能、视频功能、即时消息功能; 进一步的,步骤c中,所述SIP服务器启动故障恢复程序需要排除系统正常情况下的响应 延迟;
优选的,步骤b中所述周期性地发送呼叫信息是指周期性地发送SIP注册消息,向SIP月艮 务器注册分配给它的号码;
或者,周期性地拨打SIP服务系统中的其他号码;
也可以一边周期性地发送SIP注册消息,向SIP服务器注册分配给它的号码, 一边周期性 地拨打SIP服务系统中的其他号码;
更具体的,所述其他号码包括但不限于总机号码、终端用户号码或者其他业务号码。
本发明的SIP服务器,集成了各种服务进程,其特征在于,所述SIP服务器还包括代理服 务进程和监控进程,所述监控进程中包括监控模块、故障恢复模块和呼叫保活模块;其中
监控模块,用于监控系统中各SIP服务进程的状态并通知恢复模块;
故障恢复模块,用于恢复SIP服务进程;
呼叫保活模块,使用SIP信令与SIP服务进程交互;
进一步的,所述呼叫保活模块通过发送SIP注册报文来探测注册服务与代理服务是否正 常;通过呼叫SIP服务号来探测业务进程,以及中间经过的不同服务进程是否正常;当探测 到服务中断时,通知恢复模块;
具体的,所述SIP服务进程的状态是指SIP服务器是否已经退出,状态是否异常; 进一步的,所述故障恢复模块通过重启系统或重启SIP服务进程来恢复SIP服务进程。 本发明的有益效果是,可以大大提高SIP服务进程的故障恢复能力,提高系统的高可靠性。
图1是现有技术根据VRRP协议进行故障切换的系统结构示意图2是本发明的SIP服务器结构示意图。
具体实施方式
下面结合附图,详细描述本发明的技术方案。
本发明利用SIP服务的一些特点,如注册、呼叫等,进行业务的保活,结合进程监控的 方式,来进行故障恢复,并利用SIP协议栈进行协议交互,从而更进一步地提高了系统的可 靠性和业务的可用性。
本发明中,SIP服务器集成了一个或多个服务器进程,同时还包括一个代理服务进程和 一个监控进程。SIP服务器不限制使用任何硬件平台。SIP服务器一般可以同时支持的服务器
进程包括代理服务、认证服务和注册服务。
如图2所示。监控进程由三个模块组成监控模块、故障恢复模块、呼叫保活模块。其
中
监控模块,用于监控系统中各SIP服务进程的状态。如是否已经退出,状态是否异常等 。如果有异常,通知恢复模块。
故障恢复模块,用于恢复SIP服务进程。如重启系统、重启SIP服务进程。 呼叫保活模块,使用SIP信令来与SIP服务进程交互,同时保证与不同的SIP服务进程交
互。如发送SIP注册报文来探测注册服务与代理服务是否正常;呼叫SIP服务号来探测业务进
程,以及中间经过的不同服务进程是否正常。当探测到服务中断时,通知恢复模块。
呼叫保活模块启动一个定时器,发送SIP注册报文或者SIP呼叫报文等。然后等待响应并 进行消息交互。因此呼叫保活模块也具有SIP的UAC (User Agent Client,用户代理客户端 )功能,它能够发送SIP消息,接收响应等。
呼叫保活模块如果长时间没有收到响应,结合一些内部定义的规则,可以判断出相应进 程是否工作异常;如果收到了错误的响应,根据规则去分析这些响应码,如果是异常状态, 也能够分析出来。呼叫保活模块探测试到异常后,及时发送通知到恢复模块,以恢复故障。
在实施过程中,需要定义好一些内部规则,以防止误检测。如系统CPU占用较高时, SIP响应可能较慢,但事实上系统是正常的,因此需要灵活设置保活时间的长短,以免系统 正常情况下的响应延迟被误判为故障。
下面描述SIP服务器服务进程故障恢复方法
在服务器监控进程中提供一个呼叫保活模块,该呼叫保活模块如同系统中的一个用户, 使用一个SIP系统中分配的用户名,并具有相应功能,如发出SIP呼叫消息,接收响应、视频 传输、即时消息收发等。
呼叫保活模块周期性地发送SIP呼叫信息,如发送SIP注册消息,向SIP服务器注册分配 给它的号码;或者,周期性地拨打SIP服务系统中的其他号码;也可以一边周期性地发送SIP注册消息,向SIP服务器注册分配给它的号码, 一边周期性地拨打SIP服务系统中的其他号码。
如果呼叫保活模块收到呼叫失败的响应,则认为相关进程出了故障,通知SIP服务器启
动故障恢复程序,重启服务进程或重启系统。
权利要求
1.SIP服务器服务进程故障恢复方法,包括以下步骤a、在监控进程中提供一个呼叫保活模块,所述呼叫保活模块使用一个SIP系统中分配的用户名,并具有相应功能;b、所述呼叫保活模块,周期性地发送呼叫信息;c、呼叫保活模块如果收到呼叫失败的响应,通知SIP服务器启动故障恢复程序。
2.根据权利要求1所述的SIP服务器服务进程故障恢复方法其特征在 于,所述故障恢复程序是重启服务进程或重启系统。
3.根据权利要求1所述的SIP服务器服务进程故障恢复方法其特征在 于,步骤a中所述相应功能包括但不限于呼叫功能、视频功能、即时消息功能。
4.根据权利要求1所述的SIP服务器服务进程故障恢复方法其特征在 于,步骤c中,所述SIP服务器启动故障恢复程序需要排除系统正常情况下的响应延迟。
5.根据权利要求l、 2、 3或4所述的SIP服务器服务进程故障恢复方法 ,其特征在于,步骤b中所述周期性地发送呼叫信息是指周期性地发送SIP注册消息,向SIP 服务器注册分配给它的号码,和/或周期性地拨打SIP服务系统中的其他号码。
6.根据权利要求6所述的SIP服务器服务进程故障恢复方法其特征在 于,所述其他号码包括总机号码、终端用户号码或者其他业务号码。
7.SIP服务器,所述SIP服务器集成了各种服务进程,其特征在于, 所述SIP服务器还集成了监控进程,所述监控进程中包括监控模块、故障恢复模块和呼叫保 活模块;其中监控模块,用于监控系统中各SIP服务进程的状态并通知恢复模块;故障恢复模块,用于恢复SIP服务进程;呼叫保活模块,使用SIP信令与SIP服务进程交互。
8.根据权利要求7所述的SIP服务器,所述呼叫保活模块通过发送 SIP注册报文来探测注册服务及代理服务是否正常;通过呼叫SIP服务号来探测业务进程,以及中间经过的不同服务进程是否正常;当探测到服务中断时,通知恢复模块。
9. 根据权利要求7所述的SIP服务器,所述SIP服务进程的状态是指SIP服务器是否已经退出,状态是否异常。
10. 根据权利要求7所述的SIP服务器,所述故障恢复模块通过重启系统或重启SIP服务进程来恢复SIP服务进程。
全文摘要
本发明涉及SIP服务程序的故障探测及控制方法。本发明公开了一种SIP服务器服务进程故障恢复方法及SIP服务器。本发明的SIP服务器服务进程故障恢复方法,包括以下步骤a.在监控进程中提供一个呼叫保活模块,所述呼叫保活模块使用一个SIP系统中分配的用户名,并具有相应功能;b.所述呼叫保活模块,周期性地发送呼叫信息;c.呼叫保活模块如果收到呼叫失败的响应,通知SIP服务器启动故障恢复程序。本发明还提供了具有相应功能的SIP服务器。发本发明利用SIP服务的一些特点,如注册、呼叫等,进行业务的保活,结合进程监控的方式,来进行故障恢复,并利用SIP协议栈进行协议交互,从而更进一步地提高了系统的可靠性和业务的可用性。
文档编号H04L1/20GK101610188SQ20091030498
公开日2009年12月23日 申请日期2009年7月30日 优先权日2009年7月30日
发明者侯小军 申请人:迈普通信技术股份有限公司