一种避免对预付费业务计费错误的方法
技术领域
本发明涉及移动通信技术,特别是涉及一种在业务控制点(ServiceControl Point,SCP)和业务交换点(Service Switching Point,SSP)之间的链路发生故障时避免对预付费业务计费错误的方法。
背景技术
在移动通信系统中,一种重要的智能业务就是移动台(Mobile Station,MS)的预付费业务。预付费业务用户(以下简称为用户)可以随时激活和去活预付费业务。在预付费业务激活期间,用户的业务费用由预付费平台SCP在该用户的预付费帐户中扣除。在预付费业务去活期间,用户进行后付费业务,业务费用由后付费平台营帐系统在该用户的后付费帐户中扣除。
下面以码分多址(CDMA)系统中预付费业务用户局间呼叫终呼流程为例,说明现有技术对预付费业务进行计费的过程。图1是CDMA系统中预付费业务用户局间呼叫终呼流程图,参见图1,该流程具体包括以下步骤:
步骤101:始发呼叫,始发SSP接收到被叫号码并检测到Mobile_Termination触发器,根据该触发器标识的地址向对应的归属位置寄存器(Home Location Register,HLR)发送LOCREQ消息。
步骤102:HLR接收到LOCREQ消息后,向始发SSP回送locreq消息,该消息指示需要使用Initial_Termination、Location和Called_Routing_Address_Available触发器。
步骤103:始发SSP检测到Initial_Termination触发器,并根据触发器指示的地址向对应的SCP发送ANLYZD消息。
步骤104:该SCP接收到ANLYZD消息后,判断被叫用户的预付费业务是否激活且余额是否足以发起该次呼叫,如果是,执行步骤105;否则,SCP通过anlyzd消息通知始发SSP拒绝此次呼叫,本流程结束。
步骤105:SCP通过anlyzd消息通知始发SSP继续呼叫接续过程,始发SSP检测到Location触发器,向HLR发送LOCREQ消息以获取被叫的路由信息。
步骤106:HLR接收到LOCREQ消息后,向被叫的服务SSP发送ROUTEREQ消息以请求获取被叫路由。
步骤107:服务SSP接收到ROUTEREQ消息后,为被叫分配漫游号码(TLDN),并将该TLDN通过routereq消息返回给HLR。
步骤108:HLR接收到routereq消息后,通过locreq消息将TLDN发送给始发SSP。
步骤109:始发SSP接收到locreq消息,并检测到Called_Routing_Address_Available触发器,根据该触发器标识的地址向对应的SCP发送ANLYZD消息。
步骤110:该SCP接收到ANLYZD消息,向始发SSP返回anlyzd响应消息,始发SSP接收到anlyzd消息建立主叫至被叫的呼叫,被叫应答。
这里,当被叫应答后,服务SSP开始记录本次呼叫的业务时长。
步骤111:服务SSP检测到T_Answer触发器,根据该触发器标识的地址向对应的SCP发送TANSWER消息。
这里,SCP接收到TANSWER消息后开始记录本次呼叫的业务时长。
步骤112:被叫用户挂机。
这里,被叫用户挂机后,服务SSP停止记录业务时长,产生一个呼叫详细记录(Call Detail Record,CDR)详单,在该CDR详单中填写自身所记录的本次业务时长。
步骤113:服务SSP检测到T_Disconnect触发器,根据触发器标识的地址向对应的SCP发送TDISCONNECT消息。
步骤114:该SCP接收到TDISCONNECT消息后,向服务SSP回送一个携带有预付费业务标识的tdisconnect消息。
这里,SCP在接收到TDISCONNECT消息时停止记录业务时长,产生CDR详单,在该CDR详单中填写预付费业务标识以及自身所记录的的本次业务的时长。
步骤115:服务SSP接收到携带有预付费业务标识的tdisconnect消息后,在自身产生的CDR详单中填写该预付费业务标识,并拆除呼叫。
在呼叫拆除后,营帐系统获取服务SSP的CDR详单,并对该CDR详单进行分析,如果该CDR详单中有预付费业务标识,则认为本次业务为预付费业务,那么,营帐系统不产生后付费帐单,不在用户的后付费帐户中扣除费用,而只利用该用户帐号进行后续的业务统计分析工作,比如,确定该用户的优先级以及统计系统的话务模型等。另外,预付费平台SCP在呼叫拆除后,根据自身产生的CDR详单中的业务时长在用户的预付费帐户中扣除费用。
然而,在实际的业务实现中,经常会出现SSP产生CDR详单中业务类型标识错误的异常情况,造成这一异常情况的原因是SSP与SCP之间的链路发生故障,此处以及以下所述的故障包括造成SSP与SCP之间链路质量不可靠的各种原因,比如链路断开、链路拥塞、消息序列错误、信令点故障和网络传输延迟等。当SSP产生CDR详单中的业务类型标识错误时,就会导致系统对预付费业务计费错误。比如,在业务实现中,SSP无法接收到SCP发来的预付费业务标识,那么SSP则无法确定本次业务是预付费业务还是后付费业务,则不会在自身产生的CDR详单中填写预付费业务标识,这样,营帐系统在对SSP的CDR进行分析时就无法分析出预付费业务标识,则认为本次业务不是预付费业务,而是后付费业务,则根据该来自SSP的CDR详单在用户的后付费帐户中扣除费用,而SCP又已在该用户的预付费帐户中扣除了费用,从而导致了多余的计费,损害了用户的利益。
另外,由于SSP与SCP之间的链路故障,还可能使得SCP产生CDR详单中的业务时长不准,从而导致对预付费业务计费不准。比如,在上述流程中,由于SSP与SCP之间的链路堵塞,在SSP开始记录业务时长并发出TANSWER消息时,SCP没有接收到该TANSWER消息,则不会开始记录业务时长,在后续时间,即使SCP经过主动进行失败恢复处理,即主动检测到呼叫在进行时,启动对用户的计费,开始记录业务时长,仍然会造成SCP记录的业务时长少于用户的实际通话时长即SSP所记录的业务时长,导致对用户少计了费用,损害了运营商的利益。
因此,对预付费业务的现有计费方式存在计费错误以及不准确的问题,大大妨碍了业务的正常运营。
发明内容
有鉴于此,本发明的主要目的在于提供一种避免对预付费业务计费错误的方法,以保证SSP的CDR详单准确,避免计费错误。
为了达到上述目的,本发明的技术方案是这样实现的:
一种避免对预付费业务计费错误的方法,在预付费业务进行中,SCP与SSP之间的链路发生故障,该方法包括以下步骤:
A、在预付费业务拆除后,话单校对实体获取SCP和SSP的初始呼叫详细记录CDR;其中,SCP的初始CDR中包含SCP记录的本次业务的时长以及业务类型,SSP的初始CDR中包含SSP记录的本次业务的时长以及业务类型;
B、用SCP的初始CDR中的业务类型标识更新SSP的初始CDR中的业务类型标识,得到SSP的最终CDR;营帐系统根据SSP的最终CDR,只利用本次用户帐号进行后续的业务统计分析工作;
C、话单校对实体用SSP的初始CDR中的业务时长更新SCP的初始CDR中的业务时长,得到SCP的最终CDR;SCP根据SCP的最终CDR的业务时长、SCP的初始CDR的业务时长以及业务费率修正用户预付费账户中的余额信息。
该方法进一步包括:在业务进行中,SCP或SSP在检测到两者之间的链路发生故障时,在自身产生的初始CDR中设置业务异常标识;
在步骤A与步骤B之间,进一步包括:话单校对实体判断SCP或SSP的任一初始CDR中是否存在业务异常标识,如果是,则执行步骤B,否则,结束本流程。
在步骤B中,所述话单校对实体用SCP的初始CDR中的业务类型标识更新SSP的初始CDR中的业务类型标识之前还包括:话单校对实体判断SSP初始CDR中的业务类型标识是否与SCP初始CDR中的业务类型标识相同,如果是,则将SSP的初始CDR作为SSP的最终CDR,否则,继续执行所述话单校对实体用SCP的初始CDR中的业务类型标识更新SSP的初始CDR中的业务类型标识。
步骤B中,在所述营帐系统根据SSP的最终CDR,只利用本次用户帐号进行后续的业务统计分析工作之前,进一步包括:营帐系统判断SSP最终CDR中的业务类型标识是否为预付费业务标识,如果是,继续执行所述营帐系统根据SSP的最终CDR,只利用本次用户帐号进行后续的业务统计分析工作,否则,营帐系统在本次用户的后付费帐户中扣除费用,并利用本次用户帐号进行后续的业务统计分析工作,然后结束本流程。
其中,在业务拆除时,SCP在本次用户的预付费帐户中扣除费用,在所述步骤C之前还包括:话单校对实体判断SCP初始CDR中业务时长与SSP初始CDR中业务时长之间的误差是否小于预先设置的误差阈值,如果是,结束流程,否则,继续执行所述步骤C。
所述话单校对实体为营帐系统;
步骤A中,所述话单校对实体获取SCP和SSP的初始CDR的步骤为:SCP和SSP分别将自身的初始CDR发送至营帐系统。
所述话单校对实体为增设的独立网络实体;
步骤A中,所述话单校对实体获取SCP和SSP的初始CDR的步骤为:SCP和SSP分别将自身的初始CDR发送至所述的独立网络实体;
在步骤B中,在所述营帐系统根据SSP的最终CDR,只利用本次用户账号进行后续的业务统计分析工作之前,进一步包括:所述独立网络实体将SSP的最终CDR发送至营帐系统。
所述话单校对实体为SSP;
在步骤A中,所述话单校对实体获取SCP的CDR的步骤为:SCP将自身的CDR发送至SSP;
在步骤B中,在所述营帐系统根据SSP的最终CDR,只利用本次用户账号进行后续的业务统计分析工作之前,进一步包括:SSP将自身的最终CDR发送至营帐系统。
所述话单校对实体为SCP;
步骤A中,所述话单校对实体获取SSP的CDR的步骤为:SSP将自身的CDR发送至SCP;
在步骤B中,在所述营帐系统根据SSP的最终CDR,只利用本次用户账号进行后续的业务统计分析工作之前,进一步包括:SCP将SSP的最终CDR发送至营帐系统。
可见,当SSP与SCP之间的链路发生故障时,本发明将SSP和SCP所产生的CDR详单进行对比,根据SCP所产生CDR详单中的业务类型标识即预付费业务标识来更新SSP所产生CDR详单中的业务类型标识,后付费平台营帐系统根据更新后SSP的CDR详单则不会在用户的后付费帐户中扣除费用,从而避免了对预付费业务计费错误的问题。
另外,当SSP与SCP之间的链路发生故障时,本发明将SSP和SCP所产生的CDR详单进行对比,根据实际业务时长即SSP所产生CDR详单中的业务时长来更新SCP所产生CDR详单中的业务时长,预付费平台SCP根据更新后自身的CDR详单中的业务时长及初始自身CDR详单中的业务时长,在用户的预付费帐户中扣除少扣的费用,返回多扣的费用,从而避免了对预付费业务计费不准确的问题。
因此,本发明方法可保证在SSP与SCP之间的链路发生故障时对预付费业务的计费准确可靠。
附图说明
图1是CDMA系统中预付费业务用户局间呼叫终呼流程图。
图2是本发明实施例的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图及具体实施例对本发明作进一步地详细描述。
在现有的预付费业务实现过程中,SSP与SCP会分别产生一个CDR详单,但营帐系统只根据SSP所产生的CDR详单来判断是否产生后付费帐单及是否在后付费帐户中扣费,而不参考SCP所产生的CDR详单,因此,当SSP未在自身CDR详单中填写预付费业务标识时,后付费平台营帐系统会从用户的后付费帐户中扣除费用,从而导致计费错误。另外,SCP只根据自身的CDR详单从用户的预付费帐户中扣除费用,而不参考SSP所产生的CDR详单,一旦出现计费消息丢失等异常情况,就会导致计费不准确。由此可见,SSP和SCP所产生的CDR详单都有可能出错。而本发明正是针对这一缺点,当SSP与SCP之间的链路发生故障时,将SSP和SCP所产生的CDR详单进行对比及更新,根据最终得到的CDR详单对用户进行扣费,从而保证了对预付费业务的计费准确可靠。
图2是本发明实施例的流程图。为了便于描述,在本实施例中,将SSP产生并输出的CDR详单标记为CDR1,将SCP产生并输出的CDR详单标记为CDR2。参见图2,本发明避免对预付费业务计费错误的过程具体包括以下步骤:
步骤201:在预付费业务呼叫过程中,当SSP或SCP确定出现业务异常情况时,相应地在自身产生的初始CDR详单中填写预先设置的业务异常标识。
这里,所述SSP确定出现业务异常情况可举例为:SSP在设定时间内未接收到SCP发来的携带有预付费业务标识的tdisconnect消息;
所述SCP确定出现业务异常情况可举例为:SCP在设定时间内未接收到SSP发来的TANSWER消息。
步骤202:在预付费业务呼叫拆除后,SCP从用户的预付费帐户中扣除费用,并且,SSP和SCP分别将初始CDR1和初始CDR2输出至营帐系统。
这里,初始CDR1中包含了SSP所记录的本次业务的时长以及业务类型等各种信息;初始CDR2中包含了SCP所记录的本次业务的时长以及业务类型等各种信息。
步骤203:营帐系统对初始CDR1和初始CDR2进行分析,判断初始CDR1或初始CDR2中是否有业务异常标识,如果有,则执行步骤204,否则,营帐系统利用该用户帐号进行后续的业务统计分析工作并结束当前流程。
步骤204:营帐系统将初始CDR1和初始CDR2进行对比分析,判断是否需要更新初始CDR1,如果需要,则执行步骤205,否则,将初始CDR1作为最终CDR1,然后执行步骤206。
这里,准确掌握本次业务类型的是SCP,SSP必须根据SCP的通知才能获得预付费业务标识,并记录在初始CDR1中。因此,营帐系统根据初始CDR1中的业务类型标识与初始CDR2中的业务类型标识是否相同来判断是否需要更新初始CDR1。
步骤205:营帐系统将初始CDR1中的业务类型标识更新为初始CDR2中的业务类型标识,获得最终CDR1。
步骤206:营帐系统判断最终CDR1中的业务类型标识是否为预付费业务标识,如果是,则执行步骤207,否则营帐系统将最终CDR1作为日后在用户后付费帐户中扣除费用的依据,以及利用该用户帐号进行后续的业务统计分析工作,并结束当前流程。
步骤207:营帐系统只利用该用户帐号进行后续的业务统计分析工作,而不将最终CDR1作为日后在用户后付费帐户中扣除费用的依据。
步骤208:营帐系统将初始CDR1和初始CDR2进行对比分析,判断是否需要更新初始CDR2,如果需要,则执行步骤209,否则,结束本流程。
这里,营帐系统将初始CDR2中的业务时长与初始CDR1中的业务时长进行对比,根据两者误差是否小于预先设置的误差阈值来判断是否需要更新初始CDR2,所述的误差阈值是由运营商根据实际业务需要而预先定义的,比如1秒。
步骤209:营帐系统将初始CDR2中的业务时长更新为初始CDR1中的业务时长,获得最终CDR2。
步骤210:营帐系统将最终CDR2输出至SCP。
步骤211:SCP根据初始CDR2和最终CDR2修正用户预付费帐户中的余额信息。
这里,SCP根据最终CDR2中的业务时长、初始CDR2中的业务时长以及通话费率在用户的预付费帐户中扣除少扣的费用,返回多扣的费用。
在步骤203、步骤206、步骤207和步骤208中,营帐系统利用用户帐号所进行的后续业务统计分析工作与现有技术中一样,也可举例为确定该用户的优先级以及统计系统的话务模型等。
在上述实施例中,营帐系统只对存在业务异常标识的CDR详单进行对比和更新,在本发明的其它实施例中,也可将未存在业务异常标识的CDR详单进行对比和更新,以确保对预付费业务计费准确。
在上述实施例中,完成对比并更新SSP和SCP所产生CDR详单,即话单校对功能的是营帐系统,在实际的业务实现中,也可由SSP、SCP或一个增设的独立网络实体来完成话单校对功能。如果由SSP完成话单校对功能,则在呼叫拆除后,SCP是将自身产生的初始CDR发送至SSP,这样,SSP便可获得自身和SCP的初始CDR,在校对完成后,SSP将自身的最终CDR发送至营帐系统,将SCP的最终CDR发送至SCP;如果由SCP完成话单校对功能,则在呼叫拆除后,SSP是将自身产生的初始CDR发送至SCP,这样,SCP便可获得自身和SSP的初始CDR,在校对完成后,SCP将SSP的最终CDR发送至营帐系统;如果由所述独立网络实体完成话单校对功能,则在呼叫拆除后,SCP和SSP分别将自身产生的初始CDR发送至该独立网络实体,该网络实体便可获得SCP和SSP的初始CDR,在校对完成后,该独立网络实体将SSP的最终CDR发送至营帐系统,将SCP的最终CDR发送至SCP。其具体实现过程的原理与上述实施例中图2所示过程的原理相同。
总之,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。