Skip to content

GFBR / MFBR / Session-AMBR / UE-AMBR / ARP — Bandwidth, Priority and the "Which Priority?" Problem

Difficulty: Advanced (deep dive) / Estimated study time: 35 min / Prerequisites: QoS Flow / QFI / 5QI, QoS, PFCP and PDR / FAR / QER / URR / Main actors: PCF, SMF, AMF, gNB, UPF, UE / Main interfaces: N7, N4, N2, N1

Learning objectives

After reading this chapter, you will be able to:

  • Explain that GFBR / MFBR are parameters of GBR QoS Flows only, and that Non-GBR bandwidth is controlled by Session-AMBR / UE-AMBR
  • Explain the difference between Session-AMBR and UE-AMBR in scope (PDU Session / UE) and enforcement point (UE / NG-RAN / UPF)
  • Explain that a 5QI is not a bandwidth value, and that bandwidth is carried separately by GFBR / MFBR / AMBR
  • Explain that the three elements of ARP (Priority Level / Pre-emption Capability / Pre-emption Vulnerability) are for admission / pre-emption and, per 3GPP, do not represent a packet scheduling priority (treatment in transport DSCP or RAN implementations is a separate matter)
  • When you see "Priority" in a trace or log, identify whether it is ARP / 5QI / Precedence / Paging / vendor-internal
  • Isolate "low throughput," "a GBR Flow cannot be created" and "high ARP but still slow" per parameter and per interface

Prerequisites

The focus of this chapter (Level ∞ Deep Dive)

QoS summarized "GBR is the floor, AMBR is the ceiling." This chapter digs into at what granularity that floor and ceiling apply, from which NF, in which IE on which interface they are carried, and who enforces them. It also sorts out the most common source of confusion in the field: "Priority = 1 — which priority?"


Why — "decide the 5QI and the QoS is decided" is not true

If a QoS design meeting only decides "voice uses 5QI=1," the following questions remain unanswered:

  • How many kbps are guaranteed for that voice Flow?
  • How far beyond the guarantee may it go?
  • When the radio is busy and a new voice Flow cannot be admitted, may an existing Flow be evicted?
  • How much may Non-GBR Internet traffic use across the whole PDU Session, and across the whole UE?

A 5QI is a number that indicates "which QoS characteristics"; it carries neither a bandwidth value nor a priority for admission or eviction. Separate parameters (GFBR / MFBR / Session-AMBR / UE-AMBR / ARP) take care of those (TS 23.501 §5.7.2).

Analogy: The 5QI is the "seat class (reserved / unreserved)," GFBR is the "number of seats already reserved," MFBR is the "maximum number of seats that group may use," Session-AMBR / UE-AMBR is the "cap on how many people may sit in unreserved seats (per group / per family)," and ARP is the rule for "when the train is full, may someone be asked to get off to let a later group board (and is this group one that can be asked to get off)?" The role of ARP in the specifications is not to decide "how fast the train runs."


What — the overall picture of the parameters

Resource Types and the parameters they have

There are three Resource Types for a QoS Flow: GBR / Delay-critical GBR / Non-GBR (TS 23.501 §5.7.3.2). Which bandwidth parameters a Flow has depends on this classification.

Parameter Granularity GBR / Delay-critical GBR Non-GBR Specified in
5QI QoS Flow Yes Yes TS 23.501 §5.7.2.1
ARP QoS Flow Yes Yes TS 23.501 §5.7.2.2
GFBR (UL / DL) QoS Flow Yes No TS 23.501 §5.7.2.5
MFBR (UL / DL) QoS Flow Yes No TS 23.501 §5.7.2.5
Session-AMBR (UL / DL) PDU Session Not applicable Applies (sum of Non-GBR within the Session) TS 23.501 §5.7.2.6
UE-AMBR (UL / DL) UE Not applicable Applies (sum of Non-GBR across the UE) TS 23.501 §5.7.2.6

Traffic on GBR Flows is outside the AMBR

Session-AMBR / UE-AMBR apply only to Non-GBR QoS Flows (TS 23.501 §5.7.2.6). Traffic on GBR Flows is not counted toward the AMBR; it is handled individually by GFBR / MFBR. Note that "Session-AMBR = total bandwidth of the PDU Session" is not true.

Viewed as a hierarchy

flowchart TD
    UE["UE
UE-AMBR (cap on the Non-GBR sum)"] --> S1["PDU Session A
Session-AMBR"] UE --> S2["PDU Session B
Session-AMBR"] S1 --> F1["QoS Flow (Non-GBR)
5QI / ARP"] S1 --> F2["QoS Flow (Non-GBR)
5QI / ARP"] S1 --> F3["QoS Flow (GBR)
5QI / ARP / GFBR / MFBR"] S2 --> F4["QoS Flow (Non-GBR)
5QI / ARP"]
  • The sum F1 + F2 is constrained by Session A's Session-AMBR, and the sum F1 + F2 + F4 by the UE-AMBR.
  • F3 (GBR) is counted toward neither AMBR; it is handled by its own GFBR / MFBR.

What — GFBR / MFBR (GBR QoS Flows only)

TS 23.501 §5.7.2.5 defines GFBR (UL / DL) and MFBR (UL / DL) as additional parameters that only GBR QoS Flows have.

Parameter Meaning
GFBR (Guaranteed Flow Bit Rate) The bit rate that the network guarantees to provide to the QoS Flow, averaged over the Averaging Window (TS 23.501 §5.7.3.6)
MFBR (Maximum Flow Bit Rate) The highest bit rate expected by the QoS Flow. Excess traffic may be discarded or delayed by rate control (shaping / policing) at the UE / RAN / UPF
Bit Rate
  ▲
  │  ─────────────  MFBR  … anything above this is subject to rate control
  │       ↑
  │       │  GFBR to MFBR: flows if there is room
  │       │  (sharing among QoS Flows is decided by the 5QI Priority Level)
  │  ─────────────  GFBR  … guaranteed by the network
  │       ↑ guaranteed range
  └───────────────────────────►

Sharing between GFBR and MFBR is decided by the 5QI Priority Level, not ARP

TS 23.501 §5.7.2.5 states that bit rates above the GFBR and up to the MFBR may be provided with a relative priority determined by the Priority Level of the QoS Flows (§5.7.3.3). The Priority Level here belongs to the 5QI's QoS characteristics, not to ARP.

  • "GFBR = 5 Mbps" does not mean "no more than 5 Mbps." The cap is the MFBR.
  • Conversely, "GFBR = 5 Mbps" does not mean "the user can always measure 5 Mbps." The guarantee is an average over the Averaging Window, and nothing flows if the application sends nothing. A separate mechanism (Notification Control, TS 23.501 §5.7.2.4) exists for notifying when the GFBR can no longer be maintained, e.g. because radio conditions deteriorate.
  • UL and DL can be set independently.

What — Session-AMBR and UE-AMBR (caps for Non-GBR groups)

Session-AMBR

Session-AMBR is the cap on the bit rate that can be expected for the sum of all Non-GBR QoS Flows of a PDU Session (TS 23.501 §5.7.2.6).

PDU Session 10 (Session-AMBR DL = 100 Mbps)
├─ QFI 1  Non-GBR   40 Mbps ┐
├─ QFI 2  Non-GBR   30 Mbps ├─ the cap is reached at 100 Mbps in total
├─ QFI 3  Non-GBR   30 Mbps ┘
└─ QFI 4  GBR       managed separately by GFBR/MFBR (not counted toward Session-AMBR)
  • Each QFI does not get 100 Mbps. It is a cap on the aggregate.
  • Where the value comes from: the SMF either uses the subscribed Session-AMBR from the UDM (N10, SM subscription data via Nudm_SDM) as is, modifies it based on local policy, or uses the authorized Session-AMBR from the PCF (N7) (TS 23.501 §5.7.2.6).
  • The SMF signals the decided Session-AMBR to the UPF, the UE and the (R)AN. It is signalled to the (R)AN so that the (R)AN can calculate the UE-AMBR, described below (same clause).

UE-AMBR

UE-AMBR is the cap on the bit rate that can be expected for the sum of all Non-GBR QoS Flows of all PDU Sessions of a UE (TS 23.501 §5.7.2.6).

  • Where the value comes from: the AMF provides it to the (R)AN based on the subscribed UE-AMBR from the UDM (N8, Access and Mobility Subscription data) or a serving-network UE-AMBR obtained from the PCF (e.g. for roaming subscribers; the Release in which it was introduced is to be confirmed). The UE-AMBR is provided by the AMF to the (R)AN, and the SMF does not handle it (TS 23.501 §5.7.2.6).
  • The (R)AN sets its UE-AMBR to the smaller of "the sum of the Session-AMBRs of all PDU Sessions with an active user plane at that (R)AN" and "the received UE-AMBR" (TS 23.501 §5.7.2.6).
Example: received UE-AMBR = 300 Mbps
         active PDU Sessions: Session-AMBR 100 Mbps + 50 Mbps = 150 Mbps
         → UE-AMBR actually used by the (R)AN = min(150, 300) = 150 Mbps

MFBR and AMBR are not \"the same maximum speed\"

MFBR is the cap for one GBR QoS Flow, Session-AMBR is the cap for the Non-GBR group within a PDU Session, and UE-AMBR is the cap for the Non-GBR group within a UE. They share the word "Maximum," but they are designed so that their targets do not overlap. There is also an MBR per PCC Rule (SDF), which is enforced in the UPF (TS 23.501 §5.7.1.8 / TS 23.503 §6.3.1, to be confirmed).


What — differences in enforcement point (UE / RAN / UPF)

"Who actually limits the rate" differs per parameter. The following summarizes TS 23.501 §5.7.1.8 (AMBR / MFBR enforcement and rate limitation; the sub-clause number is to be confirmed) and §5.7.2.6.

flowchart LR
    UE["UE
UL: rate limitation
with Session-AMBR"] -- "Uu" --> RAN["NG-RAN
UL/DL: UE-AMBR
GFBR assurance and MFBR for GBR Flows"] RAN -- "N3" --> UPF["UPF
Session-AMBR (QER)
MFBR / per-SDF MBR (QER)"] UPF -- "N6" --> DN["DN"]

The MFBR enforcement points in the diagram are to be confirmed, as shown in the table below.

Parameter UE NG-RAN UPF Main reference
Session-AMBR UL rate limitation (if received) Used to calculate the UE-AMBR Enforcement (DL in each UPF terminating N6; the UL split in UL CL / BP configurations is to be confirmed) TS 23.501 §5.7.1.8 / §5.7.2.6
UE-AMBR — UL / DL enforcement — TS 23.501 §5.7.1.8 / §5.7.2.6
GFBR Receives the value in the QoS flow description Secured by admission control and radio scheduling A GBR can be set in the QER (handling in the UPF is implementation dependent) TS 23.501 §5.7.2.5
MFBR UL rate limitation (to be confirmed) UL / DL enforcement (to be confirmed) DL enforcement (QER MBR, to be confirmed) TS 23.501 §5.7.1.8 (to be confirmed)

The UE-AMBR is invisible to the UPF

The UE-AMBR is a parameter passed from the AMF to the (R)AN and does not appear in a PFCP QER. When "the UPF's QERs are correct but throughput is capped per UE," check the UE Aggregate Maximum Bit Rate on the NGAP side and the effective value calculated by the (R)AN.


What — a 5QI is not a bandwidth value

A 5QI points to QoS characteristics such as Resource Type / Priority Level / Packet Delay Budget / Packet Error Rate / Averaging Window / Maximum Data Burst Volume (TS 23.501 §5.7.3; standardized 5QIs are in the table in §5.7.4). No bit rate value is included anywhere.

5QI = X
 ├─ Resource Type        … GBR / Delay-critical GBR / Non-GBR
 ├─ Priority Level       … relative scheduling priority (not ARP)
 ├─ Packet Delay Budget
 ├─ Packet Error Rate
 └─ Averaging Window etc. … GBR types only
      ✕ no bandwidth value → GFBR / MFBR / AMBR carry it separately

For the concrete characteristic values of each 5QI, refer to the table in TS 23.501 §5.7.4 (this chapter does not list the values). The basics of 5QI and QFI are covered in QoS Flow / QFI / 5QI.


What — ARP (Allocation and Retention Priority)

The three elements of ARP (TS 23.501 §5.7.2.2)

Element Values Meaning
Priority Level 1 to 15 (1 is the highest) The relative importance of a resource request. Used to decide whether a new QoS Flow is accepted or rejected under resource limitation (typically admission control of GBR traffic), and which existing QoS Flow to pre-empt
Pre-emption Capability enabled / disabled Whether this Flow may take resources already assigned to a Flow with a lower Priority Level
Pre-emption Vulnerability enabled / disabled Whether this Flow's resources may be taken to admit a Flow with a higher Priority Level

The same clause states that Priority Levels 1 to 8 should only be assigned to services authorized to receive prioritized treatment within the serving network, and 9 to 15 to resources authorized by the home network and thus applicable when the UE is roaming.

flowchart TD
    N["Request for a new QoS Flow
(ARP Priority Level = 2, Capability = enabled)"] --> A{"Does the (R)AN
have spare resources?"} A -- "Yes" --> OK["Admitted (ARP plays almost no role)"] A -- "No" --> B{"Is there an existing Flow
with a lower Priority Level
and Vulnerability = enabled?"} B -- "Yes" --> P["Pre-empt the existing Flow and admit"] B -- "No" --> R["Reject the new Flow
(admission failure)"]

The selection algorithm (which existing Flow to choose, what counts as "resource shortage") is (R)AN implementation dependent.

ARP is not a scheduling priority (its purpose in the specifications)

In 3GPP, the purpose of ARP is the decision to admit / retain / evict a Flow (admission / pre-emption) (TS 23.501 §5.7.2.2). The scheduling priority among QoS Flows is carried by the 5QI Priority Level (§5.7.3.3), and the treatment of packets after admission is decided mainly by the 5QI QoS characteristics (Priority Level, Packet Delay Budget, etc.) and GFBR / MFBR, together with the (R)AN scheduler.

Two caveats apply, however:

  • DSCP marking on the N3 transport network may be based on the 5QI and ARP (TS 23.501 §5.7.1.6 / §5.7.1.7, to be confirmed), so in deployments that use an ARP → DSCP mapping, the treatment in the transport network can change with ARP. The UPF does not receive ARP itself; the SMF decides the DL DSCP value and passes it to the UPF in the PFCP FAR (Transport Level Marking in the Forwarding Parameters) (TS 29.244 §8.2.12, to be confirmed).
  • Whether the (R)AN scheduler refers to ARP is implementation dependent.

A principle stated explicitly in EPC

In 4G, TS 23.401 §4.7.3 explicitly states that ARP should not influence a bearer's packet forwarding treatment (scheduling and rate control) (clause number and wording to be confirmed). 5G ARP follows the same idea: TS 23.501 §5.7.2.2 defines ARP as input for admission / pre-emption decisions.

ARP is not sent to the UE

ARP is used mainly for (R)AN admission / pre-emption and as a binding parameter when the SMF binds PCC Rules to a QoS Flow (TS 23.501 §5.7.1.5 / TS 23.503 §6.1.3.2.4, to be confirmed). It is included in the NGAP QoS Flow Level QoS Parameters, but not in the NAS QoS flow description (to the UE) nor in the PFCP QER (to the UPF) (TS 24.501 §9.11.4.12 / TS 29.244 §7.5.2.5, to be confirmed). "There is no ARP in the UE log" is normal.


How — when you see "Priority," which priority is it?

"Priority = 1" alone is not enough information. Before discussing anything, identify at least which of the following it is.

What it is called What it really is Direction of the value What it affects Where it appears Specified in
ARP Priority Level An element of ARP 1 to 15, smaller is higher Admission / pre-emption N7 (arp in the QoS data), N2 (Allocation and Retention Priority) TS 23.501 §5.7.2.2
5QI Priority Level A 5QI QoS characteristic Smaller is higher (range to be confirmed) Scheduling among QoS Flows, sharing between GFBR and MFBR, which Flows' requirements are prioritized under congestion Default value of the 5QI. Appears on N7 / N2 when overridden by signaling TS 23.501 §5.7.3.3
Precedence Evaluation order of PDRs / QoS rules / PCC rules Smaller is evaluated first Which rule is matched (not the strength of QoS) N4 (PDR), N1 (QoS rule), N7 (PCC rule) TS 29.244 §8.2.11, TS 23.501 §5.7.1.9 (to be confirmed)
Paging Priority / Paging Policy Indicator Paging priority and differentiation — Paging priority and distinguishing paging policies N2 (Paging), N4 (PPI in the QER) Under TS 23.501 §5.4.3 (sub-clause to be confirmed)
RAN scheduler internal priority gNB implementation Implementation dependent Actual scheduling gNB logs / counters Implementation dependent
Vendor internal priority / DSCP Core / transport implementation and configuration Implementation dependent Queue selection, DSCP marking on N3 transport Product configuration, DSCP in the IP header Implementation dependent (operational design)

Analogy: ARP is the membership rank that decides "can you get into a full restaurant, or will someone give up their seat," the 5QI Priority Level is "the order in which dishes are served after you sit down," and Precedence is "which reception desk's rule is applied first." A high membership rank does not mean your food arrives sooner.

The 5QI Priority Level can be overridden

Standardized 5QIs have a default Priority Level, but when a Priority Level is signalled together with the 5QI, that value is used instead of the default (TS 23.501 §5.7.3.3, to be confirmed). When "the 5QI is 9 but the Priority Level differs from the table," check whether a Priority Level is carried on N7 / N2.


How — the flow PCF → SMF → RAN / UPF / UE

Call Flow (QoS decision and distribution during PDU Session Establishment)

sequenceDiagram
    participant UDM
    participant AMF
    participant SMF
    participant PCF
    participant UPF
    participant gNB
    participant UE
    Note over AMF,UDM: At Registration: the AMF obtains the subscribed UE-AMBR (N8)
    SMF->>UDM: Nudm_SDM_Get (SM subscription data)
    UDM-->>SMF: subscribed Session-AMBR, default 5QI / ARP
    opt Dynamic PCC
        SMF->>PCF: Npcf_SMPolicyControl_Create
        PCF-->>SMF: SM Policy Decision
(authorized Session-AMBR, default QoS, PCC Rules, QoS data) end Note over SMF: Decide 5QI / ARP / GFBR / MFBR per QoS Flow
Decide the Session-AMBR SMF->>UPF: PFCP Session Establishment
Create QER (Session-AMBR / MFBR / GFBR / QFI) UPF-->>SMF: Response SMF->>AMF: Namf_Communication_N1N2MessageTransfer
N2 SM (PDU Session AMBR, QoS Flow Level QoS Parameters)
N1 SM (Session-AMBR, QoS rules, QoS flow descriptions) AMF->>gNB: PDU Session Resource Setup Request
(UE Aggregate Maximum Bit Rate if needed) Note over gNB: Admission decision using ARP
Calculate the UE-AMBR gNB->>UE: DRB setup via RRC + NAS (PDU Session Establishment Accept) gNB-->>AMF: PDU Session Resource Setup Response

The whole procedure is TS 23.502 §4.3.2.2.1 (UE-requested PDU Session Establishment, non-roaming). For how N1 / N2 / N4 connect, see PDU Session Establishment Deep Dive. GBR Flows are often added after PDU Session establishment by PDU Session Modification (TS 23.502 §4.3.3.2) (e.g. the voice Flow in VoNR). What the PCF decides and how is covered in the next chapter, PCF / SM Policy Association / PCC Rule.

Signal Flow — which IE on which segment carries each parameter

Parameter N7 (PCF→SMF, TS 29.512) N4 (SMF→UPF, TS 29.244) N2 (SMF→AMF→gNB, TS 38.413) N1 (SMF→UE, TS 24.501)
5QI 5QI in the QoS data / default QoS — (not in the QER; only the QFI) 5QI Descriptor in the QoS Flow Level QoS Parameters 5QI in the QoS flow description
ARP ARP in the QoS data / default QoS — Allocation and Retention Priority in the QoS Flow Level QoS Parameters — (not sent)
GFBR GBR (UL / DL) in the QoS data GBR in the QER Guaranteed Flow Bit Rate in the GBR QoS Flow Information GFBR in the QoS flow description
MFBR MBR (UL / DL) in the QoS data MBR in the QER Maximum Flow Bit Rate in the GBR QoS Flow Information MFBR in the QoS flow description
Session-AMBR Authorized Session-AMBR in the Session Rule MBR in the per-Session QER PDU Session Aggregate Maximum Bit Rate Session-AMBR IE
UE-AMBR — (not on N7. PCF → AMF is N15 / Npcf_AMPolicyControl, TS 29.507, to be confirmed) — UE Aggregate Maximum Bit Rate (set by the AMF) —

IE and attribute names are conceptual correspondences; exact names and structures are to be confirmed per TS version. The N7 QoS data types are defined under TS 29.512 §5.6.2, and the common data types (ARP, BitRate, etc.) under TS 29.571 §5 (sub-clause numbers to be confirmed).

In the UPF, QERs express both the AMBR and the MFBR

As seen in PFCP and PDR / FAR / QER / URR, one PDR can reference multiple QERs. The SMF typically uses this to layer a per-QoS-Flow QER and a per-PDU-Session QER. That the MBR of a QER can represent the Session-AMBR / the QoS Flow MBR / the SDF MBR is shown in TS 23.501 §5.8.2.11.4 (QoS Enforcement Rule, to be confirmed).

DL PDR (Non-GBR traffic of QFI 1)
 ├─ QER #10  QFI=1                   ← DL QFI marking
 └─ QER #1   MBR = Session-AMBR      ← shared by all Non-GBR PDRs in the Session

DL PDR (GBR traffic of QFI 4)
 └─ QER #20  QFI=4, MBR=MFBR, GBR=GFBR   ← does not reference the Session-AMBR QER

How QERs are allocated (how shared QERs are built, how per-SDF MBRs are layered) is SMF implementation dependent.

Value representations differ per segment

Segment Representation Note
N7 (JSON) String (e.g. "100 Mbps") String with unit (TS 29.571, to be confirmed)
N4 (PFCP) Integer (kbps) The MBR / GBR IEs are in kbps (TS 29.244 §8.2.8 / §8.2.9, to be confirmed)
N2 (NGAP) Integer (bps) Bit Rate is in bit/s (TS 38.413 §9.3.1.4, to be confirmed)
N1 (NAS) Unit field + value The Session-AMBR IE is a pair of a unit (multiples of 1 kbps, 1 Mbps, etc.) and a value (TS 24.501 §9.11.4.14, to be confirmed)

The same 100 Mbps is displayed as 100000 on N4 and 100000000 on N2. Align the units before comparing.


Packet Analysis (Wireshark)

Display filters

Filter Purpose
ngap All of N2. PDU Session Resource Setup / Modify, Initial Context Setup
pfcp All of N4. Create QER / Update QER
pfcp.msg_type == 50 or pfcp.msg_type == 52 Session Establishment / Modification Request (message type values from TS 29.244 §7.3; the field name is to be confirmed per Wireshark version)
nas-5gs N1. PDU Session Establishment Accept / Modification Command
http2 N7 (contents readable only if TLS can be decrypted)

Each of N7 / N2 / N1 / N4 is only one cross-section of "the moment QoS was decided." The trick is to line up the four segments for the same PDU Session in the same time window.

Decode example (conceptual)

The following is a conceptual representation of the display structure; the values are fictitious (capture needed).

NGAP PDUSessionResourceSetupRequest
 └─ PDUSessionResourceSetupRequestTransfer
     ├─ PDUSessionAggregateMaximumBitRate
     │   ├─ DL: 100000000 bits/s
     │   └─ UL:  50000000 bits/s
     └─ QosFlowSetupRequestList
         ├─ QosFlowSetupRequestItem
         │   ├─ qosFlowIdentifier: 1
         │   └─ qosFlowLevelQosParameters
         │       ├─ qosCharacteristics: nonDynamic5QI (5QI=9)
         │       └─ allocationAndRetentionPriority
         │           ├─ priorityLevelARP: 8
         │           ├─ pre-emptionCapability: shall-not-trigger-pre-emption
         │           └─ pre-emptionVulnerability: pre-emptable
         └─ QosFlowSetupRequestItem
             ├─ qosFlowIdentifier: 4
             └─ qosFlowLevelQosParameters
                 ├─ qosCharacteristics: nonDynamic5QI (5QI=1)
                 ├─ allocationAndRetentionPriority ...
                 └─ gBR-QosInformation
                     ├─ maximumFlowBitRateDL / UL
                     └─ guaranteedFlowBitRateDL / UL
PFCP Session Establishment Request
 ├─ Create QER
 │   ├─ QER ID: 1
 │   ├─ Gate Status: UL=OPEN, DL=OPEN
 │   └─ MBR: UL=50000 kbps, DL=100000 kbps     ← Session-AMBR
 └─ Create QER
     ├─ QER ID: 20
     ├─ Gate Status: UL=OPEN, DL=OPEN
     ├─ MBR: UL=…, DL=…                        ← MFBR
     ├─ GBR: UL=…, DL=…                        ← GFBR
     └─ QFI: 4

Order of checks

flowchart LR
    A["① N7
values authorized by the PCF"] --> B["② N4
QER MBR / GBR"] A --> C["③ N2
AMBR / ARP / GFBR / MFBR"] C --> D["④ N2 Response
any Failed to Setup?"] A --> E["⑤ N1
Session-AMBR / QoS flow description to the UE"]

Check whether the values decided by the PCF (①) reach the UPF (②), the RAN (③) and the UE (⑤) with the same meaning. If a Flow sent in ③ appears in the QoS Flow Failed to Setup List in ④, it was not admitted on the RAN side.


Trouble Shooting

Symptom Likely cause Check point Logs Packets Resolution
Throughput lower than the subscription (Non-GBR) Session-AMBR / UE-AMBR smaller than expected; the PCF authorized a lower value than the subscription data Session-AMBR on N1, PDU Session AMBR and UE AMBR on N2, per-Session QER on N4, authorized value on N7 SMF / AMF / PCF logs nas-5gs / ngap / pfcp / http2 Fix the values in subscription data / PCF policy
One session slows down when multiple PDU Sessions are up The (R)AN limits the whole UE by the UE-AMBR The smaller of the received UE-AMBR and the sum of active Session-AMBRs gNB logs ngap Review the subscribed UE-AMBR / AM Policy
Only a specific application is capped Its traffic is on a GBR Flow and limited by MFBR, or by a per-SDF MBR PDR Precedence and QFI, QER MBR UPF logs pfcp Fix the PCC Rule MBR / Flow assignment
Off by a factor of 10 or 1000 from the configured value Mixing up kbps / bps / Mbps Raw value and unit on each segment Configuration pfcp / ngap Reconfigure with consistent units
A GBR Flow cannot be created (Default Flow succeeds) (R)AN admission failure (resource shortage, low ARP / Pre-emption Capability = disabled), unsupported 5QI, no GFBR / MFBR in the PCC Rule QoS Flow Failed to Setup List and Cause in the N2 Response, QoS data on N7 gNB / SMF logs ngap / http2 Check ARP and GFBR design, radio capacity, 5QI support
A GBR Flow suddenly disappears during a call Pre-empted by a Flow with higher ARP (Vulnerability = enabled); GFBR could not be maintained, this was notified via Notification Control, and the SMF / PCF decided to release the Flow (TS 23.501 §5.7.2.4) Release / Notify and Cause on N2, report from SMF to PCF gNB / SMF / PCF logs ngap / http2 Set Vulnerability = disabled for important Flows; review capacity design
Still slow / high delay even after raising ARP The purpose of ARP in the specifications is admission / pre-emption; scheduling priority after establishment is on the 5QI side 5QI (Priority Level, PDB), GFBR / MFBR, RAN scheduler, DSCP on N3, congestion gNB / transport logs ngap / gtp Review the 5QI and GBR design. Changing ARP is in principle not a way to improve delay after establishment (in deployments using an ARP → DSCP mapping, transport-network treatment can change)
Changing the Session-AMBR has no effect PFCP Update QER or N2 / N1 updates are not being sent All three directions N4 / N2 / N1 in PDU Session Modification SMF logs pfcp / ngap / nas-5gs Confirm updates in all three directions

Isolation order for "throughput is low"

flowchart TD
    S["Throughput lower than expected"] --> T{"Is the traffic on a GBR Flow
or a Non-GBR Flow?"} T -- "GBR" --> G["MFBR / per-SDF MBR
(N2 and QER)"] T -- "Non-GBR" --> U["UE-AMBR
(N2 and the RAN's effective value)"] U --> SA["Session-AMBR
(N1 / N2 / QER)"] G --> Q["QER Gate Status / MBR"] SA --> Q Q --> R["RAN QoS and radio quality"] R --> D["Limits in transport and on the DN side"]

The key is to first establish "which QoS Flow carries this traffic (GBR or Non-GBR)." Looking for the Session-AMBR for traffic on a GBR Flow will not give you an answer. For checking PDR matching and the QFI, see PDR / PDI / F-TEID / SDF Filter / Precedence.


Boundary between 3GPP specifications and vendor implementations

Defined by 3GPP Decided by vendors / operations
Meaning and scope of GFBR / MFBR / Session-AMBR / UE-AMBR / ARP How each value is chosen (mapping to tariff plans, design per 5QI)
Who enforces (UE / RAN / UPF) and the AMBR Averaging Window Rate-control method (token bucket, shaping / policing, queue depth), implementation on ASIC / DPDK
ARP value range and the meaning of pre-emption permissions The RAN's admission control / pre-emption selection algorithm and criteria for resource shortage
5QI QoS characteristics and the meaning of the Priority Level RAN scheduler algorithm, 5QI → DSCP mapping
IEs and encodings on N7 / N4 / N2 / N1 CLIs such as show subscriber qos / show qos statistics, counter names

For example, "which hardware queue in the UPF polices the MFBR, and how" is outside the scope of 3GPP.


Comparison with EPC (4G)

Item 4G EPC 5GC
Unit of guarantee / cap GBR / MBR of an EPS Bearer GFBR / MFBR of a QoS Flow
QoS characteristics QCI 5QI
Cap per Session / APN APN-AMBR (sum over all PDN connections to the same APN) Session-AMBR (per PDU Session)
Cap per UE UE-AMBR (enforced by the eNB; set by the MME from the subscribed value and the sum of APN-AMBRs; TS 23.401 §4.7.3, to be confirmed) UE-AMBR (enforced by the (R)AN; calculated by the (R)AN from the sum of Session-AMBRs and the received value)
ARP Priority Level 1 to 15, Capability / Vulnerability Same structure (TS 23.501 §5.7.2.2)
ARP and forwarding treatment Explicitly stated to have no influence (TS 23.401 §4.7.3, to be confirmed). Treatment of ARP in transport-level marking is to be confirmed Purpose is admission / pre-emption (TS 23.501 §5.7.2.2). Transport-network marking (N3 DSCP may be based on the 5QI and ARP, §5.7.1.6 / §5.7.1.7) is a separate matter (to be confirmed)

The biggest difference is APN-AMBR → Session-AMBR: 4G caps "per APN (multiple PDN connections to the same APN together)," whereas 5G caps "per PDU Session" (the 4G provision is TS 23.401 §4.7.3, to be confirmed).


3GPP Specification

Spec Clause Content
TS 23.501 / TS 23.503 §5.7.1.5 / §6.1.3.2.4 QoS Flow binding (ARP is one of the binding parameters; to be confirmed)
TS 23.501 §5.7.1.6 / §5.7.1.7 DL / UL traffic (including N3 DSCP marking; to be confirmed)
TS 23.501 §5.7.1.8 AMBR / MFBR enforcement and rate limitation (sub-clause number to be confirmed)
TS 23.501 §5.7.1.9 Precedence Value (to be confirmed)
TS 23.501 §5.7.2.1 / §5.7.2.2 5QI / ARP
TS 23.501 §5.7.2.4 / §5.7.2.5 / §5.7.2.6 Notification Control / Flow Bit Rates (GFBR, MFBR) / Aggregate Bit Rates (Session-AMBR, UE-AMBR)
TS 23.501 §5.7.3.2 / §5.7.3.3 / §5.7.3.6 Resource Type / Priority Level / Averaging Window
TS 23.501 §5.7.4 Standardized 5QI to QoS characteristics mapping
TS 23.501 Under §5.4.3 Paging Policy Differentiation and Paging Priority (sub-clause to be confirmed)
TS 23.501 §5.8.2.11.4 QoS Enforcement Rule (the QER MBR represents the Session-AMBR / QoS Flow MBR / SDF MBR; to be confirmed)
TS 23.502 §4.3.2.2.1 / §4.3.3.2 PDU Session Establishment / Modification (non-roaming)
TS 23.503 §6.3 / §6.3.1 / §6.4 PCC Rule / PCC Rule information elements (per-SDF MBR, etc.) / Session Rule (to be confirmed)
TS 29.512 Under §5.6.2 Npcf_SMPolicyControl data types (QoS data, Session Rule; sub-clauses to be confirmed)
TS 29.571 Under §5 Common data types (ARP, BitRate, Ambr; to be confirmed)
TS 29.507 — Npcf_AMPolicyControl (handling of the UE-AMBR to be confirmed)
TS 29.244 §7.3 / §7.5.2.5 PFCP message types / Create QER (to be confirmed)
TS 29.244 §8.2.7 / §8.2.8 / §8.2.9 Gate Status / MBR / GBR (to be confirmed)
TS 38.413 §8.2.1 / §8.2.3 / §8.3.1 PDU Session Resource Setup / Modify / Initial Context Setup (to be confirmed)
TS 38.413 §9.3.1.4 / §9.3.1.12 / §9.3.4.1 Bit Rate / QoS Flow Level QoS Parameters / PDU Session Resource Setup Request Transfer (to be confirmed)
TS 24.501 §9.11.4.12 / §9.11.4.13 / §9.11.4.14 QoS flow descriptions / QoS rules / Session-AMBR (to be confirmed)
TS 23.401 §4.7.3 EPC bearer level QoS parameters (for comparison; to be confirmed)

Summary

  • GFBR / MFBR are parameters of GBR QoS Flows only (including Delay-critical GBR). GFBR is the guarantee and MFBR the cap; sharing between them is decided by the 5QI Priority Level
  • Non-GBR bandwidth is capped by Session-AMBR (per PDU Session) and UE-AMBR (per UE). Traffic on GBR Flows is not counted toward the AMBR
  • Enforcement: Session-AMBR = UE (UL) and UPF, UE-AMBR = (R)AN. The AMF passes the UE-AMBR to the (R)AN, and it never appears in PFCP
  • A 5QI is not a bandwidth value. Bandwidth is carried separately by GFBR / MFBR / AMBR
  • ARP has three elements — Priority Level (1 to 15), Pre-emption Capability and Pre-emption Vulnerability — and its purpose in the specifications is admission / pre-emption. Scheduling priority among QoS Flows is carried by the 5QI Priority Level. ARP is not sent to the UE or the UPF (with caveats: it may be used for N3 DSCP marking, and its treatment in RAN implementations varies)
  • When you see "Priority," identify whether it is ARP / 5QI / Precedence / Paging / vendor-internal. The units of values (kbps / bps) also differ per segment

Check your understanding

Q1. A GBR QoS Flow is configured with GFBR = 10 Mbps, MFBR = 20 Mbps and ARP = high priority. Which description is most appropriate? A. 10 Mbps is the maximum rate and 20 Mbps the guaranteed rate, and ARP directly specifies the packet scheduling priority / B. GFBR and MFBR apply only to Non-GBR QoS Flows, and ARP determines the GTP-U TEID / C. 10 Mbps is the guaranteed bit rate of the GBR QoS Flow, 20 Mbps is that Flow's maximum bit rate, and ARP mainly relates to resource admission / retention / pre-emption / D. GFBR, MFBR and ARP are names for the same QoS parameter on different interfaces

Answer: C. GFBR is the guarantee and MFBR the cap (TS 23.501 §5.7.2.5). ARP is a parameter for admission / pre-emption (§5.7.2.2); packet scheduling is decided by the 5QI QoS characteristics (Priority Level, etc., §5.7.3.3) and the (R)AN scheduler. A reverses GFBR / MFBR and misdescribes ARP, B reverses GBR / Non-GBR, and D ignores that they are three separate parameters.

Q2. A UE has two PDU Sessions (Session-AMBR DL = 100 Mbps and 50 Mbps), and the subscribed UE-AMBR DL is 300 Mbps. With both user planes active, what DL UE-AMBR does the (R)AN use? Does this value appear in a UPF QER?

150 Mbps. The (R)AN uses the smaller of the sum of the Session-AMBRs of PDU Sessions with an active user plane (150 Mbps) and the received UE-AMBR (300 Mbps) (TS 23.501 §5.7.2.6). The UE-AMBR is a parameter the AMF passes to the (R)AN over NGAP, and the (R)AN also enforces it, so it does not appear in a PFCP QER.

Q3. You raised the ARP Priority Level of the voice GBR Flow to 1, but delay under congestion did not improve. What should you check?

The purpose of ARP in the specifications is deciding whether to admit / retain / evict a Flow (TS 23.501 §5.7.2.2); the priority for forwarding packets after admission is in principle carried by the 5QI side. What affects delay is the 5QI QoS characteristics (Priority Level, Packet Delay Budget), the GFBR / MFBR values, (R)AN scheduling, and DSCP marking and congestion on the N3 transport (if your deployment maps DSCP from the 5QI and ARP, check that mapping too; §5.7.1.6 / §5.7.1.7, to be confirmed). Also check on N7 / N2 whether the 5QI Priority Level has been overridden by signaling (TS 23.501 §5.7.3.3).

Q4. The PDU Session and the Default QoS Flow succeed, but only an additional GBR Flow cannot be created. What do you look at first on N2?

The QoS Flow Failed to Setup List in the PDU Session Resource Setup Response (or Modify Response) and its Cause. If admission failed due to resource shortage, the new Flow's ARP Priority Level and Pre-emption Capability, and the existing Flows' Pre-emption Vulnerability, come into play. Also check whether the GBR QoS Flow Information (GFBR / MFBR) in the Request is reasonable, whether the gNB supports the 5QI, and whether the PCC Rule on N7 contains GBR values.


Next Step