☞ ░ 前往老猿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. js练习题之查找数组中的位子

    输出描述: 如果数组中存在 item,则返回元素在数组中的位置,否则返回 -1 输入例子: indexOf([ 1, 2, 3, 4 ], 3) 输出例子: 2 function indexOf(ar ...

  2. Pandas_VBA_数据分类比较

    Python与VBA的比较2 需求: input文件中有两列数据,第一列为Name,第二列为Score,Name列里有重复的值,要求按照name的唯一值统计 score,输出到output文件按中. ...

  3. 7. 基于MLlib的机器学习

    *以下内容由<Spark快速大数据分析>整理所得. 读书笔记的第七部分是讲的是如何使用Spark中提供机器学习函数的MLlib库,在集群中并行运行机器学习算法. MLlib是Spark中提 ...

  4. http代理阅读2

    向上游服务器发送请求处理 static void ngx_http_upstream_send_request(ngx_http_request_t *r, ngx_http_upstream_t * ...

  5. http 结构初始化

    简要而说:accept 到连接后 根据fd 构建一个connection  由于是 http : 重新封装为http-connection:同时设置fd的读回调: 回调函数根据是否是https/htt ...

  6. OpenCV之图像归一化(normalize)

    什么图像归一化 通俗地讲就是将矩阵的值通过某种方式变到某一个区间内 图像归一化的作用 目前能理解的就是归一化到某个区间便于处理,希望高人可以指点 opencv文档中的介绍 C++: void norm ...

  7. Docker安装Oracle11g

    为什么使用docker安装oracle,因为自己搭建配置的话可能时间太久太繁琐等等原因,也因为docker实在太方便了 本文主要是使用docker-compose安装Oracle 11g,因为使用do ...

  8. git , repo out off memory

    解决方法,建立swap # dd if=/dev/zero of=/root/myswapfile bs=1M count=1024 1024+0 records in 1024+0 records ...

  9. 【java从入门到精通】day08-java流程控制-用户交互Scanner--顺序结构--选择结构

    1.java流程控制 Scanner对象: Java提供了一个工具类,可以获取用户的输入 java.until.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入 基本语 ...

  10. Java 中常见的细粒度锁实现

    上篇文章大致说了下 ReentrantLock 类的使用,对 ReentrantLock 类有了初步的认识之后让我们一起来看下基于 ReentrantLock 的几种细粒度锁实现. 这里我们还是接着用 ...