老猿学5G:融合计费场景的Nchf_ConvergedCharging_Create、Update和Release融合计费消息交互过程

☞ ░ 前往老猿Python博文目录

一、Nchf_ConvergedCharging_Create交互过程

Nchf_ConvergedCharging_Create 服务为CTF向CHF请求提供配额或首次报告服务使用量情况时使用,此时对应会话尚无计费数据资源。
在这里插入图片描述
上述过程为:

  1. CTF调用CHF的Nchf_ConvergedCharging_Create服务化接口请求创建计费资源,携带的URI按照“SMF的NFInstanceId+SMF为该会话分配的ChargingID+请求消息时间戳”构建“ChargingDataRef”标识计费数据,另外Nchf_ConvergedCharging_Notify通知服务的URI信息包含在请求体中;
  2. CHF收到消息后,建立与“ChargingDataRef”对应的资源开始计费,并返回“201 created”消息,这个消息的应答报文中,包含了分配的配额和位置头域(Location header field)。位置头字段包含了创建的计费资源的URI,CTF在后续给CHF的同一PDU会话请求中必须带该URI信息;
  3. 在失败或重定向情况下,需要返回对应状态的HTTP响应码。对于状态码为4XX或5XX的响应,消息体必须包含一个带‘clause’属性的ProblemDetails结构,‘clause’属性返回具体的应用错误代码。可取值范围包括:

在这里插入图片描述

二、Nchf_ConvergedCharging_Update交互过程

Nchf_ConvergedCharging_Update服务为CTF向CHF更新计费数据时调用,此时对应计费会话和计费数据资源已经创建。其交互过程如图:
在这里插入图片描述
这个过程可能发生在费率组服务单元耗尽、或授权服务有效时长到达、或发生可能影响当前服务的计费事件(如基站切换)、或收到CHF的Nchf_ConvergedCharging_Notify终止会话通知消息时。对应过程为:

  1. CTF向CHF发送Nchf_ConvergedCharging_Update消息,表示需要更新的计费数据标识的“ChargingDataRef”包含在请求消息体的URI中,同时请求的服务单元和已经使用的服务单元包含在请求消息体中;
  2. CHF操作成功时,返回“200 ok”响应消息,同时消息体中包含授权的业务单元;
  3. 在失败或重定向情况下,需要返回对应状态的HTTP响应码。对于状态码为4XX或5XX的响应,消息体必须包含一个带‘clause’属性的ProblemDetails结构,‘clause’属性返回具体的应用错误代码。具体取值请见Nchf_ConvergedCharging_Create消息部分的表格。

三、Nchf_ConvergedCharging_Release交互过程

Nchf_ConvergedCharging_Release服务为CTF准备终止计费会话时调用,此时对应计费会话和计费数据资源已经创建。其交互过程如图:
在这里插入图片描述
上述过程可能发生单位配额用完、收到CHF的Nchf_ConvergedCharging_Notify终止会话通知或使用者终止业务时。对应过程为:

  1. CTF向CHF发送Nchf_ConvergedCharging_Release消息,表示需要更新和终止的计费数据标识的“ChargingDataRef”包含在请求消息体的URI中,同时最终使用的服务单元包含在请求消息体中;
  2. CHF操作成功时,返回“204 No Content”响应消息;
  3. 在失败或重定向情况下,需要返回对应状态的HTTP响应码。对于状态码为4XX或5XX的响应,消息体必须包含一个带‘clause’属性的ProblemDetails结构,‘clause’属性返回具体的应用错误代码。具体取值请见Nchf_ConvergedCharging_Create消息部分的表格。

跟老猿学Python、学5G!

☞ ░ 前往老猿Python博文目录

原文地址:https://www.cnblogs.com/LaoYuanPython/p/13643457.html