Ims系统中被叫侧sip协议栈会话状态备份恢复的方法

文档序号:9581765阅读:845来源:国知局
Ims系统中被叫侧sip协议栈会话状态备份恢复的方法
【技术领域】
[0001]本发明涉及頂S系统中状态数据的备份恢复,具体说是MS系统中被叫侧SIP协议栈会话状态备份恢复的方法。
【背景技术】
[0002]HS,即IP多媒体系统,是一种全新的多媒体业务形式,它能够满足现在的终端客户更新颖、更多样化多媒体业务的需求。目前,MS被认为是下一代网络的核心技术,也是解决移动与固网融合,引入语音、数据、视频三重融合等差异化业务的重要方式。頂S在软交换控制与承载分离的基础上,更进一步的实现了呼叫控制层和业务控制层的分离。
[0003]SIP协议是頂S中所使用的一种主要协议,作为呼叫控制和业务控制的信令。是IETF提出的在IP网上进行多媒体通信的应用层控制协议。以Internet协议(HTTP)为基础,遵循Internet的设计原则,基于对等工作模式。利用SIP协议可实现会话的建立和释放。
[0004]随着当前网络的快速发展,IMS设备得到大规模的部署。但是由于网络环境的脆弱性,导致MS设备出现故障的几率比较大。因为在网络环境下,导致頂S设备故障的原因是错综复杂,无法预测的,例如操作系统故障、软件故障、设备故障等。一旦MS设备出现故障,那么所提供的服务就会被中断一段较长的时间。因此,IMS设备提供服务的持续性是得不到保证的。但是,用户常常要求某些应用可靠稳定,不允许有长时间的服务中断,保证系统能够持续地、稳定地提供服务至关重要。因此,出现了高可用性的需求和方案。
[0005]在頂S系统中,媒体服务器等设备,作为被叫设备,需要保证会话可靠稳定,在运行中保证用户通话连续,能够正常结束通话,满足计费需要。在该类设备实现高可用性中,被叫侧SIP协议栈会话状态的备份恢复是其中的关键部分。
[0006]目前使用的被叫侧SIP协议栈会话状态的备份恢复一般都是采用状态备份恢复方式或消息备份恢复方式。
[0007]状态备份恢复方式,就是将主用设备SIP协议栈会话状态相关的各种数据备份,然后在备用设备重新设置SIP协议栈会话状态相关的各种数据。由于SIP协议栈的会话相关的各种数据之间互相存在各种逻辑关系,在备份和恢复数据时,要求对整个SIP协议栈的会话相关的数据结构理解十分清楚。这种方式实现复杂,难度高。
[0008]消息备份恢复方式,就是将主用设备收到的SIP消息备份,然后在备用设备处理这些消息。这种方式实现简单。但存在的弊端是,需要备份的SIP消息太多以及某些SIP消息会导致主用设备的SIP进程终止,如果这些消息还在备用设备恢复,会导致备用设备也出现问题。

【发明内容】

[0009]针对现有技术中存在的缺陷,本发明的目的在于提供IMS系统中被叫侧SIP协议栈会话状态备份恢复的方法,满足MS系统中被叫侧SIP协议栈高可用性的要求,具有高效率,安全性,简单的特点。
[0010]为达到以上目的,本发明采取的技术方案是:
[0011]IMS系统中被叫侧SIP协议栈会话状态备份恢复的方法,其特征在于,包括以下步骤:
[0012]步骤101、在主用设备上创建一个数据备份线程,所述数据备份线程包括通信目的地址信息、线程socket、线程互斥锁和备份消息队列;
[0013]步骤102、在备用设备上创建一个数据恢复线程,所述数据恢复线程包括通信目的地址信息、线程socket、线程互斥锁和恢复消息队列,并关闭SIP协议栈线程的发送消息队列,不绑定SIP协议对应的IP和端口 ;
[0014]步骤103、主用设备的数据备份线程过滤SIP协议栈线程接收到的消息,仅保留和会话状态建立、释放相关的消息,并按会话分类,将属于同一会话的、和会话状态建立或释放相关的消息,按照先后顺序进行编号后放入备份消息队列,并统计备份消息队列中的属于同一会话的消息的数量;
[0015]步骤104、主用设备的数据备份线程判断某SIP会话状态进入通话建立状态或从通话建立状态进入通话结束状态后,就将备份消息队列中属于该某SIP会话的消息取出,按先后顺序发送给备用设备的数据恢复线程;然后将备份消息队列中属于该某SIP会话的消息删除;
[0016]步骤105、备用设备的数据恢复线程接收完属于该某SIP会话的消息后,判断接收到的消息的数量是否完整,如果不完整,就删除接收的消息;
[0017]步骤106、当接收到的消息的数量完整,则:备用设备的数据恢复线程将接收到的属于该某SIP会话的消息取出,按先后顺序送给备用设备的SIP协议栈线程处理,实现在备用设备上恢复该某SIP会话或释放该某SIP会话。
[0018]在上述技术方案的基础上,当主用设备的数据备份线程判断某SIP会话状态进入失败状态时,直接将备份消息队列中属于该某SIP会话的消息删除。
[0019]在上述技术方案的基础上,主用设备备份发送、会话创建消息的实现流程具体包括以下步骤:
[0020]步骤201、主用设备创建一个数据备份线程,包括通信目的地址信息、线程socket、线程互斥锁和备份消息队列,并开始检测SIP协议栈线程接收的各种消息;
[0021]步骤202、判断SIP协议栈接收的消息是否是INVITE消息,如果是,则转到步骤203 ;如果不是,则转到步骤204 ;
[0022]步骤203、根据会话标识,在备份消息队列中创建相应的起始位置并保存该消息,转到步骤204 ;
[0023]步骤204、判断SIP协议栈接收的消息是否是回铃消息,如果是,则转到步骤205 ;如果不是,则转到步骤206 ;
[0024]步骤205、根据会话标识,在备份消息队列查找到与该会话标识相对应的位置并保存该消息,转到步骤204;
[0025]步骤206、判断SIP协议栈接收的消息是否是摘机消息,如果是,则转到步骤207 ;如果不是,则转到步骤208 ;
[0026]步骤207、根据会话标识,在备份消息队列中查找到与该会话标识相对应的位置并保存该消息,转到步骤208 ;
[0027]步骤208、判断SIP协议栈接收的消息是否是ACK消息,如果是,则转到步骤209 ;如果不是,则转到步骤210 ;
[0028]步骤209、根据会话标识,在备份消息队列中查找到与该会话标识相对应的位置并保存该消息,转到步骤210 ;
[0029]步骤210、判断SIP协议栈接收的消息是否是BYE消息或挂机消息,如果是,则转到步骤211 ;如果不是,则转到步骤212 ;
[0030]步骤211、根据会话标识,在备份消息队列中查找到与该会话标识相对应的位置并保存该消息,转到步骤212 ;
[0031]步骤212、判断SIP协议栈会话状态是否是失败状态,如果是,则转到步骤213 ;如果不是,则转到步骤214;
[0032]步骤213、根据会话标识,删除备份消息队列中拥有同一会话标识的消息,转到步骤 202 ;
[0033]步骤214、判断SIP协议栈会话状态是否是通话建立状态或通话释放状态,如果是,则转到步骤215 ;如果不是,则转到步骤202 ;
[0034]步骤215、根据会话标识,在备份消息队列中查找到备份的消息,并统计消息数量,按先后顺序,发送给备用设备的数据恢复线程;然后把这些消息从备份消息队列中删除。
[0035]在上述技术方案的基础上,备用设备实现恢复会话或删除会话的实现流程具体包括以下步骤:
[0036]步骤301、备用设备创建一个数据恢复线程,包括通信目的地址信息、线程socket、线程互斥锁、恢复消息队列,同时关闭SIP协议栈线程的发送消息队列,不绑定SIP协议对应的IP和端口。
[0037]步骤302、备用设备的数据恢复线程接收来自主用设备的备份消息,放入恢复消息队列中。
[0038]步骤303、判断接收消息的数量是否完整,根据会话标识,和与该会话标识关联的消息统计数量,判断的接收的消息是否完整,如果是,则转到步骤305;如果不是,则转到步骤 304。
[0039]步骤304、删除恢复消息队列中和该会话标识相关的消息。
[0040]步骤305、将接收的消息按先后顺序送给SIP协议栈线程处理,实现在备用设备上恢复SIP协议会话或删除SIP协议会话的功能。
[0041]本发明所述的頂S系统中被叫侧SIP协议栈会话状态备份恢复的方法,满足頂S系统中被叫侧SIP协议栈高可用性的要求,具有高效率,安全性,简单的特点。
【附图说明】
[0042]本发明有如下附图:
[0043]图1是本发明的实现流程图。
[0044]图2是主用设备实现备份发送,会话创建或会话释放消息的流程图。
[0045]图3是备用设备实现恢复会话或删除会话的流程图。
【具体实施方式】
[0046]以下结合附图对本发明作进一步详细说明。
[0047]如图1所示,本发明所述的頂S系统中被叫侧SIP协议栈会话状态备份恢复的方法,在主用设备创建数据备份线程;在备用设备创建数据恢复线程,关闭SIP协议栈线程的发送消息队列,不绑定SIP协议对应的IP和端口 ;数据备份线程过滤SIP协议栈线程接收到的消息,并将属于同一会话的消息按顺序保存在备份消息队列中;数据备份线程判断SIP会话状态进入通话建立状态或从通话建立状态进入通话结束状态,就将属于该会话的备份消息按顺序发送给数据恢复线程;数据恢复线程判断接收的备份消息数量是否完整;如完整则数据恢复线程将接收的备份消息取出,按先后顺序送给备用设备的SIP协议栈线程处理,实现恢复会话或释放会话。
[0048]具体地说,可分为以下步骤:
[0049]步骤101、在主用设备上创建一个数据备份线程,所述数据备份线程包括通信目的地址信息、线程socket、线程互斥锁和备份消息队列;
[0050]步骤102、在备用设备上创建一个数据恢复线程,所述数据恢复线程包括通信目的地址信息、线程socket、线程互斥锁和恢复消息队列,并关闭SIP协议栈线程的发送消息队列,不绑定SIP协议对应的IP和端口 ;
[0051]步骤103、主用设备的数据备份线程过滤SIP协议栈线程接收到的消息,仅保留和会话状态建立、释放相关的消息,并按会话分类,将属于同一会话的、和会话状态建立或释放相关的消息,按照先后顺序进行编号后放入备份消息队列,并统计备份消息队列中的属于同一会话的消息的数量;
[0052]步骤104、主用设备的数据备份线程判断某SIP会话状态进入通话建立状态或从通话建立状态进入通话结束状态后,就将备份消息队列中属于该某SIP会话的消息取出,按先后顺序发送给备用设备的数据恢复线程;然后将备份消息队列中属于该某SIP会
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1