本发明涉及用户永久在线技术,尤指一种实现在线计费的方法、系统及装置。
背景技术:
在第四代长期演进(LTE,Long Term Evolution)系统中,随着数据业务的应用越来越广泛,某些业务诸如社交业务、即时业务等,都要求用户永久在线。如果用户在使用数据业务过程中被中断,会极大的影响用户体验。为此在3GPP协议32299-c40中定义了失败重传(Support of Failover)和失败处理(Support of Failure Handling)两种失败处理方式。
其中,失败重传是指:在系统中包括有主用在线计费系统(OCS,Online Charging System)和备用OCS时,如果媒体网关(GW)与主用OCS交互失败,则需要继续和备用OCS交互以保持会话。
失败处理是指:当GW与主用OCS交互失败,系统中没有备用OCS或者与备用OCS交互也失败后的处理方式。在协议RFC4006中对信用控制失败处理(CCFH,Credit-Control-Failure-Handling)定义了3种方式。一种是0:表示终止(TERMINATE);一种是1:表示继续(CONTINUE);还有一种是2:表示重试后终止(RETRY_AND_TERMINATE),具体可参见RFC4006,这里不再赘述。
无论系统多么稳定,失败都是无法避免的。从上面的描述中可以看出,如果失败重传后也失败或者没有备用OCS时,要么终止业务,影响用户的体验;要么继续业务,系统转为离线计费方式,但此时,OCS后续即使正常工作,也无法对这些业务进行正常控制和监测,而由于永久在线的原因,用户可能持续在线很长时间,这样,无疑会给运营商的计费带来很大的困扰或者损失。
除上述链路异常外,如果OCS侧性能不足等原因,OCS也会给GW下 发无法处理的结果码,比如:3004-Diameter_too_busy、3002-Diameter_unable_to_deliver的原因值等,此时同样也会导致后续OCS无法对这些业务进行正常控制和监测。
技术实现要素:
为了解决上述技术问题,本发明提供一种实现在线计费的方法、系统及装置,能够保证用户永久在线,并达到OCS能够持续监测用户会话的机制。
为了达到本发明目的,本发明提供了一种实现在线计费的方法,在Diameter信用控制应用协议DCCA客户端与服务端交互异常后,还包括:
DCCA客户端进入离线计费方式,并在满足预先设置的重连接条件时,重新请求与服务端的连接;
在重连接失败时,DCCA客户端为当前会话尝试申请配额,以恢复与服务端的重新连接。
可选地,该方法之前还包括:
当在线计费用户接入,所述DCCA客户端向服务端发送信用控制初始请求;
所述服务端对接入的在线计费用户进行鉴权成功后,向所述DCCA客户端返回扩展后的信用控制初始请求响应;其中,信用控制初始请求响应中的失败处理CCFH字段表示继续并重连接CONTINUE_AND_RECONNECT,以指示所述DCCA客户端在感知到链路故障后继续业务并重试;
或者,在所述DCCA客户端本地配置有支持会话异常后重连接的配置信息。
可选地,所述DCCA客户端与服务端交互异常包括:
在所述在线计费用户业务进行中,所述DCCA客户端触发向服务端发送信用控制更新请求;且所述DCCA客户端感知到链路异常;或者,
在所述在线计费用户业务进行中,所述DCCA客户端触发向服务端发送信用控制更新请求;所述服务端收到信用控制更新请求,并向所述DCCA客户端下发信用控制更新请求响应消息,其中携带结果码为无法处理;所述 DCCA客户端根据结果码,判断出异常;或者,
所述DCCA客户端发现链路中断或者等待服务端响应超时后,且自身本地配置有支持会话异常后重连接的配置信息。
可选地,所述重新请求与服务端的连接包括:
所述DCCA客户端构造信用控制重连接请求消息并发送给所述服务端,其中携带有当前的业务信息,且多业务信用控制参数中的上报原因填写为强制重鉴权;
所述服务端根据会话ID查找会话:
如果该会话ID对应的会话存在,则根据服务端自身的策略对该请求中的信息进行扣费,并按正常流程将新的配额信息携带在信用控制重连接请求响应中返回给所述DCCA客户端,结束本流程;
如果该会话ID对应的会话不存在,则向所述DCCA客户端回复信用控制更新请求响应,结果码字段为无法处理。
可选地,所述无法处理包括:所述结果码为预先设置的5002;或3004-忙无法处理、或3002-无法投递、或Diameter过载指示。
可选地,所述重连接条件包括:链路恢复、或预设时长、或链路拥塞解除。
可选地,所述DCCA客户端为当前会话尝试申请配额,以恢复与服务端的重新连接包括:
所述DCCA客户端重新启动一个新会话,并向所述服务端发送信用控制初始请求,其中的计费标识Charging ID采用所述DCCA客户端与服务端交互异常前的原会话中的参数,同时携带当前使用的业务信息;
所述服务端收到所述信用控制初始请求,并鉴权通过后向所述DCCA客户端返回扩展后的信用控制初始请求响应。
可选地,所述DCCA客户端为媒体网关;所述服务端为在线计费系统OCS或策略与计费规则功能PCRF。
本发明还提供了一种实现在线计费的系统,至少包括DCCA客户端,服 务端;其中,
DCCA客户端,用于在与服务端交互异常,进入离线计费方式,并在满足预先设置的重连接条件时,重新请求与服务端的连接;在重连接结果显示重连接失败时,为当前会话尝试申请配额,以恢复与服务端的重新连接;
服务端,用于接收到来自DCCA的重新连接的请求,返回重连接结果。
可选地,所述DCCA客户端还用于:当在线计费用户接入,向所述服务端发送信用控制初始请求;相应地,所述服务端还用于:对接入的在线计费用户进行鉴权成功后,向所述DCCA客户端返回扩展后的信用控制初始请求响应;其中,信用控制初始请求响应中的失败处理CCFH字段为继续并重连接CONTINUE_AND_RECONNECT,以指示所述DCCA客户端在感知到链路故障后继续业务并重试;
或者,
所述DCCA客户端中配置有支持会话异常后重连接的配置信息。
可选地,所述DCCA客户端与服务端交互异常时,所述DCCA客户端具体用于:
在所述在线计费用户业务进行中,触发向服务端发送信用控制更新请求;且感知到链路异常;或者,
在所述在线计费用户业务进行中,触发向服务端发送信用控制更新请求;根据来自服务端的结果码,判断出异常;此时,所述服务端具体用于:收到信用控制更新请求,并向所述DCCA客户端下发信用控制更新请求响应消息,其中携带结果码为无法处理;或者,
发现链路中断或者等待服务端响应超时后,且自身本地配置有支持会话异常后重连接的配置信息。
可选地,所述重新请求与服务端的连接时,所述DCCA客户端具体用于:
构造信用控制重连接请求消息并发送给所述服务端,其中携带有当前的业务信息,且多业务信用控制参数中的上报原因填写为强制重鉴权;
相应地,所述服务端具体用于:根据会话ID查找会话:
如果该会话ID对应的会话存在,则根据服务端自身的策略对该请求中的信息进行扣费,并按正常流程将新的配额信息携带在信用控制重连接请求响应中返回给所述DCCA客户端;
如果该会话ID对应的会话不存在,则向所述DCCA客户端回复信用控制更新请求响应,结果码字段为无法处理。
可选地,所述无法处理包括:所述结果码为预先设置的5002;或3004-忙无法处理、或3002-无法投递、或Diameter过载指示。
可选地,所述重连接条件包括:链路恢复、或预设时长、或链路拥塞解除。
可选地,所述DCCA客户端为当前会话尝试申请配额,以恢复与服务端的重新连接时,所述DCCA客户端具体用于:
重新启动一个新会话,并向所述服务端发送信用控制初始请求,其中的计费标识Charging ID采用所述DCCA客户端与服务端交互异常前的原会话中的参数,同时携带当前使用的业务信息;
所述服务端具体用于:收到所述信用控制初始请求,并鉴权通过后向所述DCCA客户端返回扩展后的信用控制初始请求响应。
可选地,所述DCCA客户端为媒体网关;所述服务端为在线计费系统OCS或策略与计费规则功能PCRF。
本发明又提供了一种实现在线计费的装置,包括:第一重建模块、第二重建模块,其中,
第一重建模块,用于在DCCA客户端与服务端交互异常,进入离线计费方式,并在满足预先设置的重连接条件时,重新请求与服务端的连接;
第二重建模块,用于在重新请求与服务端的连接失败时,DCCA客户端为当前会话尝试申请配额,以恢复与服务端的重新连接。
可选地,还包括:
接入处理模块,用于当在线计费用户接入,向所述服务端发送信用控制初始请求;此时,所述第一重建模块接收到来自服务端的扩展后的信用控制初始请求响应;其中,信用控制初始请求响应中的CCFH字段为表示继续并 重连接,以指示在感知到链路故障后可以继续业务并重试。
可选地,所述接入处理模块还用于:
在所述在线计费用户业务进行中,当触发向服务端发送信用控制更新请求;并在感知到链路异常时,通知所述第一重建模块;
或者,
在所述在线计费用户业务进行中,当触发向服务端发送信用控制更新请求;并且收到来自服务端的信用控制更新请求响应消息,其中携带结果码为无法处理时,通知所述第一重建模块;
或者,
在发现链路中断或者等待服务端响应超时后,判断自身配置有支持会话异常后重连接,通知所述第一重建模块。
可选地,所述第一重建模块具体用于:
构造信用控制重连接请求消息并发送给服务端,其中携带有当前的业务信息,且多业务信用控制参数中的上报原因填写为强制重鉴权;接收来自服务端的携带有新的配额信息的信用控制重连接请求响应,更新会话以及业务内容;或者接收到来自服务端的携带有表示无法处理的结果码的信用控制更新请求响应,通知第二重建模块。
可选地,所述第二重建模块具体用于:
重新启动一个新会话,并向服务端发送信用控制初始请求,其中ChargingID采用所述DCCA客户端与服务端交互异常前的原会话中的参数,并携带当前使用的业务信息;接收到来自服务端的扩展后的信用控制初始请求响应。
可选地,所述装置为独立实体装置,或设置在GW中.
与现有技术相比,本申请技术方案包括在DCCA客户端与服务端交互异常后,DCCA客户端进入离线计费方式,并在满足预先设置的重连接条件时,重新请求与服务端的连接;在重连接失败时,DCCA客户端为当前会话尝试申请配额,以恢复与服务端的重新连接。通过本发明提供的技术方案,在DCCA客户端与服务端交互异常后,会重新恢复DCCA客户端与服务端之间的交互,保证了用户永久在线,并实现了服务端持续监测用户会话的机制。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实现在线计费的方法的流程图;
图2为本发明实现在线计费的装置的组成结构示意图;
图3为本发明实现在线计费的第一实施例的流程示意图;
图4为本发明实现在线计费的第二实施例的流程示意图;
图5为本发明实现在线计费的第三实施例的流程示意图;
图6为本发明实现在线计费的第四实施例的流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
图1为本发明实现在线计费的方法的流程图,如图1所示,在Diameter信用控制应用协议(DCCA)客户端与服务端交互异常后,包括:
步骤100:DCCA客户端进入离线计费方式,并在满足预先设置的重连接条件时,重新请求与服务端的连接。
本步骤之前还包括:
当在线计费用户接入时,DCCA客户端如GW会向服务端如OCS发送信用控制初始请求(CCR,Credit-Control-Request);OCS对在线计费用户进行鉴权成功后,向GW返回扩展后的信用控制初始请求响应,其中信用控制失败处理(CCFH,Credit-Control-Failure-Handling)字段可以被设置为240,表 示继续并重连接(CONTINUE_AND_RECONNECT),以指示GW在感知到链路故障后可以继续业务并重试。也就是说,CCFH字段为240意味着,当GW与主用OCS交互失败,系统中没有备用OCS或者与备用OCS交互失败后,或者OCS下发临时无法处理CCR请求的结果码(如3004),或者OCS发送Diameter过载指示,GW应该保持业务继续正常使用,并在适当的时机如满足预先设置的重连接条件时与OCS重新连接。或者,
在GW本地配置有支持会话异常后重连接的配置信息。
需要说明的是,CCFH字段也可以被设置为其他的值如241,只要用于表示指示GW在感知到链路故障后可以继续业务并重试即可。
需要说明的是,在本发明的扩展后的信用控制请求响应中还可以进一步包括:除CCFH字段之外的其他字段,比如自动扣款失败处理(Direct-Debiting-Failure-Handling AVP)、触发器类型(Triger-Type AVP)等,或者CCFH的其他数值,以达到识别需要支持重连接的效果。
其中,DCCA客户端与服务端交互异常可以包括但不限于:
在在线计费用户业务进行中,DCCA客户端如GW由于时间门限、流量门限到达以及计费条件改变等原因,会触发向服务端如OCS发送信用控制更新请求;GW感知到链路异常,比如可能是由于与OCS链路中断,也可能是链路拥塞等原因,GW等待OCS的信用控制更新请求响应超时或者其他原因,但是此时GW无法知道OCS是否已经处理,所以,进入步骤100。
或者,
在在线计费用户业务进行中,GW由于时间门限、流量门限到达以及计费条件改变等原因,会触发向OCS发送信用控制更新请求;OCS收到信用控制更新请求,比如由于OCS侧的信令拥塞性能不足或者后台系统维护等原因,OCS暂时无法处理该CCR请求,OCS向GW下发信用控制更新请求响应消息,其中携带结果码为3004;GW根据结果码3004,判断出OCS未能成功扣费,进入步骤100。或者,OCS侧由于性能不足等原因,OCS会给GW下发无法处理的结果码,比如3004-忙无法处理(Diameter_too_busy)、3002-无法投递(Diameter_unable_to_deliver)的原因值等,这些场景同样适用于本 发明。
或者,
GW发现链路中断或者等待OCS响应超时后,判断GW本地配置有支持会话异常后重连接,则进入步骤100。
本步骤中,重连接条件包括但不限于:链路恢复、预设时长或者链路拥塞解除等。
步骤100中的重新请求与OCS的连接包括:
GW构造信用控制重连接请求消息并发送给OCS,同时携带有当前的业务信息,但不携带当前业务使用的流量等计费信息,以防止OCS计费异常。多业务信用控制参数中的上报原因填写为强制重鉴权;
OCS收到来自GW的信用控制重连接请求后,根据会话ID(Session-Id)查找会话:
如果该会话存在,则根据OCS的策略对该请求中的信息进行扣费,并按正常流程将新的配额信息携带在信用控制重连接请求响应中返回给GW,结束本流程并进入后续正常流程,如GW收到信用控制重连接请求响应,更新会话以及业务内容;
如果OCS发现该Session-Id对应的会话并不存在,则会向GW回复信用控制更新请求响应,结果码字段显示为无法处理,比如为预先设置的5002,之后进入步骤101。需要说明的是,OCS由于性能不足等原因,OCS也会向GW下发无法处理的结果码(比如3004-Diameter_too_busy、3002-Diameter_unable_to_deliver的原因值),或者OCS向GW返回Diameter过载指示,这些场景同样适用于本发明。
步骤101:在重连接失败时,DCCA客户端为当前会话尝试申请配额,以恢复与服务端的重新连接。本步骤具体包括:
DCCA客户端如GW重新启动一个新会话,并向服务端如OCS发送信用控制初始请求(CCR[I]),其中的关键参数如计费标识(Charging ID)采用DCCA客户端与服务端交互异常前的原会话中的参数,同时携带当前使用的业务信息;
OCS收到信用控制初始请求(CCR[I]),正常处理,鉴权通过,后续按照正常流程也会向GW返回扩展后的信用控制初始请求响应。
通过本发明提供的技术方案,在GW与OCS交互异常后,通过重新恢复GW与OCS之间的交互,保证了用户永久在线,并实现了OCS持续监测用户会话的机制。
本发明中,DCCA客户端可以是GW,服务端可以是OCS、策略与计费规则功能(PCRF,Policy and Charging Rules Function)等。
相应地,本发明还提供一种实现在线计费的方法,至少包括DCCA客户端,服务端;其中,
DCCA客户端,用于在与服务端交互异常,进入离线计费方式,并在满足预先设置的重连接条件时,重新请求与服务端的连接;在重连接结果显示重连接失败时,为当前会话尝试申请配额,以恢复与服务端的重新连接;
服务端,用于接收到来自DCCA的重新连接的请求,返回重连接结果。
进一步地,
DCCA客户端还用于:当在线计费用户接入,向所属服务端发送信用控制初始请求;
服务端还用于:对接入的在线计费用户进行鉴权成功后,向所述DCCA客户端返回扩展后的信用控制初始请求响应;其中,信用控制初始请求响应中的失败处理CCFH字段为继续并重连接CONTINUE_AND_RECONNECT,以指示所述DCCA客户端在感知到链路故障后继续业务并重试;
或者,
所述DCCA客户端中配置有支持会话异常后重连接的配置信息。
具体地,当所述DCCA客户端与服务端交互异常时,所述DCCA客户端具体用于:
在所述在线计费用户业务进行中,触发向服务端发送信用控制更新请求;且感知到链路异常;或者,
在所述在线计费用户业务进行中,触发向服务端发送信用控制更新请求; 根据来自服务端的结果码,判断出异常;此时,所述服务端具体用于:收到信用控制更新请求,并向所述DCCA客户端下发信用控制更新请求响应消息,其中携带结果码为无法处理;或者,
发现链路中断或者等待服务端响应超时后,且自身本地配置有支持会话异常后重连接的配置信息。
具体地,当所述重新请求与服务端的连接时,所述DCCA客户端具体用于:
构造信用控制重连接请求消息并发送给所述服务端,其中携带有当前的业务信息,且多业务信用控制参数中的上报原因填写为强制重鉴权;
相应地,所述服务端具体用于:根据会话ID查找会话:
如果该会话ID对应的会话存在,则根据服务端自身的策略对该请求中的信息进行扣费,并按正常流程将新的配额信息携带在信用控制重连接请求响应中返回给所述DCCA客户端;
如果该会话ID对应的会话不存在,则向所述DCCA客户端回复信用控制更新请求响应,结果码字段为无法处理。
其中,无法处理包括:所述结果码为预先设置的5002;或3004-忙无法处理、或3002-无法投递、或Diameter过载指示。
其中,重连接条件包括:链路恢复、或预设时长、或链路拥塞解除。
具体地,当DCCA客户端为当前会话尝试申请配额,以恢复与服务端的重新连接时,DCCA客户端具体用于:
重新启动一个新会话,并向所述服务端发送信用控制初始请求,其中的计费标识Charging ID采用所述DCCA客户端与服务端交互异常前的原会话中的参数,同时携带当前使用的业务信息;
所述服务端具体用于:收到所述信用控制初始请求,并鉴权通过后向所述DCCA客户端返回扩展后的信用控制初始请求响应。
本发明系统中,DCCA客户端为媒体网关;服务端为OCS或PCRF。
图2为本发明实现在线计费的装置的组成结构示意图,如图2所示,至 少包括第一重建模块、第二重建模块,其中,
第一重建模块,用于在DCCA客户端与服务端交互异常,进入离线计费方式,并在满足预先设置的重连接条件时,重新请求与服务端的连接;
第二重建模块,用于在重新请求与服务端的接失败时,DCCA客户端为当前会话尝试申请配额,以恢复与服务端的重新连接。
本发明装置还包括接入处理模块,用于:
当在线计费用户接入,向服务端如OCS发送信用控制初始请求;此时,第一重建模块会接收到来自OCS的扩展后的信用控制初始请求响应,其中CCFH字段为240,表示继续并重连接(CONTINUE_AND_RECONNECT),以指示在感知到链路故障后可以继续业务并重试。
接入处理模块还用于:
在在线计费用户业务进行中,由于时间门限、流量门限到达以及计费条件改变等原因,会触发向服务端如OCS发送信用控制更新请求;并在感知到链路异常,比如可能是由于与OCS链路中断,也可能是链路拥塞等原因,接入处理模块自身等待OCS的信用控制更新请求响应超时或者其他原因,通知第一重建模块。
或者,
在在线计费用户业务进行中,由于时间门限、流量门限到达以及计费条件改变等原因,会触发向服务端如OCS发送信用控制更新请求;并且收到来自OCS的信用控制更新请求响应消息,其中携带结果码为3004或无法处理的结果码,比如3004-Diameter_too_busy、3002-Diameter_unable_to_deliver的原因值等,通知第一重建模块。
或者,
在发现链路中断或者等待服务端如OCS响应超时后,判断自身配置有支持会话异常后重连接,通知第一重建模块。
其中,
第一重建模块具体用于:
构造信用控制重连接请求消息并发送给服务端如OCS,同时携带有当前的业务信息,但不携带当前业务使用的流量等计费信息,以防止OCS计费异常。多业务信用控制参数中的上报原因填写为强制重鉴权;接收来自服务端的携带有新的配额信息的信用控制重连接请求响应,更新会话以及业务内容;或者接收到来自服务端的携带有表示无法处理的结果码的信用控制更新请求响应,通知第二重建模块。
相应地,服务端如OCS收到来自GW的信用控制重连接请求后,根据会话ID(Session-Id)查找会话:
如果该会话存在,则根据OCS的策略对该请求中的信息进行扣费,并按正常流程将新的配额信息携带在信用控制重连接请求响应中返回给GW;
如果OCS发现该Session-Id对应的会话并不存在,则会向GW回复信用控制更新请求响应,结果码字段显示为无法处理,比如为5002。
第二重建模块具体用于:
重新启动一个新会话,并向服务端如OCS发送信用控制初始请求(CCR[I]),其中的关键参数如ChargingID采用DCCA客户端与服务端交互异常前的原会话中的参数,同时携带当前使用的业务信息;接收到来自服务端的扩展后的信用控制初始请求响应。
本发明装置可以作为独立实体装置,也可以设置在GW中。
下面结合具体实施例对本发明方法进行详细描述。以下实施例中以DCCA客户端为GW,服务端为OCS为例进行描述。
图3为本发明实现在线计费的第一实施例的流程示意图,第一实施例中,以链路异常,CCFH为CONTINUE_AND_RECONNECT,重连接时OCS上会话存在为例,如图3所示,包括以下步骤:
步骤300:在线计费用户接入。
步骤301:GW向OCS发送信用控制初始请求。
步骤300和步骤301的具体实现属于本领域技术人员的公知技术,这里不再赘述。
步骤302:OCS对用户进行鉴权成功后,向GW发送信用控制初始请求 响应,本实施例中,在信用控制初始请求响应中的CCFH为240,用以指示GW在感知到链路故障后可以继续业务并重试。
步骤303:假设用户业务进行中,GW由于时间门限、流量门限到达以及计费条件改变等原因,触发信用控制更新请求,即GW向OCS发送信用控制更新请求。
步骤304:GW感知到链路异常,比如可能是与OCS链路中断,也可能是链路拥塞等原因导致GW等待OCS的信用控制更新请求响应超时,或者是其他原因。
步骤305:由于此时GW无法知道OCS是否已经处理,所以将该部分话单(即从步骤302到步骤303这段时间的用户使用的流量等计费信息)存储在本地或者发送给OFCS,同时根据CCFH为240,所以继续保持业务正常使用不受影响。
步骤306:在某个触发点,比如预先设置的重建连接条件,如定时触发或者感知到链路状态变化触发等,GW需要与OCS重新建立连接。此时需要将当前业务计费信息存储到离线计费系统中。同时,GW向OCS发送信用控制更新请求,其中携带当前所有业务,其中多业务信用控制参数中的上报原因填写为强制重鉴权。
步骤307:OCS向GW发送信用控制更新请求响应消息,携带配额等相关信息。
图4为本发明实现在线计费的第二实施例的流程示意图,第二实施例中,假设链路异常,CCFH为CONTINUE_AND_RECONNECT,重建连接时,OCS上会话不存在。如图4所示,包括以下步骤:
步骤400~步骤406的具体实现与步骤300~步骤306的完全一致,这里不再赘述。
步骤407:本实施例中,假设OCS根据会话ID查找会话失败,向GW网元发送信用控制更新请求响应消息,响应结果码为5002。
步骤408:GW重新向OCS发起信用控制初始请求,在该信用控制初始请求携带上一次会话的Charging ID,以屏蔽对周围其他网元计费的影响。同 时携带当前用户使用的业务信息。
此时,本发明提供的技术方案并不像现有技术一样,GW收到5002就结束该会话,并去活用户,而是重新向OCS发起信用控制初始请求,保证了用户永久在线。
步骤409:OCS正常进行用户初次接入鉴权处理,并向GW发送信用控制初始请求响应,其中携带业务的配额信息,后续流程不再赘述。
图5为本发明实现在线计费的第三实施例的流程示意图,第三实施例中,以OCS返回忙无法处理(3004-Diameter_too_busy),CCFH为CONTINUE_AND_RECONNECT,重连接时OCS上会话存在为例。如图5所示,包括以下步骤:
步骤500~步骤503的具体实现与步骤300~步骤303完全一致,这里不再赘述。
步骤504:OCS收到信用控制更新请求,假设由于OCS侧的信令拥塞性能不足或者后台系统维护等原因,OCS暂时无法处理该CCR请求,OCS会向GW下发信用控制更新请求响应,其中携带结果码为3004。
步骤505:GW根据结果码3004,判断OCS未能成功扣费,将该部分话单(即从步骤502到503这段时间的用户使用的流量等计费信息)存储在本地或者发送给离线计费系统(OFCS),同时判断CCFH为240,所以继续保持业务正常使用不受影响。
步骤506:在某个触发点,比如预先设置的定时触发或者感知到链路状态变化触发等,GW重新与OCS建立链接,此时GW会先将当前业务计费信息存储到离线计费系统中。
步骤507:GW向OCS发送信用控制更新请求,其中携带有当前所有业务,其中多业务信用控制参数中的上报原因填写为强制重鉴权。本步骤与步骤506之间没有严格的先后顺序的限制。
步骤508:OCS向GW返回信用控制更新请求响应消息,携带配额等相关信息,流程结束。
图6为本发明实现在线计费的第四实施例的流程示意图,第四实施例中, 以OCS未携带CCFH AVP,GW本地配置支持会话异常后重连接,重连接时OCS上会话存在为例。如图6所示,包括以下步骤:
步骤600:在线计费用户接入。
步骤601:GW向OCS发送信用控制初始请求。
步骤602:OCS对用户进行鉴权成功后,向GW发送信用控制初始请求响应,本实施中,在返回的信用控制初始请求响应中并不携带CCFH字段。
步骤603:假设用户业务进行中,GW由于时间门限、流量门限到达以及计费条件改变等原因,触发信用控制更新请求,即GW向OCS发送信用控制更新请求。
步骤604:GW感知到链路异常,比如可能是与OCS链路中断,也可能是链路拥塞等原因导致GW等待OCS的信用控制更新请求响应超时,或者是其他原因。
步骤605:由于此时GW无法知道OCS是否已经处理,所以将该部分话单存储在本地或者发送给OFCS,同时,虽然判断出OCS没有携带过CCFH但是在GW本地配置有会话异常后可以继续并重新连接的配置信息,所以继续保持业务正常使用不受影响。
步骤606:在某个触发点,比如预先设置的重建连接条件,如定时触发或者感知到链路状态变化触发等,GW需要与OCS重新建立连接,此时需要将当前业务计费信息存储到离线计费系统中。
步骤607:GW向OCS发送信用控制更新请求,其中携带有当前所有业务,其中多业务信用控制参数中的上报原因填写为强制重鉴权。本步骤与步骤506之间没有严格的先后顺序的限制。
此时,本发明提供的技术方案并不像现有技术一样,GW收到5002就结束该会话,并去活用户,而是重新向OCS发起信用控制初始请求,保证了用户永久在线。
步骤608:OCS向GW返回信用控制更新请求响应消息,携带配额等相关信息,流程结束。
以上所述,仅为本发明的较佳实例而已,并非用于限定本发明的保护范 围。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。