• 老猿学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博文目录

  • 相关阅读:
    IOS编程教程(八):在你的应用程序添加启动画面
    IOS编程浅蓝教程(二) HelloWrld! 建立你的第一个iPhone应用程序
    IOS编程浅蓝教程:锲子
    第四章 Spring.Net 如何管理您的类___IObjectPostProcessor接口
    第一章 Spring.Net介绍
    第二章 控制反转和依赖注入
    第三章 Spring.Net 环境准备和搭建
    第四章 Spring.Net 如何管理您的类___对象的手动装配
    第四章 Spring.Net 如何管理您的类___对象、对象工厂和应用程序上下文
    第四章 Spring.Net 如何管理您的类___对象的自动装配
  • 原文地址:https://www.cnblogs.com/LaoYuanPython/p/13643457.html
Copyright © 2020-2023  润新知