一种SIP服务器集群系统及其业务应用请求处理方法技术方案

技术编号:9977181 阅读:114 留言:0更新日期:2014-04-28 19:08
本发明专利技术公开一种SIP服务器集群系统及其业务应用请求处理方法,本发明专利技术方法中,将SIP终端根据其SIP账号划分为n个不重叠的用户组,建立n台SIP服务器到用户组的一一对应关系的映射规则;SIP终端发送SIP请求时,根据映射规则分配相应的SIP服务进行处理。本发明专利技术将现有技术中独立SIP终端注册信息数据服务器中的SIP终端注册信息根据映射规则分摊到各个SIP服务器中,并且根据映射规则将呼叫请求的处理也分摊到各个SIP服务器中;本发明专利技术实施例解决了大规模SIP服务器集群中的性能瓶颈,使得集群中的服务器不再需要依赖共享的大规模数据库来进行路由。集群中的服务器数量可以很方便的进行扩展,并保持集群的整体处理能力与集群中服务器的数量成线性增长的关系。

【技术实现步骤摘要】
一种SIP服务器集群系统及其业务应用请求处理方法
本专利技术涉及信息通讯应用领域,尤其涉及一种SIP服务器集群系统及其业务应用请求处理方法。
技术介绍
在基于SIP协议的VOIP应用中,SIP服务器系统对于VOIP的服务质量有着至关重要的影响。而随着VOIP通信技术的日益广泛使用,SIP服务器系统所承受的服务压力也越来越大,单台SIP服务器往往不足以支撑一个局端的业务量,需要扩展成SIP服务器集群来更好地支撑业务的运转。而在一个集群系统中,为了均衡集群中各个服务器的负载,达到优化系统性能的目的,集群服务器系统需要使用负载均衡技术,将众多的访问请求,分散到系统中的不同节点进行处理,从而实现更高的有效性和稳定性。现有的SIP服务器集群系统中,一般使用基于DNS的负载均衡技术或者使用基于负载均衡器的负载均衡技术。基于DNS的负载均衡技术会让多个IP地址的服务器共享同一个域名,查询这个域名的客户端会得到其中一个IP地址,从而使得不同的客户端访问不同的服务器,达到负载均衡的目的,如图1所示为现有技术基于DNS负载均衡技术的SIP服务器集群业务应用请求处理示意图。而基于负载均衡器的负载均衡技术,所有来自客户端的请求都会先发送到一个负载均衡器上,然后由这个负载均衡器采用某种负载均衡算法将请求分发给不同的后端服务器来进行处理,如图2所示为现有技术基于负载均衡器的SIP服务器集群业务应用请求处理示意图。在上述两种传统的负载均衡技术中,SIP请求会随机的到达集群中的某台SIP服务器上面,而处于集群中的SIP服务器由于无法预知某个SIP终端会注册到集群中的哪台SIP服务器上,为了保证INVITE等请求可以被正确地路由到被叫终端,集群中的SIP服务器必须共享一个独立的SIP终端注册信息数据库。然而在实践中,可以承载大并发读写量的共享数据库是难以设计与实现的,因此使用传统负载均衡技术的SIP服务器集群往往受限于数据库系统的处理能力,很难达到集群的处理能力与投入的服务器数量成线性增长。
技术实现思路
本专利技术实施例的目的在于提出一种SIP服务器集群系统,旨在解决现有技术集群中的SIP服务器依赖共享的大规模数据库来进行路由,当SIP服务器数量庞大时,受限于数据库系统的处理能力,很难达到集群的处理能力与投入的SIP服务器数量成线性增长的问题。本专利技术实施例是这样实现的,本专利技术实施例一种SIP服务器集群系统,所述系统包括:SIP终端、DNS服务器、SIP服务器集群;SIP终端,用于向DNS服务器发送解析域名的请求,并根据DNS服务器解析的IP地址,向解析的IP地址对应的SIP服务器发送业务应用请求消息;还用于接收所述SIP服务器发送的响应消息,当响应消息为暂时性转移消息时,根据暂时性转移消息Contact头域中的IP地址,重新向Contact头域中的IP地址对应的另一SIP服务器发起业务应用请求消息;DNS服务器,也称域名解析服务器,用于使用负载均衡方案将SIP终端发送的解析域名的请求,解析为SIP服务器集群中的一台SIP服务器的IP地址;SIP服务器集群,包括n台SIP服务器,n>1且为自然数,集群中所有SIP服务器共享同一个域名;所述SIP服务器用于当接收到SIP终端发送的业务应用请求时,检查业务应用请求的类型及业务应用请求SIP头部To头域中的SIP账号,若所述SIP账号属于本SIP服务器所对应的用户组,则接受并处理该业务应用请求;如果To头域中的SIP账号不属于本SIP服务器所对应的用户组,则向SIP终端返回一个暂时性转移消息,并根据SIP服务器与SIP账号及用户组的映射规则,将对应的SIP服务器IP地址填入暂时性转移消息的Contact头域。进一步地,所述SIP服务器包括检查模块、接受处理模块、路由模块、第一响应模块、目标SIP服务器确认模块、第二响应模块、映射模块,检查模块,用于检查SIP终端发送的业务应用请求的类型,若业务应用请求类型为注册请求,再进一步判断注册请求的To头域中的SIP账号是否属于本SIP服务器对应的用户组,若是则进入接受处理模块,若否则进入目标SIP服务器确认模块;若业务应用请求类型为呼叫请求,再进一步判断呼叫请求的To头域中的SIP账号是否属于本SIP服务器对应的用户组,若是则进入接受处理模块,若否则进入目标SIP服务器确认模块;接受处理模块,用于当SIP终端发送的是注册请求且注册请求的To头域中的SIP账号是属于本SIP服务器对应的用户组时,接受所述注册请求,并将所述SIP终端的服务端口和IP地址发送到路由模块,然后进入第一响应模块;还用于当SIP终端发送的是呼叫请求且呼叫请求的To头域中的SIP账号是属于本SIP服务器对应的用户组时,接受所述呼叫请求,从路由模块中找出呼叫请求的To头域中的SIP账号对应的SIP终端的IP地址和服务端口,将呼叫请求转发给所述To头域中的SIP账号对应的SIP终端,再进入第一响应模块;路由模块,用于存储SIP终端的服务端口和IP地址;第一响应模块,用于向SIP终端返回请求成功的消息;目标SIP服务器确认模块,用于当SIP终端发送的是注册请求且注册请求的To头域中的SIP账号不属于本SIP服务器对应的用户组,根据SIP服务器与SIP账号及用户组的映射规则,查询To头域中的SIP账号所在用户组对应的目标SIP服务器,进入第二响应模块;还用于当SIP终端发送的是呼叫请求且呼叫请求的To头域中的SIP账号不属于本SIP服务器对应的用户组,根据SIP服务器与SIP账号及用户组的映射规则,查询所述To头域中的SIP账号所在用户组对应的目标SIP服务器,进入第二响应模块;第二响应模块,用于当SIP终端发送的是注册请求且注册请求的To头域中的SIP账号不属于本SIP服务器对应的用户组,向SIP终端返回暂时性转移消息,并在暂时性转移消息的Contact头域填入所述To头域中的SIP账号所在用户组对应的目标SIP服务器的IP地址;还用于当SIP终端发送的是呼叫请求且呼叫请求的To头域中的SIP账号不属于本SIP服务器对应的用户组,向SIP终端返回暂时性转移消息,并在暂时性转移消息的Contact头域填入所述To头域中的SIP账号所在用户组对应的目标SIP服务器的IP地址;映射模块,用于将所有SIP账号划分为n个不重叠的用户组,并建立所述n台SIP服务器与用户组的一一对应关系。本专利技术实施例的另一目的在于提出一种SIP服务器集群业务应用请求处理方法,所述方法包括以下步骤,第一SIP终端向DNS服务器发送解析第一域名的请求;DNS服务器将第一域名解析为第一IP地址;第一SIP终端向第一SIP服务器发送业务应用请求;第一SIP服务器判断业务应用请求为注册请求或呼叫请求,若为注册请求,则第一SIP服务器检查注册请求的To头域中的第一SIP账号是否属于第一SIP服务器对应的用户组,若是则第一SIP服务器接受所述注册请求,并将第一SIP终端的第一服务端口和第一IP地址记录在第一SIP服务器的路由表中;第一SIP服务器向第一SIP终端返回请求成功的消息,结束。进一步地,步骤“第一SIP服务器检查注册请求的To头域中的第一SIP账号是否属于第一SIP服务器对应的用户组”中,若否,则第一SIP服务器本文档来自技高网
...
一种SIP服务器集群系统及其业务应用请求处理方法

【技术保护点】

【技术特征摘要】
1.一种SIP服务器集群系统,其特征在于,所述系统包括:SIP终端、DNS服务器、SIP服务器集群;SIP终端,用于向DNS服务器发送解析域名的请求,并根据DNS服务器解析的IP地址,向解析的IP地址对应的SIP服务器发送业务应用请求消息;还用于接收所述SIP服务器发送的响应消息,当响应消息为暂时性转移消息时,根据暂时性转移消息Contact头域中的IP地址,重新向Contact头域中的IP地址对应的另一SIP服务器发起业务应用请求消息;DNS服务器,也称域名解析服务器,用于使用负载均衡方案将SIP终端发送的解析域名的请求,解析为SIP服务器集群中的一台SIP服务器的IP地址;SIP服务器集群,包括n台SIP服务器,n>1且为自然数,集群中所有SIP服务器共享同一个域名;所述SIP服务器用于当接收到SIP终端发送的业务应用请求时,检查业务应用请求的类型及业务应用请求SIP头部To头域中的SIP账号,若所述SIP账号属于本SIP服务器所对应的用户组,则接受并处理该业务应用请求;如果To头域中的SIP账号不属于本SIP服务器所对应的用户组,则向SIP终端返回一个暂时性转移消息,并根据SIP服务器与SIP账号及用户组的映射规则,将对应的SIP服务器IP地址填入暂时性转移消息的Contact头域。2.如权利要求1所述的SIP服务器集群系统,其特征在于,所述SIP服务器包括检查模块、接受处理模块、路由模块、第一响应模块、目标SIP服务器确认模块、第二响应模块、映射模块,检查模块,用于检查SIP终端发送的业务应用请求的类型,若业务应用请求类型为注册请求,再进一步判断注册请求的To头域中的SIP账号是否属于本SIP服务器对应的用户组,若是则进入接受处理模块,若否则进入目标SIP服务器确认模块;若业务应用请求类型为呼叫请求,再进一步判断呼叫请求的To头域中的SIP账号是否属于本SIP服务器对应的用户组,若是则进入接受处理模块,若否则进入目标SIP服务器确认模块;接受处理模块,用于当SIP终端发送的是注册请求且注册请求的To头域中的SIP账号是属于本SIP服务器对应的用户组时,接受所述注册请求,并将所述SIP终端的服务端口和IP地址发送到路由模块,然后进入第一响应模块;还用于当SIP终端发送的是呼叫请求且呼叫请求的To头域中的SIP账号是属于本SIP服务器对应的用户组时,接受所述呼叫请求,从路由模块中找出呼叫请求的To头域中的SIP账号对应的SIP终端的IP地址和服务端口,将呼叫请求转发给所述To头域中的SIP账号对应的SIP终端,再进入第一响应模块;路由模块,用于存储SIP终端的服务端口和IP地址;第一响应模块,用于向SIP终端返回请求成功的消息;目标SIP服务器确认模块,用于当SIP终端发送的是注册请求且注册请求的To头域中的SIP账号不属于本SIP服务器对应的用户组,根据SIP服务器与SIP账号及用户组的映射规则,查询To头域中的SIP账号所在用户组对应的目标SIP服务器,进入第二响应模块;还用于当SIP终端发送的是呼叫请求且呼叫请求的To头域中的SIP账号不属于本SIP服务器对应的用户组,根据SIP服务器与SIP账号及用户组的映射规则,查询所述To头域中的SIP账号所在用户组对应的目标SIP服务器,进入第二响应模块;第二响应模块,用于当SIP终端发送的是注册请求且注册请求的To头域中的SIP账号不属于本SIP服务器对应的用户组,向SIP终端返回暂时性转移消息,并在暂时性转移消息的Contact头域填入所述To头域中的SIP账号所在用户组对应的目标SIP服务器的IP地址;还用于当SIP终端发送的是呼叫请求且呼叫请求的To头域中的SIP账号不属于本SIP服务器对应的用户组,向SIP终端返回暂时性转移消息,并在暂时性转移消息的Contact头域填入所述To头域中的SIP账号所在用户组对应的目标SIP服务器的IP地址;映射模块,用于将所有SIP账号划分为n个不重叠的用户组,并建立所述n台SIP服务器与用户组的一一对应关系。3.如权利要求1所述的SIP服务器集群系统,其特征在于,所有SIP终端有唯一的SIP账号;所述业务应用请求消息的内部结构包括SIP头部;所述SIP头部包括以下头域:消息类型、From、To、Call-ID、CSeq和Contact;消息类型,用于指明业务应用请求消息的类型,包括注册请求、呼叫请求、消息;From,用于指明消息发送方SIP...

【专利技术属性】
技术研发人员:叶迎宪
申请(专利权)人:深圳百科信息技术有限公司
类型:发明
国别省市:

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

1