CN103746963A - 一种sip服务器集群系统及其业务应用请求处理方法 - Google Patents

一种sip服务器集群系统及其业务应用请求处理方法 Download PDF

Info

Publication number
CN103746963A
CN103746963A CN201310693484.8A CN201310693484A CN103746963A CN 103746963 A CN103746963 A CN 103746963A CN 201310693484 A CN201310693484 A CN 201310693484A CN 103746963 A CN103746963 A CN 103746963A
Authority
CN
China
Prior art keywords
sip
server
sip server
request
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310693484.8A
Other languages
English (en)
Other versions
CN103746963B (zh
Inventor
叶迎宪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen mengwang video Co., Ltd
Original Assignee
BAC INFORMATION TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BAC INFORMATION TECHNOLOGY Co Ltd filed Critical BAC INFORMATION TECHNOLOGY Co Ltd
Priority to CN201310693484.8A priority Critical patent/CN103746963B/zh
Publication of CN103746963A publication Critical patent/CN103746963A/zh
Application granted granted Critical
Publication of CN103746963B publication Critical patent/CN103746963B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Telephonic Communication Services (AREA)

Abstract

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

Description

一种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账号及用户组的映射规则获取第一SIP账号所在用户组对应的SIP服务器为第二SIP服务器;
第一SIP服务器向第一SIP终端返回暂时性转移消息,并在暂时性转移消息的Contact头域填入第二SIP服务器的IP地址;
第一SIP终端接收到暂时性转移消息后,重新向第二SIP服务器发起注册请求;
第二SIP服务器检查注册请求的To头域中的第一SIP账号属于本SIP服务器对应的用户组,接受所述注册请求,并将第一SIP终端的第一IP地址和第一服务端口存储在第二SIP服务器路由表中;
第二SIP服务器向第一SIP终端返回请求成功的消息,结束。
进一步地,
步骤“第一SIP服务器判断业务应用请求为注册请求或呼叫请求”中,若为呼叫请求,则
第一SIP服务器检查呼叫请求的To头域中的第二SIP账号是否属于第一SIP服务器对应的用户组,若是
第一SIP服务器接受所述呼叫请求,从第一SIP服务器存储的路由表中找出第二SIP账号对应的第二SIP终端的第二IP地址和第二服务端口,将呼叫请求转发给第二SIP终端;
第一SIP服务器向第一SIP终端返回请求成功的消息,结束。
进一步地,
步骤“第一SIP服务器检查呼叫请求的To头域中的第二SIP账号是否属于第一SIP服务器对应的用户组”中,若否,则
第一SIP服务器根据SIP账号及用户组的映射规则获取第二SIP账号所在用户组对应的SIP服务器为第二SIP服务器;
第一SIP服务器向第一SIP终端返回暂时性转移消息,并在暂时性转移消息的Contact头域填入第二SIP服务器的IP地址;
第一SIP终端接收到暂时性转移的消息后,重新向第二SIP服务器发起呼叫第二SIP终端的请求;
第二SIP服务器检查呼叫请求的To头域中的第二SIP账号属于本SIP服务器对应的用户组,接受所述呼叫请求,从第二SIP服务器存储的路由表中找出第二SIP账号对应的第二SIP终端的第二IP地址和第二服务端口,将呼叫请求转发给第二SIP终端;
第二SIP服务器向第一SIP终端返回请求成功的消息,结束。
本发明的有益效果
本发明实施例将现有技术中独立的SIP终端注册信息数据服务器中的SIP终端注册信息根据映射规则分摊到各个SIP服务器中进行存储,并且根据映射规则将呼叫请求的处理也分摊到各个SIP服务器中;本发明实施例解决了大规模SIP服务器集群中的性能瓶颈,使得集群中的服务器不再需要依赖共享的大规模数据库来进行路由。集群中的服务器数量可以很方便的进行扩展,并保持集群的整体处理能力与集群中服务器的数量成线性增长的关系。
附图说明
图1所示为现有技术基于DNS负载均衡技术的SIP服务器集群业务应用请求处理示意图;
图2所示为现有技术基于负载均衡器的SIP服务器集群业务应用请求处理示意图;
图3是本发明优选实施例一种SIP服务器集群系统结构图;
图4是图3中SIP服务器的结构图;
图5是本发明优选实施例当业务应用请求为注册请求时,一种SIP服务器集群业务应用请求处理方法流程图;
图6是本发明优选实施例当业务应用请求为呼叫请求时,一种SIP服务器集群业务应用请求处理方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图和实施例,对本发明进行进一步详细说明,为了便于说明,仅示出了与本发明实施例相关的部分。应当理解,此处所描写的具体实施例,仅仅用于解释本发明,并不用以限制本发明。
本发明实施例中,SIP服务器集群中有n台服务器,n台服务器共享一个域名。SIP终端在访问SIP服务器集群之前,需要通过域名解析(DNS)服务器来获取某台SIP服务器的IP地址。SIP终端根据其SIP账号划分为n个不重叠的用户组,建立这n台SIP服务器到用户组的一一对应关系的映射规则;集群中的SIP服务器在接收到SIP请求时,需要检查SIP请求消息中SIP头部To头域中的SIP账号,如果To头域中的SIP账号属于该SIP服务器所对应的用户组,则接受并处理该SIP请求。如果To头域中的SIP账号并不属于该服务器所对应的用户组,则给SIP终端返回一个302Moved Temporarily(暂时性转移消息)回应,并根据所述映射规则,将处理该请求的SIP服务器IP地址填入Contact头域,SIP终端在接收到302Moved Temporarily回应时,把请求重定向到302Moved Temporarily回应指明的SIP服务器上。
本发明实施例将现有技术中独立SIP终端注册信息数据服务器中的SIP终端注册信息根据映射规则分摊到各个SIP服务器中进行存储,并且根据映射规则将呼叫请求的处理也分摊到各个SIP服务器中;本发明实施例解决了大规模SIP服务器集群中的性能瓶颈,使得集群中的服务器不再需要依赖共享的大规模数据库来进行路由。集群中的服务器数量可以很方便的进行扩展,并保持集群的整体处理能力与集群中服务器的数量成线性增长的关系。
实施例一
图3是本发明优选实施例一种SIP服务器集群系统结构图;所示系统包括:SIP终端、DNS服务器、SIP服务器集群;
SIP终端,用于向DNS服务器发送解析域名的请求,并根据DNS服务器解析的IP地址,向解析的IP地址对应的SIP服务器发送业务应用请求消息(也称SIP消息);还用于接收所述SIP服务器发送的响应消息,当响应消息为暂时性转移消息时,根据暂时性转移消息Contact头域中的IP地址,重新向Contact头域中的IP地址对应的另一SIP服务器发起业务应用请求消息;
SIP终端也可称为用户,每个SIP终端均有唯一的SIP账号;所述业务应用请求消息(SIP消息)的内部结构包括SIP头部;SIP头部包括消息类型、From、To、Call-ID、CSeq和Contact等头域,所述消息类型包括注册请求(REGISTER)、呼叫请求(INVITE)、消息(MESSAGE)等;
SIP头部包括的域名称和功能说明如下表所示:
Figure BDA0000438780590000071
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终端发送的业务应用请求的类型,若业务应用请求类型为注册请求(REGISTER),再进一步判断注册请求的To头域中的SIP账号是否属于本SIP服务器对应的用户组,若是则进入接受处理模块,若否则进入目标SIP服务器确认模块;若业务应用请求类型为呼叫请求(INVITE),再进一步判断呼叫请求的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终端发送的是呼叫(INVITE)请求且呼叫请求的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服务器,分别是SIP服务器1,SIP服务器2和SIP服务器3,IP地址分别为192.168.1.1,192.168.1.2以及192.168.1.3,3台SIP服务器的域名均为abc.com;将所有SIP账号划分为3个不重叠的用户组,建立SIP服务器与用户组的对应关系为:SIP服务器1对应末位号码为0~3的用户组,SIP服务器2对应末位号码为4~6的用户组,SIP服务器3对应末位号码为7~9的用户组。
SIP服务器与SIP账号及用户组的映射规则如下表所示:
Figure BDA0000438780590000091
实施例二
图5是本发明优选实施例一种SIP服务器集群业务应用请求处理方法,在本发明实施例方法中,SIP终端发送的业务请求类型为注册请求(REGISTER),所述方法包括以下步骤:
S501,第一SIP终端向DNS服务器发送解析第一域名的请求;
S502,DNS服务器将第一域名解析为第一IP地址;
S503,第一SIP终端向第一SIP服务器发送业务应用请求;
SIP终端也可称为用户,每个SIP终端均有唯一的SIP账号;所述业务应用请求消息的内部结构包括SIP头部;SIP头部包括消息类型、From、To、Call-ID、CSeq和Contact等头域,所述消息类型包括注册请求(REGISTER)、呼叫请求(INVITE)、消息(MESSAGE)等;
SIP头部包括的域名称和功能说明如下表所示:
Figure BDA0000438780590000101
S504,第一SIP服务器判断业务应用请求为注册请求或呼叫请求,若为注册请求,则进入S505,
S505,第一SIP服务器检查注册请求的To头域中的第一SIP账号是否属于第一SIP服务器对应的用户组,若是则进入步骤S506,若否则进入步骤S508;
S506,第一SIP服务器接受所述注册请求,并将第一SIP终端的第一服务端口和第一IP地址记录在第一SIP服务器的路由表中;
S507,第一SIP服务器向第一SIP终端返回请求成功的消息,结束。
S508,第一SIP服务器根据SIP账号及用户组的映射规则获取第一SIP账号所在用户组对应的SIP服务器为第二SIP服务器;
所述映射规则为:将所有SIP账号划分为n个不重叠的用户组,并建立所述n台SIP服务器与用户组的一一对应关系的映射规则;映射规则存储在SIP服务器中。
例如,假设SIP服务器集群中共有三台SIP服务器,分别是SIP服务器1,SIP服务器2和SIP服务器3,IP地址分别为192.168.1.1,192.168.1.2以及192.168.1.3,3台SIP服务器的域名均为abc.com;将所有SIP账号划分为3个不重叠的用户组,建立SIP服务器与用户组的对应关系为:SIP服务器1对应末位号码为0~3的用户组,SIP服务器2对应末位号码为4~6的用户组,SIP服务器3对应末位号码为7~9的用户组。
SIP服务器与SIP账号及用户组的映射规则如下表所示:
S509,第一SIP服务器向第一SIP终端返回暂时性转移消息,并在暂时性转移消息的Contact头域填入第二SIP服务器的IP地址(记为第二服务器IP地址)
S510,第一SIP终端接收到暂时性转移消息后,重新向第二SIP服务器发起注册请求;
S511,第二SIP服务器检查注册请求的To头域中的第一SIP账号属于本SIP服务器对应的用户组,接受所述注册请求,并将第一SIP终端的第一IP地址和第一服务端口记录在第二SIP服务器存储的路由表中;
S512,第二SIP服务器向第一SIP终端返回请求成功的消息,结束。
实施例三
图6是本发明优选实施例一种SIP服务器集群业务应用请求处理方法,在本发明实施例方法中,SIP终端发送的业务请求类型为呼叫(INVITE)请求,所述方法包括以下步骤:
S601,第一SIP终端向DNS服务器发送解析第一域名的请求;
S602,DNS服务器将第一域名解析为第一IP地址;
S603,第一SIP终端向第一SIP服务器发送业务应用请求;
SIP终端也可称为用户,每个SIP终端均有唯一的SIP账号;所述业务应用请求消息的内部结构包括SIP头部;SIP头部包括消息类型、From、To、Call-ID、CSeq和Contact等头域,所述消息类型包括注册请求(REGISTER)、呼叫请求(INVITE)、消息(MESSAGE);
SIP头部包括的域名称和功能说明如下表所示:
Figure BDA0000438780590000121
S604,第一SIP服务器判断业务应用请求为注册请求或呼叫请求,若为呼叫请求,则进入S505,
S605,第一SIP服务器检查呼叫请求的To头域中的第二SIP账号是否属于第一SIP服务器对应的用户组,若是则进入步骤S606,若否则进入步骤S608;
S606,第一SIP服务器接受所述呼叫请求,从本SIP服务器存储的路由表中找出第二SIP账号对应的第二SIP终端的第二IP地址和第二服务端口,将呼叫请求转发给第二SIP终端;
S607,第一SIP服务器向第一SIP终端返回请求成功的消息,结束。
S608,第一SIP服务器根据SIP账号及用户组的映射规则获取第二SIP账号所在用户组对应的SIP服务器为第二SIP服务器;
所述映射规则与实施例二中相同,在此不再赘述。
S609,第一SIP服务器向第一SIP终端返回暂时性转移消息,并在暂时性转移消息的Contact头域填入第二SIP服务器的IP地址(记为第二服务器IP地址);
S610,第一SIP终端接收到暂时性转移的消息后,重新向第二SIP服务器发起呼叫第二SIP终端的请求;
S611,第二SIP服务器检查呼叫请求的To头域中的第二SIP账号属于本SIP服务器对应的用户组,接受所述呼叫请求,从本SIP服务器存储的路由表中找出第二SIP账号对应的第二SIP终端的第二IP地址和第二服务端口,将呼叫请求转发给第二SIP终端。
S612,第二SIP服务器向第一SIP终端返回请求成功的消息,结束。
本领域的普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序指令相关硬件来完成的,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质可以为ROM、RAM、磁盘、光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (9)

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终端的名称和SIP账号;
To,用于指明消息接收方SIP终端的名称和SIP账号;
Call-ID,用于指明SIP消息的ID,每个SIP消息具有唯一的ID;
CSeq,用于指明SIP消息的序列号;
Contact,用于指明请求消息中发送方SIP终端的IP地址和服务端口;
用于指明请求回复消息中,待接受处理的服务器的IP地址和服务端口。
4.一种SIP服务器集群业务应用请求处理方法,其特征在于,所述方法包括以下步骤:
第一SIP终端向DNS服务器发送解析第一域名的请求;
DNS服务器将第一域名解析为第一IP地址;
第一SIP终端向第一SIP服务器发送业务应用请求;
第一SIP服务器判断业务应用请求为注册请求或呼叫请求,若为注册请求,则
第一SIP服务器检查注册请求的To头域中的第一SIP账号是否属于第一SIP服务器对应的用户组,若是则
第一SIP服务器接受所述注册请求,并将第一SIP终端的第一服务端口和第一IP地址记录在第一SIP服务器的路由表中;
第一SIP服务器向第一SIP终端返回请求成功的消息,结束。
5.如权利要求4中所述的SIP服务器集群业务应用请求处理方法,其特征在于,步骤“第一SIP服务器检查注册请求的To头域中的第一SIP账号是否属于第一SIP服务器对应的用户组”中,若否,则
第一SIP服务器根据SIP账号及用户组的映射规则获取第一SIP账号所在用户组对应的SIP服务器为第二SIP服务器;
第一SIP服务器向第一SIP终端返回暂时性转移消息,并在暂时性转移消息的Contact头域填入第二SIP服务器的IP地址;
第一SIP终端接收到暂时性转移消息后,重新向第二SIP服务器发起注册请求;
第二SIP服务器检查注册请求的To头域中的第一SIP账号属于本SIP服务器对应的用户组,接受所述注册请求,并将第一SIP终端的第一IP地址和第一服务端口存储在第二SIP服务器路由表中;
第二SIP服务器向第一SIP终端返回请求成功的消息,结束。
6.如权利要求4中所述的SIP服务器集群业务应用请求处理方法,其特征在于,步骤“第一SIP服务器判断业务应用请求为注册请求或呼叫请求”中,若为呼叫请求,则
第一SIP服务器检查呼叫请求的To头域中的第二SIP账号是否属于第一SIP服务器对应的用户组,若是
第一SIP服务器接受所述呼叫请求,从第一SIP服务器存储的路由表中找出第二SIP账号对应的第二SIP终端的第二IP地址和第二服务端口,将呼叫请求转发给第二SIP终端;
第一SIP服务器向第一SIP终端返回请求成功的消息,结束。
7.如权利要求6中所述的SIP服务器集群业务应用请求处理方法,其特征在于,步骤“第一SIP服务器检查呼叫请求的To头域中的第二SIP账号是否属于第一SIP服务器对应的用户组”中,若否,则
第一SIP服务器根据SIP账号及用户组的映射规则获取第二SIP账号所在用户组对应的SIP服务器为第二SIP服务器;
第一SIP服务器向第一SIP终端返回暂时性转移消息,并在暂时性转移消息的Contact头域填入第二SIP服务器的IP地址;
第一SIP终端接收到暂时性转移的消息后,重新向第二SIP服务器发起呼叫第二SIP终端的请求;
第二SIP服务器检查呼叫请求的To头域中的第二SIP账号属于本SIP服务器对应的用户组,接受所述呼叫请求,从第二SIP服务器存储的路由表中找出第二SIP账号对应的第二SIP终端的第二IP地址和第二服务端口,将呼叫请求转发给第二SIP终端;
第二SIP服务器向第一SIP终端返回请求成功的消息,结束。
8.如权利要求4-7之一所述的SIP服务器集群业务应用请求处理方法,其特征在于,
所有SIP终端有唯一的SIP账号;
所述业务应用请求消息的内部结构包括SIP头部;
所述SIP头部包括以下头域:消息类型、From、To、Call-ID、CSeq和
Contact;
消息类型,用于指明业务应用请求消息的类型,包括注册请求、呼叫请求、消息;
From,用于指明消息发送方SIP终端的名称和SIP账号;
To,用于指明消息接收方SIP终端的名称和SIP账号;
Call-ID,用于指明SIP消息的ID,每个SIP消息具有唯一的ID;
CSeq,用于指明SIP消息的序列号;
Contact,用于指明请求消息中发送方SIP终端的IP地址和服务端口;
用于指明请求回复消息中,待接受处理的服务器的IP地址和服务端口。
9.如权利要求4-7之一所述的SIP服务器集群业务应用请求处理方法,其特征在于,
所述映射规则为:将所有SIP账号划分为n个不重叠的用户组,并建立所述n台SIP服务器与用户组的一一对应关系。
CN201310693484.8A 2013-12-16 2013-12-16 一种sip服务器集群系统及其业务应用请求处理方法 Active CN103746963B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310693484.8A CN103746963B (zh) 2013-12-16 2013-12-16 一种sip服务器集群系统及其业务应用请求处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310693484.8A CN103746963B (zh) 2013-12-16 2013-12-16 一种sip服务器集群系统及其业务应用请求处理方法

Publications (2)

Publication Number Publication Date
CN103746963A true CN103746963A (zh) 2014-04-23
CN103746963B CN103746963B (zh) 2017-02-15

Family

ID=50503950

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310693484.8A Active CN103746963B (zh) 2013-12-16 2013-12-16 一种sip服务器集群系统及其业务应用请求处理方法

Country Status (1)

Country Link
CN (1) CN103746963B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105245367A (zh) * 2015-10-08 2016-01-13 北京搜狗科技发展有限公司 一种序列号生成方法及电子设备
CN105450670A (zh) * 2015-12-30 2016-03-30 天津网加科技有限公司 基于云加密和集群技术的用于固话的网络电话回拨系统
CN105472180A (zh) * 2015-12-30 2016-04-06 天津网加科技有限公司 一种用于固话的网络回拨系统
CN105471908A (zh) * 2015-12-30 2016-04-06 天津网加科技有限公司 一种基于云加密和集群技术的网络电话回拨系统
CN105491251A (zh) * 2015-12-30 2016-04-13 天津网加科技有限公司 网络电话回拨方法及系统
CN106998330A (zh) * 2017-03-31 2017-08-01 北京奇艺世纪科技有限公司 一种网络电话的呼叫方法及装置
CN107612920A (zh) * 2017-09-30 2018-01-19 深圳市艾特智能科技有限公司 对讲方法、对讲系统、可读存储介质和计算机设备
CN107948275A (zh) * 2017-11-22 2018-04-20 四川长虹电器股份有限公司 实现云端可扩展高可用及高并发的方法
CN110113303A (zh) * 2019-03-25 2019-08-09 国家计算机网络与信息安全管理中心 一种电信网ims中sip协议栈负载均衡系统以及负载均衡方法
CN111010374A (zh) * 2019-11-22 2020-04-14 睿云联(厦门)网络通讯技术有限公司 一种app离线呼叫实现方法、装置、设备和介质
CN113055427A (zh) * 2019-12-28 2021-06-29 浙江宇视科技有限公司 一种基于业务的服务器集群接入方法及装置
CN113162865A (zh) * 2021-03-18 2021-07-23 海能达通信股份有限公司 负载均衡方法、服务器和计算机存储介质
CN113727464A (zh) * 2021-09-18 2021-11-30 睿云联(厦门)网络通讯技术有限公司 一种满足sip流媒体服务器高并发通话的建立方法和装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6873624B1 (en) * 1999-06-16 2005-03-29 Telefonaktiebolaget Lm Ericsson Arrangement and a method in a switched telecommunication system
CN1829195A (zh) * 2005-03-02 2006-09-06 日立通讯技术株式会社 分组转发装置
CN1984142A (zh) * 2006-05-16 2007-06-20 华为技术有限公司 基于会话初始协议的负载均衡实现方法及系统
CN101098308A (zh) * 2007-06-26 2008-01-02 华为技术有限公司 网络中节点负载分担的方法及系统
CN101834877A (zh) * 2010-06-03 2010-09-15 华中科技大学 基于分布式sip构架的动态负载均衡的方法及系统
CN102123179A (zh) * 2011-03-28 2011-07-13 中国人民解放军国防科学技术大学 应用于分布式应用系统的负载均衡方法和系统
CN102480469A (zh) * 2010-11-29 2012-05-30 北京中和威软件有限公司 一种sip服务集群中基于能量均衡的负载调度的方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6873624B1 (en) * 1999-06-16 2005-03-29 Telefonaktiebolaget Lm Ericsson Arrangement and a method in a switched telecommunication system
CN1829195A (zh) * 2005-03-02 2006-09-06 日立通讯技术株式会社 分组转发装置
CN1984142A (zh) * 2006-05-16 2007-06-20 华为技术有限公司 基于会话初始协议的负载均衡实现方法及系统
CN101098308A (zh) * 2007-06-26 2008-01-02 华为技术有限公司 网络中节点负载分担的方法及系统
CN101834877A (zh) * 2010-06-03 2010-09-15 华中科技大学 基于分布式sip构架的动态负载均衡的方法及系统
CN102480469A (zh) * 2010-11-29 2012-05-30 北京中和威软件有限公司 一种sip服务集群中基于能量均衡的负载调度的方法及装置
CN102123179A (zh) * 2011-03-28 2011-07-13 中国人民解放军国防科学技术大学 应用于分布式应用系统的负载均衡方法和系统

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105245367A (zh) * 2015-10-08 2016-01-13 北京搜狗科技发展有限公司 一种序列号生成方法及电子设备
CN105245367B (zh) * 2015-10-08 2018-11-13 北京搜狗科技发展有限公司 一种序列号生成方法及电子设备
CN105491251A (zh) * 2015-12-30 2016-04-13 天津网加科技有限公司 网络电话回拨方法及系统
CN105471908A (zh) * 2015-12-30 2016-04-06 天津网加科技有限公司 一种基于云加密和集群技术的网络电话回拨系统
CN105472180A (zh) * 2015-12-30 2016-04-06 天津网加科技有限公司 一种用于固话的网络回拨系统
CN105450670A (zh) * 2015-12-30 2016-03-30 天津网加科技有限公司 基于云加密和集群技术的用于固话的网络电话回拨系统
CN106998330A (zh) * 2017-03-31 2017-08-01 北京奇艺世纪科技有限公司 一种网络电话的呼叫方法及装置
CN107612920A (zh) * 2017-09-30 2018-01-19 深圳市艾特智能科技有限公司 对讲方法、对讲系统、可读存储介质和计算机设备
CN107948275A (zh) * 2017-11-22 2018-04-20 四川长虹电器股份有限公司 实现云端可扩展高可用及高并发的方法
CN110113303A (zh) * 2019-03-25 2019-08-09 国家计算机网络与信息安全管理中心 一种电信网ims中sip协议栈负载均衡系统以及负载均衡方法
CN110113303B (zh) * 2019-03-25 2021-07-09 国家计算机网络与信息安全管理中心 一种电信网ims中sip协议栈负载均衡系统以及负载均衡方法
CN111010374A (zh) * 2019-11-22 2020-04-14 睿云联(厦门)网络通讯技术有限公司 一种app离线呼叫实现方法、装置、设备和介质
CN111010374B (zh) * 2019-11-22 2022-04-19 睿云联(厦门)网络通讯技术有限公司 一种app离线呼叫实现方法、装置、设备和介质
CN113055427A (zh) * 2019-12-28 2021-06-29 浙江宇视科技有限公司 一种基于业务的服务器集群接入方法及装置
CN113055427B (zh) * 2019-12-28 2022-12-23 浙江宇视科技有限公司 一种基于业务的服务器集群接入方法及装置
CN113162865A (zh) * 2021-03-18 2021-07-23 海能达通信股份有限公司 负载均衡方法、服务器和计算机存储介质
CN113727464A (zh) * 2021-09-18 2021-11-30 睿云联(厦门)网络通讯技术有限公司 一种满足sip流媒体服务器高并发通话的建立方法和装置
CN113727464B (zh) * 2021-09-18 2023-07-14 睿云联(厦门)网络通讯技术有限公司 一种满足sip流媒体服务器高并发通话的建立方法和装置

Also Published As

Publication number Publication date
CN103746963B (zh) 2017-02-15

Similar Documents

Publication Publication Date Title
CN103746963A (zh) 一种sip服务器集群系统及其业务应用请求处理方法
CN104125208B (zh) 数据传输方法及装置
US8984135B2 (en) Methods and apparatus for load balancing in communication networks
CN100558109C (zh) 基于会话初始协议的负载均衡实现方法及系统
US20030126291A1 (en) Method and message distributor for routing requests to a processing node
CN104158891A (zh) 一种跨区域数据传输方法、装置、系统及服务器
CN101499996B (zh) 域名差异化解析方法和域名服务器
CN106067858A (zh) 容器间的通信方法、装置及系统
US20120096136A1 (en) Method and apparatus for sharing contents using information of group change in content oriented network environment
CN102624916A (zh) 云计算系统中均衡负载的方法、节点管理器及系统
CN103744949A (zh) 数据集成方法和系统
CN110086886A (zh) 动态会话保持方法及装置
CN106027356B (zh) 一种隧道标识的转换方法及装置
CN102668453B (zh) 资源的容错和可缩放的负载分布
CN109525633B (zh) 区块链网络、基于区块链网络的消息发送、消息接收方法
CN101807184B (zh) 用于检索包含通配符的字符串的方法和系统
CN101383766A (zh) 报文转发方法、装置和设备
JP2019068297A (ja) 通信装置、通信制御システム、および、通信制御方法
CN101282329B (zh) 一种网络媒体内容共享方法和系统
CN111131333B (zh) 业务数据推送方法和服务器集群
CN113452778A (zh) 会话保持方法、装置、设备、系统及存储介质
JP2006072715A (ja) コンテンツ配信システムおよびコンテンツ配信方法
CN104539538A (zh) 路由器的ip地址匹配方法和路由器的数据包转发方法
CN102984696A (zh) 基于移动终端的ip通信方法、设备和系统
CN111679918B (zh) 一种消息传输方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: 518057 Guangdong Province, Shenzhen city Nanshan District District Science Park Keyuan Road branch science park A1 unit 4 Building 403-405 unit

Applicant after: BAC Information Technology Co., Ltd.

Address before: Unit B1 9 building 518057 Guangdong city of Shenzhen province Nanshan District high in the four EVOC Technology Building No. 31

Applicant before: BAC Information Technology Co., Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 518000 Guangdong city of Shenzhen province Nanshan District Guangdong streets high in the four Longtaili Technology Building Room 325 No. 30

Patentee after: Shenzhen Monternet encyclopedia Information Technology Co. Ltd.

Address before: 518057 Guangdong Province, Shenzhen city Nanshan District District Science Park Keyuan Road branch science park A1 unit 4 Building 403-405 unit

Patentee before: BAC Information Technology Co., Ltd.

CP03 Change of name, title or address
CP01 Change in the name or title of a patent holder

Address after: 518000 Guangdong city of Shenzhen province Nanshan District Guangdong streets high in the four Longtaili Technology Building Room 325 No. 30

Patentee after: Shenzhen mengwang video Co., Ltd

Address before: 518000 Guangdong city of Shenzhen province Nanshan District Guangdong streets high in the four Longtaili Technology Building Room 325 No. 30

Patentee before: SHENZHEN MONTNETS ENCYCLOPEDIA INFORMATION TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder