How 5G NSA core manages Mobile subscribers data package Plan_Part 1

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:

  • Charging Function (CHF): Manages billing, subscriptions, and data quotas. It allocates data allowances based on the user plan and ensures fair usage. It's responsible for telling the network when a user is approaching their data limit.
  • Session Management Function (SMF): Acts like a traffic controller, it handles user sessions within the 5G core network. It establishes, modifies, and terminates sessions, manages IP addresses, and ensures seamless mobility.
  • Policy Control Function (PCF): manages policies related to quality of service (QoS), resource allocation, and subscriber access. It ensures fair usage and seamless user experience within the network
  • User Plane Function (UPF): It routes and forwards data packets, reports Traffic Usage , buffers downlink packets, manages QoS, and collaborates with other functions for optimized data delivery.


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 :


  • Create resource at service establishment, and may allocate quotas based on the request from SMF (achieved through Nchf_ConvergedCharging_Create Request)
  • During the service consumption lifecycle, update resource upon receiving the quota usage or service usage report from UPF under a number of circumstances and allocate subsequent quotas based on the request from SMF (achieved through Nchf_ConvergedCharging_Upate Request).
  • Release upon service termination, Unit Count Inactivity Timer expiry or error response (achieved through Nchf_ConvergedCharging_Release Request).
  • Charging information record generation We will discuss in this article Nchf_Converged Charging_Create procedure, for the rest of procedures, we will go through them in next articles.

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:

  • URR ID: It uniquely identifies the URR among all the URRs configured for a given PFCP session.
  • Measurement Method: It indicates the method for measuring the network resources usage, i.e. whether the data volume, duration (i.e. time), combined volume/duration, or event shall be measured.
  • Reporting Triggers: It indicates the trigger(s) for reporting network resources usage to the SMF, e.g. periodic reporting or reporting an event upon reaching a threshold, or envelope closure, or when an SMF instructs an UPF to report the reception of the End Marker packet from the old I-UPF during a Service Request procedure.
  • Measurement Period: This IE shall be reported if periodic reporting is required. When present, it shall indicate the period for generating and reporting usage reports.
  • Volume Threshold: It indicates the quota traffic volume value after which the UPF shall report network resources usage to the SMF for this URR.
  • Volume Quota: This IE shall be present if volume-based measurement is used and the SMF needs to provision a Volume Quota in the UPF, it indicates the Volume Quota value.
  • Quota Holding Time: This IE shall be present, for a time, volume or event-based measurement, if reporting is required and packets are no longer permitted to pass on when no packets are received during a given inactivity period. When present, it shall contain the duration of the inactivity period
  • Quota Validity Time: This IE shall be present in the URR if reporting is required when the Quota Validity time for a given Quota is over.
  • Nchf_ ConvergedCharging Service API: This API allows the SMF to consume the converged charging service from the CHF.

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)


  • NotifyUri identifies which URI should receive subsequent notifications from the CHF
  • MultipleUnitUsage defines the service-specific parameters for the quota being requested, it defines the specifics of the service in which a quota for. It contains a mandatory ratingGroup ID specifying which rating group the CHF should use, and requestedUnit which can define either the amount of service units being requested or to tell the CHF units are needed. requestedUnit contains: totalVolume ,downlinkVolume ,uplinkVolume , example ( 100 MB ,50 MB .50 MB).
  • InvocationSequenceNumber : the sequence number assigned from the SBI consumer (SMF)
  • InvocationTimeStamp : expresses the time the request is sent.
  • SubscriberIdentifier (SUPI) is included to identify the subscriber so the CHF knows which subscriber to charge.
  • pDUSessionChargingInformation this IE includes the following information :

  1. Charging ID in which the subsequent Charging Update requests will use as a reference.
  2. pDUSessionInformation contains chargingCharacteristicsSelectMode ,pduSessionID , networkSlicingInfo , pduType (IPv4 ,IPv6 or both) ,serving Network Function info (NF IP address ,NF name ,mnc ,mcc) , DNN ID ,start time ,PDU Address (the used IPv4/IPv6 addresses) ,Charging Characteristics , RAT type , authorized QoS info (5qi ID ,ARP info) , subscribed QoS info (5qi ID ,ARP info) ,authorized Session AMBR (UL/DL) ,subscribed session AMBR (UL/DL) ,Home PLMN ID.
  3. User information (MSISDN, IMEISV)
  4. User location information: contains PLMN ID, Cell ID, TAI (Tracking Area Info)
  5. UE time zone

  • nfConsumerIdentification identifies the SMF generating the request (The SBI Consumer), it contains the following: NF FQDN (Fully Qualified Domain Name) , NF name , NF PLMN ID (mnc ,mcc)


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 :

  • granted Unit: includes the granted total volume
  • quota Holding time: already explained previously.
  • rating Group ID
  • result Code: either response is successful or failed.
  • triggers : contains trigger category ( either IMMEDIATE_REPORT means chargeable events for which, when occurring, the charging data generated by the NF Consumer triggers a Charging Event towards the CHF or DEFERRED_REPORT means chargeable events for which, when occurring, the charging data generated by the NF Consumer, does not trigger a Charging Event towards the CHF) and trigger type (can be one of many possible strings like QUOTA_EXHAUSTED , QOS_CHANGE , VOLUME_LIMIT , PLMN_CHANGE , RAT_CHANGE , SESSION_AMBR_CHANGE , QUOTA_THRESHOLD , VALIDITY_TIME etc..).
  • Quota Validity Time: already explained previously.
  • Volume quota threshold: already explained previously.

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

Figure 1





Sameer Jachpure

Packet Core SME at Nokia Qatar 5G|4G|LTE|EPC|NPC|CKA|

9 个月

Very helpful! Thanks for sharing,

回复
MOHAMEDELMUSTAFA FUDLALLAH

Telecom and Power Specialist @ MTN | Integrated Telecommunications, Networking Basics, and Power Systems Design.

10 个月

Very helpful!

Badr Saada

Business Analyst bei Capgemini mit Expertise in Telekom Industrie und Business-Analyse im B2B

10 个月

Very helpful!

要查看或添加评论,请登录

My-Communication的更多文章

社区洞察

其他会员也浏览了