How 5G NSA core manages Mobile subscribers data package Plan_Part 1
1. Introduction:
Each one of 5G NSA mobile subscriber has his own monthly data package plan, in which he has chosen within his contract with his mobile service provider.
Many mobile operators’ strategies indicates that when the subscriber consumes his monthly data package plan in less than one month, the mobile operator would still give this user the access to 5G data service but with relatively reduced data connection speed.
For example, a subscriber has in his contract a monthly data package of 5 GB, if he consumes the 5 GB in 10 days, then his data connection speed will be downgraded from the Aggregate Maximum Bit Rate (AMBR) to 64 kbps (AMBR is the maximum bit rate that the 5G network can offers, can be for example 1 Gbps).
But do have we ever think, how the 5G NSA core network, manages, assigns, controls this data package plan? And how the network will throttle the user data session connection speed from the AMBR to 64 kbps? We will go in deep dive, how the CHF (Charging Function), PCF (Policy Control Function), SMF (Session Management Function), and UPF (User Plane Function) orchestrate together to achieve seamless 5G data session experience, as this may have a lot of details, we will explain this topic along more than one article.
Let’s first of all give simple definitions:
When a user starts a data session , the subscribed user data package won’t be granted to the user at once, but the CHF will grant ‘data Unit’ called quota based on traffic usage reporting sent from UPF to the SMF , then the SMF will request CHF to grant quota for the ongoing data session , this achieved through Nchf_ConvergedCharging service which provides charging in converged charging scenario by the CHF to the Network Function (NF) service consumer (in our case SMF) , it includes the following functionalities :
2. Nchf_ConvergedCharging_Create procedure:
The SMF acts as a Charging Transfer Function (CTF). The CTF generates charging events toward the Charging Function (CHF), which is responsible for generating Charging Data Records (CDRs)
For effective quotas management, Usage Report Rule (URR) is used to facilitate and manage quota updates, URRs define how usage data (such as data volume, time) is reported and monitored within a PFCP (Packet Forwarding Control Protocol) session between the SMF and the UPF, so when a user’s service quota (e.g., data allowance) needs adjustment (increase or decrease), the SMF can dynamically modify the URRs associated with that data session.
The SMF creates URR within PFCP Session Establishment Request towards UPF, some of important URR Information elements are:
When the SMF needs to setup a session, the CTF (Charging Trigger Function) built into the SMF sends a Nchf_ ConvergedCharging_Create (Initial, Quota Requested) to the Charging Function (CHF) to create resource for charging.
As the Nchf_ConvergedCharging interface is a Service Based Interface (SBI) which carried over HTTP2 protocol, this means the SMF will use Post method to send a HTTP2 message to https://Nchf_ConvergedCharging/v3/chargingdata
The Charging create procedure is described as below:
The CTF component in SMF sends a Nchf_ConvergedCharging_Create request to the CHF which is the first interrogation of unit reservation and/or initial report of service usage, this is to create resource for charging. Requested quota and notification URI (Uniform Resource Identifier) for Nchf_ConvergedCharging_Notify service operation are included in the request body.
Based on the service details, the SMF sends the Nchf_ ConvergedCharging_Create request to the CHF, the CHF takes into account the subscriber’s current balance, credit control policies etc.., and uses this to determine if the Subscriber has the required balances to be granted a service (data service in our case).
The Charging Create Request includes the following important IEs: (Figure 1 illustrates the converged charging create signaling procedure)
领英推荐
When CHF receives Nchf_ ConvergedCharging_Create request, CHF takes into account the subscriber’s current balance, credit control policies, and uses this to determine if the Subscriber has the required balances to be granted a service, by successful operation, CHF returns with HTTP2 "201 Created" response, in which the CHF includes a Location header field and the allocated quota in the body. The Location header field shall contain the URI of the created resource. The NF (CTF) shall use the URI received in the Location header in subsequent requests to the CHF for the same PDU session.
The Charging Data Response (HTTP2 "201 Created") contains: the maximum units to be granted for the session, and the triggers to define when to check in with CHF again, quota Validity Time , quota Holding Time, volume and quota thresholds, by the preceding successful response the service is granted and the SMF can instruct the UPF to start allowing the traffic through.
The IEs of this Response are detailed below :
invocationResult :
it indicates the failure Handling key , the “failurehandling” is to be performed by the SMF when charging service invocation is temporarily prevented. The provided value shall always override any already existing value in SMF. In case of failure, it indicates which action to be performed by the SMF. In case of success, it indicates which action to be performed by the SMF in case subsequent charging service invocation are temporarily prevented. The failureHandling has 3 possible string values: 1) TERMINATE it means the service shall only be granted for as long as there is a connection between the SMF and CHF, 2) CONTINUE it means the SMF should re-send and continue the request to an alternative server in the case of transport temporary failures, provided that a failover procedure is supported in the CHF and the SMF, and that an alternative server is available. Otherwise, the service SHOULD be granted, even if charging data request can't be delivered, 3) RETRY_AND_TERMINATE it means the SMF should re-send the request to an alternative server in the case of transport temporary failures, provided that a failover procedure is supported in the CHF and SMF, and that an alternative server is available. Otherwise, the service should not be granted when the charging data request can't be delivered.
InvocationSequenceNumber :
the sequence number assigned from the SBI consumer (SMF)
InvocationTimeStamp :
Expresses the time the response is sent.
multipleUnitInformation :
it contains the following IEs :
Session Failover:
Indicates either FAILOVER_NOT_SUPPORTED which means the Nchf_ConvergedCharging messages could not be moved to an alternative destination in the case of communication failure, or FAILOVER_SUPPORTED means the Nchf_ ConvergedCharging messages should be moved to an alternative destination in the case of communication failure.
References:
3GPP TS 132.291 V16.6.1
3GPP TS 29.244, 3GPP TS 132.290
Packet Core SME at Nokia Qatar 5G|4G|LTE|EPC|NPC|CKA|
9 个月Very helpful! Thanks for sharing,
Telecom and Power Specialist @ MTN | Integrated Telecommunications, Networking Basics, and Power Systems Design.
10 个月Very helpful!
Business Analyst bei Capgemini mit Expertise in Telekom Industrie und Business-Analyse im B2B
10 个月Very helpful!