☞ ░ 前往老猿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博文目录

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

  1. 老猿学5G:融合计费场景的离线计费会话的Nchf_OfflineOnlyCharging_Release释放操作

    ☞ ░ 前往老猿Python博文目录 ░ 一.Nchf_OfflineOnlyCharging_Release消息交互流程 Nchf_OfflineOnlyCharging_Release是CHF提供 ...

  2. 老猿学5G:融合计费场景的离线计费会话的Nchf_OfflineOnlyCharging_Update 更新操作过程

    ☞ ░ 前往老猿Python博文目录 ░ 一.Nchf_OfflineOnlyCharging_Update消息交互过程 Nchf_OfflineOnlyCharging_Update消息是是5G融合 ...

  3. 老猿学5G:融合计费基于QoS流计费QBC的触发器Triggers

    ☞ ░ 前往老猿Python博文目录 ░ 一.引言 SMF中的功能体CTF在用户上网时达到一定条件就会向CHF上报流量,而CTF什么时候触发流量上报是由CTF中的触发器来控制的.在<老猿学5G: ...

  4. 老猿学5G:融合计费的Nchf和Nchf‘服务化接口消息Nchf_ConvergedCharging_Create、Update、Release和Notify

    ☞ ░ 老猿Python博文目录░ 一.引言 在<老猿学5G扫盲贴:中国移动的5G计费架构解读>介绍了5G融合计费的服务化接口包括: CHF提供给CTF使用的Nchf接口 OCF提供给CH ...

  5. 老猿学5G扫盲贴:中国移动5G融合计费漫游计费架构和路由方案

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt+moviepy音视频剪辑实战 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一. ...

  6. 老猿学5G:3GPP和中国移动5G计费架构概览

    ☞ ░ 前往老猿Python博文目录 ░ 一.引言 老猿学5G这个专栏主要记录笔者因工作原因学习了解5G计费相关知识,文章按时间顺序循序渐进的介绍5G基础概念以及5G计费相关知识,该专栏前期已经完结, ...

  7. 老猿学5G扫盲贴:中国移动网络侧CHF主要功能及计费处理的主要过程

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt+moviepy音视频剪辑实战 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一. ...

  8. 老猿学5G扫盲贴:中国移动的5G计费架构解读

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.引言 在<老猿学5G扫盲贴:3GPP中的 ...

  9. 老猿学5G扫盲贴:3GPP中的5G计费架构

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.计费逻辑架构和信息流 在32240子系列文档内 ...

  10. 老猿学5G扫盲贴:R15/R16中计费架构和计费原则涉及的规范文档

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.概述 在R16的32.240文档对应规范为3G ...

随机推荐

  1. Cuda常用概念及注意点

    线程的索引计算 只需要知并行线程的初始索引,以及如何确定递增的量值,我们希望每个并行线程从不同的索引开始,因此就需要对线程索引和线程块索引进行线性化,每个线程的其实索引按照以下公式来计算: int t ...

  2. 8、Django之模型层第三篇:更多字段与参数

    1 ORM字段 AutoField int自增列,必须填入参数 primary_key=True.当model中如果没有自增列,则自动会创建一个列名为id的列. IntegerField 一个整数类型 ...

  3. OGG投递进程报错无法open文件,无法正常投递

    1.1现象 之前有个客户遇到一个问题,OGG同步数据链路,突然有一天网络出现问题,导致OGG投递进程无法正常投递,无法写入目标端的该文件. 猜测是由于网络丢包等原因导致文件损坏,无法正常open,re ...

  4. JavaScript ES 模块:现代化前端编程必备技能

    自从 ES 模块被添加到规范中后,JavaScript 中的模块就更加简单了.模块按文件分开,异步加载.导出是用 export 关键字定义的:值可以用 import 关键字导入. 虽然导入和导出单个值 ...

  5. 认识Javascript中的作用域和作用域链

    作用域 只要写过java或者c#等语言的同学来说,相信一定能理解作用域的概念,在作用域的范围中,我们可以使用这个作用域的变量,对这个变量进行各种操作.可是,当使用Javascript的时候,相信很多的 ...

  6. 1. 线性DP 1143. 最长公共子序列

    最经典双串: 1143. 最长公共子序列 (LCS)  https://leetcode-cn.com/problems/longest-common-subsequence/submissions/ ...

  7. PyQt5信号与槽关联的两种方式

    目录 通过QtDesigner 手动关联的方式 通过QtDesigner 单击菜单栏切换到信号槽编辑模式 单击控件并拖动鼠标到信号的接收对象上,一般为对话框自己,松开鼠标弹出信号和槽选择框 选中cli ...

  8. Python学习笔记5:模块/包

    1.模块 模块简单理解就是一组功能的集合. 在Python中,一个文件(.py)就是一个模块,文件名即模块名. 模块的好处是大大提高代码的可维护性,其次,代码不必从零开始.当一个模块编写完毕,就可以被 ...

  9. 使用iptables做端口转发

    通过iptables可以做转发 #!/bin/sh IPT="/sbin/iptables" /bin/echo "1" > /proc/sys/net/ ...

  10. 协程实现socket并发编程

    在python中多线程其实是被弱化了,因为由于GIL的原因,同一时间只有一个线程能访问CPU,即使你的CPU是多核的在python中因为多线程被弱化了,所以协程显的重要,能够在一个线程中提高CPU的利 ...