一种承载控制的实现方法及系统
技术领域
本发明涉及承载控制技术,尤指一种对于媒体切换请求失败后,承载控制的实现方法及系统。
背景技术
现有3GPP规定,用户终端(UE)进入通话态后,如果承载控制节点收到BYE、Cancel,或者任何3xx、4xx、5xx、6xx失败响应消息,都会释放承载资源。其中,BYE的作用是请求释放会话(呼叫);Cancel的作用是请求对端发送4xx失败响应,结束原有的请求(如Re-INVITE)。
理论上,3xx、4xx、5xx、6xx失败响应消息只能看成是其请求消息及请求中的媒体切换的失败,而不能看成是整个呼叫的失败,从诸如3xx、4xx、5xx、6xx等失败响应消息的性质上看,一部分失败响应消息可以释放呼叫及承载资源,而另一部分失败响应消息仅表示该请求的失败,并不能释放承载资源。所以,此时释放承载资源是不合适的。
图1为现有由于对冲引起的4xx失败响应的流程示意图,以IMS网络为例,触发承载控制的上位点(AP)为P-CSCF,承载控制执行点为PCRF,假设UE_A为主叫,UE_B为被叫,如图1所示,包括以下步骤:
步骤100~步骤101:UE_A通过P-CSCF向UE_B发送INVITE/Re-INVITE邀请消息。
步骤102~步骤103:UE_B通过P-CSCF向UE_A返回183/PRACK/200OK确认消息。
步骤104~步骤105:UE_A向UE_B发送更新(UPDATA)消息,UE_B向UE_A发送UPDATA消息,主被叫双方的UPDATE消息对冲。
步骤106~步骤107:按照RFC3261的规定,UE_B回复491拒绝对冲消息,并设置计时器准备重新发送UPDATE消息。UE_A返回ACK确认消息。
此时,P-CSCF会收到4xx失败响应消息,并向PCRF发送释放承载请求。但是,消息对冲在使用会话初始协议(SIP)消息的网络中属于正常现象,而如果承载控制此时将承载资源释放,将引起不必要的呼损,从而影响了正常的通话。
发明内容
有鉴于此,本发明的主要目的在于提供一种承载控制的实现方法,能够避免呼损现象,保证正常通话。
本发明的另一目的在于提供一种承载控制的实现系统,能够避免呼损现象,保证正常通话。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供了一种承载控制的实现方法,包括:
在通话中,触发承载控制的上位点收到失败响应消息;
触发承载控制的上位点根据失败响应消息的性质决定是否触发承载控制执行点释放承载资源。
其中,所述失败响应消息为3xx响应消息、或4xx响应消息、或5xx响应消息、或6xx响应消息。
上述方案中,所述根据失败响应消息的性质决定是否触发承载控制执行点释放承载资源包括:
所述触发承载控制的上位点按照会话初始协议SIP规定的对失败响应消息的过滤条件进行过滤,如果所述接收到的失败响应消息仅表示该请求的失败,并不能释放承载资源,则将其过滤;如果所述接收到的失败响应消息表示可以释放呼叫及承载资源,则将其下发到所述通话中的UE,向承载控制执行点发送释放承载请求。
上述方案中,所述根据失败响应消息的性质决定是否触发承载控制执行点释放承载资源包括:不触发承载资源的释放;当接收到BYE消息时,向所述承载控制执行点发送释放承载请求,以触发承载控制执行点释放承载资源。
上述方案中,所述在通话中收到的消息还包括Cancel消息;所述决定是否触发承载控制执行点释放承载资源为:根据失败响应消息或Cancel消息的性质决定是否触发承载控制执行点释放承载资源。
本发明还提供了一种承载控制的实现方法,包括:
在通话中,触发承载控制的上位点收到失败响应消息或Cancel消息;
所述触发承载控制的上位点按照会话初始协议SIP规定的对失败响应消息或Cancel消息的过滤条件进行过滤,
如果所述接收到的失败响应消息或Cancel消息仅表示该请求的失败,并不能释放承载资源,则将其过滤;
如果所述接收到的失败响应消息或Cancel消息表示可以释放呼叫及承载资源,则将其下发到所述通话中的UE,向承载控制执行点发送释放承载请求;
所述失败响应消息为3xx响应消息、或4xx响应消息、或5xx响应消息、或6xx响应消息。
本发明又提供了一种承载控制的实现方法,包括:
在通话中,触发承载控制的上位点收到失败响应消息或Cancel消息,不触发承载资源的释放;
当接收到BYE消息时,向所述承载控制执行点发送释放承载请求,以触发承载控制执行点释放承载资源;
所述失败响应消息为3xx响应消息、或4xx响应消息、或5xx响应消息、或6xx响应消息。
本发明还提供了一种承载控制的实现系统,至少包括触发承载控制的上位点和承载控制执行点,其中,
触发承载控制的上位点,用于在通话中,接收失败响应消息;根据失败响应消息的性质决定是否触发承载控制执行点释放承载资源;
承载控制执行点,用于在接收到来自触发承载控制的上位点的承载释放请求,释放呼叫及承载资源。
上述方案中,所述触发承载控制的上位点中至少包括过滤模块,用于按照SIP协议规定的对失败响应消息的过滤条件,将接收到的失败响应消息中仅表示该请求的失败,并不能释放承载资源的失败响应消息过滤掉,并将可以释放呼叫及承载资源的失败响应消息下发到通话中的UE,向承载控制执行点发送释放承载请求。
上述方案中,所述触发承载控制的上位点中至少包括透传模块,用于将收到的失败响应消息转发给通话中的用户终端;接收到BYE消息时,向所述承载控制执行点发送释放承载请求。
从上述本发明提供的技术方案可以看出,本发明方法包括在通话中,触发承载控制的上位点收到失败响应消息,并根据失败响应消息的性质决定是否触发承载控制执行点释放承载资源。通过本发明方法,保证了承载控制执行点仅针对可以释放呼叫及承载资源的失败响应消息,进行承载资源的释放,避免了呼损现象,从而保证了正常的通话。
附图说明
图1为现有由于对冲引起的4xx失败响应的流程示意图;
图2为本发明承载控制的实现方法的流程图;
图3为本发明承载控制的实现系统的组成结构示意图;
图4为本发明实现承载控制的第一实施例的流程图;
图5为本发明实现承载控制的第二实施例的流程图。
具体实施方式
图2为本发明承载控制的实现方法的流程图,如图2所示,包括以下步骤:
步骤200:在通话中,触发承载控制的上位点收到失败响应消息。
本步骤中,失败响应消息包括诸如3xx、4xx、5xx、6xx等失败响应消息,这些失败响应消息的特点是,一部分失败响应消息可以释放呼叫及承载资源,而另一部分失败响应消息仅表示该请求的失败,并不能释放承载资源。
进一步地,除了失败响应消息,还可以包括收到Cancel消息。
步骤201:触发承载控制的上位点根据失败响应消息的性质决定是否触发承载控制执行点释放承载资源。
本步骤具体实现有两种方式,第一种方式是,触发承载控制的上位点按照SIP协议规定的对失败响应消息的过滤条件,将失败响应消息仅表示该请求的失败,并不能释放承载资源的失败响应消息过滤掉,即仅将可以释放呼叫及承载资源的失败响应消息下发到通话中的UE,向承载控制执行点发送释放承载请求。保证了承载控制执行点仅针对可以释放呼叫及承载资源的失败响应消息,进行承载资源的释放,避免了呼损现象,从而保证了正常的通话。
由于用户终端在收到需要释放承载的失败响应消息后,都会发送BYE消息,因此第二种方式是,当触发承载控制的上位点收到失败响应消息时,都不触发承载资源的释放,而在收到发送给UE的BYE消息时,才向承载控制执行点发送释放承载请求。也就是说,承载控制以收到BYE消息的时间点作为承载资源释放的触发时间点。
针对本发明方法,还提供一种承载控制的实现系统,图3为本发明承载控制的实现系统的组成结构示意图,如图3所示,至少包括触发承载控制的上位点和承载控制执行点,其中,
触发承载控制的上位点,用于在通话中,接收失败响应消息;根据失败响应消息的性质决定是否触发承载控制执行点释放承载资源。
承载控制执行点,用于在接收到来自触发承载控制的上位点的承载释放请求,释放呼叫及承载资源。
其中,触发承载控制的上位点中至少包括过滤模块,用于按照SIP协议规定的对失败响应消息的过滤条件,将接收到的失败响应消息中仅表示该请求的失败,并不能释放承载资源的失败响应消息过滤掉,并将可以释放呼叫及承载资源的失败响应消息下发到通话中的用户终端,向承载控制执行点发送释放承载请求。或者,
触发承载控制的上位点中至少包括透传模块,用于将收到的失败响应消息转发给通话中的用户终端;接收到BYE消息时,向承载控制执行点发送释放承载请求。
下面结合实施例对本发明方法进行详细描述。
图4为本发明实现承载控制的第一实施例的流程图,图3中未示出被叫方,如图4所示,包括:
步骤400:UE_A通过网络侧进行呼叫,并进入通话态。
步骤401:UE_A向AP发起Re-INVITE进行媒体修改切换。
步骤402:可能存在的中间消息。
步骤403:AP收到BYE、Cancel,或者诸如3xx、4xx、5xx、6xx失败响应消息。
步骤404:AP对收到的失败响应消息进行过滤。
过滤的方法:按照SIP协议规定的对失败响应消息的过滤条件进行过滤,将失败响应消息仅表示该请求的失败,并不能释放承载资源的失败响应消息过滤掉,具体协议规定可参考相关协议,这里不再详细描述。
步骤405:AP向UE_A转发收到的BYE、Cancel,或者诸如3xx、4xx、5xx、6xx失败响应消息;
如果接收到的失败响应消息需要释放呼叫,则还包括步骤406:AP向承载控制执行点发送释放承载请求。
如果接收到的失败响应消息不需要释放呼叫,则此时AP不执行任何操作,即不存在步骤406。
图5为本发明实现承载控制的第二实施例的流程图,图5中未示出被叫方,如图5所示,包括:
步骤500:UE_A通过网络侧进行呼叫,并进入通话态。
步骤501:UE_A发起Re-INVITE进行媒体修改切换。
步骤502:可能存在的中间消息。
步骤503:AP收到Cancel,或者诸如3xx、4xx、5xx、6xx失败响应消息。
步骤504:AP向UE_A转发接收到的失败响应消息。此时,AP不向承载控制执行点发送任何信息。
后续,步骤505:AP收到BYE响应消息。
步骤506:AP向承载控制执行点发送释放承载请求。
图5所示第二实施例的方式,处理逻辑简单,不需要承载控制的上位点在收到失败响应消息时,马上区分失败响应的性质,而是等到接收到需要释放呼叫及承载资源的失败响应消息如BYE响应消息时,才向承载控制执行点发送释放承载请求。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。