1 流程概述 GGSN根据用户签约信息(IMSI),区分终端用户是否是在线计费用户,对于在线计费用户触发OCS计费流程;GGSN要与OCS通过DCC协议进行交互并根据OCS的反馈触发不同的计费方式(流量或者时长)以及根据OCS指示对用户做相应的在线计费会话控制。 GGSN | OCS | 计费属性(Service ID,Rating Group等)识别规则 | 资费数据 | 用户资料 | 用户资料(预付费) | 业务定购数据 | |
按照《中国联通在线计费系统接口规范GGSN分册》的相关要求,将来在OCS系统的配合下,采用签约信息触发机制(用户在HLR中的Charging Characteristics(normal, prepaid, flat-rate, and/or hot billing)签约信息),预付费用户使用数据业务在线计费处理的流程如下。 2 流程参考标准 中国联通在线计费接口规范GGSN分册 3GPP TS 32.296:Online Charging System (OCS) applications and interfaces 3GPP TS 32.299iameter charging application 3GPP TS 32.251 Packet Switched(PS) Domain Charging 3 信令流程图 1). 用户发起PDP激活请求Active PDP Context Request。SGSN通过GTP协议向GGSN发送Create PDP Context Request消息后。 2). GGSN建立PDP上下文,并等待业务开始请求。 3). 用户发起业务请求。 4). GGSN根据该消息中的Charging-Characteristics获得用户的计费属性。如果是预付费,则GGSN识别用户使用的业务,向OCS发起初始的CCR(Initial)。 5). OCS检查用户账户状态,判断用户是否可以使用业务。OCS进行帐户余额预留,分配用户可用额度。 6). OCS将用户可用配额通过CCA(initial)消息给GGSN。 7). 用户使用业务,GGSN根据OCS下发的可用额度,实时监控中断用户对业务的使用情况。 8). 当满足任何一种CCR触发条件满足,例如,已经授权的可用额度使用完毕或者QHT/VT计时器到时,GGSN需要重新申请使用配额。 9). GGSN向OCS再次发送CCR(update)。 10). OCS根据CCR(update)更新信息,进行重新批价、帐户余额预留,重新分配用户可用额度。 11). OCS将用户可用配额通过CCA(update)发送给GGSN。 12). 用户继续使用业务,GGSN根据OCS下发的可用额度,实时监控中断用户对业务的使用情况。 13). 用户终止业务使用及其他条件,导致SGSN发起PDP上下文去激活请求。 14). GGSN向OCS触发CCR(Termination)消息,报告实际使用的信用配额。 15). OCS完成批价、并扣除用户的账户。 16). OCS向GGSN发送CCA(Termination)消息。 17). PDP上下文去激活。 4 重要消息和参数 信令消息 | 重要参数 | 属性 | 参数作用 | Credit-Control-Request | Charging-Id | M | 计费标识符。3GPP-Charging-Id和GGSN-Address组合在一起可以识别和一个PDP context 相关的所有 SGSN 和 GGSN 产生的计费记录。 | PDP-Type | C | PDP 上下文的类型。如 IPv4,IPv6或PPP。 | PDP-Address | C | PDP上下文的地址 | GPRS-Negotiated-QoS-Profile | C | Quality of Service Profile包括了已定义的QoS参数的值 | SGSN-Address | C | SGSN的IP地址。该AVP可以用于识别用户所登录的SGSN的PLMN。 | GGSN-Address | C | GGSN IP 地址。 | CG-Address | C | Charging Gateway IP 地址 | IMSI-MCC-MNC | C | IMSI的MCC和MNC。从IMSI中提取出来的MCC和MNC信息。 | GGSN- MCC-MNC | C | GGSN 的MCC 和MNC | NSAPI | C | NSAPI在MS中标识一个PDP-SAP,在GSN中标识一个PDP上下文,MS在请求一个PDP上下文时,MS会选择一个未使用过的NSAPI。 | Called-Station-Id | C | 包含用户所连接的APN名称。在 GGSN中可以鉴别外部网络,也可鉴别服务类型。 | Charging-Characteristics | C | 计费属性, 如果是预付费,则GGSN识别用户使用的业务,向OCS发起初始的CCR(Initial)。 | User-Location-Info | C | 用户位置信息。 | RAT-Type | C | 指出UE的无线接入技术类型,区分2G、3G | CC-Request-Type | M | 传输类型 | CC-Request-Number | M | 传输消息的序列号 | User-Name | C | 用户名 | Origin-State-Id | C | 与CTF相关的状态信息 | *Subscription-Id | M | 为了使OCS识别该用户,接入该业务的用户标识 | Subscription-Id-Type | M | 用户标识的类型,例如 0用来表示E.164格式 | Multiple-Services-Indicator | C | CTF是否具备独立处理多种业务的能力 | *Multiple-Services-Credit Control | C | 控制CTF是否具备独立处理多种业务的能力 | *Requested -Service-Unit | C | 从本次业务开始(如果采用中间计费时,则从上一次测算结束点开始)预先申请预留的使用单元总数。 | CC-Time | C | 申请预留的时间。单位:秒。 | CC-Total-Octets | C | 申请预留的上下行总字节数。 | CC-Input-Octets | C | 从终端用户收到的申请预留字节数。 | CC-Output-Octets | C | 发送到终端用户的申请预留字节数。 | CC-Service-Specific-Units | C | 申请预留的特定业务单元数,特定业务指的是Service-Identifier或者是Rating-Group(在Multiple-Services-Credit-Control中时)。 | *Used-Service-Unit | C | 从业务激活开始(如果采用中间计费时,则从上一次测算结束点开始)所测算出的已使用单元总数。 | Reporting-Reason | C | 3GPP扩展,指明为单个或多个类型的配额上报使用情况的原因。 | Tariff-Change-Usage | C | 定义了在一个报告周期中发生费率切换时,所使用的单元是在费率切换前、后,或者跨越不同的费率。如果该AVP被忽略,表明没用费率切换发生。 | CC-Time | C | 已使用的时间。单位:秒。 | CC-Total-Octets | C | 已使用的上下行总字节数。 | CC-Input-Octets | C | 从终端用户收到的已使用字节数。 | CC-Output-Octets | C | 发送到终端用户的已使用字节数。 | CC-Service-Specific-Units | C | 已使用的特定业务单元数,特定业务指的是Service-Identifier或者是Rating-Group(在Multiple-Services-Credit-Control中时)。 | *Service-Identifier | C | 业务识别标识。 | Rating-Group | C | Rating组标识。所有相同Rating类型的业务都是同一个Rating组。 | Credit-Control-Answer | Session-Id | M | Diameter会话ID。 | Result-Code | M | Result-Code数据域包括一个由INAN管理的32位地址空间表示错误。1xxx: Informational2xxx: Success3xxx: Protocol Errors4xxx: Transient Failures5xxx: Permanent Failure | Origin-Host | M | 发出Diameter消息的主机。 | Origin-Realm | M | 发出Diameter消息的主机所在的域。 | Auth-Application-Id | M | 用于重认证/授权的应用唯一标识。 DCCA 4 | CC-Request-Type | M | 请求类型。1:INITIAL_REQUEST2:UPDATE_REQUEST3:TERMINATION_REQUEST | CC-Request-Number | M | 请求流水号,用于唯一标识Diameter会话的一个请求。 | CC-Session-Failover | C | 标明是否支持在一个CC会话进行过程中将CC消息流转向备用服务器。 | *Multiple-Services-Credit-Contro | C | 包含多业务独立信用控制相关的AVP。 | Granted-Service-Unit | C | 包含允许DCC客户端给终端用户提供服务的单元总数,当这些单元被用完后,DCC客户端必须向DCC服务器申请新的配额,或者停止向终端用户提供服务。 | Tariff-Time-Change | C | 费率切换机制对于客户端和服务器是可选的,且不在基于连续时间的业务中使用。 | CC-Time | C | 分配的时间。单位:秒。 | CC-Total-Octets | C | 分配的上下行总字节数。 | CC-Input-Octets | C | 分配的上行字节数。 | CC-Output-Octets | C | 分配的下行字节数。 | CC-Service-Specific-Units | C | 已使用的特定业务单元数。 | *Service-Identifier | C | 业务识别标识,通过Service-Context-ID和Service-Identifier的组合可以唯一标识该请求相关的业务。 | Rating-Group | C | Rating组标识。所有相同Rating类型的业务都是同一个Rating组。 | Validity-Time | C | 该AVP由DCC服务器发送给DCC客户端,包含所分配的业务单元的有效时间,以秒计。 | Result-Code | C | 该AVP显示一个特定的请求是成功完成或者是出现错误。 | Final-Unit-Indication | C | 指示在CCA消息(或者AA应答)中Granted-Service-Unit包含业务的最后单元数。当这些单元用完后,DCC客户端负责执行在Final-Unit-Action中指定的行为。 | Final-Unit-Action | C | 指示DCC客户端当用户帐户余额无法支付业务费用时将采取的行动。 | Redirect-Server | C | 包含重定向服务器。 | Redirect-Address-Type | M | 定义了Redirect-Server-Address中提供的地址类型。 | Redirect-Server-Address | M | 定义了重定向服务器。 | Time-Quota-Threshold | C | 包含以秒计的门限。如果收到Time-Quota-Threshold,DCC客户端在剩余配额低于Time-Quota-Threshold定义的门限值时将向服务器端发起CCR重新授权申请新的配额。在重新授权过程中,DCC客户端将允许用户继续使用业务,直到先前的配额全部用完。 | Volume-Quota-Threshold | C | 包含以字节计的门限值。 | Unit-Quota-Threshold | C | 包含以特定业务单元计的门限值。 | Quota-Holding-Time | C | 配额占用时间,单位为秒。 | Quota-Consumption-Time | C | 配额空耗时间,单位为秒。 | Trigger | C | 触发器。如果存在该参数但是不包含任何Trigger-Type,则禁止任何触发器。 | *Trigger-Type | C | 用于指示单个重授权事件类型。 | Re-Auth-Request | Session-Id | M | Diameter会话ID。 | Origin-Host | M | 发出Diameter消息的主机 | Origin-Realm | M | 发出Diameter消息的主机所在的域 | Destination-Realm | M | 目的主机 | Destination-Host | M | 目的主机所在的域 | Auth-Application-Id | M | 用于重认证/授权的应用唯一标识。DCCA 4 | Re-Auth-Request-Type | M | 0:AUTHORIZE_ONLY,1:AUTHORIZE_AUTHENTICATE. |
|