一种Fork场景下计费话单关联和区分方法

文档序号:7954704阅读:236来源:国知局
专利名称:一种Fork场景下计费话单关联和区分方法
技术领域
本发明涉及IMS(IP多媒体子系统)技术领域,具体来说,涉及到IMS中的计费技术。
背景技术
IMS是3GPP R5(3rd Generation Partnership Project第三代移动通信标准化伙伴项目R5版本)阶段引入的多媒体业务子系统,按照接入和控制的分离思路,IMS核心网应该接入各种类型的SIP(会话发起协议)终端,包括Early IMS(早期IMS)终端和固网的终端,例如IAD(IntegratedAccess Device)终端。
IMS由控制多媒体会话的网络实体组成,在UMTS(通用移动通信系统)中IMS是提供IP多媒体服务的核心。IMS的主要功能实体包括CSCF(呼叫控制服务器)、MGCF(媒体网关控制服务器)、IM-MGW(IP多媒体-媒体网关)、MRF(多媒体资源功能)以及BGCF(出口网关控制功能)等,CSCF的作用是完成入呼叫网关功能、呼叫业务触发功能和路由选择功能,是最主要的软交换控制实体;MGCF的作用是根据被叫号码和来话情况选择CSCF,并完成PSTN(公众交换电话网)和IMS之间呼叫控制协议转换,以及控制IM-MGW媒体通道的呼叫状态;IM-MGW的功能与CS-MGW(电路交换-媒体网关)的功能类似,与MGCF一起完成资源控制并实现媒体转换和帧协议转换功能;MRF分为MRFC(多媒体资源功能控制器)和MRFP(多媒体资源功能处理器),分别进行完成媒体流的控制和承载功能。
由于IMS系统采用的信令协议是SIP协议,按照IETF的RFC 3261SIP(Session Initiation Protocol会话发起协议)及3GPP TS 24.229协议(IP Multimedia Call Control Protocol based on Session InitiationProtocol(SIP)and Session Description Protocol(SDP)Stage 3 IP多媒体基于SIP及SDP的呼叫控制协议第3阶段)规定,在进行呼叫建立时,存在Fork(分叉)的情况在一次呼叫过程中,如果被叫用户一个IMPU(IP多媒体公有标识)对应多个IMPI(IP多媒体私有标识),即一号多机情况,并且这多个IMPI用户都注册的情况下,S-CSCF(服务CSCF)能够根据Request-Disposition(请求部署,SIP协议中的扩展头域,用于定义一些主叫用户的要求等用)的定义及本地配置进行Fork处理,并行地或者串行地发起到不同用户终端的呼叫,直到某个或者全部Fork分支成功返回最终的INVITE的200响应或者直到全部Fork分支都失败返回最终INVITE 300到600的失败响应为止。
在并行Fork情况下,当被叫S-CSCF在收到第一个Fork分支传回来的成功的最终INVITE的200响应时,会向其它分支发送CANCEL请求,取消其它分支的处理,但在并行Fork处理场景下,可能被叫S-CSCF会收到多个分支返回的最终应答200响应情况,按照协议要求,这多个分支返回的最终INVITE的200响应都将回传给主叫UE(用户终端),由主叫UE决定释放某个分支。在释放多余分支时,主叫UE将会向该分支所对应的被叫UE发BYE消息来释放该Dialog分支。这种情况下,主、被叫间将会形成多条完整的呼叫信令,处理该呼叫的各个网元都将会对每个分支生成完整的计费信息。
IMS计费处理分为离线计费和在线计费两种方式。离线计费体系的架构如附图1所示(主被叫都在归属域情况下)CCF(IMS域离线计费采集功能)网元从IMS控制层和应用层通过Diameter协议(该协议为RFC3588定义,可用于计费、鉴权。)采集计费信息,进行格式转换、合并以及分拣形成CDR(呼叫细节记录),通过Bi(IMS中BS与CCF之间的接口)接口提交给BS(计费系统);CGF(PS域离线计费网关)从承载接入层采集计费信息,进行格式转换、合并以及分拣形成CDR(呼叫细节记录),通过Bp(PS域中BS与CGF之间的接口)接口提交给BS;BS对CCF、CGF等提交的CDR(呼叫细节记录)进行必要关联和处理,根据计费策略实现批价,形成最终用户话单。
当一个呼叫或者一个非会话事件请求经过多个网元时,各个网元都会采集计费信息并最终为该业务生成各自的话单,为了关联各个网元发出的话单信息,现有技术中网元生成计费信息时,在计费信息中增加了P-CHARGING-VECTOR(计费向量头域,用于携带计费相关的信息)头域里的ICID(计费向量头域中的一个字段,用于不同网元对同一呼叫生成的话单进行关联)字段信息、Call-ID(SIP协议中用于区分、标识一呼叫的信息字段)头域信息、主、被叫的IMPU信息以及被服务用户的IMPI信息。由于ICID是由处理该呼叫的第一个网元生成,并且Call-ID头域携带的信息能够区分不同的呼叫,在通常情况下,通过这些信息能够很好地把各个网元生成的话单关联起来。
如上所述,现有的计费方案通常情况下能够把各个网元生成的话单关联起来,但是在并行Fork并且存在多个Fork分支都成功应答的场景下目前的计费方案就存在问题按照32.299-630协议(3GPP TS 32.299 Telecommunicationmanagement;Charging management;Diameter charging applications通讯关联;计费管理;Diameter计费应用)的定义,对各网元产生的话单进行区分是由User-Session-ID AVP(用户会话ID,用于关联会话的ID)完成的,User-Session-ID AVP被定义为包含SIP消息包里的Call ID,在并行Fork并且多个分支应答成功的情况下,由于每个Fork分支响应里携带了上述的信息P-CHARGING-VECTOR头域里的ICID字段信息、Call-ID头域信息、主、被叫的IMPU信息以及被服务用户的IMPI信息,这些信息在Fork场景下进行计费关联时都是相同的,缺少区分、关联各个分支产生的话单的相关信息,在各个网元采集计费信息并发送给后台服务器后,将无法区分不同Fork分支产生的计费信息,以及无法关联一个Fork分支在各个网元上生成的话单。

发明内容
本发明的目的在于提供一种Fork场景下计费话单关联和区分的方法,以解决现有技术中在Fork场景下对计费话单不能关联和区分的问题。
为实现上述目的,本发明采用如下的技术方案一种Fork场景下计费话单关联和区分方法,所述的方法包括如下的步骤a、在IMS网元发往CCF的计费信息中增加代表各个Fork分支响应终端的信息;b、IMS域离线计费采集功能实体CCF采集所述的计费信息并根据其中增加的信息进行处理,如果所述的增加的信息相同,说明属于同一Fork分支,则关联属于同一分支的计费信息,如果所述的增加的信息不相同,说明不属于同一Fork分支,则区分不属于同一分支的计费信息。
其中所述的代表各个不同的Fork分支响应终端的信息为各个响应终端的标签tag。
其中所述的各个响应终端的标签tag具体为会话发起协议SIP消息包中的From头域的tag和To头域的tag值对。
其中步骤a所述的在计费信息中增加代表各个不同的Fork分支响应终端的信息是通过在Diameter协议中增加或者扩展AVP头域来实现的。
其中步骤a具体包括a1、在终端应答主叫呼叫请求时,主被叫归属的代理呼叫会话控制功能实体P-CSCF和服务呼叫会话控制功能实体S-CSCF启动计费;
a2、CCF采集CSCF和AS网元生成的计费信息,所述的计费信息中包括初始请求的From头域的Tag和响应初始请求的被叫终端的To头域的Tag值对。
其中步骤b具体包括CCF将所述的From头域的Tag和To头域的Tag值对相等的计费信息合并后生成呼叫细节记录CDR上报给计费系统BS,将所述的From头域的Tag和To头域的Tag值对不相等的计费信息区分后生成呼叫细节记录CDR上报给计费系统BS。
其中步骤b之后还包括BS接收到CCF上报的CDR后采用不同的计费策略进行处理。
具体包括BS关联From头域的Tag和To头域的Tag值对相等的CDR、区分From头域的Tag和To头域的Tag值对不相等的CDR;BS根据计费策略实现批价,形成最终用户话单。


图1为IMS离线计费体系架构;图2为Fork场景下的主叫处理流程图;图3为Fork场景下的被叫处理流程图。
具体实施例方式
下面结合具体实施例和附图对本发明进行详细说明。
本发明所述的技术方案依照各个分支的Dialog(对话)里不同终端的From和To头域对的Tag值不同,在目前话单关联字段基础上,在网元产生的计费信息中增加或者扩展AVP头域,将SIP消息包里的[From-Tag,To-Tag]值对增加到计费信息中,以解决并行Fork情况下,多个终端应答时话单关联及话单区分问题。具体说明如下在网元产生的计费信息中增加一个新的必选AVP,定义为Dialog-FlagAVP,其结构如下<Dialog-Flag>::=<AVP Header:***> [Called-Party-Tag]其中1)如果话单里Calling-Party-Address AVP为初始INVITE请求的发起方,那么[Calling-Party-Tag]的取值就为RFC 3261(Session InitiationProtocol会话发起协议)中定义的From头域的tag参数值;如果Calling-Party-Address AVP为初始INVITE请求的接收方,那么[Calling-Party-Tag]的取值就为RFC 3261中定义的To头域的tag参数值。
2)如果Called-Party-Address AVP为初始INVITE请求的发起方,那么[Called-Party-Tag]的取值就为RFC 3261中定义的From头域的tag参数值;如果Called-Party-Address AVP为初始INVITE请求的接收方,那么[Called-Party-Tag]的取值就为RFC 3261中定义的To头域的tag参数值。
3)[Calling-Party-Tag]与[Called-Party-Tag]这两个值都是UTF8String类型的字符串,其中AVP的ID值待分配。
以下具体说明关联和区分各个FORK分支话单的过程Fork场景下主被叫处理一个并行Fork情况下多个分支都返回INVITE的200响应消息的流程如附图2和附图3所示,其中UE#0为主叫,UE#1、UE#2为具有相同IMPU但IMPI不同的被叫用户,当主叫呼叫被叫时,被叫S-CSCF发生Forking,被叫用户UE#1和UE#2同时应答,此时主叫UE#0对所有的INVITE的200返回ACK应答,同时,收到INVITE的200后,主、被叫归属网的P-CSCF(Proxy-CSCF代理CSCF)、S-CSCF(Serving-CSCF服务CSCF)都会发出Start(启动)计费信息,I-CSCF(Interrogating-CSCF查询CSCF)发出事件计费信息,各个计费信息都会带有Dialog-Flag AVP,携带初始请求里的From头域的Tag参数及应答被叫终端To头域的Tag参数。建立会话后,主叫UE将释放不需要的分支,拆除会话,本实施例中通过BYE拆除与UE#1之间的会话。
CCF网元接收到各个网元采集的计费信息后,按照正常的话单处理方式进行合并、整理等处理,在出现多个话单类型相同且ICID,Call-ID、Calling-Party-Address AVP,Called-Party-Address AVP等信息相同时,CCF搜索这多个话单中的Dialog-Flag AVP值是否相等,如果相等,则表明属于一个Fork分支的话单,CCF可以合并这些相同的话单,如果不等,则表明属于不同的Fork分支的话单,CCF必须按照不同的Dialog-FlagAVP值生成不同的CDR(呼叫细节记录)并发给计费系统BS,BS根据Dialog-Flag AVP的值对CDR进行处理,然后根据不同的计费策略形成最终话单。
计费系统在处理话单时,如果出现一个用户在某一时刻出现了多个启动、中间、停止计费以及事件计费话单时,按照新增Dialog-Flag AVP的方法1)如果话单为会话类计费话单,首先检查计费话单中Dialog-Flag AVP的头域携带的Called-Party-Tag值,根据是否具有相同Called-Party-Tag值进行话单归纳整理,以该值关联和区分不同的话单;2)如果是事件计费话单,且为会话外的事件计费话单,则按照不同Dialog-Flag AVP值进行区分处理,考虑到事务请求并行Fork时,生成的最终响应消息只有一个前传给主叫,这种情况下,如果Dialog-Flag AVP中的[Calling-Party-Tag]字段值相同,则可以合并多个[Calling-Party-Tag]相同的CDR。
除了上述的在话单中增加Dialog-Flag AVP来实现本发明技术方案之外,还可以采用扩展话单中的Calling-Party-Address AVP和Called-Party-Address AVP方式来实现本发明的技术方案,扩展后的结构如下<Calling-Party-Address>::=<AVP Header:831>
{Calling-Party-Address}{Calling-Party-Tag}<Called-Party-Address>::=<AVP Header:832>
{Called-Party-Address}{Called-Party-Tag}其中,[Calling-Party-Tag]及[Called-Party-Tag]的取值分别为1)如果[Callng-Party-Address]为初始INVITE请求的发起方,那么[Calling-Party-Tag]的取值就为RFC 3261中定义的From头域的tag参数值;如果[Calling-Party-Address]为初始INVITE请求的接收方,那么[Calling-Party-Tag]的取值就为RFC 3261中定义的To头域的tag参数值。
2)如果[Called-Party-Address]为初始INVITE请求的发起方,那么[Called-Party-Tag]的取值就为RFC 3261中定义的From头域的tag参数值;如果[Called-Party-Address]为初始INVITE请求的接收方,那么[Called-Party-Tag]的取值就为RFC 3261中定义的To头域的tag参数值。
3)[Calling-Party-Address]与[Called-Party-Address]字段值定义与修改前协议定义的<Calling-Party-Address>及<Called-Party-Address>一致;[Calling-Party-Tag]与[Called-Party-Tag]这两个值都是UTF8String(UTF-8字符集)类型的字符串。
此外,还可通过扩展话单中的User-Session-ID AVP字段来实现本发明所述的技术方案,扩展后结构如下<User-Session-ID>::=<AVP Header:830> [From-tag][To-tag]其中,[From-tag]的值为RFC 3261中定义的From头域的tag参数值;[To-tag]的值为RFC 3261中定义的To头域的tag参数值,这两个值都是UTF8 String类型的字符串。
扩展Calling-Party-Address AVP和Called-Party-Address AVP或者扩展User-Session-ID AVP后,不同的Fork分支将由终端对初始INVITE响应消息里的To头域携带的Tag参数值不同来进行区分、关联,具体的区分各个分支话单的过程与上述的在话单中增加Dialog-Flag AVP来区分各个分支话单的过程相似。
权利要求
1.一种Fork场景下计费话单关联和区分方法,其特征在于,所述的方法包括如下的步骤a、在IMS网元发往CCF的计费信息中增加代表各个Fork分支响应终端的信息;b、IMS域离线计费采集功能实体CCF采集所述的计费信息并根据其中增加的信息进行处理,如果所述的增加的信息相同,说明属于同一Fork分支,则关联属于同一分支的计费信息,如果所述的增加的信息不相同,说明不属于同一Fork分支,则区分不属于同一分支的计费信息。
2.根据权利要求1所述的方法,其特征在于,所述的代表各个不同的Fork分支响应终端的信息为各个响应终端的标签tag。
3.根据权利要求2所述的方法,其特征在于,所述的各个响应终端的标签tag具体为会话发起协议SIP消息包中的From头域的tag和To头域的tag值对。
4.根据权利要求1所述的方法,其特征在于,其中步骤a所述的在计费信息中增加代表各个不同的Fork分支响应终端的信息是通过在Diameter协议中增加或者扩展AVP头域来实现的。
5.根据权利要求3所述的方法,其特征在于,其中步骤a具体包括a1、在终端应答主叫呼叫请求时,主被叫归属的代理呼叫会话控制功能实体P-CSCF和服务呼叫会话控制功能实体S-CSCF启动计费;a2、CCF采集CSCF和AS网元生成的计费信息,所述的计费信息中包括初始请求的From头域的Tag和响应初始请求的被叫终端的To头域的Tag值对。其中步骤b具体包括CCF将所述的From头域的Tag和To头域的Tag值对相等的计费信息合并后生成呼叫细节记录CDR上报给计费系统BS,将所述的From头域的Tag和To头域的Tag值对不相等的计费信息区分后生成呼叫细节记录CDR上报给计费系统BS。
6.根据权利要求5所述的方法,其特征在于,其中步骤b之后还包括BS接收到CCF上报的CDR后采用不同的计费策略进行处理。
7.根据权利要求6所述的方法,其特征在于,具体包括BS关联From头域的Tag和To头域的Tag值对相等的CDR、区分From头域的Tag和To头域的Tag值对不相等的CDR;BS根据计费策略实现批价,形成最终用户话单。
全文摘要
本发明公开了一种Fork场景下计费话单关联和区分方法,所述的方法包括如下的步骤a.在IMS网元发往CCF的计费信息中增加代表各个Fork分支响应终端的信息;b.IMS域离线计费采集功能实体CCF采集所述的计费信息并根据其中增加的信息进行处理,如果所述的增加的信息相同,说明属于同一Fork分支,则关联属于同一分支的计费信息,如果所述的增加的信息不相同,说明不属于同一Fork分支,则区分不属于同一分支的计费信息。本发明提供的方案对Fork场景下的计费话单进行了关联和区分,有效防止了计费话单异常的问题。
文档编号H04L12/14GK101026475SQ20061003377
公开日2007年8月29日 申请日期2006年2月18日 优先权日2006年2月18日
发明者张国成 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1