呼叫处理方法、系统及服务器的制作方法

文档序号:7891427阅读:153来源:国知局
专利名称:呼叫处理方法、系统及服务器的制作方法
技术领域
本发明涉及通信方法,具体涉及呼叫处理方法、系统及服务器。
背景技术
会话发起协议(Session Initiation Protocol, SIP)作为宽带下的呼叫控制协议,运用越来越广泛。一个SIP终端可以利用SIP协议注册到一个呼叫会话控制功能(callsession control function, CSCF)上。注册成功的SIP终端可以使用SIP协议发起呼叫或接收呼叫。 目前因特网多媒体子系统(InternetProtocol (IP)Multimedia Subsystem, IMS)网络是基于SIP协议建立的下一代通讯网络,一个典型的MS网络系统中,包括了 SIP终端、CSCF实体以及应用服务器(application server, AS),然而在目前的SIP协议下,SIP终端只能注册到一个CSCF实体上,如果该CSCF实体故障时或者SIP终端和CSCF实体之间连接中断时,该SIP终端将无法发起正常呼叫。此外,如果CSCF实体和AS之间连接故障或者AS故障时,即使SIP终端可以打通应急电话,但在AS上主叫业务和被叫业务都将无法被触发。从而使得SIP用户体验降低。

发明内容
本发明实施例提供一种呼叫处理的方法,包括被叫终端归属的第二服务器接收被叫终端归属的第一服务器发送的转移呼叫的请求,所述请求中包含了路由信息,所述路由信息包含了各个已遍历服务器的标识,其中,所述已遍历服务器为当前已经尝试处理所述呼叫的被叫终端归属的服务器;所述第二服务器判断自身是否具有所述呼叫所需的全服务能力,如果具有,确定由所述第二服务器处理所述呼叫;如果不具有,所述第二服务器判断所述路由信息是否包含了除所述第二服务器之外的被叫终端归属的所有其它服务器的标识,如果包含,则所述第二服务器进行拆线判断处理,如果不包含,则查询存储在所述第二服务器中所述被叫终端归属的其它服务器的优先级,向除了已遍历服务器之外的所述被叫终端归属的服务器中优先级最高的服务器,发送转移呼叫的请求。可选的,方法还包括所述第一服务器接收呼叫所述被叫终端的呼叫请求;所述第一服务器判断自身是否具有所述呼叫所需的全服务能力,如果具有,确定由所述第一服务器处理所述呼叫请求;如果不具有,则查询存储在所述第一服务器中所述被叫终端归属的其它服务器的优先级,向其它服务器中优先级最高的第二服务器发送转移呼叫的请求,所述请求中包含了路由信息。可选的,方法还包括所述第二服务器接收到的转移呼叫的请求还包括转移呼叫最大次数,所述转移呼叫最大次数表示所述呼叫可被转移的最大次数;所述方法还包括所述第二服务器将从所述第一服务器接收到的所述转移呼叫的请求包含的转移呼叫最大次数减一,并在发送的所述转移呼叫的请求中携带将减一处理后的转移呼叫最大次数。
可选的,方法还包括在所述第二服务器判断所述路由信息是否包含了除所述第二服务器之外的被叫终端归属的所有服务器的标识之前,所述方法还包括判断所述新的转移呼叫最大次数是否为零,如果为零,所述第二服务器进行拆线判断处理;如果不为零,则所述第二服务器判断所述路由信息是否包含了除所述第二服务器之外的被叫终端归属的所有服务器的标识。可选的,方法还包括所述接收的转移呼叫的请求中还包含当前最大服务能力和具有当前最大服务能力对应的服务器标识,所述当前最大服务能力为各个已遍历服务器中具有服务能力的最大值;所述发送转移呼叫的请求之前,还包括所述第二服务器确定所述第二服务器的服务能力大于所述当前最大服务能力时,所述第二服务器将所述接收的转移呼叫的请求中的当前最大服务能力修改为所述第二服务器的服务能力,和将所述当前最大服务能力对应的服务器标识修改为所述第二服务器标识;所述向除了已遍历服务器之外的所述被叫终端归属的服务器优先级最高的服务器,发送转移呼叫的请求,包括向除了已遍历服务器之外的所述被叫终端归属的服务器优先级最高的服务器,发送修改后的转移呼叫的请求。可选的,方法还包括所述拆线判断处理具体包括所述第二服务器判断所述第二服务器自身的服务能力是否大于所述当前最大服务能力。如果大于,则确定所述第二服务器处理所述呼叫;如果小于或等于,则确定所述具有当前最大服务能力的服务器处理所述呼叫,所述第二服务器向所述第一服务器发送拆线消息,所述拆线消息包含了具有当前最大服务能力的服务器标识。可选的,方法还包括所述路由信息还包括所述已遍历服务器的地址;所述方法还包括在所述第二服务器向除了各个已遍历服务器之外的所述被叫终端归属的服务器优先级最高的服务器,发送转移呼叫的请求之前,还包括所述第二服务器在所述路由信息中增加所述第二服务器的标识和所述第二服务器的地址,并在发送的所述转移呼叫的请求中携带所述增加后的路由信息。可选的,方法还包括所述确定由所述第二服务器处理所述呼叫后,还包括所述第二服务器处理所述呼叫;或者所述第二服务器根据所述路由信息,根据所述路由信息,向所述第一服务器发送拆线消息,并将多归属落地前缀添加到所述拆线消息中,通过所述第一服务器将所述拆线消息传递到呼叫的请求方;所述第二服务器接收所述请求方重新发送的携带有所述多归属落地前缀的呼叫请求,其中,所述呼叫请求中携带的多归属落地前缀用于指示所述第二服务器直接处理所述呼叫。本发明实施例提供一种处理呼叫的服务器,包括第一请求单元,用于接收被叫终端归属的第一服务器发送的转移呼叫的请求,所述请求中包含了路由信息,所述路由信息包含了各个已遍历服务器的标识,其中,所述已遍历服务器为当前已经尝试处理所述呼叫的被叫终端归属的服务器;第一判断单元,用于判断自身是否具有所述呼叫所需的全服务能力,第一确定单元,用于如果所述第一判断单元判断出具有所述呼叫所需的全服务能力,确定由自身处理所述呼叫;第二判断单元,用于如果所述第一判断单元判断出不具有所述 呼叫所需的全服务能力,判断所述路由信息是否包含了除自身之外的被叫终端归属的其它服务器的标识;拆线判断单元,用于如果所述第二判断单元判断所述路由信息包含了除自身之外的被叫终端归属的所有服务器的标识,则所述进行拆线判断处理,第一发送单元,用于如果所述第二判断单元判断所述路由信息不包含除自身之外的被叫终端归属的所有服务器的标识,则查询存储在自身中所述被叫终端归属的其它服务器的优先级,向除了各个已遍历服务器之外的所述被叫终端归属的服务器中优先级最高的服务器,发送转移呼叫的请求。可选的,该服务器还包括更新单元,用于将从所述第一服务器接收到的所述转移呼叫的请求包含的转移呼叫最大次数将减一,并在发送的所述转移呼叫的请求中携带将减一处理后的转移呼叫最大次数,所述转移呼叫最大次数表示所述呼叫可被转移的最大次数。可选的,该服务器还包括第三判断单元,用于判断所述新的转移呼叫最大次数是否为零,如果为零,则进行所述拆线判断处理单元的拆线判断处理;如果不为零,则进行所 述第二判断单元的判断处理。可选的,该服务器还包括所述更新单元,还用于确定自身的服务能力大于所述当前最大服务能力时,将所述接收的转移呼叫的请求中的当前最大服务能力修改为自身的服务能力和所述当前最大服务能力对应的服务器标识修改为自身标识,并在发送的所述转移呼叫的请求中携带修改后的当前最大服务能力和修改后的当前最大服务能力对应的服务器标识,所述当前最大服务能力为各个已遍历服务器中具有服务能力的最大值。可选的,该服务器还包括所述拆线判断单元具体用于判断所述第二服务器自身的服务能力是否大于所述当前最大服务能力,如果大于,则确定所述第二服务器处理所述呼叫;如果小于或等于,则确定所述具有当前最大服务能力的服务器处理所述呼叫,所述第二服务器向所述第一服务器发送拆线消息,所述拆线消息包含了具有当前最大服务能力的服务器标识。可选的,该服务器还包括所述更新单元,还用于在所述路由信息中增加所述自身的服务器标识和自身的服务器地址。可选的,该服务器还包括第一处理单元,用于在确定由所述第二服务器处理所述呼叫请求后,根据所述路由信息,向所述第一服务器发送拆线消息,并将多归属落地前缀添加到所述拆线消息中,通过所述第一服务器将所述拆线消息传递到呼叫的请求方,接收所述请求方重新发送的携带有所述多归属落地前缀的呼叫请求,其中,所述呼叫请求中携带的多归属落地前缀用于指示所述第二服务器直接处理所述呼叫。本发明实施例提供一种处理呼叫的系统,包括第一服务器,用于接收主叫终端发送的呼叫请求,其中,所述呼叫请求的被叫终端归属于一个以上的服务器,并判断是否具有所述呼叫所需的全服务能力,如果具有,确定所述第一服务器自身处理所述呼叫请求;如果不具有,查询存储在所述第一服务器自身中所述被叫终端归属的各个服务器的优先级,向除了所述第一服务器自身之外的所述被叫终端归属的服务器优先级最高的服务器,发送转移呼叫的请求,所述请求中包含了路由信息,所述路由信息包含了已遍历服务器的标识,其中,所述已遍历服务器为当前已经尝试处理所述呼叫的被叫终端归属的服务器;所述第二服务器,用于接收被叫终端归属的第一服务器发送的转移呼叫的请求,所述请求中包含了路由信息,所述路由信息包含了各个已遍历服务器的标识,其中,所述已遍历服务器为当前已经尝试处理所述呼叫的被叫终端归属的服务器;判断自身是否具有所述呼叫所需的全服务能力,如果具有,确定由所述第二服务器处理所述呼叫;如果不具有,判断所述路由信息是否包含了除所述第二服务器之外的被叫终端归属的所有其它服务器的标识,如果包含,则进行拆线判断处理, 如果不包含,则查询存储在所述第二服务器中所述被叫终端归属的其它服务器的优先级,向除了已遍历服务器之外的所述被叫终端归属的服务器中优先级最高的服务器,发送转移呼叫的请求。本发明实施例中,当接收到呼叫请求时,根据被叫终端归属服务器的优先级和服务器的服务能力,选择出一个优先级级别最高且能力最强的服务器进行处理该呼叫,从而实现了被叫终端归属于多个服务器的呼叫方案,并且当其中的某个服务器坏了或者与被叫终端的连接终端,该呼叫仍然能被处理。


为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图I为本发明一个实施例提供的典型的终端归属于多个服务器的系统图;图2为本发明一个实施例提供的被叫终端归属于多个服务器的呼叫的处理方法的流程图;图3为本发明另一个实施例提供的被叫终端归属于多个服务器的呼叫的处理方法的流程图;图4为本发明一个实施例提供的处理终端归属于多个服务器的呼叫的服务器的结构示意图;图5为本发明另一个实施例提供的处理终端归属于多个服务器的呼叫的服务器的结构不意图;图6为本发明一个实施例提供的处理终端归属于多个服务器呼叫的系统的结构示意图。
具体实施例方式本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。如图I所示,为一个典型的终端归属多个服务器的系统,终端105分别归属与区域A的服务器A1041,区域B的服务器B1042以及区域C的服务器C1043。每一个服务器可以分别和其对应的媒体资源功能(Media Resource Function, MRF)、归属用户服务器(HomeSubscriber Server, HSS)和AS相连接。这里的服务器可能是SIP服务器或CSCF,终端可能是SIP终端。先介绍本发明实施例提供的终端归属多个服务器的注册过程,终端启动后,分别向3个服务器上进行注册,并指定终端归属各个服务器上的优先级。各个服务器保存该终端的注册信息,注册信息包含了终端标识,归属服务器的标识,以及终端归属服务器的优先级,注册信息可以用注册表的形式进行保存,如表一所示
终端标识服务器标识终端归属服务器的优先级^
终端α服务器aTm终端α服务器BIm
终端A服务器C31表一在上述表一中,终端A归属服务器的优先级的级别以I级,2级,3级进行表示的,其中I级级别最高,2级级别次于I级级别,但高于3级级别,3级级别最低,当然,这里只是一种终端归属服务器的优先级的表示方法,还可以用其它方式,比如用级别A,B,C进行区分优先级。在终端向服务器注册的过程中,终端可以采用多种方式进行指定终端归属服务器的优先级。可以根据号段规律,指定终端归属服务器的优先级,例如对于号段为0755XXXXX的用户,其终端归属服务器的优先级为服务器A高于服务器B,服务器B高于服务器C,而对于号段为0756XXXXX的用户,其终端归属服务器的优先级为服务器B高于服务器A,服务器A高于服务器C。也可以根据终端号码的域名,指定终端归属服务器的优先级,例如对于“SIPUserNameO区域A”的用户,其终端归属服务器的优先级为服务器A高于服务器B,服务器B高于服务器C,对于“SIPUserNameO区域B”用户,其终端归属服务器的优先级为服务器A高于服务器B,服务器B高于服务器C。当然,终端也可以根据呼叫信息和用户能力属性动态调整终端归属服务器的优先级,呼叫信息可以是音频呼叫和视频呼叫,用户能力属性可以为用户注册时所在的物理位置、用户注册时的终端是否有加密能力,用户注册时的终端是否有视频能力等。例如当终端进行呼叫的类型为音频呼叫时,iiSIPUserNamei区域A”的用户,其终端归属服务器的优先级为服务器A高于服务器B,服务器B高于服务器C ;当终端进行呼叫的类型视频呼叫时,“SIPUserNameO区域A”的用户,其终端归属服务器的优先级为服务器A高于服务器B,服务器B高于服务器C。在本发明实施例中,终端可以在任意几个服务器上进行注册。图2描述了本发明一个实施例提供的归属于多个服务器的终端接收呼叫的处理方法的流程201、被叫终端归属的第二服务器接收被叫终端归属的第一服务器发送的转移呼叫的请求,所述请求中包含了路由信息,所述路由信息包含了各个已遍历服务器的标识,其中,所述已遍历服务器为当前已经尝试处理所述呼叫的被叫终端归属的服务器;202、所述第二服务器判断自身是否具有所述呼叫所需的全服务能力,如果具有,确定由所述第二服务器处理所述呼叫;203、如果不具有,所述第二服务器判断所述路由信息是否包含了除所述第二服务器之外的被叫终端归属的所有其它服务器的标识,如果包含,则所述第二服务器进行拆线判断处理,如果不包含,则查询存储在所述第二服务器中所述被叫终端归属的其它服务器的优先级,向除了已遍历服务器之外的所述被叫终端归属的服务器中优先级最高的服务器,发送转移呼叫的请求。本发明实施例中,当接收到呼叫请求时,根据被叫终端归属服务器的优先级和服务器的服务能力,选择出一个优先级级别最高且能力最强的服务器进行处理该呼叫,从而实现了被叫终端归属于多个服务器的呼叫方案,并且当其中的某个服务器坏了或者与被叫终端的连接终端,该呼叫仍然能被处理。
图3描述了本发明一个实施例提供的归属于多个服务器的终端接收呼叫的处理方法的流程,其中,该方案中,假设被叫终端归属于多个服务器,分别归属于服务器A、服务器B和服务器C,其终端归属服务器的优先级为服务器A高于服务器B,服务器B高于服务器C,并且服务器A、服务器B和服务器C均不具有呼叫所需的全服务能力,其中服务器B的服务能力在服务器A、服务器B和服务器C中是最大的,则流程包括301、服务器A接收到主叫终端发起的呼叫请求,请求呼叫被叫终端。当归属于多个服务器的终端作为被叫终端时,如果主叫终端不归属服务器A时,呼叫请求可以是从网络中的其它设备发送到服务器A中,比如其它设备为MGCF,此时MGCF对呼叫请求进行呼叫路由时,通过数据配置,可以固定将呼叫请求发送到该被叫终端归属的某个服务器,如服务器A ;也可以将该呼叫请求发送到该被叫终端归属的多个服务器中任意一个,如服务器A。如果主叫终端归属于服务器A时,则服务器A直接接收到该呼叫请求。当服务器A确定该呼叫的被叫终端归属于多个服务器时,服务器A确定被叫终端归属服务器A的优先级是不是最高,如果不是最高,则查询被叫终端归属服务器的优先级最高对应的服务器,将呼叫请求转发给该服务器;如果被叫终端归属于服务器A的优先级是最闻的,则执行步骤302。302、服务器A判断服务器A自身是否具有该呼叫所需的全服务能力,如果具有,则处理该呼叫,接续被叫终端。如果不具有,则查询该被叫终端归属的各个服务器的优先级,向除了服务器A之外的,终端归属的服务器优先级最高的服务器发送转移呼叫的请求。服务能力可以有多种,包括与应用服务器连接正常,服务器具有提供终端定制的业务的服务能力,比如彩铃业务;与HSS连接正常,服务器具有在呼叫过程中查询某些只保存在HSS上的信息的能力,如终端的过滤策略信息和终端的位置信息等;与MRF连接正常,服务器具有为呼叫提供媒体服务的能力,如放音、收号等;和服务器的部件状态正常,服务器具有为用户提供呼叫处理服务的能力。针对不同呼叫,所需的全服务能力可以是不同的。例如某类呼叫不需要使用媒体资源,那么服务器对该类呼叫进行全服务能力判断时可以无需考虑与MRF的连接状态。服务器A查询被叫终端的注册信息,确定除了被叫终端归属于服务器A之外,被叫终端归属于服务器B的优先级是最高的,此时服务器A将生成多转移呼叫的请求,该请求包含了转移标识、当前最大服务能力、具有当前最大服务能力的服务器标识和路由信息,该请求还可以包含转移呼叫最大次数。其中,一个转移呼叫的会话对应了唯一的转移标识;当前最大服务能力用于表示各个已遍历服务器中具有最大服务能力值,其中已遍历服务器为当前已经尝试处理该呼叫的被叫终端归属的服务器,当有新的尝试处理该呼叫的服务器具有服务能力大于该请求中的当前最大服务能力时,则将该新的尝试处理该呼叫的服务器具有的服务能力作为新的当前最大服务能力,在步骤302中,当前最大服务能力为服务器A具有的服务能力;具有当前最大服务能力的服务器标识用于表示具有当前最大服务能力的服务器,在步骤302中,具有当前最大服务能力的服务器标识为服务器A的标识;转移呼叫最大次数表示该呼叫当前可以被转移的最大次数,比如设置该转移呼叫最大次数为2次,当每转移一次该呼叫,该转移呼叫最大次数减一,即当服务器接收到转移呼叫的请求后,该请求 转移呼叫最大次数将被减一,在步骤302中,该转移呼叫最大次数为I次;路由信息包含了各个已遍历服务器的标识和各个已遍历服务器的地址,其中,已遍历服务器为当前已经尝试处理所述呼叫的被叫终端归属的服务器,在步骤302中,该路由信息包含了服务器A的地址,以及服务器A的标识。303 :服务器B接收服务器A发送的转移呼叫的请求后,判断服务器B自身是否具有上述呼叫所需的全服务能力,如果具有,则处理该呼叫,接续被叫终端。如果不具有,则确定当前转移呼叫的请求中包含的转移呼叫最大次数是否为0,如果为0,则进行拆线判断处理;如果不为0,则查询该被叫终端归属的各个服务器的优先级和转移呼叫的请求中包含的路由信息,向除了各个已遍历服务器之外的终端归属的服务器优先级最高的服务器,发送转移呼叫的请求。服务器B接收服务器A发送的转移呼叫的请求后,该请求中转移呼叫最大次数将减1,则当前转移呼叫最大次数为1,因此当前转移呼叫的请求中包含的转移呼叫最大次数为I,并且当前除了服务器A和服务器B之外的,服务器C具有最高优先级,则向服务器C发送转移呼叫的请求。在向服务器C发送转移呼叫的请求之前,服务器B还需要判断服务器B的服务能力是否大于从服务器A接收到的转移呼叫的请求中包含的当前最大服务能力。如果大于,则将转移呼叫的请求中包含的当前最大服务能力修改为服务器B的服务能力,并修改该转移呼叫的请求中包含具有当前最大服务能力的服务器标识为服务器B的标识。如果小于或等于,则转移呼叫的请求中包含的当前最大服务能力和具有当前最大服务能力的服务器标识不变。另外,在向服务器C发送转移呼叫的请求之前,服务器B在转移呼叫的请求包含的路由信息中,增加服务器B的地址和服务器B的标识。另外,如果除了各个已遍历服务器之外,被叫终端已没有归属的服务器的话,SP 被叫终端归属的服务器都进行了全服务能力判断了,则进行拆线判断处理。在本发明另外一个实施例中,如果转移呼叫的请求不包含转移呼叫最大次数,则无需判断转移呼叫最大次数是否为O。304 :服务器C接收服务器B发送的转移呼叫的请求后,判断服务器B自身是否具有上述呼叫所需的全服务能力,如果具有,则处理该呼叫,接续被叫终端;如果不具有,则确定转移呼叫的请求中包含的转移呼叫最大次数是否为0,如果为0,则进行拆线判断处理;如果不为0,则查询该被叫终端归属的各个服务器的优先级和转移呼叫的请求中包含的路由信息,向除了各个已遍历服务器之外的终端归属的服务器优先级最高的服务器,发送转移呼叫的请求。服务器C接收服务器B发送的转移呼叫的请求后,该请求中转移呼叫最大次数将减1,则当前转移呼叫最大次数为0,因此当前转移呼叫的请求中包含的转移呼叫最大次数为O,则进入拆线判断处理。拆线判断处理过程如下服务器C判断服务器C的服务能力是否大于从服务器B接收到的转移呼叫的请求中包含的当前最大服务能力。如果大于,即在被叫终端归属的多个服务器中,服务器C具有的最大的服务能力,选择服务器C作为呼叫处理的服务器,则月艮务器C进行呼叫处理;如果小于或等于,即在被叫终端归属的多个服务器中,服务器B具有的最大的服务能力,选择服务器B作为呼叫处理的服务器,则根据路由信息,服务器C向服务器B发送拆线消息,拆除该转移呼叫会话。该拆线消息包含了转移标识、具有当前最大服务能力的服务器标识和路由信息。由于本发明实施例中,假设服务器B具有的能力高于服务器A具有的能力,则此时,服务器C向服务器B发送拆线消息。305、服务器B接收到服务器C发送的拆线消息,根据具有当前最大服务能力的服务器标识,确定服务器B处理该呼叫。服务器B进行呼叫处理。在本发明实施例中,服务器进行呼叫处理具体过程可以如下服务器向被叫终端 发送呼叫请求,并根据路由信息向主叫终端发送振铃响应,也就是说,根据路由信息,服务器B将振铃响应发送给服务器A,服务器A再将振铃响应发送给步骤301中呼叫请求发送的装置。在呼叫处理过程中,后续所有呼叫消息都需要通过服务器A进行转发。假设具有当前最大服务能力的服务器不是服务器B时,则服务器B接收到服务器C的拆线消息后,拆除该转移呼叫会话,并将该拆线消息发送给服务器A中。本发明实施例中,当接收到呼叫请求时,根据被叫终端归属服务器的优先级和服务器的服务能力,选择出一个优先级级别最高且能力最强的服务器进行处理该呼叫,从而实现了被叫终端归属于多个服务器的呼叫方案,并且当其中的某个服务器坏了或者与被叫终端的连接终端,该呼叫仍然能被处理。在本发明另外一个实施例中,在呼叫处理过程中,为了避免后续所有呼叫消息都需要通过服务器A进行转发,当某个服务器由于自身具备全服务能力,或者由于自身服务能力在被叫终端归属的多个服务器中是最强的确定自身为本次呼叫的处理者后,则服务器不立即进行呼叫处理,而进行如下操作如果服务器自身是转移呼叫的始发服务器,则服务器直接处理该呼叫,如果服务器自身不是转移呼叫的始发服务器,则根据路由信息,向前一个服务器发送拆线消息,并将转移呼叫号码添加到拆线消息中,其中转移呼叫号码包括了多归属落地前缀和原始被叫号码,当服务器接收到包含该多归属落地前缀的呼叫请求时,该服务器将强制处理该呼叫。当始发服务器收到拆线消息后,进行如下判断和处理如果该呼叫的主叫终端归属于始发服务器,则处理拆线消息,拆除转移呼叫会话后,根据拆线消息中包含的转移呼叫号码,重新向被叫终端发起呼叫。如果该呼叫的主叫终端不归属于始发服务器,例如该呼叫请求从MGCF发送过来的,则向该MGCF发送发起重新呼叫的请求,该请求中包含具有当前最大服务能力的服务器标识和转移呼叫号码,根据该请求指示MGCF向最终处理该呼叫的服务器重新发送呼叫。MGCF收到发起重新呼叫的请求后,根据请求中包含的当前最大服务能力的服务器标识和转移呼叫号码,直接向当前最大服务能力的服务器发起呼叫请求,该呼叫请求包含了转移呼叫号码,服务器接收到该呼叫请求后,根据多归属落地前缀,不做多归属判断和其他判断,直接处理。如图4所示,本发明实施例提供的一种处理被叫终端呼叫的服务器的结构图,其特征在于,包括
第一请求单元41,用于接收被叫终端归属的第一服务器发送的转移呼叫的请求,所述请求中包含了路由信息,所述路由信息包含了各个已遍历服务器的标识,其中,所述已遍历服务器为当前已经尝试处理所述呼叫的被叫终端归属的服务器;第一判断单元42,用于判断自身是否具有所述呼叫所需的全服务能力,第一确定单元43,用于如果所述第一判断单元42判断具有所述呼叫所需的全服务能力,确定由自身处理所述呼叫请求;第二判断单元44,用于如果所述第一判断单元43判断出不具有所述呼叫所需的全服务能力,判断所述路由信息是否包含了除自身之外的被叫终端归属的所有服务器的标识;拆线判断单元45,用于如果所述第二判断单元44判断出所述路由信息包含了除自身之外的被叫终端归属的其它服务器的标识,则所述进行拆线判断处理,第一发送单元46,用于如果所述第二判断单元判断44所述路由信息不包含除自身之外的被叫终端归属的所有服务器的标识,则查询存储在自身中所述被叫终端归属的各个服务器的优先级,向除了各个已遍历服务器之外的所述被叫终端归属的服务器中优先级最高的服务器,发送转移呼叫的请求。可选的,如图5所示,处理被叫终端归属多个非完全的呼叫的服务器还包括更新单元47,用于将从所述第一服务器接收到的所述转移呼叫的请求包含的转移呼叫最大次数将减一,并在发送的所述转移呼叫的请求中携带将减一处理后的转移呼叫最大次数,所述转移呼叫最大次数表示所述呼叫可被转移的最大次数。可选的,更新单元47,还用于确定自身的服务能力大于所述当前最大服务能力时,将所述接收的转移呼叫的请求中的当前最大服务能力修改为自身的服务能力和所述当前最大服务能力对应的服务器标识修改为自身标识,并在发送的所述转移呼叫的请求中携带修改后的当前最大服务能力和修改后的当前最大服务能力对应的服务器标识,所述当前最大服务能力为各个已遍历服务器中具有服务能力的最大值。可选的,更新单元47,用于在所述路由信息中增加所述自身的服务器标识,和自身到服务器地址。可选的,如图5所示,处理被叫终端归属多个服务器的呼叫的服务器还包括第三判断单元48,用于判断所述新的转移呼叫最大次数是否为零,如果为零,则进行所述拆线判断处理单元45的拆线判断处理;如果不为零,则进行所述第二判断单元44的判断处理。可选的,所述拆线判断单元45具体用于判断所述第二服务器自身的服务能力是否大于所述当前最大服务能力,如果大于,则确定所述第二服务器处理所述呼叫;如果小于或等于,则确定所述具有当前最大服务能力的服务器处理所述呼叫,所述第二服务器向所述第一服务器发送拆线消息,所述拆线消息包含了具有当前最大服务能力的服务器标识。可选的,如图5所示,处理被叫终端归属多个服务器的呼叫的服务器还包括第一处理单元49,用于在确定由所述第二服务器处理所述呼叫请求后,根据所述路由信息,向所述第一服务器发送拆线消息,并将多归属落地前缀添加到所述拆线消息中,通过所述第一服务器将所述拆线消息传递到呼叫的请求方,接收所述请求方重新发送的携带有所述多归属落地前缀的呼叫请求,其中,所述呼叫请求中携带的多归属落地前缀用于指示所述第二 服务器直接处理所述呼叫。本发明实施例中,当接收到呼叫请求时,根据被叫终端归属服务器的优先级和服务器的服务能力,选择出一个优先级级别最高且能力最强的服务器进行处理该呼叫,从而实现了被叫终端归属于多个服务器的呼叫方案,并且当其中的某个服务器坏了或者与被叫终端的连接终端,该呼叫仍然能被处理。如图6所示,本发明实施例提供的一种处理被叫终端归属多个服务器的呼叫的系统的结构图,其特征在于,包括第一服务器61,用于接收主叫终端发送的呼叫请求,其中,所述呼叫请求的被叫终端归属于一个以上的服务器,并判断是否具有所述呼叫所需的全服务能力,如果具有,确定所述第一服务器自身处理所述呼叫请求;如果不具有,查询存储在所述第一服务器自身中所述被叫终端归属的各个服务器的优先级,向除了所述第一服务器自身之外的所述被叫终端归属的服务器优先级最高的服务器,发送转移呼叫的请求,所述请求中包含了路由信息,所述路由信息包含了已遍历服务器的标识,其中,所述已遍历服务器为当前已经尝试处理所述呼叫的被叫终端归属的服务器;所述第二服务器62,用于接收被叫终端归属的第一服务器发送的转移呼叫的请求,所述请求中包含了路由信息,所述路由信息包含了各个已遍历服务器的标识,其中,所述已遍历服务器为当前已经尝试处理所述呼叫的被叫终端归属的服务器;判断自身是否具有所述呼叫所需的全服务能力,如果具有,确定由所述第二服务器处理所述呼叫;如果不具有,判断所述路由信息是否包含了除所述第二服务器之外的被叫终端归属的所有其它服务器的标识,如果包含,则进行拆线判断处理,如果不包含,则查询存储在所述第二服务器中所述被叫终端归属的其它服务器的优先级,向除了已遍历服务器之外的所述被叫终端归属的服务器中优先级最高的服务器,发送转移呼叫的请求。本发明实施例中,当接收到呼叫请求时,根据被叫终端归属服务器的优先级和服务器的服务能力,选择出一个优先级级别最高且能力最强的服务器进行处理该呼叫,从而实现了被叫终端归属于多个服务器的呼叫方案,并且当其中的某个服务器坏了或者与被叫终端的连接终端,该呼叫仍然能被处理。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。上述计费装置和余额管理中心均可以是一个主机设备,例如PC或移动终端,主机设备包括存储器以存储执行本发明的代码,一个或多个微处理器以执行所述代码,及一个通信接口提供网络访问。最后应说明的是以上实施例仅用以说明本发明的技 术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
权利要求
1.一种呼叫处理方法,其特征在于,包括 被叫终端归属的第二服务器接收被叫终端归属的第一服务器发送的转移呼叫的请求,所述请求中包含了路由信息,所述路由信息包含了各个已遍历服务器的标识,其中,所述已遍历服务器为当前已经尝试处理所述呼叫的被叫终端归属的服务器; 所述第二服务器判断自身是否具有所述呼叫所需的全服务能力,如果具有,确定由所述第二服务器处理所述呼叫; 如果不具有,所述第二服务器判断所述路由信息是否包含了除所述第二服务器之外的被叫终端归属的所有其它服务器的标识,如果包含,则所述第二服务器进行拆线判断处理,如果不包含,则查询存储在所述第二服务器中所述被叫终端归属的其它服务器的优先级,向除了已遍历服务器之外的所述被叫终端归属的服务器中优先级最高的服务器,发送转移呼叫的请求。
2.如权利要求I所述的方法,其特征在于,还包括所述第一服务器接收呼叫所述被叫终端的呼叫请求; 所述第一服务器判断自身是否具有所述呼叫所需的全服务能力,如果具有,确定由所述第一服务器处理所述呼叫请求; 如果不具有,则查询存储在所述第一服务器中所述被叫终端归属的其它服务器的优先级,向其它服务器中优先级最高的第二服务器发送转移呼叫的请求,所述请求中包含了路由信息。
3.根据权利要求1-2任一所述的方法,其特征在于,所述第二服务器接收到的转移呼叫的请求还包括转移呼叫最大次数,所述转移呼叫最大次数表示所述呼叫可被转移的最大次数; 所述方法还包括 所述第二服务器将从所述第一服务器接收到的所述转移呼叫的请求包含的转移呼叫最大次数减一,并在发送的所述转移呼叫的请求中携带将减一处理后的转移呼叫最大次数。
4.根据权利要求1-3任一所述的方法,其特征在于,在所述第二服务器判断所述路由信息是否包含了除所述第二服务器之外的被叫终端归属的所有服务器的标识之前,所述方法还包括判断所述新的转移呼叫最大次数是否为零,如果为零,所述第二服务器进行拆线判断处理; 如果不为零,则所述第二服务器判断所述路由信息是否包含了除所述第二服务器之外的被叫终端归属的所有服务器的标识。
5.根据权利要求1-4任一所述的方法,其特征在于,所述接收的转移呼叫的请求中还包含当前最大服务能力和具有当前最大服务能力对应的服务器标识,所述当前最大服务能力为各个已遍历服务器中具有服务能力的最大值; 所述发送转移呼叫的请求之前,还包括 所述第二服务器确定所述第二服务器的服务能力大于所述当前最大服务能力时,所述第二服务器将所述接收的转移呼叫的请求中的当前最大服务能力修改为所述第二服务器的服务能力,和将所述当前最大服务能力对应的服务器标识修改为所述第二服务器标识; 所述向除了已遍历服务器之外的所述被叫终端归属的服务器优先级最高的服务器,发送转移呼叫的请求,包括 向除了已遍历服务器之外的所述被叫终端归属的服务器优先级最高的服务器,发送修改后的转移呼叫的请求。
6.根据权利要求5所述的方法,其特征在于,所述拆线判断处理具体包括 所述第二服务器判断所述第二服务器自身的服务能力是否大于所述当前最大服务能力。如果大于,则确定所述第二服务器处理所述呼叫;如果小于或等于,则确定所述具有当前最大服务能力的服务器 处理所述呼叫,所述第二服务器向所述第一服务器发送拆线消息,所述拆线消息包含了具有当前最大服务能力的服务器标识。
7.根据权利要求1-6任一所述的方法,其特征在于,所述路由信息还包括所述已遍历服务器的地址; 所述方法还包括在所述第二服务器向除了各个已遍历服务器之外的所述被叫终端归属的服务器优先级最高的服务器,发送转移呼叫的请求之前,还包括所述第二服务器在所述路由信息中增加所述第二服务器的标识和所述第二服务器的地址,并在发送的所述转移呼叫的请求中携带所述增加后的路由信息。
8.根据权利要求2-6任一所述的方法,其特征在于,所述确定由所述第二服务器处理所述呼叫后,还包括 所述第二服务器处理所述呼叫;或者 所述第二服务器根据所述路由信息,根据所述路由信息,向所述第一服务器发送拆线消息,并将多归属落地前缀添加到所述拆线消息中,通过所述第一服务器将所述拆线消息传递到呼叫的请求方; 所述第二服务器接收所述请求方重新发送的携带有所述多归属落地前缀的呼叫请求,其中,所述呼叫请求中携带的多归属落地前缀用于指示所述第二服务器直接处理所述呼口 H。
9.一种处理呼叫的服务器,其特征在于,包括 第一请求单元,用于接收被叫终端归属的第一服务器发送的转移呼叫的请求,所述请求中包含了路由信息,所述路由信息包含了各个已遍历服务器的标识,其中,所述已遍历服务器为当前已经尝试处理所述呼叫的被叫终端归属的服务器; 第一判断单元,用于判断自身是否具有所述呼叫所需的全服务能力, 第一确定单元,用于如果所述第一判断单元判断出具有所述呼叫所需的全服务能力,确定由自身处理所述呼叫; 第二判断单元,用于如果所述第一判断单元判断出不具有所述呼叫所需的全服务能力,判断所述路由信息是否包含了除自身之外的被叫终端归属的服务器的标识; 拆线判断单元,用于如果所述第二判断单元判断所述路由信息包含了除自身之外的被叫终端归属的其它服务器的标识,则所述进行拆线判断处理; 第一发送单元,用于如果所述第二判断单元判断所述路由信息不包含除自身之外的被叫终端归属的所有服务器的标识,则查询存储在自身中所述被叫终端归属的其它服务器的优先级,向除了各个已遍历服务器之外的所述被叫终端归属的服务器中优先级最高的服务器,发送转移呼叫的请求。
10.根据权利要求9所述的服务器,其特征在于,还包括更新单元,用于将从所述第一服务器接收到的所述转移呼叫的请求包含的转移呼叫最大次数将减一,并在发送的所述转移呼叫的请求中携带将减一处理后的转移呼叫最大次数,所述转移呼叫最大次数表示所述呼叫可被转移的最大次数。
11.根据权利要求10所述的服务器,其特征在于,还包括第三判断单元,用于判断所述新的转移呼叫最大次数是否为零,如果为零,则进行所述拆线判断处理单元的拆线判断处理;如果不为零,则进行所述第二判断单元的判断处理。
12.根据权利要求9-11任一所述的服务器,其特征在于,所述更新单元,还用于确定自身的服务能力大于所述当前最大服务能力时,将所述接收的转移呼叫的请求中的当前最大服务能力修改为自身的服务能力和所述当前最大服务能力对应的服务器标识修改为自身标识,并在发送的所述转移呼叫的请求中携带修改后的当前最大服务能力和修改后的当前最大服务能力对应的服务器标识,所述当前最大服务能力为各个已遍历服务器中具有服务能力的最大值。
13.根据权利要求9-12任一所述的服务器,其特征在于,所述拆线判断单元具体用于判断所述第二服务器自身的服务能力是否大于所述当前最大服务能力,如果大于,则确定所述第二服务器处理所述呼叫;如果小于或等于,则确定所述具有当前最大服务能力的服务器处理所述呼叫,所述第二服务器向所述第一服务器发送拆线消息,所述拆线消息包含了具有当前最大服务能力的服务器标识。
14.根据权利要求9-13任一所述的服务器,其特征在于,所述更新单元,还用于在所述路由信息中增加所述自身的服务器标识和自身的服务器地址。
15.根据权利要求9-14任一所述的服务器,其特征在于,还包括第一处理单元,用于在确定由所述第二服务器处理所述呼叫请求后,根据所述路由信息,向所述第一服务器发送拆线消息,并将多归属落地前缀添加到所述拆线消息中,通过所述第一服务器将所述拆线消息传递到呼叫的请求方,接收所述请求方重新发送的携带有所述多归属落地前缀的呼叫请求,其中,所述呼叫请求中携带的多归属落地前缀用于指示所述第二服务器直接处理所述呼叫。
16.一种的呼叫处理系统,其特征在于,包括 第一服务器,用于接收主叫终端发送的呼叫请求,其中,所述呼叫请求的被叫终端归属于一个以上的服务器,并判断是否具有所述呼叫所需的全服务能力,如果具有,确定所述第一服务器自身处理所述呼叫请求;如果不具有,查询存储在所述第一服务器自身中所述被叫终端归属的各个服务器的优先级,向除了所述第一服务器自身之外的所述被叫终端归属的服务器优先级最高的服务器,发送转移呼叫的请求,所述请求中包含了路由信息,所述路由信息包含了已遍历服务器的标识,其中,所述已遍历服务器为当前已经尝试处理所述呼叫的被叫终端归属的服务器; 所述第二服务器,用于接收被叫终端归属的第一服务器发送的转移呼叫的请求,所述请求中包含了路由信息,所述路由信息包含了各个已遍历服务器的标识,其中,所述已遍历服务器为当前已经尝试处理所述呼叫的被叫终端归属的服务器;判断自身是否具有所述呼叫所需的全服务能力,如果具有,确定由所述第二服务器处理所述呼叫;如果不具有,判断所述路由信息是否包含了除所述第二服务器之外的被叫终端归属的所有其它服务器的标识,如果包含,则进行拆线判断处理,如果不包含,则查询存储在所述第二服务器中所述被叫终端归属的其它服务器的优先级,向除了已遍历服务器之外的所述被叫终端归属的服务器中优先级最高的服务器,发送转移呼叫的请求。
17.根据权利要求16所述的系统,其特征在于,所述第二服务器如权利要求10-15的任一所述的服务器。
全文摘要
发明涉及呼叫处理,公开了呼叫处理方法、服务器及系统,其方法包括被叫终端归属的第二服务器接收被叫终端归属的第一服务器发送的转移呼叫的请求,请求中包含了路由信息,路由信息包含了各个已遍历服务器的标识,其中,已遍历服务器为当前已经尝试处理呼叫的被叫终端归属的服务器;第二服务器判断自身是否具有呼叫所需的全服务能力,如果具有,确定由第二服务器处理呼叫;如果不具有,第二服务器判断路由信息是否包含了除第二服务器之外的被叫终端归属的所有其它服务器的标识,如果包含,则第二服务器进行拆线判断处理,如果不包含,则查询存储在第二服务器中被叫终端归属的其它服务器的优先级,向除了已遍历服务器之外的被叫终端归属的服务器中优先级最高的服务器,发送转移呼叫的请求。该方法解决了终端归属于多个服务器的呼叫处理的问题。
文档编号H04W4/16GK102624731SQ20121006534
公开日2012年8月1日 申请日期2012年3月13日 优先权日2012年3月13日
发明者宋涛, 施洋, 林霖, 桑涛, 沈斌, 黄小珠 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1