Policy and User Plane Management

Feature Summary and Revision History

Summary Data

Table 1. Summary Data
Applicable Product(s) or Functional Area SMF
Applicable Platform(s) SMI
Feature Default Setting Disabled – Configuration Required
Related Changes in this Release Not Applicable
Related Documentation Not Applicable

Revision History

Table 2. Revision History
Revision Details Release
First introduced. Pre-2020.02.0

Feature Description

The SMF is one of the control plane NFs that provide the Session Management service in the 5G core network. The SMF manages the PDU session lifecycle through the following session management procedures:

  • PDU Session Establishment

  • PDU Session Modification

  • PDU Session Release

This chapter describes the policy and user plane management features.

  • Policy Management—Policy Control Function (PCF) or the local configuration controls the policies managed on SMF. The PCF sends Policy and Charging Control (PCC) rules along with the applicable QoS and charging information to the SMF. The SMF uses this information to define QoS flows and apply QoS enforcement (via User Plane Function (UPF) and charging towards Charging Function (CHF). The PCC rules can be configured locally as well. The locally configured policy rules are labelled as static or predefined rules.

  • User Plane Management—The user plane management on SMF includes selection of UPF and maintaining per session and node level user plane data. The SMF performs Path management of the UPF nodes. At a per session level, SMF publishes the Packet Detection Rules (PDRs), QoS Enforcement Rules (QERs), Forwarding Action Rules (FARs), and Usage Reporting Rules (URRs) to the UPF. Then, the SMF enforces the policy rules received from PCF or configured locally.

QoS Management on SMF

Feature Description

The primary functionality of the SMF is to manage the flow-based QoS model. SMF interacts with the Unified Data Management (UDM) and Policy Control Function (PCF) to get the subscribed and authorized QoS parameters for GBR and non-GBR flows and passes on the relevant information to UE (NAS), gNB (NGAP), and UPF (PFCP) so that all nodes on the network provide the desired QoS to the PDU session.

Use Cases

This section describes the various use case scenarios that can lead to creation, modification, and deletion of QoS-Profile and the corresponding actions taken.

QoS-Profile associated to the PDU Context will be modified in the following scenarios:

  • Response from PCF for SMPolicyContextData

  • Update Notify from PCF

  • Update response from PCF on behalf of Update request sent initially from SMF

  • Update request from SMF will be triggered in the following cases:

    • UE triggered modify request

    • AN triggered modify request

    • UDM triggered modify request

Setup Creation
Figure 1. Setup Creation

Based on the content received in SMPolicyDecision, SMF pushes the following towards various interfaces.

  • UPF:

    • Set of PDR derived from PCC rules

    • Set of QER derived from QoS flows which in turn are derived from QosDescription/QosCharacteristics from PCF

    • One extra QER that will be shared will be derived from SessRules

  • N1:

    • Set of QoS rules derived from QosFlows

    • Each QosRule has its associated packet filter

  • N2:

    • Set of QoS Flow information

UE/AN-initiated Modify
Figure 2. UE/AN-initiated Modify
UDM/PCF-initiated Modify
Figure 3. UDM/PCF-initiated Modify
  • N1:

    • PDU Session Modification command will be triggered from SMF. It can change Session-AMBR and QoS rules.

    • PDU Session Modification Request will be triggered from UE. It can change the QoS rules and maximum number of support-ed packet filters.

      In either case, the QoS rule change can happen from the following:

      • Packet filter add/delete/replace

      • Rule Precedence of QoS Rule

      • QoS Parameter – 5QI/MBR/GBR

  • N2:

    • PDU Session Resource Modify Request will be triggered from SMF. It can change the existing QoS flow that is installed or delete the QoS flow already installed. If the Modify request is received, the parameters - ARP, GBR/MBR, Priority level, and so on, can change.

    • PDU Session Resource Notify will be triggered from AN. This happens when certain flow is to be released, not fulfilled any-more and fulfilled again.

Subscribed QoS

The UDM NF maintains the subscribed QoS for the UE in the Session Management Subscription Data. During the PDU setup procedure, the SMF posts an HTTP2 GET request (see 3GPP TS 29.503) for a resource URI "/{supi}/sm-data" to fetch the Session Management Subscription Data. The subscription data has a set of DNN configurations, one for each DNN which the subscriber is allowed to access. Each DNN configuration consists of the following parameters:

  • sessionAMBR: The maximum aggregated uplink and downlink bit rates to be shared across all non-GBR QoS flows in each PDU session.

  • 5gQosProfile: The default 5G QoS Indicator (5QI) and default ARP values are provided to the SMF in the Session Management Subscription Data in this attribute of the DNN configuration.

The SMF saves the subscribed QoS parameters and sends this across to the PCF during the SM Policy Association Establishment procedure.

QoS Negotiation

The SMF negotiates the QoS with the PCF by initiating a Policy Association Establishment procedure as defined in 3GPP TS 23.502, Section 4.16.4. The sessionAMBR and 5gQosProfile parameters that are received from subscription are included in the Npcf_SMPolicyControl_Create request to PCF. The response from PCF may contain the following:

  • Session Rules: A session rule consists of policy information elements that are associated with the PDU session. The QoS related information is Authorized session AMBR and Authorized default QoS.

    • Policy Charging and Control (PCC) Rules: The PCC rule includes the FlowDescription, FlowDirection, and RefQosData parameters among other information. There could be one or more PCC rules in the response from PCF.

      • FlowDescription: This parameter contains packet filters for IP flows. For IP PDU Session Type, the Packet Filter Set supports packet filtering based on at least any combination of:

        - Source / Destination IP address or IPv6 prefix

        - Source / Destination port number

        - Protocol ID of the protocol above IP/Next header type

        - Type of Service (TOS) (IPv4) / Traffic class (IPv6) and mask

        - Flow Label (IPv6)

        - Security parameter index

      • FlowDirection: This parameter indicates the direction of data traffic on which the rule has to be applied. This could be UPLINK, DOWNLINK, or BIDIRECTIONAL.

      • RefQosData: This parameter refers to the QoS description to be applied to this PCC Rule. This matches the QosId of at least one of the QoS Description entries in the response from PCF.

    • QoS Characteristics: The QoS characteristics include parameters such as:

      • Resource Type (GBR, Delay critical GBR, or non-GBR)

      • Priority Level

      • Packet Delay Budget

      • Packet Error Rate

      • Averaging Window

      • Maximum Data Burst Volume (for the Delay-critical GBR resource type only)

        This attribute in the response from PCF is meant to be used only for non-standard 5QI values. For standard 5QI values, the characteristics are already defined in 3GPP TS 23.501, Section 5.7.4.

    • QoS Description: The QoS Description parameter consists of the following:

      • 5QI: Standard or non-standard from the QoS Characteristics attribute

      • Uplink and Downlink GBR

      • Uplink and Downlink MBR

      • Maximum Packet Loss Rate

      • QosId – Referenced in PCC rules

      • Default QoS Indication

        There could be more than one QoS Description attribute in the response from PCF.

QoS Flow Management

The information, that is received from PCF in the Npcf_SMPolicyControl_Create response, is used to create and update QoS Flows in the SMF. Each QoS flow has a unique QoS Flow ID (QFI) and one or more PCC rules map to a single QoS flow.

The following figure illustrates how to manage the QoS information at the SMF.

Figure 4. QoS Information Management at SMF

Each QoS Flow in SMF is a combination of three sets of information:

  • QoS profile: A QoS profile stores all QoS attributes for a particular QoS Flow.

    • Some QoS parameters known as the QoS flow binding parameters make a unique combination for one QoS Flow of one PDU Session. This means that, for a PDU session, each unique combination of these parameters represents a separate QoS Flow. These parameters are – 5QI, ARP, Priority, Maximum Data Burst Volume, Average Window and QNC.

    • If the 5QI for the QoS profile of a QoS Flow is non-standard, some additional QoS characteristics such as Resource Type, Packet Delay Budget, Packet Error rate, and Averaging Window are also saved in the QoS profile.

    • The QoS profile also maintains multiple QoS Descriptions, each with a unique QoSId for a specific PDU session. Each QoS Description contains the uplink and downlink GBR, uplink and downlink MBR, maximum packet loss rate and default QoS indication.

  • QoS Rules: A QoS rule is a collection of packet filters that associates with a particular QoS Description in the QoS profile of the QoS flow. The packet filters directly map to the flow descriptions received in the PCC rules in the Npcf_SMPolicyControl_Create response from PCF. The QoS rules have a reference to the QoSId of the QoS Descriptions that the rules associate with.

  • PDRs: Each QoS rule maps to two Packet Detection Rules (PDR) to be sent to the UPF. One PDR is for uplink direction and the other PDR is for downlink direction. The Service Data Flow (SDF) filters in the Packet Detection Information (PDI) attribute within the PDRs map the packet filters of the QoS rule. Each PDR then maps to a Forwarding Action Rule (FAR), which determines the forwarding action for the packets matching the SDF filters. Each PDR is also associated to a QoS Enforcement Rule (QER) which carries the QoS information and it maps to the QoS description associated with the QoS rule.

QoS Communication on 3GPP Interfaces

The negotiated QoS mainly needs to be communicated to the UE (N1 interface using NAS protocol), gNB (N2 interface using NGAP protocol), and UPF (N4 interface using PFCP protocol).

  • N1 Interface: On the N1 interface, the session management messages are exchanged between UE and SMF through AMF. The NAS messages are encoded into an N1 container and sent to SMF or received from SMF.

    • All the negotiated/authorized QoS related information that needs to be sent out to the UE are found in the Authorized QoS rules and Session-AMBR attributes of the PDU SESSION ESTABLISHMENT ACCEPT message in an N1 container, during the PDU session establishment (see 3GPP TS 24.501, Section 8.3.2).

    • The PDU SESSION MODIFICATION REQUEST message from UE contains the Requested QoS Rules during the UE initiated QoS modification.

    • The Authorized QoS rules and Session-AMBR attributes are also present in the PDU SESSION MODIFICATION COMMAND message sent from SMF to UE during the PCF/SMF initiated QoS modification.

    • The format of the QoS Rule NAS attribute is defined in 3GPP TS 24.501, Section 9.10.4.9. This attribute mainly consists of the packet filter list, QFI, and QoS parameters on a per QoS rule basis. This information is available in the QoS rule within the QoS flow.

  • N2 Interface: On the N2 interface, SMF sends an N2 container to the gNB through AMF. The N2 container is ASN.1 encoded data and consists of specific information elements of NGAP messages. All the QoS related information to gNB is encoded and sent/received in N2 containers to/from SMF. The NGAP IEs and the corresponding NGAP messages that will finally carry the IE from AMF to gNB are listed in 3GPP TS 29.502, Section 6.1.6.4.3.

    • During the PDU session setup, the SMF sends N1N2MessageTransfer to AMF with the N2 container in the PDU Session Re-source Setup Request Transfer IE. This IE contains PDU Session Aggregate Maximum Bit Rate and QoS Flow Setup Request List. The QoS Flow Setup Request List contains QoS Flow Level QoS Parameters (GBR flow information, 5QI, and so on). These are defined in 3GPP TS 38.413, Section 9.3.1.

    • Similar information (QoS Flow Level QoS Parameters) is also sent by SMF in the PDU Session Resource Modify Request Transfer IE in an N2 container during the PCF/SMF initiated QoS Modification procedure.

      The information required to create the N2 container in SMF is present in the QoS profile of a QoS flow as described in the previous section.

  • N4 Interface: On the N4 interface, the SMF sends the QoS information in the form of Packet Detection Rule (PDR), Forwarding Action Rule (FAR), and QoS Enforcement Rule (QER).

    • The PDR contains the SDF filters in the PDI IE. These SDF filters are the packet filters set in the QoS Rule of a QoS flow.

    • The QER contains the QoS parameters as per the QoS Description to which the QoS rule is associated.

      The contents of PDR, FAR, and QER are defined in 3GPP TS 29.244.

QoS Modification

QoS modification may result in one of the following scenarios:

  • QoS Flow Addition: Whenever a negotiated QoS is received from PCF either as part of UE initiated modification or PCF initiated QoS modification, the SMF extracts the received QoS Flow Binding Parameters (5QI, ARP, Priority, Max Data Burst Volume, QNC). If there is no QoS Flow with the received combination of the flow binding parameters, SMF adds a new QoS flow and the received PCC rules will be mapped against the new QoS flow. As a result, the new QoS flow rules/QoS descriptions/PDR/QER are created and the corresponding interfaces (N1, N2, and N4) are updated by creating new flows.

  • QoS Flow Modification: Whenever a negotiated QoS is received from PCF either as part of UE initiated modification or PCF initiated QoS modification, the SMF extracts the received QoS Flow Binding Parameters (5QI, ARP, Priority, Maximum Data Burst Volume, QNC). If there exists a QoS flow with the same combination of binding parameters, the QoS profile, QoS rules, PDR, and QER for that QoS flow are updated on N1, N2 and N4 interfaces.

Handling of Authorized QoS for Default Bearer

Feature Description

The CHF server interacts with PCF to report the user quota exhaustion. Then, the PCF initiates a policy update request towards SMF to modify the authorized default Quality of Service (QoS) of a session rule. The QoS can be QoS Class Identifier (QCI) or 5G QoS Indicator (5QI), session Aggregate Maximum Bit Rate (AMBR), or both QCI/5QI and session AMBR.

Whenever the quota of user exhausts, this QoS modification results in downgrading:

  • the DSCP marking of the data packets for the session

  • the AMBR of the session

When you replenish the quota, the PCF reverts to the previous authorized QoS for the default bearer.

Be aware of the following changes whenever the QCI/5QI changes for the default flow or bearer.

  • The QCI/5QI information is updated in the Event Data Record (EDR) generated for that session. Then, the SMF sends the updated bearer level information over Packet Forwarding Control Protocol (PFCP) message to support the EDR functionality.

  • DSCP marking for the data packets is updated for all Packet Detection Rules (PDRs) pertaining to the default bearer or flow.

  • Any QCI information sent in LI packets are updated.

  • Rulebase change and Ruledef activation or deactivation work as expected along with 5QI change and session AMBR change.

  • Any modified QoS is sent in Charging Data Request (Update) message to the CHF. Also, change in QCI/5QI in the authorized QoS is treated as a QoS change trigger for charging and CDR-U is sent.

How it Works

This section provides detailed changes in SMF to support change of QCI/5QI value in authorized QoS once the PDU session is established.

Default-Bearer QoS Handling for 4G and WiFi Sessions

The following procedure explains how the SMF handles the modification of authorized default QoS in 4G and WiFi sessions.

  1. The SMF receives SmPolicyUpdateNotify from PCF with changed QCI/5QI in AuthorizedDefaultQoS and/or a different session AMBR value.

  2. The SMF initiates Update Bearer Request towards S-GW for the default bearer.

    1. In the Update Bearer Request, Bearer Context IE is included for the default bearer and the corresponding Bearer QoS is updated with the changed QCI value.

    2. For the 4G session, the extended Protocol Configuration Options (ePCO), if supported, is included in the Update Bearer Request message. The ePCO includes 5G Authorized QoS Flow Information with updated QCI value for the default flow when the interworking (IWF) is enabled for the session. Otherwise, PCO IE is sent with the same details.

    3. For the WiFi session, Additional Protocol Configuration Options (APCO) is included in the Update Bearer Request message. The APCO contains 5G Authorized QoS Flow Information with updated QCI value for the default flow.

  3. The SMF accepts the Update Bearer Response from S-GW.

  4. On the N4 interface, the following changes are done:

    1. New instance of the BearerLvlInfo IE is included with the changed QCI value for default bearer tunnel.

    2. Update PDR is sent for all PDRs which are a part of default flow to reflect the association with the new BearerLvlInfo IE.

    3. FAR associated with all PDRs in the default flow is updated with the new DSCP marking value if the 5QI-DSCP mapping configuration has a different value for the changed 5QI.

Default-Bearer QoS Handling for 5G Sessions

The following procedure explains how the SMF handles the modification of authorized QoS for the default bearer in a 5G session.

  1. The SMF receives SmPolicyUpdateNotify from PCF with changed 5QI in AuthorizedDefaultQoS and/or a different session AMBR value.

  2. The SMF initiates N1N2MessageTransfer procedure with AMF to send N1 PDU Session Modification Command and N2 PDU Session Resource Modify Request Transfer IE in this message.

    1. In the N1 message, the default QoS flow is modified in Authorized QoS Flow Description IE to update the 5QI value.

    2. In the N1 message, the Mapped EPS Bearer Context IE is modified to update the QCI of the default bearer.

    3. In the N2 message, the QoS flow level QoS parameter for the default flow is modified to update the 5QI value.

  3. The SMF accepts the SMContextUpdate Request from AMF with the responses for the N1 and N2 requests sent in N1N2Message Transfer message.

  4. On the N4 interface, the following changes are done:

    1. New instance of the BearerLvlInfo IE is included with the changed 5QI to QFI mapping.

    2. Update PDR is sent for all PDRs which are a part of default flow to reflect the association with the new BearerLvlInfo IE.

    3. Forwarding Action Rule (FAR) associated with all PDRs in the default flow is updated with the new DSCP marking value if the 5QI-DSCP mapping configuration has a different value for the changed 5QI.

Default-Bearer QoS Handling During WiFi Handovers

The following procedure explains how the SMF handles the modification of authorized default QoS during WiFi handover and other handovers.

  1. The SMF sends SMPolicy Update Request to the PCF at the end of each handover procedure. For example, when the PCF arms different policy triggers, the SMF sends SMPolicy Update Request to the PCF. The response from PCF contains the changed QCI in Session Rule (Authorized Default QoS). The SMF initiates the modification procedure towards RAN/UE, and communicates the same information on N1, N2, N4, and S5 interfaces.

  2. For all handovers (excluding WiFi-NR/EPS and NR/EPS-WiFi), the SMF sends SMPolicy Update Request to the PCF indicating the RAT type change. The response from PCF contains the changed QCI in Session Rule (Authorized Default QoS). The SMF initiates the modification procedure towards RAN/UE, and communicates the same information on N1, N2, N4, and S5 interfaces.

The handovers involving WiFi are different from the other handovers. The SMF triggers SMPolicy Update Request towards PCF during the handover and not after the handover. For the handovers involving WiFi, the target RAN installs the flows and bearers as new instead of an update. The SMF sends the latest QCI received in the response from PCF while installing the default flow and bearer during the handover.

Default-Bearer QoS Modification During Failure Handling

For a 5G session, the modification of QCI/5QI typically does not fail on the N1 or N2 interface as the default flow is a non-GBR flow and no resource reservation is required for the QCI/5QI modification. However, if the modification procedure fails due to no N1 or N2 responses from AMF, the modification is rolled back and the session continues with the old QCI/5QI and session AMBR values. If the N2 rejects the flow modification, the session is deleted as it cannot remain without the default flow.

For a 4G session, the Update Bearer response does not fail for default bearer modification. However, if the Update bearer Response is missing or if it fails, the modification is rolled back and the session continues with the old 5QI and session AMBR values.

For both 4G and 5G sessions, if the N4 update fails or the response is not received, then the SMF takes the action according to the UPF failure handling template configuration. For 4G and WiFi sessions, if there is a failure on the N4 interface, another Update Bearer Request is sent with the old 5QI and AMBR values to S-GW and ePDG respectively.

The failure handling mechanism remains the same for the PCF-initiated modification procedure.

Limitations

The Authorized QoS Handling for Default Bearer feature has the following limitations:

  • The SMF supports only the standard QCI/5QI change in authorized default QoS IE of the Session Rules. It does not support any change to the Guaranteed Bit Rate (GBR) QCI/5QI of authorized QoS. The SMF rejects any request for modification of QCI/5QI of a QoS data associated with Policy and Charging Control (PCC) rule.

  • The SMF does not support QCI/5QI change for dynamic rules.

  • The SMF supports QCI/5QI change only for predefined and static rules that are associated to the default bearer. If a predefined rule is associated with a non-default flow or bearer, the SMF does not support QCI/5QI change for that rule.

  • The combination of QoS flow binding parameters, such as 5QI, ARP, and so on, for the authorized QoS never remains the same as that of a dedicated bearer or flow. That is, change in QCI/5QI should not result in the default flow having the binding parameters similar to another flow.

  • The SMF does not support changes to any other binding parameter including Allocation and Retention Priority (ARP) except the QCI/5QI (with or without session AMBR) in the Session Rules.

  • When the QCI/5QI changes, the existing default bearer flow is modified towards N1, N2, and N4 interfaces. In this case, the SMF does not delete the existing flow instead creates a new flow.

Authorized QoS Handling OAM Support

This section describes operations, administration, and maintenance information for this feature.

Statistics Support

The SMF maintains the label "SESSRULE_CHANGE" to indicate any changes to the AMBR value, QCI/5QI value, or a combination of both AMBR and QCI/5QI values.

SMF Affinity

The SMF Affinity support is required in the CN architecture to facilitate stateless architecture.

When a session management procedure is ongoing for a subscriber session in some SMF service instance and another event from the network comes for the same subscriber in the meantime. Then, the SMF protocol layer micro-services such as "smf-rest-ep" and "smf-protocol" direct these events towards the concerned SMF service instance. This ensures that all network events pertaining to an ongoing procedure of a subscriber session are handled by the same SMF service instance until the completion of the procedure.

Upon completion of the procedure, the subscriber session information is updated in the database and the session affinity towards the SMF service instance is removed. Subsequent network events can be handled by any of the available SMF service instances, by fetching the relevant subscriber session information from the database.

Dynamic Configuration Change Support

Feature Description

The Dynamic Configuration Change Support feature allows new sessions, or subsequent messages of existing sessions, with the updated configuration values.

This feature supports the following SMF configurations:

  • SMF Profile

  • SMF Service Profile

SMF provides flexibility to support Maintenance Operational Procedure for certain SMF Profile/Service-Profile configuration parameters. This Maintenance Operational Procedure operation helps to keep the SMF system in maintenance mode so that it doesn't impact the system by rejecting the new sessions. Also, Maintenance Operational Procedure provides flexibility to operators to clear subscribers manually by executing clear subscriber all command.

SMF updates configuration parameters change to NRF by sending "NFUPdate" using PUT Method.

How it Works

This section describes the Maintenance Operational Procedure and how dynamic change in configuration works for the supported SMF configurations.

Maintenance Operational Procedure

  1. Shutdown (offline) SMF by executing mode offline CLI command under SMF Profile.

    SMF sends NFUpdate with Method PUT and NFStatus as “UNDISCOVERABLE”

  2. Clean up the sessions using clear subscriber sess all CLI command.

  3. Change the configurations and remove mode offline CLI command.

    SMF sends NFUpdate with Method PUT and NFStatus as “Registered”.

SMF Profile and SMF-Service Profile

The following table describes how dynamic change in configuration works for the supported SMF configurations.

Configuration parameters Dynamic Change Impact on Existing Sessions NRF Update Maintenance Operational Procedure

locality

Allowed

Sessions will start using the newer values.

Not Required

Allowed

node-id

Not Applicable

No Impact

Not Applicable

Not Applicable

fqdn

Allowed

SMF always fetches the latest FQDN value for sessions while interacting with UDM.

Allowed

Allowed

allowed-nssai

Allowed

Sessions will start using the newer values.

Allowed

Allowed

plmn-id

Allowed

Sessions will start using the newer values.

Allowed

Allowed

service name, schema, service-id, version

Allowed

Sessions will start using the newer values.

Allowed

Allowed

http-endpoint

Allowed

Sessions will start using the newer values.

Allowed

Allowed

icmpv6-profile

Allowed

Sessions will start using the newer values.

Not Required

Not Required

compliance-profile

Allowed

SMF might perform parse-failure because of incompatibility issues between SMF and other NFs for various SBI interfaces.

Not Required

Not Required

access-profile

Allowed

Sessions will start using the newer values.

Not Required

Not Required

subscriber-policy

Allowed

Sessions will start using the newer values.

Not Required

Not Required

Configuring Dynamic Configuration Change Support

Use the following configuration to enable offline mode of operation under SMF profile.

configure 
   profile smf profile_name 
      mode offline 
      end 

NOTES:

  • mode : Specifies the mode of operation.

  • offline : Specifies the mode is offline and new sessions are rejected.

Verifying Dynamic Configuration Change Support Configuration

Use the show running-config profile smf CLI command to verify if the feature is enabled. When enabled, the following field will be displayed as part of the show command output:

  • mode offline

Dynamic PCC Rules Enforcement

Feature Description

SMF uses either the Policy and Charging Control (PCC) rules from Policy Control Function (PCF) or the locally configured policy rules to control the policy management. The PCF sends the PCC rules along with the applicable QoS and charging information to the SMF. The SMF uses this information to define the QoS flows and apply the QoS enforcement (via UPF) and charging towards CHF.

The PCC rules can be configured locally as well. The locally configured policy rules are labelled as static or predefined rules.

The following sections provide information on the features that are implemented for the dynamic policy management.

Supported Features Negotiation

The SMF and the PCF negotiate the supported features during Policy Context Creation and during PDU session establishment. Based on the negotiated features, the PCF provides the relevant information.

The following table lists the features that can be negotiated as defined in the 3GPP specification 29.512.

Table 3. Supported Negotiated Features
Feature Number Feature Name Description
1 TSC This feature indicates support for traffic steering control in the (S)Gi-LAN or routing of the user traffic to a local Data Network identified by the DNAI per Application Function (AF) request. If the SMF supports this feature, the PCF performs the functions as described in 3GPP specification 29.512, subclause 4.2.6.2.20.
2 ResShare This feature indicates the support of service data flows that share resources. If the SMF supports this feature, the PCF performs the functions as described in 3GPP specification 29.512, subclause 4.2.7.4.
4 ADC This feature indicates the support of application detection and control.
6 NetLoc This feature indicates the support of the Access Network Information Reporting for 5GS.
7 RAN-NAS-Cause This feature indicates the support for the detailed release cause code information from the access network.

The SMF sends supportedFeatures attribute in the Npcf_SMPolicyControl_Create message, and further includes a bitmap representing the supported features. The PCF also sends the supportedFeatures attribute in the response message. The response should either match or be a subset of the request.

The string contains a bitmask indicating supported features in hexadecimal representation. Each character in the string takes a value of "0" to "9" or "A" to "F" and represents the support of the features as described in the preceding table. The most significant character representing the highest-numbered features appears first in the string, and the character representing features 1–4 appears last in the string. The list of features and their numbering (starting with 1) are defined separately for each API.

Provisioning and Management of Session AMBR and Default QoS

For the N4 interface, the SMF sends the QoS information in the form of:

  • Packet Detection Rule (PDR)

  • Forwarding Action Rule (FAR)

  • QoS Enforcement Rule (QER)

The SessionAMBR includes the maximum aggregated uplink and downlink bit rates to be shared across all non-GBR QoS flows in each PDU session. The SMF sends the session level QER for non-GBR flows along with existing QER to the UPF.

The SMF receives sessionRule from PCF in SmPolicyDecision during PDU session creation. The sessionRule consists of authSessAmbr and authDefQos. The authorized AMBR consists of the Uplink (UL) and Downlink (DL) MBR at a session level and authDefQos contains the 5Qi, ARP, and other QoS binding parameters for the default QoS flow.

The SMF performs the following actions:

  • Any PCC rules received from the PCF that have an associated QoS Desc with the same binding parameters as received in authDefQos are tagged with the default QoS flow.

  • On the N4 interface, the UL and DL Packet Detection Rules (PDRs) are created for each PCC rule that is associated with the default QoS flow. For session AMBR enforcement, the SMF creates a QoS Enforcement Rule (QER) with appropriate AMBR and associates it with all PDRs for non-GBR rules.

  • On the N1 interface, the "QoS Flow Description" attribute in the PDU SESSION ESTABLISHMENT ACCEPT message contains the QFI and MFBR and 5Qi values. The Session AMBR is also sent in this message.

  • On the N2 interface, the PDU Session Resource Setup Transfer Request IE contains the AMBR and the "QoS flow level QoS parameters" (5Qi, ARP, and so on) and QFI.

  • The SMF supports the UDM-initiated Session AMBR modification. In this case:

    • The SMF sends Npcf_SMPolicyControl_Update to the PCF along with the new subscribed session AMBR within the "subsSessAmbr" attribute and the SE_AMBR_CH policy control request trigger within the "repPolicyCtrlReqTriggers". On receiving the change of session AMBR, the PCF provisions the new authorized session AMBR to the SMF in the response.

    • Update the QERs on N4 interface for Session AMBR enforcement.

    • Initiate N1N2MessageTransfer towards the AMF with Sess AMBR in PDU SESSION MODIFICATION COMMAND message in N1 interface and PDU Session Resource Modify Request transfer IE in N2 container having the new AMBR.

Provisioning of Policy Revalidation Time

Feature Description

The PCF instructs the SMF to trigger PCF interaction to request PCC rule from the PCF if not provided yet. The PCF performs this operation by providing revalidation time within the "revalidationTime" attribute and the RE_TIMEOUT policy control request trigger within the "policyCtrlReqTriggers" attribute in SmPolicyDecision. The PCF can change the revalidation time by including a new value for the "revalidationTime" attribute. The PCF can also disable the revalidation function by removing RE_TIMEOUT policy control request trigger if it has been provided.

If the SMF receives the existing revalidation time or the new revalidation time, the SMF stores the received value and starts the timer based on it. Then, the SMF sends the PCC rule request before the indicated revalidation time. If the RE_TIMEOUT policy control request trigger is removed, the SMF stops the timer for revalidation.


Note

When the RE_TIMEOUT is removed, the revalidation time value previously provided to the SMF is no longer applicable.


How it Works

Revalidation time is a string of the format "date-time" as defined in OpenAPI specification. The SMF, on receiving the revalidation time in "revalidationTime" attribute and RE_TIMEOUT trigger in "policyCtrlReqTriggers" attribute, starts a timer for the difference duration (revalidationTime – currentTime – 5 seconds buffer). Once the timer expires, the SMF initiates the PCF interaction to request PCC rules.

Standard Compliance

The Policy Revalidation Time feature complies with 3GPP TS 29.512, v15.2.0.

UPF Node Selection and Control

Feature Description

The SMF selection of a UPF node is based on certain selection criteria from a list of all UPFs having active association with the SMF, and serving the desired Network Slice Selection Assistance Information (NSSAI) and Data Network Name (DNN).

How it Works

The SMF and UPF association setup and IP management involves the following:

  1. During the N4 Association Setup procedure initiated by peer UPF, the SMF validates the local configuration present.

  2. The IP pools configured under DNN are divided into chunks and the IPAM module provides a chunk to the SMF during N4 Association.

  3. The SMF publishes the obtained chunks to the corresponding UPF nodes in the N4 Association Update message.

The SMF selects a UPF node using the local configuration.

The following figure depicts how the UPF node selection is performed.

  1. The SMF obtains a list of all UPFs with active association and filters the list to get all the UPFs supporting the NSSAI and DNN for this session.

  2. The SMF checks whether the PCF has provided a TrafficControlData along with PCCRule during policy context creation. If this condition is met, the SMF filters the UPFs from the fetched list to get a list of UPFs supporting the required DNAI.

  3. The SMF performs the UPF selection based on the capacity and priority of the UPF server.


Note

The NSSAI and DNN are known to the SMF during session establishment before UPF selection.


Limitations

Post nodemgr POD restart, UPF association should be re-established for subsequent PDU session establishments to be successful.

Configuring the UPF Selection

This section describes how to configure UPF node selection.

Configuring the UPF node selection involves configuring criteria-based UPF selection.

Configuring Criteria-based UPF Selection

Use the following configuration to configure the selection of locally configured UPF.

The UPF profile contains a list of UPFs configured in the SMF. The selection mechanism uses the capacity and priority assigned to the UPF in the UPF profile.

configure 
   profile network-element upf upf_name 
      capacity service_capacity 
      priority priority_value 
      end 

NOTES:

  • capacity service_capacity : Indicates the static weight relative to other UPFs of the same type. server_capacity must be an integer value in the range of 0-65535. Default: 10.

  • priority priority_value : Indicates the static priority relative to other UPFs of the same type. priority_value must be an integer value in the range of 0-65535. Default: 1

Verifying the Criteria-based UPF Selection Configuration

This section describes how to verify the criteria-based UPF selection configuration.

The following configuration is a sample output of the show configuration command:

profile network-element nrf nrf1
http-endpoint base-url http://1.1.1.111:8082
…
profile network-element upf upf2
capacity 10
priority 1
n4-peer-address ipv4 1.2.3.4
n4-peer-port 8805
keepalive 60
dnn-list [ dnn1 intershat cisco.com ]
…

Provisioning and Management of Additional QoS Flows

The PCF can create, modify, or delete multiple GBR and non-GBR PCC rules.

The following scenarios are possible:

  1. Multiple non-GBR and GBR PCC rules are activated during PDU session establishment. In this case:

    1. The SMF creates the QoS flow according to the QoS flow binding principle as described in the QoS Management section.

    2. On the N4 interface, the UL and DL PDRs are created for each PCC rule that is associated with all the flows. For flow-level QoS enforcement, the SMF creates QERs with the MFBR and GFBR (for GBR flows) values and associates it with each PDR of a flow.

    3. On the N1 interface, the "QoS Flow Description" attribute in the PDU SESSION ESTABLISHMENT ACCEPT message contains the QFI and MFBR, GFBR, and 5Qi values. The packet filters associated with each QoS rule are sent on the N1 interface in the "Authorized QoS Rules" attribute.

    4. Different types of packet filters are supported on both the N4 and the N1 interfaces. This list includes:

      
      Packet filter component type identifier 
      Bits 
      8 7 6 5 4 3 2 1 
      0 0 0 0 0 0 0 1 Match-all type 
      0 0 0 1 0 0 0 0 IPv4 remote address type 
      0 0 0 1 0 0 0 1 IPv4 local address type 
      0 0 1 0 0 0 0 1 IPv6 remote address/prefix length type 
      0 0 1 0 0 0 1 1 IPv6 local address/prefix length type 
      0 0 1 1 0 0 0 0 Protocol identifier/Next header type 
      0 1 0 0 0 0 0 0 Single local port type 
      0 1 0 0 0 0 0 1 Local port range type 
      0 1 0 1 0 0 0 0 Single remote port type 
      0 1 0 1 0 0 0 1 Remote port range type 
      
    5. On the N2 interface, the PDU Session Resource Setup Transfer Request IE contains the "QoS flow level QoS parameters" (5Qi, ARP, and so on) and QFIs for each of the flows. The "GBR QoS Flow Information" field of the IE contains the MFBR and GFBR of the GBR flows.

  2. Modification of PCC rules after PDU session establishment. In this case, the following scenarios are observed:

    1. Modification, addition, and removal of packet filters of one or more PCC rules:

      1. In this case, the SDF filters of the PDR on the N4 interface are changed by invoking N4 session modification.

      2. The SMF initiates N1N2MessageTransfer towards the AMF with "Authorized QoS Rules" attribute in PDU SESSION MODIFICATION COMMAND message in N1 interface. The rule operation code in this attribute is one of the following:

        
        0 1 1 Modify existing QoS rule and add packet filters 
        1 0 0 Modify existing QoS rule and replace all packet filters 
        1 0 1 Modify existing QoS rule and delete packet filter 
        
    2. Change in QoS associated with one or more PCC rules:

      1. The SMF performs QoS flow binding evaluation which in turn results in the following operations:

        1. Addition of a new QoS flow results in change of QFI on the N4 interface for some of the PDRs.

        2. Movement of a PCC rule from one QoS flow to another QoS flow. In this case, the PDR/QER of impacted PCC rules are modified to update the QFI.

        3. Removal of a QoS flow when the last PCC rule in that flow is moved to a different QoS flow. In this case, the PDR/QER of impacted PCC rules are modified to update the QFI.

      2. In the preceding cases, on the N1 interface the Authorized QoS Rules and Authorized QoS Descriptors are sent with the operation code as one of the following:

        
        0 0 1 Create new QoS flow description 
        0 1 0 Delete existing QoS flow description 
        0 1 1 Modify existing QoS flow description 
        
      3. On the N2 interface, QoS Flow Level QoS parameters of the PDU Session Resource Modify Request transfer IE carry the modified GFBR, MFBR, 5Qi and so on. For any flow removal, the QoS Flow to re-lease List is included in this IE.

    3. PCC rule removal:

      1. In this case, the SMF removes all the PDRs associated with a QoS flow on the N4 interface.

      2. On the N1 interface, the Authorized QoS Rules and Authorized QoS Descriptors are sent with the operation code as one of the following:

        
        0 1 0 Delete existing QoS flow description 
        
      3. On the N2 interface, the PDU Session Resource Modify Request transfer IE carries the QoS Flow to release List.

QoS Enforcement

The SMF enforces QoS at PCC rule (SDF) level, QoS flow level, and session level by creating one QER:

  • per PCC rule level to enforce MBR/GBR as per the associated QoS Desc supplied by PCF and associated to the given PCC rule.

  • at QoS flow level which has aggregated MBR/GBR of all the PCC rules associated with a QFI.

  • at session level to enforce the Session AMBR for all non-GBR QoS flows.

Once these QERs are created, the SMF associates:

  • the session level QER to all PDRs belonging to the non-GBR QoS category.

  • the SDF level QER to each individual PCC rule.

For any QoS modification including movement of the PCC rules from one flow to another and QoS modification within flow, the SMF modifies the GFBR/MFBR (or Session AMBR) and updates the QERs accordingly on the N4 interface.

Policy Control Request Triggers

The PCF provides one or more policy control request trigger(s) by including the triggers in the "policyCtrlReqTriggers" attribute(s) in the SmPolicyDecision data structure.

During the lifetime of the PDU session, the PCF updates or removes the policy control request triggers. To update the trigger, the PCF provides a new complete list of applicable policy control request triggers by including the trigger(s) in the "policyCtrlReqTriggers" attribute.

The PCF removes all previously provided triggers by providing a "policyCtrlReqTriggers" attribute set to NULL value. Upon reception of a policy control request trigger with this value, the SMF does not inform PCF of any trigger except for those triggers that are always reported and does not require provisioning from the PCF.

Whenever the PCF provisions the trigger, unless otherwise specified in the trigger's value definition, the SMF sends the corresponding currently applicable values (for example, access type, RAT type, user location information, and so on) to the PCF within the UeCampingRep data structure in the response of the HTTP POST message. In this case, the "repPolicyCtrlReqTriggers" attribute is not included.

The list of supported triggers is as follows:

Trigger Description
RES_MO_RE

A request for resource modification has been received by the SMF. This is a mandatory trigger.

Note 

This request is sent from SMF to PCF when UE/AMF requested QoS modification is triggered.

UE_IP_CH UE IP address change. This is a mandatory trigger.
DEF_QOS_CH Default QoS Change. This is a mandatory trigger.
SE_AMBR_CH Session AMBR Change. This is a mandatory trigger.
SAREA_CH Location Change about the Serving Area in N11 update.
SCNN_CH Location Change about the Serving CN node. See the following section for details on how the SMF supports this trigger during the different handover scenarios.
RE_TIMEOUT Indicates that the SMF has generated the request because there has been a PCC revalidation timeout (that is, Enforced PCC rule request as defined in Table 6.1.3.5.-1 of 3GPP TS 29.503).
Support SCNN_CH Trigger in Handovers

The SMF supports the serving network change trigger in the following handovers:

  • Inter AMF Handover: If the "SCNN_CH" is provisioned, when the SMF detects a change of serving Network Function (for example, the AMF), the SMF includes the "SCNN_CH" within the "repPolicyCtrlReqTriggers" attribute and the current serving Network Function in the "servNfId" attribute. When the serving Network Function is an AMF, the SMF includes the AMF Network Function Instance Identifier within the "servNfInstId" attribute and the Globally Unique AMF Identifier within the "guami" attribute.

  • 5G to 4G handover: When the UE handed over from the 5GS to EPC/E-UTRAN, the SMF includes, if the "SCNN_CH" policy control request trigger is provisioned and met, the "servNfId" attribute including the S-GW identification within the "anGwAddr" attribute.

  • 4G to 5G handover: The SMF includes the AMF Network Function Instance Identifier within the "servNfInstId" attribute and the Globally Unique AMF Identifier within the "guami" attribute.

  • WiFi to 5G handover: The SMF includes the AMF Network Function Instance Identifier within the "servNfInstId" attribute and the Globally Unique AMF Identifier within the "guami" attribute.

  • 5G to WiFi handover: When the UE handed over from the 5GS to EPC non-3GPP access, the SMF includes, if the "SCNN_CH" policy control request trigger is provisioned and met, the ePDG identification within the "anGwAddr" attribute included in the "servNfId" attribute.

Gating Control

Feature Description

Gating control is the capability to block or allow IP packets belonging to a certain IP flow, based on the decisions by the PCF. The PCF could, for example, make gating decisions based on session events (start and stop of service) reported by the AF.

The AF instructs the PCF to temporarily block the user traffic corresponding to a specific PCC rule on uplink or downlink direction, or both the directions.

To enable the PCF gating control decisions, the AF reports session events (for example, session termination, modification) to the PCF. For example, session termination, in gating control, triggers the blocking of packets or "closing the gate".


Note

Gating Control applies only for service data flows of IP type.


How it Works

The Gating Control feature works in the following manner:

  1. PCF sends flowStatus attribute in TrafficControlData referenced by the PCC rule. The value of this attribute is set to "enabled", "disabled", "enable_uplink", or "enable_downlink" based on the PCF decision.

  2. On receiving this attribute, the SMF instructs the UPF to open or close the GATE for the UL or DL Packet Detection Rule (PDR), or both UL and DL PDRs for the associated PCC rule. The Gate Status Information Element (IE) in Create QoS Enhancement Rule (QER) or Update QER associated with the PDR is set to OPEN or CLOSED.

  3. If there is any subsequent change, the PCF triggers a N4 modification request to change the GATE status.

Standard Compliance

The Gating Control feature complies with 3GPP TS 29.512, v15.2.0.

How it Works

The SMF requests the policy information from PCF. The PCF in turn provides the policy rules during and after PDU session creation to enable the dynamic policy application. Dynamic policy management involves the following operations:

  • Policy Context Creation: This operation is performed at the time of PDU session create and the PCF sends the PCC rules and the associated QoS, Charging and other policy data in the response message.

  • Policy Context Update: For any RAN-initiated or UE-initiated policy updates and for notification of trigger events, the SMF initiates a policy context update. In response, the PCF sends the changed policy data that impacts the QoS and charging.

  • Policy Context Update Notification: During the lifecycle of a PDU session, the PCF can initiate a policy update based on interaction with the AF or local configuration changes at PCF. The SMF handles the updated policy rules when received in a notification from the PCF.

  • Policy Context Delete: At the end of a PDU session, the SMF terminates the Policy Context with PCF.

The following figure illustrates the dynamic policy management procedure for a PDU session.

Figure 5. Dynamic Policy Management Call Flow

Standards Compliance

The Dynamic PCC Rules Enforcement feature complies with the 3GPP TS 29.512, Release 15.2.0.

Limitations

The Dynamic PCC Rules Enforcement feature has the following limitations:

  • SMF supports only the following combination of operations:

    • Creation of new PCC Rule with new QoS descriptor to create new QoS Flow

    • Addition of new PCC Rule to an existing QoS Flow

    • Removal of PCC rule

    • Updating of GBR/MBR parameters associated with the rule

    • Session AMBR Changes

    • Session AMBR Changes and PCC Rules cannot be combined in the same update operation

  • The current implementation supports only QoS Descriptors with standard 5QI and ignores the non-standard ones. If all the QoS Desc received are non-standard, then all are ignored and the default one created by SMF is used.

Configuring the Dynamic PCC Rules Enforcement Feature

This section describes how to configure the Dynamic PCC Rules Enforcement feature.

Configuring the Dynamic PCC Rules Enforcement feature involves the following steps:

  1. Creating QoS Profile

  2. Configuring QoS Parameters

  3. Defining QoS Profile in DNN Profile Configuration

Creating QoS Profile

This section describes how to create an instance of a quality of service (QoS) profile.


configure 
   profile qos qos_profile_name 
   end 

NOTES:

  • qos qos_profile_name : This command creates a quality of service profile and provides access to the QoS Profile Configuration mode to use the commands to configure the QoS parameters. See the qos-profile section of the Command Line Interface Reference for command information. qos_profile_name must be an alphanumeric string uniquely identifying the QoS profile.

Configuring QoS Parameters

This section describes how to configure the QoS parameters.


configure 
   profile qos qos_profile_name 
      ambr { ul uplink_ambr | dl downlink_ambr } 
      arp {   preempt-cap preemption_capability   | preempt-vuln preemption_vulnerability | priority-level priority_level} 
      max data-burst burst_volume 
      priority qos_priority 
      qi5 5qi_value 
      end 

NOTES:

  • ambr { ul uplink_ambr | dl downlink_ambr } : Defines the Aggregate Maximum Bit Rate (AMBR) for the uplink (subscriber to network) and the downlink (network to subscriber) traffic.

  • arp preempt-cap preemption_capability : Specifies the preemption capability flag. Options are:

    • MAY_PREEMPT: Bearer may be preempted

    • NOT_PREEMPT: Bearer cannot be preempted

  • arp preempt-vuln preemption_vulnerability : Specifies the preemption vulnerability flag. Options are:

    • PREEMPTABLE: Bearer may be preempted

    • NOT_PREEMPTABLE: Bearer cannot be preempted

  • arp priority-level priority_level : Defines the Allocation and Retention Priority (ARP) for the service data. The default value of priority_level is 8.

  • max data-burst burst_volume : Defines the maximum data burst volume. burst_volume must be an integer value in the range of 1–4095.

  • priority qos_priority : Specifies the 5QI priority level. qos_priority must be an integer value in the range of 1–127.

  • qi5 5qi_value : Specifies the 5G QoS Identifier (5QI) for the authorized QoS parameters. 5qi_value must be an integer value in the range of 0–255.

Defining QoS Profile in DNN Profile Configuration

This section describes how to configure the QoS profile in the existing DNN profile configuration.


configure 
   profile dnn dnn_profile_name 
      qos-profile qos_profile_name 
      end 

NOTES:

  • qos-profile qos_profile_name : This command defines locally configured default QoS profile. This profile is configured under the existing DNN Profile Configuration. qos_profile_name must be the name of the configured QoS profile.

Verifying the Dynamic PCC Rules Enforcement Feature Configuration

This section describes how to verify the Dynamic PCC Rules Enforcement feature configuration.

Use the following show command to verify the feature configuration details.

show full-configuration

The following is an example of this show command output.


show full-configuration 
profile dnn dnn1 
qos-profile qos1 
! 
profile qos qos1 
ambr ul 1024 
ambr dl 1024 
qi5 128 
arp priority-level 8 
arp preempt-cap NOT_PREEMPT 
arp preempt-vuln NOT_PREEMPTABLE 
priority 9 
max data-burst 2048 
exit 

Troubleshooting Information

This section provides information for troubleshooting any issues that may arise during the feature operation.

The SMF maintains various logs such as trace logs, event logs, and so on. Use kubectl get pods -n namespace CLI command to check all the pods and the services that are currently running. Then, use kubectl logs podname -n namespace command to display the log in a pod.

If you encounter any error during the operation of this feature, use the SMF service logs for a particular subscriber session to identify the issues and determine the solution to your problem.

Static PCC Rules Support

Feature Description

Static PCC rules are configured in the SMF. These rules can be activated immediately upon PDU session establishment. Static rule is identified by the ruledef configuration using the action priority CLI command.

The local configuration on SMF represents the rulebase which is sent to the UPF during session establishment. The SMF uses the configuration representing the PCC rules, QoS Desc, and Charging Data received from PCF to perform QoS flow binding. This configuration is present in the UPF as well. The SMF does not send the PDRs, QERs, and FARs, instead sends only the rulebase name in a default PDR (referred as rulebase PDR) over the N4 interface. The UPF generates the PDRs, FARs, QERs, and URRs for predefined rules based on the rulebase configuration.


Important

The Static PCC Rules Support on SMF is applicable to both 4G and 5G calls.


Relationships

This feature utilizes the functionalities provided by PDU Session Lifecycle feature.

How it Works

PCF must send the rulebase name to enable the static PCC rule support on SMF.

When the PCF provides the rulebase name, the SMF performs the following steps during the PDU session creation:

  1. The SMF sends Npcf_SMPolicycontrolCreate message to PCF. In response to this message, the PCF may send SMPolicyDecision with a PccRule. If the rule ID of the PccRule is in cbn# rulebase name format, the SMF assumes that the rule id is representing a rulebase name.

  2. The SMF sends the rulebase name to the UPF in PFCP Session Establishment Request in a proprietary IE within Create PDR IE.


Note

The SMF sends this name only in the default PDR which does not have any SDF filters. No other PDR, FAR, QER, and URR are sent to the UPF for the static rules. The UPF can derive the same from the rulebase name.


Pre-processing During Configuration

Once the Active Charging Service configuration is done (including rulebase, associated ruledefs, and charging actions), SMF processes the configured values and derives PCC Rules, QoSData, and ChargingData from the configured values. The following principles are used to create these entities:

  1. QoSData:

    1. Each configured charging action results in a QoSDesc creation.

    2. The flow-limit-bandwidth configured under charging action provides the GBR/MBR for the QoSData.

    3. The QCI and ARP configured in charging action constitute the 5QI and ARP of the QoSData. If no QCI and ARP are configured, the 5QI and ARP of the default QoS flow are associated with this QoSData.

  2. ChargingData:

    1. The billing-action configuration under charging action determines whether offline charging is enabled in the created ChargingData.

    2. The cca charging credit configuration under charging action determines whether online charging is enabled in the created ChargingData.

    3. The rating group and service ID of the ChargingData are provided by content-id and service-identifier configuration under charging action.

  3. PCCRule:

    1. Each ruledef under a rulebase results in creation of a PCCRule.

    2. The packet-filter configured under charging action is used for the FlowInformation in the PCCRule.

    3. The QoSData and ChargingData associated with this ruledef in the rulebase configuration form the refQoS and refChg for this PCCRule.

All the created PCCRules, QoSData, and ChargingData are saved per rulebase.

During PDU Session Creation

  1. During PDU session creation, PCF sends the rulebase name (value configured under upf-apn is selected if the PCF does not send it) as PCCRule with ID set to cbn# configured rulebase name. It may also send any predefined rule to be activated as another PCCRule with ID set to crn# configured ruledef name. All such PCC rules will have only the RuleId attribute present.

  2. On receiving such a request, SMF selects the constructed PCCRules, QoSData, and ChargingData which correspond to the received rulebase and ruledef names, and uses these to create QoS flows in QoSModel.

  3. On the N4 interface, the SMF sends the rulebase name in the CreatePDR IE in a Cisco Proprietary IW named "rulebase".

  4. For all activated predefined rules, SMF sends one uplink and one downlink PDR containing the ruledef name in "Activate Predefined Rule" IE.

  5. The UPF also has similar configuration for active charging service. From the rulebase name and ruledef names, it can create the corresponding QER and URR.

  6. On N1 and N2 interfaces, the processing of the predefined and static rules are the same as that of dynamic rule.

  7. For all static and activated predefined rules, QoSRules are sent on N1 interface if packet-filters were configured.

  8. The GFBR and MFBR of a flow are computed using the GBR/MBR of the QoSData associated with all static and activated predefined rules at any point of time and the same is sent on N2 interface in an AuthorisedQoSDescription IE on N1 interface.

During PDU Session Modification

  1. During PDU session modification, PCF sends the rulebase name as PCCRule with ID set to cbn#configured rulebase name. In case of predefined rule PCF can activate new rule crn#configured ruledef name or delete the existing rule (crn#"nil"). All such PCC Rules will have only the RuleId attribute present.

  2. On receiving new rule addition request, SMF selects the constructed PCCRules, QoSData and ChargingData which correspond to the received rulebase and ruledef names, and uses these to create QoS flows in QoSModel.

  3. On receiving an existing rule deletion request, if the SMF received a ruledef name with nil value or a rulebase name different from the existing one, the SMF deletes the QoS flows which correspond to previous rulebase name or ruledef in QoSModel.

  4. On N4 interface, SMF sends the new rulebase name in the CreatePDR IE in a Cisco Proprietary IW named "rulebase" and RemovePDR with PDR ID which correspond to the old rulebase name.

  5. For all activated predefined rules, SMF sends one uplink and one downlink PDR containing the ruledef name in "Activate Predefined Rule" IE.

  6. For all deactivated predefined rules, SMF sends RemovePDR with PDR ID which corresponds to the predefined rule.

  7. The UPF also has similar configuration for active charging service. From the rulebase name and ruledef names, it can create or delete the corresponding QER and URR.

  8. On N1 and N2 interfaces, the processing of the predefined and static rules are the same as that of dynamic rule.

  9. For all static and activated/deactivated predefined rules, QoSRules are sent on N1 interface if packet-filters were configured.

  10. The GFBR and MFBR of a flow are computed using the GBR/MBR of the QoSData associated with all static and activated/deactivated predefined rules at any point of time and the same is sent on N2 interface in an AuthorisedQoSDescription IE on N1 interface.

Limitations

The Dynamic PCC Rules Enforcement feature has the following limitations:

  • SMF supports only the following combination of operations:

    • Creation of new PCC Rule with new QoS descriptor to create new QoS Flow

    • Addition of new PCC Rule to an existing QoS Flow

    • Removal of PCC rule

    • Updating of GBR/MBR parameters associated with the rule

    • Session AMBR Changes

    • Session AMBR Changes and PCC Rules cannot be combined in the same update operation

  • The current implementation supports only QoS Descriptors with standard 5QI and ignores the non-standard ones. If all the QoS Desc received are non-standard, then all are ignored and the default one created by SMF is used.

Configuring the Static PCC Rules Support

This section describes how to configure the Static PCC Rules Support on SMF.

The configuration for static and predefined rules is based on the ECS configuration of the StarOS based P-GW. This is to ensure that the UPF can work seamlessly with the SMF.

Configuring the Static PCC Rules Support involves the following steps:

  1. Configuring ACS

  2. Configuring Charging Action

  3. Configuring Packet Filter

  4. Configuring ACS Ruledef

  5. Configuring ACS Group of Ruledefs

  6. Configuring Rulebase and Predefined Rule Prefix

  7. Configuring ACS Rulebase (ACS Configuration Mode)

  8. Configuring URR ID

  9. Configuring GTPP Group

  10. Configuring Access Point Name (APN)

  11. Associating GTPP Group with APN

  12. Configuring ACS Rulebase (APN Configuration Mode)

  13. Defining UPF APN Profile in DNN Profile Configuration

  14. Configuring QoS Parameters

  15. Associating Default Session Rule to DNN Profile

Configuring ACS

ACS provides flexible, differentiated, and detailed billing to subscribers through Layer 3 through Layer 7 packet inspection and the ability to integrate with back-end billing mediation systems.


Important

In this release, only one active charging service can be configured per system.


This section describes how to configure ACS.


configure 
   active-charging service service_name 
   end 

NOTES:

  • active-charging service service_name : Specifies the name of an Active Charging Service. service_name must be an alphanumeric string of 1 to 15 characters.

  • If the named ACS does not exist, it is created, and the CLI mode changes to the ACS Configuration Mode wherein the service can be configured. If the named ACS already exists, the CLI mode changes to the ACS Configuration Mode. The ACS Configuration mode is used to manage ACS or enhanced charging service (ECS) configurations.

Configuring Charging Action

This section describes how to configure charging action. The charging action represents actions to be taken when a configured rule is matched. Actions could range from generating an accounting record (for example, an EDR) to dropping the IP packet, and so on. The charging action will also determine the metering principle—whether to count retransmitted packets and which protocol field to use for billing (L3, L4, L7, and so on).

The charging action configuration is used to define the QoS and charging related parameters associated with ruledefs.

configure 
    active-charging service service_name 
       charging-action charging_action 
          allocation-retention-priority priority  [ pci pci_value  | pvi pvi_value 
          billing-action egcdr 
          cca charging credit [ rating-group coupon_ id ] [ preemptively-request ] 
          content-id content_id 
          flow action { discard [ downlink | uplink ] | redirect-url redirect_url | terminate-flow } 
          flow limit-for-bandwidth { { direction { downlink | uplink } peak-data-rate bps peak-burst-size bytes violate-action { discard | lower-ip-precedence } [ committed-data-rate bps committed-burst-size bytes [ exceed-action { discard | lower-ip-precedence } ] ] } | { id id } } 
          nexthop-forwarding-address ipv4_address/ipv6_address 
          qos-class-identifier qos_class_identifier 
          service-identifier service_id 
          tft packet-filter packet_filter_name 
          tft-notify-ue 
          tos { af11 | af12 | af13 | af21 | af22 | af23 | af31 | af32 | af33 | af41 | af42 | af43 | be | ef | lower-bits tos_value } [ downlink | uplink ] 

NOTES:

  • charging-action charging_action_name : Specifies the name of a charging action. charging_action_name must be an alphanumeric string of 1 to 63 characters and can contain punctuation characters. Each charging action must have a unique name.

  • If the named charging action does not exist, it is created, and the CLI mode changes to the ACS Charging Action Configuration Mode wherein the charging action can be configured.

  • If the named charging action already exists, the CLI mode changes to the ACS Charging Action Configuration Mode for that charging action.

  • allocation-retention-priority priority [ pcipci_value | pvi pvi_value : Configures the Allocation Retention Priority (ARP). priority must be an integer value in the range of 1-15.

    • pci pci_value : Specifies the Preemption Capability Indication (PCI) value. The options are:

      • MAY_PREEMPT - Flow can be preempted. This is the default value.

      • NOT_PREEMPT - Flow cannot be preempted

    • pvi pvi_value: Specifies the Preemption Vulnerability Indication (PVI) value. The options are:

      • NOT_PREEMPTABLE - Flow cannot be preempted. This is the default value.

      • PREEMPTABLE - Flow can be preempted

  • billing-action : Configures the billing action for packets that match specific rule definitions.

  • cca charging credit : Enables or disables Credit Control Application (CCA) and configures the RADIUS/Diameter prepaid charging behavior.

  • content-id: Configures the rating group.

  • flow action: Specifies the action to take on packets that match rule definitions.

  • flow limit-for-bandwidth: Configures the QoS parameters such as MBR, GBR, and so on.

    • peakdatarate(MBR): Default is 3000 bps

    • peakburstsize: Default is 3000 bytes

    • committedDataRate(GBR): Default is 144000 bps

    • committedBurstSize: Default is 3000 bytes

  • nexthop-forwarding-address ipv4_address/ipv6_address ,: Configures the nexthop forwarding address.

  • qos-class-identifier qos_class_identifier : Configures the QoS Class Identifier (QCI) for a charging action. qos_class_identifier must be an integer value in the range of 1-9 or from 128-254 (Operator specific).

  • service_identifier service_id : Configures the service identifier to use in generated billing records.service_id must be an integer value in the range of 1-2147483647.

  • tft packet-filter packet_filter_name : Specifies the packet filter to add or remove from the current charging action. packet_filter_name must be the name of a packet filter, and must be an alphanumeric string of 1 to 63 characters.

  • tft-notify-ue : Control the TFT updates towards the UE based on certain trigger conditions.

  • tos : Configures the Type of Service (ToS) octets.

Configuring Packet Filter

This section describes the commands that are used to configure packet filter.

configure 
   active-charging service service_name 
      packet-filter packet_filter_name 
         direction { bi-directional | downlink | uplink } 
         ip local-port { = port_number | range start_port_number to end_port_number } 
         ip protocol = protocol_number 
         ip remote-port { = port_number | range start_port_number to end_port_number } 
         ip tos-traffic-class = { type-of-service | traffic class } mask { = mask-value} 
         priority priority 
         end 

NOTES:

  • packet-filter packet_filter_name : Configures the packet filters to be sent to UE. packet_filter_name must be the name of the packet filter, and must be an alphanumeric string of 1 to 15 characters.

  • direction { bi-directional | downlink | uplink } : Configures the direction in which the packet filter has to be applied. The default value is bi-directional.

  • ip local-port : Configures the IP 5-tuple local port(s) for the current packet filter.

  • ip protocol : Configures the IP protocol(s) for the current packet filter.

  • ip remote-address : Configures the IP remote address(es) for the current packet filter.

  • ip remote-port : Configures the IP remote port(s) for the current packet filter.

  • ip tos-traffic-class : Configures Type of Service (TOS)/Traffic class under charging action in the Packet filter mode.

  • priority priority : Configures the current packet filter's priority.

Configuring ACS Ruledef

A ruledef represents a set of matching conditions across multiple L3 – L7 protocol based on protocol fields and state information. Each ruledef can be used across multiple rulebases within the active charging service.

This section describes how to create, configure, or delete ACS rule definitions.


configure 
   active-charging service service_name 
      ruledef ruledef_name 
         ip any-match [ = | != ] [ TRUE | FALSE ] 
         ip dst-address { operator { { ipv4_address | ipv6_address } | { ipv4_address/mask | ipv6_address/mask} | address-group ipv6_address } | { !range | range } host-pool host_pool_name } 
         multi-line-or all-lines 
         rule-application { charging | post-processing | routing } 
         end 

NOTES:

  • ruledef ruledef_name : Specifies the ruledef to add, configure, or delete. ruledef_name must be the name of an ACS ruledef, and must be an alphanumeric string of 1 to 63 characters, and can contain punctuation characters. Each ruledef must have a unique name. Host pool, port map, IMSI pool, and firewall, routing, and charging ruledefs must have unique names.

  • If the named ruledef does not exist, it is created, and the CLI mode changes to the ACS Ruledef Configuration Mode wherein the ruledef can be configured.

  • If the named ruledef already exists, the CLI mode changes to the ACS Ruledef Configuration Mode for that ruledef. The ACS Ruledef Configuration Mode is used to create and manage rule expressions in individual rule definitions (ruledefs).

  • ip any-match [= | !=] [TRUE | FALSE]: This command defines the rule expressions to match IPv4/IPv6 packets. The operator and condition in the command specifies the following:

    • operator

      • !=: Does not equal

      • < =: Equals

    • condition

      • FALSE

      • TRUE

  • ip dst-address { operator { { ipv4_address | ipv6_address } | { ipv4_address/mask |ipv6_address/mask } | address-group ipv6_address } | { !range | range } host-pool host_pool_name } : This command allows defining rule expressions to match IP destination address field within IP headers.

    • ipv4_address | ipv6_address : Specifies the IP address of the destination node for outgoing traffic. ipv4_address | ipv6_address must be an IP address in IPv4 dotted-decimal or IPv6 colon-separated-hexadecimal notation.

    • ipv4_address/mask | ipv6_address/mask : Specifies the IP address of the destination node for outgoing traffic. ipv4_address/mask | ipv6_address/mask must be an IP address in IPv4 dotted-decimal or IPv6 colon-separated-hexadecimal notation with subnet mask bit. The mask bit is a numeric value which corresponds to the number of bits in the subnet mask.

    • address-group ipv6_address : Specifies a group of IPv6 addresses configured with wildcard input and/or specialized range input. Multiple wildcard characters can be accepted as input and only one 2 byte range input will be accepted. Both wildcard character input and 2-byte range input can be configured together within a given IPv6 address.

    • host-pool host_pool_name : Specifies the name of the host pool. host_pool_name must be an alphanumeric string of 1 to 63 characters.

    • The operator in the command specifies the following:

      • !=: Does not equal

      • <: Lesser than or equals

      • =: Equals

      • >=: Greater than or equals

  • multi-line-or all-lines : This command allows a single ruledef to specify multiple URL expressions. When a ruledef is evaluated, if the multi-line-or all-lines command is configured, the logical OR operator is applied to all the rule expressions in the ruledef to decide if the ruledef matches or not. If the multi-line-or all-lines command is not configured, the logical AND operator is applied to all the rule expressions.

  • rule-application { charging | post-processing | routing } : This command specifies the rule application for a rule definition.

    • charging : Specifies that the current ruledef is for charging purposes.

    • post-processing : Specifies that the current ruledef is for post-processing purposes. This enables processing of packets even if the rule matching for them has been disabled.

    • routing : Specifies that the current ruledef is for routing purposes. Up to 256 rule definitions can be defined for routing in an Active Charging Service. Default: Disabled.

Configuring ACS Group of Ruledefs

A group-of-ruledefs can contain optimizable ruledefs. Ruledef group optimization depends on the optimization ability of ruledefs in the group-of-ruledefs, and the optimization configuration of the group in a rulebase.

Upon adding a new ruledef, the following checks occur:

  • Determines if the new ruledef is part of any existing group of ruledefs

  • Identifies if the new ruledef requires optimization

Use the following configuration to combine a set of ruledefs together to apply the same charging action on them.


configure 
   active-charging service service_name 
      group-of-ruledefs ruledef_group_name 
         add-ruledef priority ruledef_priority ruledef ruledef_name 
         end 

NOTES:

  • group-of-ruledefs ruledef_group_name : Specifies the ruledef group name to add, configure, or delete. This command allows up to a maximum of 128 group of ruledef configurations.

  • add-ruledef: This command allows you to add or remove ruledefs from a group-of-ruledefs. This command allows up to a maximum of 128 ruledef configurations.

  • priority: Specifies the priority of the ruledef in the current group of ruledefs. ruledef_priority is an integer from 1 through 10000.

  • ruledef ruledef_name : Specifies name of the ruledef to add to the current group-of-ruledefs. ruledef_name must be the name of an ACS ruledef, and must be an alphanumeric string of 1 to 63 characters.

Configuring Rulebase and Predefined Rule Prefix

Rulebase and predefined rule prefix configuration is mandatory for static rule installation from PCF. The SMF supports the predefined rule installation with prefix and without prefix. The SMF also supports the group-of-ruledef installation for both predefined and static rules.

Use the following configuration to configure the rulebase prefix and predefined rule prefix.


configure 
   profile network-element pcf pcf_service_name 
      predefined-rule-prefix predef_rule_prefix 
      rulebase-prefix rulebase_prefix 
      end 

NOTES:

  • predefined-rule-prefix predef_rule_prefix : Specifies the predefined rule prefix to be added. For example, the prefix for predefined rule is cbr .

  • This is an optional configuration for the predefined rule. When there is no prefix defined within the PCF network element profile, the predefined rule application behaves as defined in the 3GPP TS 29.244 specification.

  • rulebase-prefix rulebase_prefix : Specifies the rulebase prefix to be added. For example, the prefix for rulebase is rbn . This is a mandatory configuration for the static rule.

Configuring ACS Rulebase (APN Configuration Mode)

This section describes how to enable and configure an ACS rulebase to be used for subscribers who use the configured APN.


configure 
   apn apn_name 
      active-charging rulebase rulebase_name 
      end 

NOTES:

  • active-charging rulebase rulebase_name : Specifies the name of the ACS rulebase. rulebase_name must be an alphanumeric string of 1 to 63 characters.

Configuring URR ID

This section describes how to configure the Usage Reporting Rules (URR) ID for the rating and service groups.


configure 
   active-charging service service_name 
      urr-list list_name 
         rating-group rating_id service-identifier service_id_value urr-id urr_id_value 
  end 

NOTES:

  • urr-list list_name : Specifies the name of the URR list, and must be an alphanumeric string of 1 to 63 characters.

  • rating-group rating_id : Specifies the rating ID used in charging. rating_id must be an integer value in the range of 0-2147483647.

  • service-identifier service_id_value : Configures the service identifier value. service_id_value must be an integer value in the range of 0-2147483647.

  • urr-id urr_id_value : Configures URR identifier for rating/service group. urr_id_value must be an integer value in the range of 1-8388607.

  • The URR ID configuration is per rating group and service ID. For different rating group and service ID combinations, use the URR ID configuration command as many times as needed.

Configuring GTPP Group

This section describes the commands that are used to configure GTPP group.


configure 
   gtpp group group_name 
      gtpp trigger { time-limit | volume-limit } 
      end 

NOTES:

  • gtpp group group_name : Specifies the GTPP group name. group_name must be an alphanumeric string of 1 to 63 characters.

  • gtpp trigger { time-limit | volume-limit } : Configures triggers for CDR.

    • time-limit : Enables time-limit trigger for the CDR.

    • volume-limit : Enables volume-limit trigger for the CDR.

Configuring Access Point Name (APN)

This section describes how to create APN templates. This APN configuration represents the access point configuration in the UPF and further facilitates configuring a rulebase name within.


configure 
   apn apn_name 
   end 

NOTES:

  • apn apn_name : Specifies a name for the APN template as an alphanumeric string of 1 to 62 characters and is case insensitive.

Associating GTPP Group with APN

This section describes how to associate the GTTP group with the configured APN.


configure 
   apn apn_name 
      gtpp group group_name 
      end 

NOTES:

  • gtpp group group_name : Associates the defined GTPP group with the already configured APN.

Configuring ACS Rulebase (ACS Configuration Mode)

This section describes how to create, configure, or delete an ACS rulebase. A rulebase is a collection of protocol rules to match a flow and associated actions to be taken for matching flow. The default rulebase is used when a subscriber/APN is not configured with a specific rulebase to use.

Rulebase configuration is the one that combines all the specified configurations together to construct the static and predefined PCC rules.


configure 
   active-charging service service_name 
      rulebase rulebase_name 
         action priority action_priority { [ dynamic-only ] | static-and-dynamic | timedef timedef_name ] { group-of-ruledefs ruledefs_group_name | ruledef ruledef_name } charging-action charging_action_name [ monitoring-key monitoring_key ] [ description description ] } 
         cca quota { holding-time holding_time content-id content_id | retry-time retry_time [ max-retries retries ] } 
         cca quota time-duration algorithm { consumed-time seconds [ plus-idle ] | continuous-time-periods seconds | parking-meter seconds } [ content-id content_id ] 
         credit-control-group cc_group_name 
         dynamic-rule order { always-first | first-if-tied } 
         egcdr threshold { interval interval [ regardless-of-other-triggers ] | volume { downlink | total | uplink } bytes } 
         route priority route_priority ruledef ruledef_name analyzer { dns | file-transfer | ftp-control | ftp-data | h323 | http | imap | mipv6 | mms | pop3 | pptp | radius | rtcp | rtp | rtsp | sdp | secure-http | sip [ advanced | basic-and-advanced ] | smtp | tftp | wsp-connection-less | wsp-connection-oriented } [ description description ] 
         tcp check-window-size 
         tcp mss tcp_mss { add-if-not-present | limit-if-present } 
         tcp packets-out-of-order { timeout timeout_duration | transmit [ after-reordering | immediately ] } 
         end 

NOTES:

  • rulebase rulebase_name : Specifies the name of the ACS rulebase. rulebase_name must be an alphanumeric string of 1 to 63 characters.

  • action priority action_priority { [ dynamic-only ] | static-and-dynamic | timedef timedef_name ] { group-of-ruledefs ruledefs_group_name | ruledef ruledef_name } charging-action charging_action_name [ monitoring-key monitoring_key ] [ description description ] } : Configures the priority order in which ruledefs are matched and the associated charging action.

    • priority must be an integer value in the range of 1-65535.

    • monitoring_key must be an integer value in the range of 100000-4000000000.

  • cca quota { holding-time holding_time content-id content_id | retry-time retry_time [ max-retries retries ] } : Configures the quota for the online charging.

    • holding_time : must be an integer value in the range of 1-4000000000

    • content_id : must be an integer value in the range of 1-2147483647

    • retry_time : must be an integer value in the range of 0-86400

    • retries : must be an integer value in the range of 1-65535

  • cca quota time-duration algorithm { consumed-time seconds [ plus-idle ] | continuous-time-periods seconds | parking-meter seconds } [ content-id content_id ]

    • consumed-time: must be an integer value in the range of 1-4294967295

    • content-id: must be an integer value in the range of 1-2147483647

    • continuous-time-periods: must be an integer value in the range of 1-4294967295

    • parking-meter: must be an integer value in the range of 1-4294967295

  • credit-control-group cc_group_name : Configures the online charging parameters used by this rulebase. cc_group_name must be an alphanumeric string of 1 to 63 characters.

  • dynamic-rule order : Configures the order of dynamic rule matching vs the static rules in a rulebase.

  • egcdr threshold { interval interval [ regardless-of-other-triggers ] | volume { downlink | total | uplink } bytes } : Configures the threshold for offline charging.

    • interval : must be an integer value in the range of 60-40000000.

    • downlink : must be an integer value in the range of 100000-4000000000. Default: 4000000000.

    • uplink : must be an integer value in the range of 100000-4000000000. Default: 4000000000.

    • total : must be an integer value in the range of 100000-4000000000.

  • route priority route_priority ruledef ruledef_name analyzer { dns | file-transfer | ftp-control | ftp-data | h323 | http | imap | mipv6 | mms | pop3 | pptp | radius | rtcp | rtp | rtsp | sdp | secure-http | sip [ advanced | basic-and-advanced ] | smtp | tftp | wsp-connection-less | wsp-connection-oriented } [ description description ] : This command is used only on UPF.

    • route_priority must be an integer value in the range of 0-65535.

    • ruledef_name must be an alphanumeric string of 1 to 63 characters.

  • tcp check-window-size : This command is used only on UPF.

  • tcp mss tcp_mss : This command is used only on UPF. tcp_mss must be an integer value in the range of 496-65535.

  • tcp packets-out-of-order { timeout timeout_duration | transmit [ after-reordering | immediately ] } : This command is used only on UPF.

    • timeout_duration must be an integer value in the range of 100-30000. Default value is 5000.

Defining UPF APN Profile in DNN Profile Configuration

This section describes how to configure the UPF APN profile in the existing DNN Profile Configuration.


configure 
   profile dnn dnn_profile_name 
      upf apn apn_name 
      end 

NOTES:

  • upf apn apn_name : This command enables UPF APN profile configuration. This profile is configured under the existing DNN profile configuration. apn_name must be the name of the APN template, and must be an alphanumeric string of 1 to 62 characters.

Configuring QoS Parameters

This section describes how to configure the QoS parameters.


configure 
   profile qos qos_profile_name 
      ambr { ul uplink_ambr | dl downlink_ambr } 
      arp {   preempt-cap preemption_capability   | preempt-vuln preemption_vulnerability | priority-level priority_level} 
      max data-burst burst_volume 
      priority qos_priority 
      qi5 5qi_value 
      end 

NOTES:

  • ambr { ul uplink_ambr | dl downlink_ambr } : Defines the Aggregate Maximum Bit Rate (AMBR) for the uplink (subscriber to network) and the downlink (network to subscriber) traffic.

  • arp preempt-cap preemption_capability : Specifies the preemption capability flag. Options are:

    • MAY_PREEMPT: Bearer may be preempted

    • NOT_PREEMPT: Bearer cannot be preempted

  • arp preempt-vuln preemption_vulnerability : Specifies the preemption vulnerability flag. Options are:

    • PREEMPTABLE: Bearer may be preempted

    • NOT_PREEMPTABLE: Bearer cannot be preempted

  • arp priority-level priority_level : Defines the Allocation and Retention Priority (ARP) for the service data. The default value of priority_level is 8.

  • max data-burst burst_volume : Defines the maximum data burst volume. burst_volume must be an integer value in the range of 1–4095.

  • priority qos_priority : Specifies the 5QI priority level. qos_priority must be an integer value in the range of 1–127.

  • qi5 5qi_value : Specifies the 5G QoS Identifier (5QI) for the authorized QoS parameters. 5qi_value must be an integer value in the range of 0–255.

Verifying the Static PCC Rules Support Feature Configuration

This section describes how to verify the Static PCC Rules Support configuration.

Use the following show command to verify the feature configuration details.

show full-configuration

The following is an example of this show command output.


active-charging service acs 
charging-action ca1 
  arp priority-level 15 preempt-cap MAY_PREEMPT preempt-vuln PREEMPTABLE 
  cca charging credit preemptively-request 
  content-id 320001 
  flow limit-for-bandwidth direction uplink peak-data-rate 1000000 peak-burst-size 1000000 violate-action discard committedDataRate 2000000 committed-burst-size 2000000 exceed-action lower-ip-precedence 
  nexthop-forwarding-address fa00:965a:c263:25::16/128 
  qos-class-identifier 9 
  service-identifier 32000 
  tft packet-filter pf1 
  tft-notify-ue 
  tos af11 downlink 
rulebase rb1 
  cca quota time-duration algorithm parking-meter 1000 content-id 18000 
  credit-control-group cg1 
  dynamic-rule order first-if-tied 
  egcdr threshold volume total 400000 
  tcp packets-out-of-order transmit immediately 
  action priority 95 timedef ruledef rd6 charging-action ca6 description ruledef 
  action priority 96 ruledef rd3 charging-action ca5 
  action priority 97 group-of-ruledefs grd3 charging-action ca4 monitoring-key 200000 
  action priority 98 static-and-dynamic group-of-ruledefs grd2 charging-action ca2 
  action priority 99 dynamic-only ruledef rd1 charging-action ca1 monitoring-key 100000 
  action priority 100 dynamic-only group-of-ruledefs grd1 charging-action ca1 monitoring-key 100000 description gruledefs 
  route priority 1 ruledef rd1 analyzer dns description dns 
exit 
packet-filter pk1 
  direction uplink 
  ip local-port = 23 
  ip protocol = 23 
  ip remote-address = 10.10.10.0/24 
  ip remote-port = 23 
  ip tos-traffic-class = 23 mask = 10 
  priority  4 
exit 
ruledef prepaidBgl 
  multi-line-or all-lines 
  rule-application charging 
  ip any-match = TRUE 
  ip server-ip-address range host-pool 12 
  ip dst-address = 10.10.10.10 
exit 
urr-list urrlocal 
  rating-group 1 service-identifier 1 urr-id 2 
  rating-group 1 service-identifier 3 urr-id 2 
exit 
exit 

Use the following show command to verify the group-of-ruledefs configuration details.

show running-config

The following is an example of this show command output.


show running-config 
profile network-element pcf pcf1 
rulebase-prefix   rbn 
predefined-rule-prefix cbr 
! 
active-charging service acs1 
group-of-ruledefs IPV6-whtlst-https_2300 
  add-ruledef priority 1 ruledef IPV6-whtlst-https_2300_01 
  add-ruledef priority 2 ruledef IPV6-whtlst-https_2300_02 
  add-ruledef priority 3 ruledef IPV6-whtlst-https_2300_03 
  add-ruledef priority 4 ruledef IPV6-whtlst-https_2300_04 
  add-ruledef priority 5 ruledef IPV6-whtlst-https_2300_05 
  add-ruledef priority 6 ruledef IPV6-whtlst-https_2300_06 
  add-ruledef priority 7 ruledef IPV6-whtlst-https_2300_07 
  add-ruledef priority 8 ruledef IPV6-whtlst-https_2300_08 
  add-ruledef priority 9 ruledef IPV6-whtlst-https_2300_09 
  add-ruledef priority 10 ruledef IPV6-whtlst-https_2300_10 
  add-ruledef priority 11 ruledef IPV6-2dns-whtlst-https_2300_01 
  add-ruledef priority 12 ruledef IPV6-2dns-whtlst-https_2300_02 
  add-ruledef priority 13 ruledef IPV6-2dns-whtlst-https_2300_03 
exit 
group-of-ruledefs rdg1 
  add-ruledef priority 10 ruledef rd2 
  add-ruledef priority 12 ruledef rd1 
exit 
exit 

Predefined PCC Rules

Feature Description

Most of the concepts applicable for static rules also apply for predefined rules. The configuration set, mechanism for QoS binding and pre-constructed QoS model remain the same.


Important

Predefined PCC Rules are applicable to both 4G and 5G calls.


Predefined Rules vs Static Rules

This section lists the differences between the predefined and static rules.

  • Predefined rule is identified by the dynamic-only keyword in the action priority associated with a ruledef under rulebase configuration.

  • Predefined rules are not activated automatically but are enabled or disabled by PCF on a per rule basis. The PCF sends a PCC rule with the ruledef name alone or ruledef and rulebase names together as the rule ID to activate the predefined rule and sends the PCC rule map with null entry for the ruledef previously activated to deactivate a predefined rule.

  • The QoS binding and modelling is not done for predefined rules at the time of configuration unlike the static rule. Instead during PDU session activation/modification the ECS configuration of activated ruledefs are considered to create or change the QoS model applicable for the session.

  • On N4 interface, one PDR and corresponding FAR per ruledef activated by the PCF is sent to the UPF with ruledef name in the Activate predefined Rule IE and rulebase name is sent in Rulebase IE in default PDR. On rule removal, the corresponding PDR is removed.


Note

The PCF sends the predefined rules, and activates these rules only if the UPF APN is configured with "rulebase" name. Otherwise, the PCF must send the rule name along with the "rulebase" name.


Combined Application of Static, Predefined, and Dynamic Rules

All three static, predefined, and dynamic rules can coexist for a session. In such a case:

  • Pre-constructed QoS model is prepared only for static rules. During PDU session activation/modification, any dynamic and predefined rules are evaluated to modify the QoS model and accordingly modifications are done on N1, N2, and N4 interfaces.

  • If the rating-group and service ID for a dynamic rule are the same as that of a configured predefined and static rule, then the URR ID for the static and predefined rule is retained even for the dynamic rule.

Support for Configuring the Bandwidth ID

Feature Description

The SMF expects the user to configure the bandwidth limitation, for both downlink and uplink packets, in all charging actions, even if the bandwidth limitation configuration is the same for all the charging actions.

To optimise these configurations, the SMF allows the user to define a bandwidth ID to include all bandwidth related configurations and associate the bandwidth ID under the charging actions.

If the bandwidth value is changed, the new subscribers use the configured bandwidth values while the existing subscribers continue to use the old values.

Limitations

The SMF allows up to 64 k flow ID configurations within the bandwidth-policy.

Configuring Bandwidth ID

Use the following configuration to define the bandwidth ID within the charging action.

configure 
   active-charging service service_name 
      bandwidth-policy policy_name 
      flow limit-for-bandwidth id bandwidth_id group-id group_id 
      group-id group_id direction { downlink | uplink } peak-data-rate peak_data_rate peak-burst-size peak_burst_size violate-action { discard | lower-ip-precedence } [ committed-data-rate committed_data_rate committed-burst-size committed_burst_size [ exceed-action { discard | lower-ip-precedence } ] ] 
      exit 
   active-charging service service_name 
   charging-action charging_action_name 
      flow limit-for-bandwidth bandwidth_id 
      end 
  • flow limit-for-bandwidth id bandwidth_id : Defines a bandwidth ID to include all the bandwidth related configurations within the charging action for predefined and static rules.

    bandwidth_id is an integer ranging from 1 to 65535.

  • group-id group_id : This command specifies the group ID as an integer ranging from 1 to 65535.

    The group ID identifies the QoS parameters such as MBR, GBR, and so on. Each group ID is mapped to a particular bandwidth ID.

  • If the bandwidth ID is configured and the individual uplink and downlink limit-for-bandwidth are also configured in the charging actions, then the bandwidth ID configuration takes the precedence.

Verifying Bandwidth ID Configuration

Use the following show command to verify the bandwidth ID configuration.

show config-error 

This show command helps in identifying any invalid configurations such as the configured bandwidth ID being removed but still defined in the charging action. For such invalid configurations, this show command displays appropriate errors as shown in the following example output:

show-config-error 

ERROR COMPONENT      ERROR DESCRIPTION
--------------------------------------------------------------------------------------------------
RuleBase        Default bandwidth policy does not exist in rulebase <rba1> for charging action <ca1> .Dropping ruleDef <rda1>
RuleBase        Default bandwidth policy does not exist in rulebase <rba6> for charging action <ca1>.Dropping ruleDef <rda60>
RuleBase        Default bandwidth policy does not exist in rulebase <rba6> for charging action <ca1>.Dropping ruleDef <rda61>
ChargingAction  Packet filter <pkt1234> configured for charging action <ca4> associated with rulebase <rb1> does not exist
BandWidthPolicy Uplink peak data rate less than commited data rate in charging action <ca6>Dropping ruleDef <rd6>

 

Generating UE Camping Report for PCF

Feature Description

PCF needs to be aware of UE location, RAT type, access type, and other details to provision relevant policies during the PDU session life cycle. To facilitate this, during PCF initiated policy update procedure, the SMF sends "UeCampingRep" attribute in the response message based on the triggers enabled by PCF.

The SMF sends the UeCampingRep to PCF as per the Table 5.5.2.2-2 defined in 3GPP specification 29.512. When validation of all the PCF provided rules succeed, the SMF sends the UeCampingRep in the update response message to the PCF.

If validation of any of the rules fail, then the SMF sends the ueCampingRep in “PartialSuccessReport” as defined in 4.2.3.2 section of 3GPP specification 29.512.

The fields in the "UeCampingRep" IE are populated based on the following triggers set by PCF.

  • Access type (AC_TY_CH)

  • RAT change (RAT_TY_CH)

  • User location change (SAREA_CH)

  • PLMN Change (PLMN_CH)

The SMF supports the following attributes:

  • accessType

  • ratType

  • servingNetwork

  • userLocationInfo


Important

The SMF currently does not support the ueTimeZone attribute.