Policy — Policy Control in the 5GC (PCF)¶
Learning objectives¶
After reading this chapter, you will be able to:
- Explain that the PCF (Policy Control Function) is the center of policy control in the 5GC, and that it decides QoS, charging, traffic, access & mobility, and URSP.
- Diagram that the PCF's output is a PCC Rule (Policy and Charging Control Rule), distributed to the SMF over N7.
- Explain the flow in which the AF (Application Function) issues a QoS request to the PCF over N5, and a PCC Rule is generated.
- Explain that the URSP (UE Route Selection Policy) is the mechanism that distributes to the UE "which app to carry on which slice/DNN/PDU Session."
- Explain the evolution from 4G's PCRF/Gx to 5G policy control.
Prerequisites¶
It will go more smoothly if you understand the following first.
- PDU Session (PDU Session Establishment) — policy is applied mainly per PDU Session
- QoS (the 5G QoS model) — a PCC Rule decides the QoS Flow (5QI/QoS). For the general explanation of 5QI and QoS Flow, see here
- Supplementary: PCF (details of the policy NF) / SMF (the target of PCC Rule application) / N7 (details of the PCF⇔SMF reference point)
The focus of this chapter
The details of the PCF NF itself are on the PCF page, the message details of the N7 reference point are on the N7 page, N5 is on the N5 page, and N36 is on the N36 page. Building on those, this chapter focuses on "how the policy control procedure flows through the 5GC as a whole." The general explanation of QoS/5QI is delegated to the QoS page.
Why — why policy control is needed¶
An operator cannot treat all traffic uniformly. Decisions such as the following are required.
- Give voice calls low-latency quality, video wide bandwidth, and background updates the bare minimum (QoS control).
- Decide which traffic to charge and how (charging control: Rating Group assignment).
- Block or rate-limit specific services according to the contract (traffic control: gating / rate limiting).
- Decide which app to carry on which slice/destination (URSP).
A role is needed to decide these consistently, per subscriber and per service. In the 5GC, the PCF (Policy Control Function) takes this central role.
Analogy: The PCF is the "rule-maker of traffic control." Looking at the subscriber's contract (policy data) and the app's request (AF request), it decides which vehicle (traffic) uses which lane (QoS/slice), where to collect tolls (charging), and where to close the road (gate), and hands the on-site officer (SMF) an instruction sheet (PCC Rule).
What — what the PCF decides, PCC Rules, and URSP¶
The areas the PCF controls are broadly as follows.
| Control area | What it decides | Applied to |
|---|---|---|
| QoS control | Which 5QI/QoS to give which traffic | SMF → QoS Flow establishment |
| Charging control | Which Rating Group to charge which traffic under | SMF → UPF metering |
| Traffic control | Gating (pass/block), rate limiting | SMF → UPF gate configuration |
| Access & mobility control | RFSP, etc. (preferred frequency selection, etc.) | AMF |
| URSP | Which app to carry on which slice/DNN/PDU Session | UE |
The outputs of QoS, charging, and traffic control take, collectively, the form of a PCC Rule (Policy and Charging Control Rule). A single PCC Rule contains "the target traffic (flow description) + the QoS to give (5QI) + the Rating Group + gate/bandwidth," and the PCF distributes it to the SMF over N7. The SMF reflects this into QoS Flow establishment and UPF metering/gate configuration.
What a PCC Rule is
Policy and Charging Control Rule. It is the "how to handle one piece of traffic" instruction sheet that the PCF generates and distributes to the SMF. It holds, in one set, the flow identification (what traffic it is) and the QoS (5QI), charging (Rating Group), and gate/bandwidth to give it. The definition is in TS 23.503.
URSP (UE Route Selection Policy)¶
URSP is the "traffic-sorting rule" on the UE side. It decides which slice (S-NSSAI)/DNN/PDU Session to carry the traffic of each app on the UE. The PCF generates the URSP from subscriber and operator policy and distributes it to the UE (TS 23.503).
This lets the UE itself perform sorting such as "business apps on slice A, video on slice B." For the general explanation of slices, see Network Slicing.
The difference in direction between PCC Rules and URSP
A PCC Rule is an instruction to the network side (SMF/UPF) (downstream over N7). URSP is an instruction to the UE side (distributed to the UE). Both are generated by the PCF, but the party they act on differs.
The diagram below shows how two kinds of policy generated by the same PCF are distributed in opposite directions. The PCC Rule goes to the network side (SMF→UPF/NG-RAN), and the URSP goes to the terminal side (UE).
flowchart LR
subgraph NWside["Acts on the network side"]
SMF["SMF/UPF/NG-RAN
(enforces QoS/charging/gate)"]
end
PCF["PCF
center of policy generation"]
subgraph UEside["Acts on the UE side"]
UE["UE
(app→slice/DNN/
PDU Session sorting)"]
end
PCF -->|"PCC Rule (downstream over N7)
what to handle, with which QoS/charging/gate"| SMF
PCF -->|"URSP (distributed to the UE)
which app to carry where"| UE
classDef pcf fill:#fde,stroke:#c69,stroke-width:2px;
classDef nw fill:#eef,stroke:#66a;
classDef ue fill:#efe,stroke:#3a3;
class PCF pcf;
class SMF nw;
class UE ue;
How to read the diagram
The central PCF generates two kinds of policy and distributes them in opposite directions, left and right. The PCC Rule on the left is an instruction for "how the network side handles that traffic (QoS/charging/gate)"; it goes downstream over N7 to the SMF, and the SMF reflects it onto the UPF/NG-RAN. The URSP on the right is an instruction for "which app on the UE to carry on which slice/DNN/PDU Session"; the UE itself uses it. The key point is that even though both originate from the same PCF, the party they act on (network side vs. UE side) is opposite.
How — where policy takes effect (Architecture)¶
The PCF retrieves subscriber policy data from the UDR (via N36), receives service requests from the AF over N5, and distributes PCC Rules to the SMF over N7. The Session Binding information (which PCF handles which PDU Session) is held by the BSF.
graph LR
AF[AF
e.g. P-CSCF] -->|N5 QoS request| PCF[PCF
center of policy control]
UDR[UDR
policy data] -->|N36| PCF
PCF -->|N7 PCC Rule| SMF[SMF]
PCF -.->|Session Binding registration| BSF[BSF]
PCF -->|URSP| UE[UE]
SMF -->|N4 gate/metering| UPF[UPF]
SMF -->|QoS Flow establishment| RAN[NG-RAN]
The role of each Network Function¶
| NF | Role in policy control |
|---|---|
| PCF | The center of policy control. Generates PCC Rules/URSP from subscriber data and AF requests. Details in PCF |
| SMF | The main target of PCC Rule application. Establishes QoS Flows and sets gate/metering rules on the UPF |
| AF | Requests QoS, etc. from the application side (N5). E.g. IMS's P-CSCF |
| UDR | The store of subscriber policy data. The PCF retrieves it over N36. Details in UDR |
| BSF | Holds Session Binding information (which PCF is in charge). Details in BSF |
Main interfaces¶
| Interface | Segment | Role |
|---|---|---|
| N7 (Npcf) | PCF ⇔ SMF | PCC Rule distribution. Npcf_SMPolicyControl (TS 29.512). Details in N7 |
| N5 (Npcf) | AF ⇔ PCF | AF-originated policy request. Npcf_PolicyAuthorization. Details in N5 |
| N36 (Nudr) | PCF ⇔ UDR | Retrieval of subscriber policy data. Details in N36 |
| N15 (Npcf) | AMF ⇔ PCF | Access & mobility policy (RFSP, etc.) |
External AFs go via the NEF (N33)
A trusted internal AF (e.g. IMS's P-CSCF) can request directly to the PCF over N5, but external/third-party AFs issue policy requests via the NEF (N33). This is to control the exposure of the boundary.
Procedure — the Call Flow of policy application¶
(A) Policy application at PDU Session establishment (SMF-originated)¶
The flow in which, behind PDU Session establishment, the SMF requests policy from the PCF and receives a PCC Rule.
sequenceDiagram
participant SMF
participant PCF
participant UDR
participant UPF
Note over SMF,PCF: Part of PDU Session establishment
SMF->>PCF: N7 Npcf_SMPolicyControl_Create
(presents subscriber/DNN/S-NSSAI, etc.)
PCF->>UDR: N36 retrieve policy data
UDR-->>PCF: subscriber policy
PCF->>PCF: generate PCC Rule
(5QI/Rating Group/gate)
PCF-->>SMF: N7 return PCC Rule
SMF->>SMF: decide QoS Flow
SMF->>UPF: N4 set gate/metering (URR)
Note over SMF: reflected into QoS Flow establishment
(B) AF-originated QoS request (N5)¶
The flow in which an AF (e.g. IMS's P-CSCF) requests the QoS of a specific service such as voice from the network. This is also behind the voice QoS establishment of VoNR.
sequenceDiagram
participant AF
participant PCF
participant SMF
participant UPF
AF->>PCF: N5 Npcf_PolicyAuthorization_Create
(media info, requested QoS)
PCF->>PCF: generate/update PCC Rule
PCF->>SMF: N7 Npcf_SMPolicyControl_Update
(distribute PCC Rule)
SMF->>SMF: establish dedicated QoS Flow
SMF->>UPF: N4 set gate/metering
SMF-->>PCF: response
PCF-->>AF: N5 response (approval)
Signal Flow (main messages)¶
| # | Message | Segment | Meaning |
|---|---|---|---|
| 1 | Npcf_SMPolicyControl_Create | SMF→PCF | Policy request at PDU Session establishment |
| 2 | Nudr data retrieval | PCF→UDR | Retrieval of subscriber policy data (N36) |
| 3 | (response) PCC Rule | PCF→SMF | Returns the generated PCC Rule |
| 4 | Npcf_PolicyAuthorization_Create | AF→PCF | AF-originated QoS request (N5) |
| 5 | Npcf_SMPolicyControl_Update | PCF→SMF | Distributes the PCC Rule reflecting the AF request |
| 6 | (URSP distribution) | PCF→UE | Distributes the route selection policy to the UE |
An AF request does not necessarily pass as-is
An AF's QoS request is a "request," and the PCF approves/modifies/rejects it in light of subscriber policy and operator policy. Note that the requested QoS is not always granted (implementation/policy dependent).
Comparison with EPC (4G)¶
| Aspect | 4G EPC | 5GC |
|---|---|---|
| Policy control NF | PCRF (Policy and Charging Rules Function) | PCF |
| Distribution to SMF/PGW | Gx reference point | N7 (Npcf_SMPolicyControl) |
| AF-originated QoS request | Rx reference point | N5 (Npcf_PolicyAuthorization) |
| Subscriber data retrieval | SPR/UDR | UDR (N36) |
| Output rule | PCC Rule | PCC Rule (the framework is inherited) |
| Protocol | Diameter (Gx/Rx) | SBI (HTTP/2, Npcf) |
| UE-facing route selection | (limited: ANDSF, etc.) | URSP |
The 5G changes are that the name/structure changed from PCRF→PCF and it went SBI (HTTP/2), and that URSP made it possible to control UE-side traffic sorting. The PCC Rule framework itself is inherited from 4G.
Release differences¶
| Release | Changes |
|---|---|
| Rel-15 | PCF introduced. The PCC framework (TS 23.503). Npcf_SMPolicyControl (TS 29.512), URSP |
| Rel-16 onward | Slice-related policy, expansion of URSP, enhancement of AF influence (Traffic Steering), etc. |
Granularity of section numbers
The PCF/PCC framework is defined in TS 23.503, N7's Npcf_SMPolicyControl in TS 29.512, and URSP in TS 23.503. These TS numbers are certain, but the fine section numbers within each TS differ by version, so for precise citation they are to be confirmed.
Trouble Shooting¶
| Symptom | Suspected area | Check points |
|---|---|---|
| A QoS Flow is not established as expected | The 5QI/QoS of the PCC Rule | The 5QI of the PCC Rule the PCF returned. For QoS in general, see QoS |
| The AF's QoS request is not reflected | N5 PolicyAuthorization | Whether the PCF approved the AF request, and whether it was distributed to the SMF over N7 |
| A specific app rides the wrong slice | URSP | The sorting rule of the URSP distributed to the UE |
| Policy does not take effect per subscriber | The UDR's policy data | Whether the PCF can retrieve the correct subscriber data over N36 |
| Charging classification is wrong | The Rating Group of the PCC Rule | Rating Group assignment. For charging details, see Charging |
3GPP Specification¶
| Spec | Content |
|---|---|
| TS 23.503 | Policy and charging control framework (the PCC framework, URSP) |
| TS 29.512 | Session Management Policy Control Service (N7 Npcf_SMPolicyControl) |
| TS 23.501 | System architecture (the standardized 5QI values are defined in §5.7.4) |
The scope of what can be asserted about 5QI
Of the standardized 5QIs, what can be asserted is 5QI=1 (conversational voice, GBR) and 5QI=5 (IMS signaling, Non-GBR) (TS 23.501 §5.7.4). Other 5QI values are treated as to be confirmed in this chapter. For details, see QoS.
FAQ¶
Q. How do the PCF and SMF divide their roles?
The PCF decides "what should be done (policy/PCC Rule)," and the SMF handles "how to realize it (QoS Flow establishment, UPF configuration)." The PCF is the decider, the SMF is the executor.
Q. Does an AF's QoS request always pass?
No. An AF's request is only a request; the PCF approves/modifies/rejects it in light of subscriber policy and operator policy. Only when approved is it distributed to the SMF as a PCC Rule.
Q. What is the difference between URSP and a PCC Rule?
Both are generated by the PCF, but URSP is a sorting rule on the UE side (which app to carry on which slice/PDU Session), while a PCC Rule is an instruction to the network side (SMF/UPF) (QoS/charging/gate). The party they act on differs.
Summary¶
- The PCF is the center of policy control in the 5GC. It decides QoS, charging, traffic, access & mobility, and URSP.
- The output is a PCC Rule (flow + 5QI + Rating Group + gate/bandwidth). It is distributed to the SMF over N7 (Npcf_SMPolicyControl).
- The AF issues a QoS request over N5 (Npcf_PolicyAuthorization) → the PCF generates a PCC Rule → over N7 to the SMF. This is behind VoNR's voice QoS.
- URSP is the route selection policy distributed to the UE (which app to carry on which slice/DNN/PDU Session).
- The PCF retrieves subscriber policy from the UDR (N36), and Session Binding information is held by the BSF.
- It evolved from 4G's PCRF/Gx/Rx to going SBI and adding URSP.
Comprehension check¶
Q1. What does the PCF's output, the 'PCC Rule,' contain, and over which interface is it distributed to whom?
A PCC Rule contains, in one set, the target traffic (flow description) + the QoS to give (5QI) + the Rating Group + gate/bandwidth. It is distributed over N7 (Npcf_SMPolicyControl) to the SMF, and the SMF reflects it into QoS Flow establishment and UPF metering/gate configuration.
Q2. Which interface does an AF-originated QoS request use, and how does it then connect to a PCC Rule?
The AF issues a QoS request to the PCF over N5 (Npcf_PolicyAuthorization). When the PCF approves it, it generates/updates a PCC Rule and distributes it to the SMF over N7 to establish a dedicated QoS Flow. This is also behind VoNR's voice QoS establishment.
Q3. What does URSP decide, and how does its direction differ from a PCC Rule?
URSP is a rule distributed to the UE for which slice/DNN/PDU Session to carry the traffic of each app on the UE. Whereas a PCC Rule is a downstream instruction to the network side (SMF/UPF), URSP is an instruction to the UE side, so the direction differs. Both are generated by the PCF.
Next Step¶
- On to Charging, which is closely linked with policy
- For the details of the policy NF, on to PCF; for the reference point details, N7
- Learn Network Slicing, the destination URSP sorts to