PFCP 3GPP Spec
PFCP 3GPP Spec
PFCP 3GPP Spec
0 (2018-12)
Technical Specification
The present document has been developed within the 3rd Generation Partnership Project (3GPP TM) and may be further elaborated for the purposes of 3GPP..
The present document has not been subject to any approval process by the 3GPP Organizational Partners and shall not be implemented.
This Specification is provided for future development work within 3GPP only. The Organizational Partners accept no liability for any use of this Specification.
Specifications and Reports for implementation of the 3GPP TM system should be obtained via the 3GPP Organizational Partners' Publications Offices.
Release 15 2 3GPP TS 29.244 V15.4.0 (2018-12)
Keywords
3GPP, EPC, PFCP
3GPP
Postal address
Internet
http://www.3gpp.org
Copyright Notification
© 2018, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
All rights reserved.
UMTS™ is a Trade Mark of ETSI registered for the benefit of its members
3GPP™ is a Trade Mark of ETSI registered for the benefit of its Members and of the 3GPP Organizational Partners
LTE™ is a Trade Mark of ETSI registered for the benefit of its Members and of the 3GPP Organizational Partners
GSM® and the GSM logo are registered and owned by the GSM Association
3GPP
Release 15 3 3GPP TS 29.244 V15.4.0 (2018-12)
Contents
Foreword........................................................................................................................................................... 11
1 Scope ...................................................................................................................................................... 12
2 References .............................................................................................................................................. 12
3 Definitions, symbols and abbreviations ................................................................................................. 14
3.1 Definitions ....................................................................................................................................................... 14
3.2 Abbreviations ................................................................................................................................................... 14
4 Protocol Stack ........................................................................................................................................ 15
4.1 Introduction...................................................................................................................................................... 15
4.2 UDP Header and Port Numbers ....................................................................................................................... 16
4.2.1 General ....................................................................................................................................................... 16
4.2.2 Request Message ........................................................................................................................................ 16
4.2.3 Response Message ..................................................................................................................................... 16
4.3 IP Header and IP Addresses ............................................................................................................................. 16
4.3.1 General ....................................................................................................................................................... 16
4.3.2 Request Message ........................................................................................................................................ 16
4.3.3 Response Message ..................................................................................................................................... 17
4.4 Layer 2 ............................................................................................................................................................. 17
4.5 Layer 1 ............................................................................................................................................................. 17
5 General description ................................................................................................................................ 17
5.1 Introduction...................................................................................................................................................... 17
5.2 Packet Forwarding Model ................................................................................................................................ 17
5.2.1 General ....................................................................................................................................................... 17
5.2.1A Packet Detection Rule Handling ................................................................................................................ 19
5.2.1A.1 General ................................................................................................................................................. 19
5.2.1A.2 PDI Optimization.................................................................................................................................. 20
5.2.1A.2A Provisioning of SDF filters ................................................................................................................... 20
5.2.1A.3 Bidirectional SDF Filters ...................................................................................................................... 21
5.2.2 Usage Reporting Rule Handling................................................................................................................. 21
5.2.2.1 General ................................................................................................................................................. 21
5.2.2.2 Provisioning of Usage Reporting Rule in the UP function ................................................................... 21
5.2.2.2.1 General ............................................................................................................................................ 21
5.2.2.2.2 Credit pooling (for EPC) ................................................................................................................. 25
5.2.2.3 Reporting of Usage Report to the CP function ..................................................................................... 25
5.2.2.3.1 General ............................................................................................................................................ 25
5.2.2.3.2 Credit pooling ................................................................................................................................. 28
5.2.2.4 Reporting of Linked Usage Reports to the CP function ....................................................................... 28
5.2.3 Forwarding Action Rule Handling ............................................................................................................. 29
5.2.3.1 General ................................................................................................................................................. 29
5.2.4 Buffering Action Rule Handling ................................................................................................................ 30
5.2.4.1 General ................................................................................................................................................. 30
5.2.4.2 Provisioning of Buffering Action Rule in the UP function .................................................................. 30
5.2.5 QoS Enforcement Rule Handling ............................................................................................................... 31
5.2.5.1 General ................................................................................................................................................. 31
5.2.5.2 Provisioning of QoS Enforcement Rule in the UP function ................................................................. 31
5.2.6 Combined SGW/PGW Architecture .......................................................................................................... 31
5.3 Data Forwarding between the CP and UP Functions ....................................................................................... 31
5.3.1 General ....................................................................................................................................................... 31
5.3.2 Sending of End Marker Packets ................................................................................................................. 32
5.3.3 Forwarding of Packets Subject to Buffering in the CP Function ............................................................... 33
5.3.3.1 General ................................................................................................................................................. 33
5.3.3.2 Forwarding of Packets from the UP Function to the CP Function ....................................................... 33
5.3.3.3 Forwarding of Packets from the CP Function to the UP Function ....................................................... 34
5.3.4 Data Forwarding between the CP and UP Functions with one PFCP-u Tunnel per UP Function or
PDN............................................................................................................................................................ 34
3GPP
Release 15 4 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 5 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 6 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 7 3GPP TS 29.244 V15.4.0 (2018-12)
7.5.3.3 Load Control Information IE within PFCP Session Establishment Response ...................................... 93
7.5.3.4 Overload Control Information IE within PFCP Session Establishment Response ............................... 94
7.5.3.5 Created Traffic Endpoint IE within Sx Session Establishment Response ............................................ 94
7.5.4 PFCP Session Modification Request .......................................................................................................... 94
7.5.4.1 General ................................................................................................................................................. 94
7.5.4.2 Update PDR IE within PFCP Session Modification Request ............................................................... 97
7.5.4.3 Update FAR IE within PFCP Session Modification Request ............................................................... 97
7.5.4.4 Update URR IE within PFCP Session Modification Request ............................................................. 100
7.5.4.5 Update QER IE within PFCP Session Modification Request ............................................................. 103
7.5.4.6 Remove PDR IE within PFCP Session Modification Request ........................................................... 105
7.5.4.7 Remove FAR IE within PFCP Session Modification Request ........................................................... 105
7.5.4.8 Remove URR IE within PFCP Session Modification Request ........................................................... 105
7.5.4.9 Remove QER IE PFCP Session Modification Request ...................................................................... 105
7.5.4.10 Query URR IE within PFCP Session Modification Request .............................................................. 106
7.5.4.11 Update BAR IE within PFCP Session Modification Request ............................................................. 106
7.5.4.12 Remove BAR IE within PFCP Session Modification Request ........................................................... 106
7.5.4.13 Update Traffic Endpoint IE within Sx Session Modification Request ............................................... 107
7.5.4.14 Remove Traffic Endpoint IE within Sx Session Modification Request ............................................. 107
7.5.5 PFCP Session Modification Response ..................................................................................................... 108
7.5.5.1 General ............................................................................................................................................... 108
7.5.5.2 Usage Report IE within PFCP Session Modification Response ......................................................... 109
7.5.6 PFCP Session Deletion Request ............................................................................................................... 110
7.5.7 PFCP Session Deletion Response ............................................................................................................ 111
7.5.7.1 General ............................................................................................................................................... 111
7.5.7.2 Usage Report IE within PFCP Session Deletion Response ................................................................ 111
7.5.8 PFCP Session Report Request .................................................................................................................. 112
7.5.8.1 General ............................................................................................................................................... 112
7.5.8.2 Downlink Data Report IE within PFCP Session Report Request ....................................................... 113
7.5.8.3 Usage Report IE within PFCP Session Report Request ..................................................................... 114
7.5.8.4 Error Indication Report IE within PFCP Session Report Request ...................................................... 116
7.5.9 PFCP Session Report Response ............................................................................................................... 117
7.5.9.1 General ............................................................................................................................................... 117
7.5.9.2 Update BAR IE within PFCP Session Report Response .................................................................... 117
7.6 Error Handling ............................................................................................................................................... 118
7.6.1 Protocol Errors ......................................................................................................................................... 118
7.6.2 Different PFCP Versions .......................................................................................................................... 119
7.6.3 PFCP Message of Invalid Length ............................................................................................................. 119
7.6.4 Unknown PFCP Message ......................................................................................................................... 119
7.6.5 Unexpected PFCP Message ..................................................................................................................... 119
7.6.6 Missing Information Elements ................................................................................................................. 119
7.6.7 Invalid Length Information Element ........................................................................................................ 120
7.6.8 Semantically incorrect Information Element ............................................................................................ 120
7.6.9 Unknown or unexpected Information Element ........................................................................................ 120
7.6.10 Repeated Information Elements ............................................................................................................... 120
8 Information Elements ........................................................................................................................... 121
8.1 Information Elements Format ........................................................................................................................ 121
8.1.1 Information Element Format .................................................................................................................... 121
8.1.2 Information Element Types ...................................................................................................................... 122
8.2 Information Elements .................................................................................................................................... 127
8.2.1 Cause ........................................................................................................................................................ 127
8.2.2 Source Interface ....................................................................................................................................... 129
8.2.3 F-TEID ..................................................................................................................................................... 129
8.2.4 Network Instance ..................................................................................................................................... 130
8.2.5 SDF Filter ................................................................................................................................................. 130
8.2.6 Application ID .......................................................................................................................................... 132
8.2.7 Gate Status ............................................................................................................................................... 132
8.2.8 MBR ......................................................................................................................................................... 133
8.2.9 GBR ......................................................................................................................................................... 133
8.2.10 QER Correlation ID ................................................................................................................................. 133
8.2.11 Precedence................................................................................................................................................ 134
8.2.12 Transport Level Marking ......................................................................................................................... 134
3GPP
Release 15 8 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 9 3GPP TS 29.244 V15.4.0 (2018-12)
Annex A (Informative): PFCP Load and Overload Control Mechanism ........................................ 182
A.1 Throttling Aalgorithms .................................................................................................................................. 182
A.1.1 "Loss" Throttling Algorithm .................................................................................................................... 182
A.1.1.1 Example of Possible Implementation ................................................................................................. 182
Annex B (Normative): CP and UP Selection Functions with Control and User Plane
Separation..................................................................................................... 182
B.1 CP Selection Function ................................................................................................................................... 182
B.1.1 General ..................................................................................................................................................... 182
B.2 UP Selection Function ................................................................................................................................... 183
B.2.1 General ..................................................................................................................................................... 183
B.2.2 SGW-U Selection Function ...................................................................................................................... 183
B.2.3 PGW-U Selection Function ...................................................................................................................... 183
B.2.4 Combined SGW-U/PGW-U Selection Function ...................................................................................... 184
B.2.5 TDF-U selection function......................................................................................................................... 184
B.2.6 UP Selection Function Based on DNS ..................................................................................................... 185
B.2.6.1 General ............................................................................................................................................... 185
B.2.6.2 SGW-U Selection Function Based on DNS ....................................................................................... 185
B.2.6.3 PGW-U Selection Function Based on DNS ....................................................................................... 185
3GPP
Release 15 10 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 11 3GPP TS 29.244 V15.4.0 (2018-12)
Foreword
This Technical Specification has been produced by the 3 rd Generation Partnership Project (3GPP).
The contents of the present document are subject to continuing work within the TSG and may change following formal
TSG approval. Should the TSG modify the contents of the present document, it will be re-released by the TSG with an
identifying change of release date and an increase in version number as follows:
Version x.y.z
where:
y the second digit is incremented for all changes of substance, i.e. technical enhancements, corrections,
updates, etc.
z the third digit is incremented when editorial only changes have been incorporated in the document.
3GPP
Release 15 12 3GPP TS 29.244 V15.4.0 (2018-12)
1 Scope
The present document specifies the Packet Forwarding Control Protocol (PFCP) used on the interface between the
control plane and the user plane function.
-the Sxa, Sxb, Sxc and the combined Sxa/Sxb reference points specified in 3GPP TS 23.214 [2].
- the Sxa' and Sxb' reference points specified in 3GPP TS 33.107 [20]. In the rest of this specification, no difference
is made between Sxa and Sxa', or between Sxb and Sxb'. The Sxa' and Sxb' reference points reuse the protocol
specified for the Sxa and Sxb reference points, but comply in addition with the security requirements specified in
clause 8 of 3GPP 33.107 [20].
the N4 interface specified in 3GPP TS 23.501 [28] and 3GPP TS 23.502 [29].
In this specification the term CP function applies to control plane nodes such as SGW-C, PGW-C, TDF-C and SMF.
In this specification the term UP function applies to control plane nodes such as SGW-U, PGW-U, TDF-U and UPF.
The prefix PFCP in message and procedure names is used to indicate that messages and procedures are common and
used on Sx and N4 reference point. A PFCP session refers to both Sx and/or N4 sessions. PFCP association are
describing procedures to establish associations between EPC nodes (SGW-C/PGW-C/TDF-C and SGW-U/PGW-
U/TDF-U) and also between 5G nodes (SMF and UPF).
In the related stage 2 specifications the prefix Sx and N4 is used for these common procedures realised by PFCP
Clauses, subclauses or paragraphs that only apply to EPC or 5GC are indicated by the label "for EPC" or "for 5GC".
2 References
The following documents contain provisions which, through reference in this text, constitute provisions of the present
document.
- References are either specific (identified by date of publication, edition number, version number, etc.) or
non-specific.
- For a non-specific reference, the latest version applies. In the case of a reference to a 3GPP document (including
a GSM document), a non-specific reference implicitly refers to the latest version of that document in the same
Release as the present document.
[2] 3GPP TS 23.214: "Architecture enhancements for control and user plane separation of EPC nodes;
Stage 2".
[3] 3GPP TS 29.281: "General Packet Radio System (GPRS) Tunnelling Protocol User Plane
(GTPv1-U)".
[7] 3GPP TS 23.203: "Policy and charging control architecture; Stage 2".
[8] 3GPP TS 29.212: "Policy and Charging Control (PCC); Reference points".
3GPP
Release 15 13 3GPP TS 29.244 V15.4.0 (2018-12)
[9] 3GPP TS 29.274: "3GPP Evolved Packet System. Evolved GPRS Tunnelling Protocol for EPS
(GTPv2)".
[10] 3GPP TS 36.413: "Evolved Universal Terrestrial Radio Access Network (E-UTRAN); S1
Application Protocol (S1AP)".
[11] 3GPP TS 29.213: "Policy and Charging Control signalling flows and Quality of Service (QoS)
parameter mapping".
[12] IETF RFC 5905: "Network Time Protocol Version 4: Protocol and Algorithms Specification".
[13] IETF RFC 2474: "Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6
Headers".
[14] 3GPP TS 23.401: "General Packet Radio Service (GPRS) enhancements for Evolved Universal
Terrestrial Radio Access Network (E-UTRAN) access".
[19] 3GPP TS 23.060: "General Packet Radio Service (GPRS); Service description; Stage 2".
[20] 3GPP TS 33.107: "3G security; Lawful interception architecture and functions".
[21] 3GPP TS 29.251: "Gw and Gwn reference points for sponsored data connectivity".
[22] IETF RFC 2474, "Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6
Headers".
[23] IETF RFC 7230: "Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing".
[26] IETF RFC 5905: "Network Time Protocol Version 4: Protocol and Algorithms Specification".
[32] IETF RFC 1027: "Using ARP to Implement Transparent Subnet Gateways".
[35] 3GPP TS 32.422: "Telecommunication management; Subscriber and equipment trace; Trace
control and configuration management".
[37] IETF RFC 2865: "Remote Authentication Dial In User Service (RADIUS)".
3GPP
Release 15 14 3GPP TS 29.244 V15.4.0 (2018-12)
[39] 3GPP TS 29.061: "Interworking between the Public Land Mobile Network (PLMN) supporting
packet based services and Packet Data Networks (PDN)".
[41] 3GPP TS 29.512: "5G System; Session Management Policy Control Service; Stage 3".
[42] 3GPP TS 38.300: "NR; NR and NG-RAN Overall Description; Stage 2".
3.1 Definitions
For the purposes of the present document, the terms and definitions given in 3GPP TR 21.905 [1] and the following
apply. A term defined in the present document takes precedence over the definition of the same term, if any, in
3GPP TR 21.905 [1].
Match Field: a field of the Packet Detection Information of a Packet Detection Rule against which a packet is
attempted to be matched.
Matching: comparing the set of header fields of a packet to the match fields of the Packet Detection Information of a
Packet Detection Rule.
3.2 Abbreviations
For the purposes of the present document, the abbreviations given in 3GPP TR 21.905 [1] and the following apply. An
abbreviation defined in the present document takes precedence over the definition of the same abbreviation, if any, in
3GPP TR 21.905 [1].
3GPP
Release 15 15 3GPP TS 29.244 V15.4.0 (2018-12)
4 Protocol Stack
4.1 Introduction
The protocol stack for the control plane over the Sxa, Sxb, Sxc and combined Sxa/Sxb reference points shall be as
depicted in Figure 4.1-1. Subclauses 4.2 and 4.3 further specify the related UDP and IP requirements.
- PFCP PFCP
UDP UDP
IP IP
L2 L2
L1 L1
CP function UP function
Figure 4.1-1: Control Plane stack over Sxa, Sxb, Sxc and combined Sxa/Sxb and N4
The protocol stack for the user plane over the Sxa, Sxb and N4reference points (see subclause 5.3) shall be as depicted
in Figure 4.1-2. 3GPP TS 29.281 [3] further specifies the related GTP-U, UDP and IP requirements. Both IPv4 and
IPv6 shall be supported.
3GPP
Release 15 16 3GPP TS 29.244 V15.4.0 (2018-12)
- GTP-U GTP-U
UDP UDP
IP IP
L2 L2
L1 L1
CP function UP function
Figure 4.1-2: User Plane stack over Sxa, Sxb, combined Sxa/Sxb and N4
The UDP Source Port for a Request message is a locally allocated port number at the sending entity.
NOTE: The locally allocated source port number can be reused for multiple Request messages.
The UDP Source Port of a Response message shall be the value from the UDP Destination Port of the corresponding
message.
3GPP
Release 15 17 3GPP TS 29.244 V15.4.0 (2018-12)
During the establishment of an PFCP Session, the CP and the UP functions select and communicate to each other the IP
Destination Address at which they expect to receive subsequent Request messages related to that PFCP Session. The CP
and the UP functions may change this IP address subsequently during an PFCP Session Modification procedure.
The IP Source Address of a Request message shall be an IP address of the sending entity.
The IP Source Address of a Response message shall be copied from the IP destination address of the corresponding
Request message.
4.4 Layer 2
Typically Ethernet should be used as a Layer 2 protocol, but operators may use any other technology.
4.5 Layer 1
Operators may use any appropriate Layer 1 technology.
5 General description
5.1 Introduction
The architecture reference model with Control and User Plane Separation of EPC nodes is described in subclause 4.2 of
3GPP TS 23.214 [2].
The architecture reference model with SMF and UPF of 5GC nodes is described in subclause 4.2 of
3GPP TS 23.501 [28].
This clause specifies the high level principles of the PFCP protocol and describe how 3GPP functionalities are realised
on the Sxa, Sxb, Sxc and N4 reference points, e.g. Packet Forwarding, Policy and Charging Control, Lawful
Interception.
The packet forwarding scenarios supported over the N4 reference point are specified in 3GPP TS 23.501 [28] and
3GPP TS 23.502 [29].
The CP function controls the packet processing in the UP function by establishing, modifying or deleting PFCP Session
contexts and by provisioning (i.e. adding, modifying or deleting) PDRs, FARs, QERs, URRs and/or BAR per PFCP
session context, whereby an PFCP session context may correspond:
- for EPC, to an individual PDN connection, a TDF session, or a standalone session not tied to any PDN
connection or TDF session used e.g. for forwarding Radius, Diameter or DHCP signalling between the PGW-C
and the PDN.
- for 5GC, to an individual PDU session or a standalone PFCP session not tied to any PDU session.
3GPP
Release 15 18 3GPP TS 29.244 V15.4.0 (2018-12)
Each PDR shall contain a PDI, i.e. one or more match fields against which incoming packets are matched, and may be
associated to the following rules providing the set of instructions to apply to packets matching the PDI:
- one FAR, which contains instructions related to the processing of the packets as follows:
- an Apply Action parameter, which indicates whether the UP function shall forward, duplicate, drop or buffer
the packet with or without notifying the CP function about the arrival of a DL packet;
- forwarding, buffering and/or duplicating parameters, which the UP function shall use if the Apply Action
parameter requests the packets to be forwarded, buffered or duplicated respectively. These parameters may
remain configured in the FAR regardless of the Apply Action parameter value, to minimize the changes to
the FAR during the transitions of the UE between the idle and connected modes. The buffering parameters,
when present, shall be provisioned in a BAR created at the PFCP session level and referenced by the FAR.
NOTE 1: Buffering refers here to the buffering of the packet in the UP function. The UP function is instructed to
forward DL packets to the CP function when applying buffering in the CP function. See subclause 5.3.1.
- zero, one or more QERs, which contains instructions related to the QoS enforcement of the traffic;
- zero, one or more URRs, which contains instructions related to traffic measurement and reporting.
A FAR, a QER and a URR shall only be associated to one or multiple PDRs of the same PFCP session context.
The QoS Enforcement Rule Correlation ID shall be assigned by the CP function to correlate QERs from multiple PFCP
session contexts. For instance, the enforcement of APN-AMBR in the PGW-U shall be achieved by setting the same
QoS Enforcement Rule Correlation ID to the QERs from different PFCP sessions associated with all the PDRs
corresponding to the non-GBR bearers of all the UE's PDN connections to the same APN. The QERs that are associated
to the same QoS Enforcement Rule Correlation ID in multiple PFCP sessions shall be provisioned, with the same QER
contents, in each of these PFCP sessions. The QoS Enforcement Rule Correlation ID shall be only used to enforce the
APN-AMBR when the UE is in EPC, it may be provided by the CP function over N4 to the UP function for a PDU
session may move to EPC in a later stage.
The following principles shall apply for the provisioning of PDRs in the UP function:
- The CP function shall not provision more than one PDR with the same match fields in the PDI (i.e. with the
same set of match fields and with the same value). The CP function may provision PDRs with the same value for
a subset of the match fields of the PDI but not all;
- different PDRs of a same PFCP session may overlap, e.g. the CP function may provision two PDRs which differ
by having one match field set to a specific value in one PDR and the same match field not included in the other
PDR (thus matching any possible value);
- different PDRs of different PFCP sessions shall not overlap, i.e. there shall be at least one PDR in each PFCP
session which differs by at least one different (and not wildcarded) match field in their PDI, such that any
incoming user plane packet may only match PDRs of a single PFCP session;
NOTE 2: It is allowed for instance to provision in a PGW-U a same uplink PDR, matching any uplink traffic
towards a particular application server's IP address, in two different PFCP sessions of two different UEs,
as long as each PFCP session is also provisioned with another uplink PDR set with the respective UE IP
address and/or uplink F-TEIDu, which allows the PGW-U to identify the PFCP session to which the
packet corresponds.
- As an exception to the previous principle, the CP function may provision a PDR with all match fields wildcarded
(i.e. all match fields omitted in the PDI) in a separate PFCP session, to control how the UP function shall process
packets unmatched by any PDRs of any other PFCP session. The CP function may provision the UP function to
send these packets to the CP function or to drop them. The UP function shall grant the lowest precedence to this
PDR.
On receipt of a user plane packet, the UP function shall perform a lookup of the provisioned PDRs and:
- identify first the PFCP session to which the packet corresponds; and
- find the first PDR matching the incoming packet, among all the PDRs provisioned for this PFCP session, starting
with the PDRs with the highest precedence and continuing then with PDRs in decreasing order of precedence.
3GPP
Release 15 19 3GPP TS 29.244 V15.4.0 (2018-12)
Only the highest precedence PDR matching the packet shall be selected, i.e. the UP function shall stop the PDRs
lookup once a matching PDR is found.
A packet matches a PDR if all the match fields which are identified with different IE type in the PDI of the PDR are
matching the corresponding packet header fields. If a match field is not included in the PDI, it shall be considered as
matching all possible values in the header field of the packet. If the match field is present and does not include a mask,
the match field shall be considered as matching the corresponding header field of the packet if it has the same value. If
the match field is present and includes a mask (e.g. IP address with a prefix mask), the match field shall be considered
as matching the corresponding header field of the packet if it has the same value for the bits which are set in the mask.
If a match field has multiple instances, i.e. there are several IEs with the same IE type, a packet matches this match field
if any instance is matching the corresponding packet header field.
The match fields of the PDI shall correspond to outer and/or inner packet header fields, e.g. uplink bearer binding
verification in the PGW-U may be achieved by configuring a PDR with the PDI containing the local GTP-U F-TEID
(for outer IP packet matching) and the SDF filters of the data flows mapped to the bearer (for inner IP packet matching).
PDR
PFCP
PFCP session s PDR
Session look PDR look up
PDR FARs QERs URRs
up (find
Packet In Packet Out
(find PFCP matching PDR
session with PDR of the Apply Instructions set in the
a matching PFCP session ... matching PDR
PDR ) with highest
precedence)
At the deletion of an PFCP session, the UP function shall delete the PFCP session context and all the associated non-
preconfigured rules.
NOTE 3: Deleting a QER in one PFCP session does not result in deleting another QER in another PFCP session
even when these two QERs have the same QER ID and/or are associated with the same QER Correlation
ID.
A UP Function controlled by multiple CP functions shall handle Rule IDs from the different CP functions
independently from each other.
Rule ID used for PDR, FAR, BAR, QER or URR is uniquely identifying a rule of the corresponding rule type within a
session.
5.2.1A.1 General
When provisioning a PDR in the UP function, the CP function shall provide the PDI with the following information:
- a combination of the parameters, that incoming packets are requested to match, among: Local F-TEID, Network
Instance, UE IP address, SDF Filter(s) and/or Application ID. For 5GC, the PDI may additionally contain one or
more QFI(s) to detect traffic pertaining to specific QoS flow(s), Ethernet Packet Filter(s) and/or Ethernet PDU
Session Information (see subclause 5.13.1).
3GPP
Release 15 20 3GPP TS 29.244 V15.4.0 (2018-12)
The requirements for provisioning an SDF filter in the PDI are specified in subclauses 5.2.1A.2A and 5.2.1A.3.
The CP function may provision the parameters, that incoming packets are requested to match, in the UP function by:
- optionally, if the PDI Optimization feature is supported by the UP function, by providing the parameters which
may be common to multiple PDIs of a same PFCP session in a Traffic Endpoint IE and by referencing this
Traffic Endpoint in the PDI(s) of the PFCP session. See subclause 5.2.1A.2. A Traffic Endpoint may include a
Local F-TEID, Network Instance, UE IP address and/or Ethernet PDU Session Information (see subclause
5.13.1).
If a Traffic Endpoint is updated, all the PDRs that refer to this Traffic Endpoint in the UP function shall use the updated
information.
If F-TEID allocation is performed in the UP function, the UP function shall allocate and store the F-TEID associated to
the Traffic Endpoint. When the UP function provides the allocated F-TEID to the CP function in the PFCP Session
Establishment response or PFCP Session Modification response message, the CP function shall update the Traffic
Endpoint information stored in the CP function with the received F-TEID.
The CP function should use a Traffic Endpoint ID created in a different PFCP message only after getting the
confirmation from the UP function of the Traffic Endpoint ID creation.
If the CP function deletes a Traffic Endpoint, the UP Function shall delete all the PDRs that refer to this Traffic
Endpoint.
NOTE 1: The requirements specified in subclause 5.2.2.3.1 for reporting usage reports to the CP function also
apply if the deletion of the Traffic Endpoint results in deleting the last PDR associated to a URR.
NOTE2: For EPC, the Remove Traffic Endpoint IE can be used to delete a bearer for which multiple PDRs exist
(with the same Traffic Endpoint ID).
- copy the Flow Description if it is received from the PCRF (or PCF), in the corresponding PDI of a PDR
regardless of whether the PDR is for matching uplink or downlink traffic;
NOTE 1 The Flow Description received from the PCRF (or PCF) is set assuming downlink flows only, see
subclause 5.4.2 of 3GPP TS 29.212 [8]. The CP function uses the Flow-Direction AVP received from the
PCRF (or PCF) to determine the actual direction and thus the source interface of the packet flows
described in the Flow Description.
- If the traffic is intended to be forwarded to the UE, the CP function shall provision the Flow Description with
IPFilterRule "source" parameters set to correspond to the CP function or SGi-LAN and the IPFilterRule
"destination" parameters correspond to the UE;
- If the traffic is intended to be forwarded to the PDN, the CP function shall provision the Flow Description
with IPFilterRule "source" parameters set to correspond to the CP function or SGi-LAN and the IPFilterRule
"destination" parameters correspond to the PDN.
3GPP
Release 15 21 3GPP TS 29.244 V15.4.0 (2018-12)
The UP function shall apply the SDF filter based on the Source Interface of the PDR as follows (see also subclause
8.2.5):
- when the Source Interface is CORE, this indicates that the filter is for downlink data flow, so the UP function
shall apply the Flow Description as is;
- when the Source Interface is ACCESS, this indicates that the filter is for uplink data flow, so the UP function
shall swap the source and destination address/port in the Flow Description;
- when the Source Interface is CP-function or SGi-LAN, the UP function shall use the Flow Description as is.
- when provisioning a bidirectional SDF Filter the first time for an PFCP/N4 session, the CP function shall
provision the SDF filter definition together with a SDF Filter ID uniquely identifying the SDF Filter among all
the SDF Filters provisioned for a given PFCP/N4 Session;
- the CP function may then provision a PDR for the same PFCP/N4 session but the opposite direction, by
provisioning the SDF Filter ID in the SDF filter ID field of the PDI, without provisioning again the SDF filter
definition;
- the UP function shall apply any modification of a bidirectional SDF Filter to all PDRs of the PFCP/N4 session
making use of this SDF Filter;
- upon deletion of a PDR making use of a bidirectional SDF Filter, the UP function shall still apply the SDF Filter
for any other PDR making use of the SDF Filter.
The requirements specified for provisioning SDF filters in subclause 5.2.1A.2A shall also apply when provisioning
bidirectional SDF Filters.
5.2.2.1 General
The CP function shall provision URR(s) for a PFCP session in a PFCP Session Establishment Request or a PFCP
Session Modification Request to request the UP function to:
- measure the network resources usage in terms of traffic data volume, duration (i.e. time) and/or events,
according to the provisioned Measurement Method; and
- send a usage report to the CP function, when the measurement reaches a certain threshold, periodically or when
detecting a certain event, according to the provisioned Reporting Triggers or when an immediate report is
requested within an PFCP Session Modification Request.
NOTE: The UP function sends a usage report without performing network resources usage measurements when
being requested to detect and report the the start of an SDF or application traffic.
5.2.2.2.1 General
When provisioning a URR, the CP function shall provide the reporting trigger(s) in the Reporting Triggers IE of the
URR which shall cause the UP function to generate and send a Usage Report for this URR to the CP function. When
adding or removing reporting trigger(s) to or from the URR, the CP function shall provide the new complete list of
applicable reporting triggers in the Reporting Triggers IE in the PFCP Session Modification Request message.
3GPP
Release 15 22 3GPP TS 29.244 V15.4.0 (2018-12)
- the Volume Threshold IE, to request the UP function to generate a usage report when the measured traffic
reaches the threshold;
- the Volume Quota IE, to request the UP function to stop forwarding packets (or only allow forwarding of some
limited user plane traffic, based on operator policy in the UP function) and, if no Volume Threshold is
provisioned, to also generate a usage report, when the measured traffic reaches the quota;
- the Dropped DL Traffic Threshold IE, to request the UP function to generate a usage report when the downlink
traffic that is being dropped reaches the threshold; and/or
NOTE 1: For EPC, the Dropped DL Traffic Threshold can be armed in a SGW-U for triggering the PGW Pause of
Charging feature (see 3GPP TS 23.401 [14]). For 5GC, the Dropped DL Traffic Threshold can be armed
in a UPF for triggering the SMF Pause of Charging feature (see 3GPP TS 23.502 [29]).
- a Measurement Information with the 'Measurement Before QoS Enforcement' flag set to 1, to request the UP
function to measure the traffic usage before any QoS enforcement.
- a Time Threshold IE, to request the UP function to generate a usage report when the measured traffic reaches the
threshold;
- a Time Quota, to request the UP function to stop forwarding packets (or only allow forwarding of some limited
user plane traffic, based on operator policy in the UP function) and, if no Time Threshold is provisioned, to also
generate a usage report, when the measured traffic reaches the quota;
- a Measurement Information with the "Immediate Start Time Metering" flag set to 1, to request the UP function
to start time metering immediately at receiving the flag; otherwise, the UP function shall start time metering
when the first packet is received; and/or
- an Inactivity Detection Time, to request the UP function to suspend the time measurement when no packets are
received during the provisioned Inactivity Detection Time. The time measurement shall then be resumed by the
UP function when subsequent traffic is received. If an Inactivity Detection Time value of zero is provided, or if
no Inactivity Detection Time has been provided by the CP function, the time measurement shall be performed
continuously until a new non-zero Inactivity Detection Time is received or the time-based usage measurement is
stopped. See Figure 5.2.2.2-1:
IDT Time
Consumed
Data Packet
Idle Time
Time Consumed
NOTE 2: The Inactivity Detection Time can be set to the Quota Consumption Timer if received. The Inactivity
Detection Time is not used to control when the time metering starts.
- For EPC, a Time Quota Mechanism, including a Base Time Interval Type, which is either Continuous Time
Period (CTP) or Discrete Time Period (DTP), and a Base Time Interval (BTI), to the UP function. See subclause
6.5.7 in 3GPP TS 32.299[18].
- For CTP (Continuous Time Period), the time measurement starts from the time that traffic has occurred up to the
first Base Time Interval (BTI) which contains no traffic. The time measurement shall include the last Base Time
Interval, i.e. the one which contained no traffic. The time measurement resumes by the UP function when
subsequent traffic is received. See Figure 5.2.2.2-2:
3GPP
Release 15 23 3GPP TS 29.244 V15.4.0 (2018-12)
Data
Packet Time
CTP Time
Consumed
Data Packet
Idle Time
Time Consumed
- For DTP (Descrete Time Period), the time measurement starts from the time that traffic has occurred up to
the Base Time Interval end. The time measurement shall be resumed by the UP function when subsequent
traffic is received. See Figure 5.2.2.2-3:
Data
Packet Time
DTP Time
Consumed
Data Packet
Idle Time
Time Consumed
When the time-based measurement method applies, and when the Envelope Reporting is required for EPC, the CP
function shall request the UP function to report the usage by setting the reporting trigger to Envelope Closure in
addition to other Reporting Trigger(s), in the Reporting Triggers IE. The CP function may indicate the UP function to
report for just time, time and volume, time and events, or time and volume and number of events by setting
Measurement Method accordingly. The CP function may set the Reduced Application Detection Information flag in the
Measurement Information of the URR, when requesting the detection of start and stop of an application solely for the
purpose of envelope reporting for EPC.
The CP function may provision a Volume Threshold, a Volume Quota, or both (and/or respectively a Time Threshold, a
Time Quota, or both).
When both a Volume (or Time) Threshold and a Volume (or Time) Quota are provisioned, the UP function shall send a
usage report only when reaching the Volume (or Time) Threshold; when subsequently reaching the Volume (or Time)
Quota, the UP function shall stop forwarding packets (or only allow forwarding of some limited user plane traffic,
based on operator policy in the UP function) without sending a new usage report to the CP function.
NOTE 3: For online charging, the Volume Threshold (or Time Threshold) can be set in a PGW-U or TDF-U to the
value of the granted volume (or time) quota minus the volume (or time) quota threshold, such as to get a
usage report from the UP function when the volume (or time) based credit falls below the remaining
quota thresholds provided by the OCS.
3GPP
Release 15 24 3GPP TS 29.244 V15.4.0 (2018-12)
NOTE 4: The Volume Quota or Time Quota can be armed in a PGW-U or TDF-U for online charging to enable the
traffic to be forwarded up to an intermediate or final quotas granted by the OCS. The CP function can
provision both a Volume (or Time) Threshold and a Volume (or Time) Threshold to request the UP
function to:
- send a usage report when the consumed resources reach the volume (or time) usage threshold
provided by the OCS, and
- to stop forwarding packets (or only allow forwarding of some limited user plane traffic, based on
operator policy in the UP function), without sending a second usage report, when the granted volume (or
time) quota is exhausted.
- the Event Threshold IE, to request the UP function to generate a usage report when the number of events reaches
the event threshold;
- the Event Quota IE, to request the UP function to stop forwarding packets applicable to the event (or only allow
forwarding of some limited user plane traffic, based on operator policy in the UP function) and, if no Event
threshold is provisioned, to also generate a usage report, when the number of events reaches the event quota;
NOTE 5: An event is preconfigured with one or more event detection logic in the UPF. Each event detection logic
is associated with an Application ID. The CP function activates the detection and reporting of an event by
provisioning PDR(s) with the PDI set to an Application ID and by provisioning a URR with an event
threshold or event quota reporting trigger. The CP function identifies an event reported in a Usage Report
by the URR ID.
For all the measurement methods (i.e. volume, time or event), the CP function may also provision:
- a Quota Holding Time, to request the UP function to send a usage report and to also stop forwarding packets (or
only allow forwarding of some limited user plane traffic, based on operator policy in the UP function) when no
packets have been received for the duration indicated in this parameter;
NOTE 6: A Quota Holding Time can be armed in a PGW-U or TDF-U for online charging to request the UP
function to send a Usage Report when the Quota Holding Time provided by the OCS (see
3GPP TS 32.299 [18]) expires. The UP function can be instructed in the same Usage Reporting Rule with
the Report Triggers – START to generate a new Usage Report upon receiving any subsequent packets
associated with this URR.
- a Monitoring Time IE and zero or more Additional Monitoring IEs, to request the UP function to measure the
network resources usage before and after the monitoring time in separate counts and to re-apply the volume
and/or time, and/or event thresholds at the monitoring time. The CP function may additionally provision a
Subsequent Volume (or Time or Event) Threshold IE and/or a Subsequent Volume (or Time or Event) Quota IE,
for a volume (or time or event) based measurement. When being provisioned with a Monitoring Time, the UP
function shall:
- reset its usage thresholds at the monitoring time to the value provided in the Subsequent Volume (or Time or
Event) Threshold IE, if provisioned in the URR, or to the remaining value of the Volume (or Time or Event)
threshold used before the monitoring time (i.e. excluding the already accumulated volume or time usage);
- shall indicate the usage up to the Monitoring time and usage after the Monitoring time in the first usage
report after the Monitoring Time is reached;
- a Measurement Period, indicating the period to generate periodic usage reports to the CP function.
If the UP function indicated support of the Quota Action feature in the UP Function Features IE, when the CP function
provisions a Volume Quota or Time Quota in a URR, the CP function may also provision the "FAR ID for Quota
Action" IE identifying the substitute FAR the UP function shall apply, for the traffic associated to this URR, when
exhausting any of these quotas. This FAR may require the UP function to drop the packets or redirect the traffic towards
a redirect destination as specified in subclause 5.4.7.
The CP function may request at any time the UP function to activate or deactivate a network resources usage
measurement, using the Inactive Measurement flag of the Measurement Information IE of the URR.
NOTE 7: This can be used in a PGW-U for the PGW Pause of Charging procedure (see 3GPP TS 23.401 [14]).
3GPP
Release 15 25 3GPP TS 29.244 V15.4.0 (2018-12)
- shall include one Aggregated URR ID IE per URR sharing the credit pool, including the URR ID of the URR
sharing the credit pool and the associated Multiplier to measure the abstract service units the corresponding
traffic consumes from the credit pool;
- shall set the Time or Volume Threshold or Quota IE to the value calculated as specified in IETF RFC 4006 [16]
according to the Measurement Method.
NOTE 2: When the Measurement Method is set to the combined volume/duration, the Time and Volume
Threshold or Quota are calculated indepentently.
- may set the Reporting Trigger to reporting upon reaching a volume or time threshold or quota;
- may set the Measurement Method to the data volume, duration (i.e. time), combined volume/duration according
to the Measurement Method set in the URRs in the Credit Pool.
NOTE 3: The UP function is instructed to handle a Credit Pool when a G-S-U-Pool-Reference AVP is included
within a Multiple Services Credit Control from the OCS. A Credit Pool is identified by the G-S-U-
Pool-Identifier AVP. See subclause 6.3.11, 6.4.3 and 6.4.4 of 3GPP TS 32.299 [18].
In addition, the CP function shall also include the Linked URR IE, set to the Credit Pool URR ID, in all the URRs
which are sharing the credit pool (i.e. which are associatied with RGs sharing the Credit Pool).
5.2.2.3.1 General
When detecting that a provisioned reporting trigger occurs, the UP function shall generate a Usage Report for the
related URR and send it to the CP function by initiating the PFCP Session Report procedure.
When providing usage report information for a URR in a message, the UP function shall include the UR-SEQN (Usage
Report Sequence Number) identifying the order in which a Usage Report is generated for the given URR. The UR-
SEQN (Usage Report Sequence Number) shall be set to "0" for the first Usage Report and incremented for every
subsequent Usage Report generated by the UP function for the URR. The UP function shall also indicate the trigger that
causes the usage report to be generated in the Usage Report Trigger IE.
Upon generating a usage report for a URR towards the CP function, the UP function shall:
- reset its ongoing measurement counts for the related URR (i.e. the UP function shall report in a usage report the
network resources usage measurement since the last usage report for that URR);
- re-apply all the thresholds (Volume/Time/Event Threshold) provisioned for the related URR, if the usage report
was triggered due to one of the thresholds being reached; and
- continue to apply all the provisioned URR(s) and perform the related network resources usage measurement(s),
until getting any further instruction from the CP function.
When receiving a new threshold or quota from the CP function for a measurement that is already ongoing in the UP
function, the UP function shall consider its ongoing measurements counts for the related URR against the new threshold
or quota to determine when to send its next usage report to the CP function. At receiving a new quota with value set to
zero, the UP function shall:
3GPP
Release 15 26 3GPP TS 29.244 V15.4.0 (2018-12)
- apply the FAR identified in the FAR ID for Quota Action IE if the CP function has provisioned it, otherwise the
UP function shall stop forwarding packets (or only allow forwarding of some limited user plane traffic, based on
operator policy in the UP function), and
- report in a usage report the network resources usage measurement since the last usage report for that URR.
NOTE 1: The UP function determines when to send its next usage report to the CP function by deducting from the
newly provisioned threshold or quota the traffic it has forwarded since its last usage report. As an
example, if the UP function has forwarded 10 Mbytes of traffic since it last usage report to the CP
function and the CP function provisions a new volume threshold or quota of 100 Mbytes, the UP function
sends its next usage report upon forwarding an additional 90 Mbytes traffic.
NOTE 2: When receiving a new threshold or quota from the CP function for a measurement that is already ongoing
in the UP function and if the UP function has already generated the usage report but had not sent it, the
UP function can send the usage report before performing the update of the URR.
When reporting the network resources usage before and after a Monitoring Time, the UP function shall send two Usage
Reports in the PFCP message (e.g. PFCP Session Report Request) for the same URR ID. Each Usage Report shall then
include the Usage Information IE indicating whether the reported network resource usage was consumed before or after
the Monitoring Time. Omission of this IE in a Usage Report indicates that no monitoring time has occurred. The UP
function shall send Usage Reports soon after the occurrence of the Monitoring Time.
NOTE 3: The UP function needs to take care to smooth the signalling load towards the CP function if Usage
Reports need to be generated for a large number of PFCP sessions after the occurrence of the Monitoring
Time.
For the volume-based measurement method, the UP function shall report the traffic usage after any QoS enforcement.
Additionally, if the CP function requested to measure the traffic usage before QoS enforcement, the UP function shall
also report corresponding measurements, when measurements needs to be reported for the traffic usage after QoS
enforcement, by sending two Usage Reports in the PFCP message (e.g. PFCP Session Report Request) for the same
URR ID. Each Usage Report shall then include the Usage Information IE indicating whether the reported network
resource usage corresponds to the traffic before or after QoS enforcement. Thresholds provisioned in a URR shall apply
to the traffic usage after any QoS enforcement.
For the volume-based measurement method, the UP function shall include all the counters (Total, Uplink and
Downlink) of the URR in the Volume Measurement IE in the Usage Report IE.
A usage report triggered only due to the Dropped DL Traffic Threshold shall not contain any measurement information.
When being instructed to remove a URR or the last PDR associated to a URR, the UP function shall include a Usage
Report in the PFCP Session Modification Response or in an additional PFCP Session Report Request if there are non-
null measurements to report for the URR, and shall reset its ongoing measurements for the URR that is removed, or
dissociated from the last PDR.
When being instructed to deactivate a network resources usage measurement via the Inactive Measurement flag of the
Measurement Information IE of the URR, the UP function shall stop measuring the network resources usage (against
the volume/time/event threshold/quota) and store the current measurement counts which will be resumed when the URR
is activated again. The UP function shall not generate a usage report upon the deactivation of the URR and it shall send
a usage report during the period when the URR is deactivated for the following scenarios:
- if the Quota Holding Time is expired and if the reporting trigger QUHTI is set;
NOTE 4: The Quota Holding Time can have been started before the URR is deactivated or starts from the moment
when the URR is deactivated since no quota will be consumed.
- if it is the time for a periodic reporting and if the reporting trigger PERIO is set;
- if it is required to send a usage report for this URR when a usage report is reported for a linked URR and if the
reporting trigger LIUSA is set;
- if it is required to send an immeditate report upon a query for the URR, or the URR is removed, dissociated from the
last PDR.
NOTE 5: Multiple usage reports can be required to be reported to the CP function when deleting a PDR that is the
last one to be associated to multiple URRs.
3GPP
Release 15 27 3GPP TS 29.244 V15.4.0 (2018-12)
The CP function may request the UP function, in an PFCP Session Modification Request, to report its ongoing network
resources measurement for one or multiple URRs of the PFCP session. In this case, the UP function shall:
- generate usage report(s) (based on the existing definition of any URR(s) included in the PFCP Session
Modification Request message before any update) for the URR(s) being queried and for any associated linked
usage reports (see subclause 5.2.2.4) for which there are non-null measurements to report,
- include them in the PFCP Session Modification Response or in additional PFCP Session Report Request
messages; and
- proceed as specified above upon generating a usage report for a URR towards the CP function, with the
following additions:
- if the PFCP Session Modification Request includes the Update URR IE (for the URR being queried) with a
Volume or Time Threshold, the UP function shall re-apply the threshold received in the request;
- otherwise, if a threshold had been set for the URR that is queried, since the usage report is not triggered due
to the threshold being reached, the UP function shall adjust the threshold by subtracting the time/volume
reported in the usage report to determine when to generate the next report.
NOTE 6: Upon reaching a threshold that was adjusted due to a URR query as specified above, the UP function re-
applies then the threshold that was provisioned in the URR (i.e. not the value of the adjusted threshold).
NOTE 7: The CP function can query a URR without including a Volume or Time Threshold in the PFCP Session
Modification Request e.g. when it needs to close a traffic volume/service container (see subclause
5.2.3.10.3 of 3GPP TS 32.251 [17]).
NOTE 8: The CP function can query a URR including a Volume or Time Threshold in the PFCP Session
Modification Request e.g. when it needs to close a CDR (see subclause 5.2.3.10.3 of
3GPP TS 32.251 [17]). In such a case, the CP function can include the same threshold for the URR being
queried in the Update URR IE in the PFCP Session Modification Request message to trigger the UP
function to re-apply the threshold.
NOTE 9: It is up to the CP function to request the UP function to generate an immediate report (or not) as specified
above when the CP function modifies a URR or any other rules of the PFCP session. As an exception, the
UP function always generates an immediate report when being instructed to remove a URR.
When additional PFCP Session Report Request messages need to be sent, the UP function shall indicate, either in the
PFCP Session Modification Response or in one PFCP Session Report Request, how many usage reports will be sent in
PFCP Session Report Request messages. If this is indicated in one PFCP Session Report Request, the PFCP Session
Modification Response shall indicate that more reports will follow by setting the AURI flag of the Additional Usage
Reports Information IE. Besides, if the PFCP Session Modification Request included the Query URR Reference IE,
usage reports sent in response to the query in the PFCP Session Modification Response and/or additional PFCP Session
Report Request messages shall include the Query URR Reference IE set to the same value as received in the PFCP
Session Modification Request.
When the reporting trigger "Envelope Closure" is set in the corresponding Usage Reporting Rule, the UP function shall
generate a usage report with the measurement of the time and/or volume as instructed in the Measurement Method:
- when detecting no usage for the first Base Time Interval if the Base Time Interval Type in the Time Quota
Mechanism is set to CTP; or
- at the end of each of base time interval if the Base Time Interval Type in the Time Quota Mechanism is set to
DTP.
NOTE 10: Events (e.g. application detection information) are reported individually and independently from the
usage report sent for envelope closure.
At the PFCP session termination, the UP function shall indicate to the CP function, in the PFCP Session Deletion
Response, the resources that have been consumed for each URR that was provisioned in the PFCP session since the last
usage report (respective to each URR).
3GPP
Release 15 28 3GPP TS 29.244 V15.4.0 (2018-12)
Upon receiving the Usage Report from the UP function, the CP function may initiate PFCP Session Modification
procedure as result of the communication with the PCRF or OCS, as described in subclause 5.3 of 3GPP TS 23.214 [2],
e.g. by:
- modifying the URR (e.g. changing the Volume/Time threshold, Volume/Time quota, disabling the usage
monitoring);
- creating a new FAR (e.g. for redirect) and/or modifying the existing FAR; or
- shall calculate the traffic usage of the URR by applying the Multiplier(s) and aggregating the traffic usage from
all URRs indicated in the Aggregated URRs IE(s), as specified in IETF RFC 4006 [16];
NOTE 1: The usage of this URR is calculated using the following formula:
- shall generate a report when the counted usage exceeds the threshold;
- shall generate a report if the threshold is not provided, and stop packets forwarding (or only allow forwarding of
some limited user plane traffic, based on operator policy in the UP function) for all Aggregated URRs when the
counted usage exceeds the quota.
NOTE 2: The handling of the aggregated URR(s), e.g. generating a Usage Report upon the Reporting Trigger(s) is
not impacted by handling of this URR for the Credit Pool.
- provisioning the URR "X" with the Reporting Triggers IE set to Linked Usage Reporting; and
- including in the URR "X" the Linked URR ID IE set to the URR ID of the URR "Y".
NOTE 1: This can be used by the CP function e.g. to request the UP function to report a Usage Report for an SDF
(i.e. URR "X") when the UP function reports a Usage Report for a bearer (i.e. URR "Y").
NOTE 2: This can be used by the CP function e.g. to request the UP function to report a Usage Report for a RG
(i.e. URR "X") when the UP function reports a Usage Report for a credit pool to which this RG pertain
(i.e. URR "Y").
When a usage report is to be generated for the URR "Y", regardless of the condition which triggers the report, the UP
function shall also send a Usage Report for the URR "X" with the accumulated usage information, and the Usage
Report Trigger IE set to Linked Usage Reporting.
NOTE 3: This also applies e.g. when an immediate usage report is requested for the URR "Y"within a PFCP
session Modification Request.
The URR "Y" may be linked to more URRs than just URR "X".
A RG level URR may be linked to IP-CAN bearer level URR as well as IP-CAN Session level URR to enable the CP
function to generate a CDR on the different level. In such case, a URR "X" may link to more URRs than just URR "Y".
3GPP
Release 15 29 3GPP TS 29.244 V15.4.0 (2018-12)
5.2.3.1 General
The CP function shall provision one and only one FAR for each PDR provisioned in an PFCP session. The FAR
provides instructions to the UP function on how to process the packets matching the PDR.
By setting the appropriate flag(s) in the Apply Action IE in the FAR (see subclause 8.2.26), the CP function may
request the UP function to:
- forward the packets, by setting the FORW flag and by provisioning the Forwarding Parameters providing
instructions on how to forward the packets;
- buffer downlink packets by setting the BUFF flag and by optionally provisioning buffering parameters providing
instructions on how to buffer the packets;
- notify the CP function about the arrival of a first DL packet being buffered, by setting the NOCP flag;
- duplicate the packets, by setting the DUPL flag and by provisioning the Duplicating Parameters providing
instructions on how to forward the duplicated packets.
The CP function may request the UP function to duplicate packets that are to be dropped, forwarded or buffered.
The CP function may provision one or more FAR(s) per PFCP session. Different FARs of a same PFCP session may be
provisioned with a different Apply Action flags, e.g. to enable the forwarding of downlink data packets for some PDRs
while requesting to buffer downlink data packets for other PDRs.
NOTE 1: This is necessary to establish or release a partial set of radio access bearers in UTRAN.
When instructed to buffer and notify the CP function about the arrival of a DL packet, the UP function shall notify the
CP function, when it receives a first downlink packet for a given FAR, by sending an PFCP Session Report Request
including a Downlink Data Report IE identifying the PDR(s) for which downlink packets have been received.
NOTE 2: Receipt of downlink packets on PDRs associated to different FARs can result in sending multiple PFCP
Session Report Request messages for the same PFCP session.
If the UP function indicated support of Header Enrichment of UL traffic (see subclause 8.2.25), the CP function may
provide the UP function with header enrichment information for uplink traffic, by including one or more Header
Enrichment IE(s) in the FAR. In this case, the UP function should use this information to enrich the header of the uplink
traffic (e.g. HTTP header enrichment).
NOTE 3: It is not defined how to support SGi PtP tunnelling mechanisms other than based on UDP/IP
encapsulation (such as PMIPv6/GRE, L2TP, GTP-C/U, see subclause 4.3.17.8.3.3.3 of
3GPP TS 23.401 [14]) for Non-IP PDN connections.
If the UP function indicated support of PDI optimisation (see subclause 8.2.25), the CP function may include in the
forwarding parameters of the FAR the Linked Traffic Endpoint ID, if it is available, identifying the traffic Endpoint
allocated for this PFCP session to receive the traffic in the reverse direction.
NOTE 4: This information can enable an SGW-U or PGW-U to correlate the UL and DL traffic (i.e. PDRs) sent
over a same bearer.
- an UL PDR 1 (for an S5/S8 bearer 1) with Source Interface "Access" associated to an UL Traffic Endpoint ID
"1" (comprising the IP address, a local TEID and optionally a network instance),
the CP function sets the Linked Traffic Endpoint in the DL FAR 1 (associated to DL PDR 1) to the UL Traffic Endpoint
"1", which allows the PGW-U to correlate the uplink and downlink PDRs for the same bearer (i.e. that UL PDR 1
associated to UL Traffic Endpoint "1", and DL PDR1 associated to DL FAR 1 with Linked Traffic Endpoint set to UL
Traffic Endpoint "1", use the same S5/S8 bearer).
3GPP
Release 15 30 3GPP TS 29.244 V15.4.0 (2018-12)
NOTE 5: The Linked Traffic Endpoint can possibly refer to a Traffic Endpoint in the reverse direction requested to
be created in the same PFCP request.
5.2.4.1 General
A BAR provides instructions to control the buffering behaviour of the UP function for all the FARs of the PFCP session
set with an Apply Action parameter requesting the packets to be buffered and associated to this BAR.
The CP function may create a BAR for an PFCP session and associate it to the FAR(s) of the PFCP session in an PFCP
Session Establishment Request or an PFCP Session Modification Request to request the UP function to apply a specific
buffering behaviour for packets requested to be buffered and associated to this BAR.
The CP function may modify the following buffering instructions provided in a BAR as follows:
- the Downlink Data Notification Delay in an PFCP Session Modification Request (for EPC); or
- the Downlink Data Notification Delay (for EPC), DL Buffering Duration and/or DL Buffering Suggested Packet
Count in an PFCP Session Report Response message.
NOTE: The CP function needs to provision a (possibly empty) BAR and associate it to the FARs of the PFCP
session when establishing or modifying the PFCP session to be able to modify the BAR in an PFCP
Session Report Response.
If the UP Function has indicated support of the feature UL/DL Buffering Control (UDBC), the CP function may provide
the Suggested Buffering Packet Count IE in a BAR which is created during a PFCP Session Establishment procedure or
a PFCP Session Modification procedure, and the CP function may modify it in a subsequent PFCP Session
Modification Request, and/or a PFCP Session Report Response message. The same BAR may be associated with all the
FARs in a PFCP session to indicate that all Service Data Flows in the PFCP Session share the same buffer in the UP
function for the PFCP Session.
In this release of the specification, at most one BAR may be created per PFCP session.
- For EPC, the Downlink Data Notification Delay IE, to request the UP function to delay the sending of an PFCP
Session Report Request, between receiving a downlink data packet and notifying the CP function about it, if the
UP function indicated support of the Downlink Data Notification Delay parameter (see subclause 8.2.28);
- the DL Buffering Duration IE, to request the UP function to buffer the downlink data packet for an extended
duration without sending any further notification to the CP function about the arrival of DL data packets, if the
UP function indicated support of the DL Buffering Duration parameter (see subclause 8.2.25);
- the DL Buffering Suggested Packet Count, to request the UP function to buffer the suggested number of
downlink data packets, when extended buffering of downlink data packet is required in the UP function.
- the Suggested Buffering Packet Count IE if the UP Function has indicated support of the feature UDBC, to
indicate the number of packets (including both uplink or downlink) that the CP function suggests to be buffered
in the UP function, until it receives new instructions from the CP function, e.g. when the new Quota is granted.
The UP function shall stop applying the DL Buffering Duration and DL Buffering Suggested Packet Count parameters
and shall delete these parameters from the BAR (without explicit request from the CP function) when extended
buffering of downlink data packets ends in the UP function.
NOTE: The CP function will provide the DL Buffering Duration and DL Buffering Suggested Packet Count
parameters again when re-invoking extended buffering of downlink data packets.
The UP function shall stop applying buffering when new instruction is received from the CP function. The buffered
packets shall be either dropped or forwarded following the packet forwarding model specified in clause 5.2.1 and taking
into consideration that the buffered Packets have been already processed earlier.
3GPP
Release 15 31 3GPP TS 29.244 V15.4.0 (2018-12)
5.2.5.1 General
The CP function shall provision QER(s) for an PFCP session in an PFCP Session Establishment Request or an PFCP
Session Modification Request to request the UP function to perform QoS enforcement of the user plane traffic.
- QoS Control, i.e. MBR, GBR or Packet Rate enforcement, as specified in subclause 5.4.4;
- SCI (Service Class Indicator) marking for service identification for improved radio utilisation for GERAN, as
specified in subclause 5.4.12;
The following additional requirements shall apply to a combined Sxa/Sxb interface between a combined SGW/PGW-C
and a combined SGW/PGW-U:
- all the functionalities specified for Sxa and Sxb shall be supported, possibly concurrently, over a combined
Sxa/Sxb association;
- a single PFCP session may be setup to support both the functionalities of an SGW-U and PGW-U;
- the CP function may provision PDRs, QERs, URRs, FARs (possibly with a buffering instruction) and BAR,
possibly concurrently, for the same PFCP session;
- the CP function may provision concurrently parameters in a message or for the PFCP session that are applicable
to Sxa and Sxb.
3GPP
Release 15 32 3GPP TS 29.244 V15.4.0 (2018-12)
User plane packets shall be forwarded between the CP and UP functions by encapsulating the user plane packets using
GTP-U encapsulation (see 3GPP TS 29.281 [3]).
For forwarding data from the UP function to the CP function, the CP function shall provision PDR(s) per PFCP session
context, with the PDI identifying the user plane traffic to forward to the CP function and with a FAR set with the
Destination Interface "CP function side" and set to perform GTP-U encapsulation and to forward the packets to a GTP-u
F-TEID uniquely assigned in the CP function per PFCP session and PDR. The CP function shall then identify the PDN
connection and the bearer to which the forwarded data belongs by the F-TEID in the header of the encapsulating GTP-U
packet.
For forwarding data from the CP function to the UP function, the CP function shall provision one or more PDR(s) per
PFCP session context, with the PDI set with the Source Interface "CP function side" and identifying the GTP-u F-TEID
uniquely assigned in the UP function per PDR, and with a FAR set to perform GTP-U decapsulation and to forward the
packets to the intended destination. URRs and QERs may also be configured.
For EPC PFCP session contexts may correspond to individual PDN connections, TDF sessions, or standalone sessions
not tied to any PDN connection or TDF session used e.g. for forwarding RADIUS, Diameter or DHCP signalling
between the PGW-C and the PDN or for forwarding End Marker packets from the PGW-C or SGW-C to a downstream
SGW-U or eNodeB.
For 5GC PFCP session contexts may correspond to individual PDU sessions or standalone sessions not tied to any PDU
sessions used e.g. for forwarding RADIUS, Diameter or DHCP signalling between the SMF and the DN or for
forwarding End Marker packets from the SMF to a downstream UPF or NG-RAN.
For EPC the CP function may establish one Sx-u tunnel per:
- bearer of PDN connection e.g. for the data forwarding scenarios 1 and 3;
For 5GC the CP function may establish one N4-u tunnel per:
Requirements for forwarding packets subject to buffering in the CP function between the UP and CP functions
(scenario 3) are further specified in subclause 5.3.3.
Requirements for sending End Marker packets (scenario 4) are further specified in subclause 5.3.2.
3GPP
Release 15 33 3GPP TS 29.244 V15.4.0 (2018-12)
If the UP function indicated support of End Marker packets constructed in the UP function, the CP function shall
request the UP function to construct and send End Marker packets by sending a Session Modification Request including
FAR(s) with the new downstream F-TEID and with the SNDEM (Send End Marker Packets) flag set.
For End Marker packets constructed in the CP function, the CP function shall:
- establish (once) one standalone PFCP session not tied to any PDN connection, per the UP function, for
forwarding End Marker packets, and provision the UP function to perform one GTP-U decapsulation and to
forward the resulting packets without any further change towards the destination IP address of these packets;
- construct the GTP-U End Marker packets, with the destination IP address and TEID set according to the old F-
TEID value, and with a source IP address set according to the UP function's F-TEID value (e.g. S1 or Iu SGW F-
TEID or NG-u UPF F-TEID);
- encapsulate the constructed GTP-U End Marker packets in GTP-U packets according to the principles specified
in subclause 5.3.1 for data forwarding between the CP function and the UP function, and send them towards the
F-TEID assigned in the UP function for the above PFCP session, after receipt of the PFCP Session Modification
Response indicating that the UP function has switched to a new F-TEID.
Upon receipt of a PFCP Session Modification Request modifying the F-TEID in the Outer Header Creation of a FAR,
the UP function shall send the Response message only after having switched to the new F-TEID.
5.3.3.1 General
The following requirements shall apply to the data forwarding scenario 3 of Table 5.3.1-1 in addition to the
requirements specified in subclause 5.3.1.
The CP function shall establish one Sx-u tunnel per bearer of a PDN connection / one N4-u tunnel per PDU session
when applying the data forwarding scenario 3.
NOTE 1: An SGW-U receiving G-PDUs from an S5/S8 bearer forwards the same G-PDUs towards the SGW-C but
with the IP address and TEID in the GTP-U header changed to the SGW-C IP address and TEID of the
corresponding Sx-u tunnel.
For 5GC, regardless of whether the downlink traffic received by the UP function consists of T-PDUs (i.e. user data
packet, see 3GPP TS 29.281 [3]) for an PSA-UPF, or G-PDUs (i.e. T-PDU plus a GTP-U header) for an I-UPF, the
downlink traffic shall be forwarded from the UP function to the CP function as G-PDUs with the GTP-U header set to
the IP address and TEID uniquely assigned in the CP function for the N4-u tunnel corresponding to the PDU session of
the PDN connection.
NOTE 2: An I-UPF receiving G-PDUs from an N9 GTPU tunnel forwards the same G-PDUs towards the SMF but
with the IP address and TEID in the GTP-U header changed to the SMF IP address and TEID of the
corresponding N4-u tunnel.
To forward the user plane data to be buffered in the CP function from the UP function, the CP function shall provision:
- for EPC, a PDR per bearer of the PDN connection, matching the received downlink user plane packets and for a
(non-combined) SGW-U, with the field Outer Header Removal Description in the Outer Header Removal IE set
to "0" or "1" for IPv4 or IPv6 respectively;
- for 5GC, a PDR per PDU session, matching the received downlink user plane packets and for an I-UPF, with the
field Outer Header Removal Description in the Outer Header Removal IE set to "0" or "1" for IPv4 or IPv6
respectively;
3GPP
Release 15 34 3GPP TS 29.244 V15.4.0 (2018-12)
- a FAR instructing the UP function to forward the received downlink data to the CP function, with the field Outer
Header Creation Description in the Outer Header Creation set to "0" or "1".
NOTE 3: The PDR can be provisioned in the UP function before applying data forwarding to the CP function.
For EPC, G-PDUs sent from the UP function to the CP function over the Sx-u tunnel shall include any GTP-U
extension header(s):
- possibly received by the UP function over the S5/S8 bearers and stored during the Outer Header Removal;
For 5GC, G-PDUs sent from the UP function to the CP function over the N4-u tunnel shall include any GTP-U
extension header(s):
- possibly received by the UP function over the N9 PDU sessions and stored during the Outer Header Removal;
- for EPC, over Sx-u as G-PDUs with the GTP-U header set to the IP address and TEID uniquely assigned in the
UP function for the Sx-u tunnel set up for the corresponding bearer of the PDN connection.
- for 5GC, over N4-u as G-PDUs with the GTP-U header set to the IP address and TEID uniquely assigned in the
UP function for the N4-u tunnel set up for the corresponding PDU session.
G-PDUs sent over Sx-u / N4-u shall include GTP-U extension header(s) possibly received earlier from the UP function.
To forward the user plane data from the CP function to the UP function, the CP function shall provision:
a PDR per bearer of the PDN connection (for EPC) or per PDU session (for 5GC), with an IP address and TEID
uniquely assigned in the UP function for the Sx-u / N4-u tunnel, and with the field Outer Header Removal
Description in the Outer Header Removal IE set to "0" or "1";
- a FAR enabling the UP function to forward the received downlink data from the CP function towards the RAN,
with the field Outer Header Creation Description in the Outer Header Creation set to "0" or "1".
G-PDUs sent from the UP function towards the RAN shall include GTP-U extension header(s) possibly received from
the CP function.
5.3.4 Data Forwarding between the CP and UP Functions with one PFCP-
u Tunnel per UP Function or PDN
5.3.4.1 General
The following requirements shall apply to the data forwarding scenario 1 and 2 of Table 5.3.1-1, when establishing one
PFCP-u tunnel per UP function or PDN, in addition to the requirements specified in subclause 5.3.1.
To forward the user plane data to from the UP function, the CP function shall provision:
3GPP
Release 15 35 3GPP TS 29.244 V15.4.0 (2018-12)
- for supporting data forwarding scenario "1" as specified in subclause 5.3.1, an additional PDR for a PFCP
session established for a PDN connection or a PDU session which requires such data forwarding, matching the
received user plane packets from uplink direction. The Outer Header Removal IE shall not be present if the
complete G-PDU is required to be forwarded, otherwise the Outer Header Removal IE shall be present and set to
"0" or "1" for IPv4 or IPv6 respectively;
- for supporting data forwarding scenario "2" as specified in subclause 5.3.1, a PDR matching the received user
plane packets from downlink direction;
- a FAR instructing the UP function to forward the received data to the CP function, with the field Outer Header
Creation Description in the Outer Header Creation set to "0" or "1" for IPv4 or IPv6 respectively, and the Outer
GTP-U header set to the IP address and TEID uniquely assigned in the CP function for the Sx-u tunnel.
- T-PDUs encapsulated in GTP-U with the GTP-U header set to the IP address and TEID uniquely assigned in the
UP function for the PFCP-u tunnel set up for the UP function or PDN or DN for traffic to be sent towards SGi or
N6, or
- G-PDUs encapsulated in GTP-U with the outer GTP-U header set to the IP address and TEID uniquely assigned
in the UP function for the PFCP-u tunnel set up for the UP function and with the inner GTP-U header set to the
F-TEID assigned by the downstreams GTP-U peer (e.g. SGW, I-UPF) to the bearer over which the data shall be
sent.
To forward the user plane data from the CP function to the UP function, the CP function shall provision:
a PDR per UP function, with an IP address and TEID uniquely assigned in the UP function for the PFCP-u
tunnel, and with the field Outer Header Removal Description in the Outer Header Removal IE set to "0" or "1";
- a FAR enabling the UP function to forward the received data from the CP function.
Bearer binding is the procedure that associates service data flow(s) to an IP-CAN bearer deemed to transport the service
data flow. UL bearer binding verification refers to the process of discarding uplink packets due to no matching service
data flow template for the uplink direction. See subclauses 6.1.1.4 and 6.2.2.2 of 3GPP TS 23.203 [7].
Service detection is controlled over the Sxa, Sxb and Sxc reference points by configuring Packet Detection Information
in PDRs to match the intended service data flows or application.
The mapping of DL traffic to bearers is achieved by configuring and associating FARs to the downlink PDRs, with
FARs set to forward the packets to the appropriate downstream bearers (S5/S8 or S1/S12/S4/Iu).
Uplink bearer binding verification is achieved by configuring Packet Detection Information in uplink PDRs containing
the local F-TEID of the uplink bearer, the UE IP address (source IP address to match for the incoming packet), and the
SDF filter(s) or the Application ID. As a result, uplink packets received on the uplink bearer but that do not match the
SDF filter(s) or Application detection filter associated to the uplink PDRs are discarded.
3GPP
Release 15 36 3GPP TS 29.244 V15.4.0 (2018-12)
NOTE 1: For PCC Rules that contain an application identifier (i.e. that refer to an application detection filter),
uplink traffic can be received on other IP-CAN bearers than the one determined by the binding
mechanism. The detection of the uplink part of the service data flow can be activated in parallel on
other bearers with non-GBR QCI (e.g. the default bearer) in addition to the bearer where the PCC rule
is bound to. See subclauses 6.1.1.1 and 6.2.2.2 of 3GPP TS 23.203 [7]. Therefore the uplink PDRs for
these bearers can be provisioned with the PDI containing this service data flow and the local F-TEID
of the uplink bearer.
NOTE 2: To avoid the PGW-U discarding packets due to no matching service data flow template, the operator
can apply open PCC rules (with wildcarded SDF filters) to allow for the passage of packets that do not
match any other candidate SDF template. Therefore an uplink PDR can be provisioned with the PDI
containing only the local F-TEID of the uplink bearer.
NOTE 3: Uplink bearer binding does not apply to Non-IP PDN connections.
The PGW-C and TDF-C controls the gating in the PGW-U and TDF-U by creating PDR(s) for the service data flow(s)
or application's traffic to be detected, and by associating a QER, including the Gate Status IE, to the PDRs.
The Gate Status IE indicates whether the service data flow or detected application traffic is allowed to be forwarded (the
gate is open) or shall be discarded (the gate is closed) in the uplink and/or in downlink directions.
The PGW-U and TDF-U shall identify UL and DL flows by the Source Interface IE in the PDI of the PDRs or the
Destination Interface IE in the FARs. The PGW-U and TDF-U shall apply UL and DL gating accordingly.
- for EPC,
- at the session level (APN-AMBR, TDF session UL and DL bitrates, or UL and DL Packet Rate of a PDN
connection);
- for 5GC,
See subclause 4.3.3 of 3GPP TS 23.203 [7] subclause 4.5.5 of 3GPP TS 29.212 [8] and subclause 4.7.7 of
3GPP TS 23.401 [14].
The CP function shall control the QoS enforcement in the UP function by:
- creating the necessary PDR(s) to represent the service data flow, application, QoS Flow (for 5GC), bearer or
session, if not already existing;
- creating QERs for the QoS enforcement at session level, SDF/application level;
- creating QERs for the QoS enforcement of the aggregate of SDFs with the same GBR QCI;
- creating QERs for the QoS enforcement of the aggregate of SDFs with the same GBR QFI (for 5GC);
3GPP
Release 15 37 3GPP TS 29.244 V15.4.0 (2018-12)
- associating the session level QER to all the PDRs defined for the session;
- associating the SDF or application QER to the PDRs associated to the SDF or application;
- associating the QER of the aggregate of SDFs to the PDRs associated to SDFs or applications that share the
QER.
The same QER may be associated to UL and DL PDRs. The UP function shall identify the UL and DL flows by the
Source Interface IE in the PDRs or the Destination Interface IE in the FARs. The UP function shall enforce the QoS for
the UL or DL flows accordingly.
The CP function shall map the precedence of a PCC rule to the precedence of the PDRs associated to the corresponding
service data flows.
DL DSCP marking for application indication is controlled by the TDF-C by associating a QER, including the ToS or
Traffic Class within the DL Flow Level Marking IE, to the PDR matching the DL traffic to be marked. The TDF-U
performs the DL DSCP marking for the detected DL traffic and sends the marked packet to the PGW-U.
If a tunnelling protocol is used between the TDF-U and the PGW-U, the DSCP value for service data flow detection
shall be carried in the inner IP header.
The TDF-C may stop the DL DSCP marking for the application during the PFCP session by removing the related QER
or removing the DL Flow Level Marking IE from the related QER, the TDF-U shall then stop such function
consequently.
Policy and charging control in the downlink direction by the PCEF for an application detected by the TDF is performed
by the PGW-C configuring a PDR with a PDI containing an SDF Filter with the corresponding DSCP value.
- IP-CAN session, possibly excluding an individual SDF or a group of service data flow(s), and/or
See subclauses 4.4, 6.2.2.3 and 6.6 of 3GPP TS 23.203 [7] and subclauses 4.5.16, 4.5.17, 4b.5.6, 4b.5.7 of
3GPP TS 29.212 [8].
Usage Monitoring Control is supported over the Sxb and Sxc reference points by activating in the UP function the
reporting of usage information towards the CP function, as specified in subclauses 5.3 and 7.8.4 of 3GPP TS 23.214 [2].
The CP function shall control the Usage Reporting in the UP function by:
- creating the necessary PDR(s) to represent the service data flow, application or session;
- all the PDRs of the PFCP session, for usage monitoring at IP-CAN or TDF session level, possibly excluding
the PDRs matching the SDFs or Applications excluded from the usage monitoring at session level; or
3GPP
Release 15 38 3GPP TS 29.244 V15.4.0 (2018-12)
- the PDR(s) of the PFCP session associated to the individual or group of SDF(s) or Application(s), for usage
monitoring at SDF or application level.
The redirect destination may be provided by the PCRF or be preconfigured in the CP function or in the UP function.
The traffic redirection may be enforced in the CP function or in the UP function. If the traffic that the UP function can
support may be subject to traffic redirection, traffic redirection enforcement in the UP function shall be supported by the
UP function. The UP function reports to the CP function whether it supports traffic redirection enforcement in the UP
function via the UP Function Features IE (see subclause 8.2.25).
NOTE: A UP function that supports traffic not requiring traffic redirection does not need to support traffic
redirection enforcement in the UP function. The CP function can select a UP function supporting traffic
redirection enforcement in the UP function for users or services which may require traffic redirection.
To enforce the traffic redirection in the CP function, the CP function shall instruct the UP function to forward the
applicable user traffic to the CP function, as specified in subclause 5.3.1.
- create the necessary PDR(s) to represent the traffic to be redirected, if not already existing;
- the Redirect Information IE including the redirect destination, if the traffic needs to be redirected towards a
redirect destination provided by the CP function; a redirect destination provided by the CP function shall
prevail over a redirect destination preconfigured in the UP function; ;
- For HTTP traffic redirection, the Redirection Address Type shall be set to "URL" and the CP function
shall set the Destination Interface IE in the FAR to "Access" (to forward the HTTP response message
with a status code indicating redirect). For other types of traffic redirection, the Destination Interface IE
in the FAR may be set to "Core".
or
- the Forwarding Policy IE including the identifier of the forwarding policy to apply, if the traffic needs to be
redirected towards a redirect destination preconfigured in the UP function;
Application Function influencing traffic routing (see subclause 5.6.7 of 3GPP TS 23.501 [28]) also uses traffic steering
for the purpose of steering the subscriber's traffic over N6, e.g. to a local access to a Data Network.
The UP function shall set the TRST feature flag in the UP Function Features IE if it supports Traffic Steering (see
subclause 8.2.25).
Traffic Steering is supported over the Sxb, Sxc and N4 reference points by instructing the UP function to apply a
specific Forwarding Policy, that is locally configured in the UP function and that can be used for the uplink, the
downlink or for both directions. A Forwarding Policy is identified by a Forwarding Policy Identifier. Traffic steering is
alternatively supported over the N4 reference point by instructing the UP function to route packets according to N6
routing information in the FAR (e.g. providing an IP address in the Outer Header Creation).
3GPP
Release 15 39 3GPP TS 29.244 V15.4.0 (2018-12)
When so instructed, the UP function shall perform the necessary actions to enforce the forwarding policy referenced by
the CP function, e.g. performing packet marking and routing the traffic towards the service functions within the (S)Gi-
LAN or N6-LAN.
See 3GPP TS 23.203 [7], 3GPP TS 29.212 [8] and 3GPP TS 23.501 [28].
The CP function shall control Traffic Steering towards SGi-LAN, N6-LAN or N6 in the UP function by:
- creating the necessary PDRs to represent the service data flows or applications to be steered;
- creating a FAR with the Forwarding Policy IE including the Forwarding Policy Identifier set to the Traffic
Steering Policy Identifier, or creating a FAR with a Outer Header Creation with the destination IP address; and
The CP function shall control the processing of the traffic received from the (S)Gi-LAN or N6-LAN in the UP function
as specified in the rest of this specification for traffic received from any other interface, but with PDR(s) including a
PDI with the Source Interface indicating "SGi-LAN/N6-LAN". The UP function shall distinguish packets coming from
(S)Gi-LAN/N6-LAN based on local configuration.
For EPC a predefined ADC rule is preconfigured in the TDF. In the case of solicited reporting, the Predefined ADC
rules can be activated or deactivated by the PCRF at any time. Predefined ADC rules within the TDF may be grouped
allowing the PCRF to dynamically activate a set of ADC rules.
For the definition of PCC and ADC rules see subclauses 4.3.1 and 4b.3.2 of 3GPP TS 29.212 [8] and subclause 5.6.2.6
of 3GPP TS 29.512 [41].
The CP function may enforce an activated predefined PCC or ADC rule by the PCRF/PCF in the UP function by:
- determining the service data filters or application IDs referred by the activated predefined PCC or ADC rule(s)
and the corresponding QoS and charging control information respectively;
- creating the necessary PDR(s) to identify the service data flow(s), application(s) that the predefined PCC or
ADC rule refer to, if not already existing;
- creating the necessary QER for the QoS enforcement at service data flow or application level accordingly;
- creating the necessary FAR if a new FAR needs to be created as result of Bearer binding (for EPC) or QoS flow
binding (for 5GC) and QoS control for forwarding the detected service data flow or application traffic, or to
redirect or to apply traffic steering control if included in the predefined PCC/ADC rule;
- creating the necessary URR(s) for each monitoring key, charging key, combination of Charging Key and Service
ID, or combination of Charging Key, Sponsor ID and Application Service Provider Id if included in the
predefined PCC or ADC rule;
And then:
- associating the existing FAR or the new FAR to the newly created PDR(s);
Optionally, the traffic handling policies common to many PFCP sessions (i.e. predefined QER(s)/FAR(s)/URR(s)) may
be configured in the UP function. The CP function may activate these traffic handling policies by including the Activate
Predefined Rules IE within:
3GPP
Release 15 40 3GPP TS 29.244 V15.4.0 (2018-12)
For traffic matching PDR(s) associated with the activated predefined rules, the UP function shall enforce the rules, e.g.
for URR, the UP function shall generate Usage Report(s) and send it to the CP function and the CP function shall be
able to handle the usage reports as described in subclause 5.2.2.
NOTE: The URR IDs used in reports triggered by a predefined rule in UP function are also pre-configured at the
CP function.
For deactivating predefined rules which are activated in the UP function, the CP function shall include the Deactivate
Predefined Rules IE in the Update PDR IE in an PFCP Session Modification Request to inform the UP function to
deactivate the corresponding predefined rules for the related PDR.
5.4.10 Charging
The charging requirements for online and offline charging in the PS domain specified in 3GPP TS 32.251 [17] shall be
preserved with a split SGW, PGW and TDF architecture.
Charging is supported by the CP function by activating in the UP function the measurement and reporting of the
accumulated usage of network resources per:
- IP-CAN bearer, IP-CAN session and/or individual or group of service data flows, for a PGW;
The CP function shall control the usage measurement and reporting in the UP function by:
- creating the necessary PDR(s) to represent the service data flow, application, bearer or session, if not already
existing;
- creating URR(s) for each Charging Key, combination of Charging Key and Service ID, or combination of
Charging Key, Sponsor ID and Application Service Provider Id;
- associating the URR(s) to the relevant PDRs defined for the PFCP session, for usage reporting at IP-CAN bearer,
IP-CAN session, TDF session, SDF or application level.
For online charging, the CP function shall provision the URR with the Volume (or Time) Quota, and with the Volume
(or Time) Quota if a quota threshold was received from the OCS, as specified in subclause 5.2.2.2. Besides, when the
OCS provides a final quota and requests to redirect the traffic towards a redirect destination when exhausing this quota,
the CP function shall redirect the traffic towards a redirect destination as specified in subclause 5.4.7 upon being
notified that the final quota has been reached; to permit HTTP traffic redirection, the UP function should have at least
one HTTP packet, e.g. the UP function may store one packet when reaching the Volume (or Time) Quota. An example
call flow is depicted in Annex C.2.1.1.
To avoid the risk of signalling storms between the CP and UP functions at times of tariff change, the CP function may
include the Monitoring Time IE and zero or more Additional Monitoring IEs in the URR and set it to the time of tariff
change to request the UP function to report separately the resource usage before and after the time of tariff change (see
e.g. subclause 6.3.7.1 of 3GPP TS 32.299 [18]).
(Un)solicited Application Reporting refers to the process of reporting the start or stop of applications by the TDF or
PCEF. See 3GPP TS 23.203 [3] and 3GPP TS 29.212 [8].
The CP function shall instruct the UP function to detect and report applications by:
- creating a URR with the Reporting Trigger IE set to detect the start and/or stop of Traffic;
3GPP
Release 15 41 3GPP TS 29.244 V15.4.0 (2018-12)
For unsolicited application reporting, an PFCP session which is not linked to any specific TDF session may be
established and the PDI in the PDR(s) does not contain any UE IP address.
When detecting the start or stop of an application, the UP function shall then initiate the PFCP Session Report
procedure and send a Usage Report with the Usage Report Trigger set to 'Start of Traffic' or 'Stop of Traffic'. The UP
function shall also include the following information in the Usage Report:
- the Flow Information including the Flow Description and the Flow Direction, if the traffic flow information
is deducible;
- if no UE IP address was provisioned in the PDI, the UE's IP address, and the Network instance when multiple
PDNs with overlapping IP addresses are used in the UP function.
NOTE: When the CP function instructs the UP function to perform unsolicited application reporting, the PDI in
the corresponding PDR has no UE IP address.
- the Application-Instance-Identifier, if an Application Identifier was provided when reporting the start of the
application;
- if no UE IP address was provisioned in the PDI, the UE's IP address, and the Network instance when multiple
PDNs with overlapping IP addresses are used in the UP function.
The UP function shall only report the Application ID when detecting the start or stop of an application and the Reduced
Application Detection Information flag is set in the Measurement Information of the URR, e.g. for envelope reporting.
This is controlled by the PGW-C by associating a QER, including the Service Class Indicator within the DL Flow Level
Marking IE, to the PDR matching the DL traffic to be marked. The PGW-U performs the SCI marking for the detected
DL traffic and sends the packet with the GTP-U Service Class Indicator Extension Header downstreams.
The PGW-C may stop the SCI marking during the PFCP session by removing the related QER or removing the DL
Flow Level Marking IE from the related QER, the PGW-U shall then stop such function consequently.
For 5GC, transport level marking is performed on a per QoS flow basis. Transport level marking refers to the process of
marking traffic at the UPF with a DSCP value based on the mapping from the 5QI and optionally ARP configured at the
SMF.
Transport level marking shall be controlled by the CP function by providing the DSCP in the ToS or Traffic Class
within the Transport Level Marking IE in the FAR that is associated to the PDR matching the traffic to be marked. The
UP function shall perform the transport level marking for the detected traffic and sends the marked packet to the peer
entity.
The CP function may change transport level marking by changing the Transport Level Marking IE in the related FAR.
3GPP
Release 15 42 3GPP TS 29.244 V15.4.0 (2018-12)
The UP function shall set the FTUP feature flag in the UP Function Features IE if it supports F-TEID allocation in the
UP function (see subclause 8.2.25). If so, the CP function shall determine whether F-TEIDs are allocated by the CP
function or the UP function based on network configuration. The same F-TEID allocation option shall be used by all the
CP functions controlling a particular UP function. The UP function shall reject a request to establish a new PDR with a
different F-TEID allocation option than the option used for already created PDRs (by the same or a different CP
function), with the cause "Invalid F-TEID allocation option".
The CP function may request the UP function to allocate the same F-TEID to several PDRs to be created within one
single PFCP Session Establishment Request or PFCP Session Modification Request by:
- setting the CHOOSE flag in the Local F-TEID IE of each PDR to be created with a new F-TEID, and
- setting the CHOOSE ID field of the Local F-TEID IE, for each PDR to be created with the same F-TEID, with
the same CHOOSE ID value.
or, if the UP function indicated support of the PDI optimization (see subclause 8.2.25), by:
- including the Local F-TEID IE only in the Create Traffic Endpoint IE and by setting the CHOOSE flag in the
Local F-TEID IE of this IE; and
- including the Traffic Endpoint ID in all the PDRs to be created with the same F-TEID.
If the PDR(s) is created successfully, the UP function shall return the F-TEID(s) it has assigned to the PDR(s) or to the
Traffic Endpoint(s) in the PFCP Session Establishment Response or PFCP Session Modification Response.
Upon receiving a request to remove a PDR or a Traffic Endpoint or to delete an PFCP session, the UP function shall
free the F-TEID(s) that was assigned to the PDR, to the Traffic Endpoint or to the PFCP Session.
3GPP
Release 15 43 3GPP TS 29.244 V15.4.0 (2018-12)
The PFCP entity communicates to the peer PFCP entity the SEID value at which it expects to receive all subsequent
control plane messages related to that PFCP session via the "F-SEID" IE.
The PFCP session related messages shall share the same F-SEID for the PFCP session. A F-SEID shall be released after
the PFCP session is released.
When modifying an existing PFCP session, the CP function shall only provide in the PFCP Request message the
requested changes compared to what was previously provisioned in the UP function for this PFCP session, i.e. the CP
function shall:
- remove IEs which need to be removed from the set of parameters previously provisioned in the UP function, as
further specified below.
- removing the entire Rule if no other parameter of that rule needs to remain provisioned in the UP function, e.g.
by including the Remove URR IE in the PFCP Session Modification Request; or
- updating the Rule including the IEs to be removed with a null length, e.g. by including the Update URR IE in the
PFCP Session Modification Request with the IE(s) to be removed with a null length.
The CP function shall set a URR ID and/or QER ID with a length "0" in the Update PDR IE within PFCP Session
Modification Request, to request the UP function to stop applying the URRs and/or QERs for this PDR.
Upon receipt of an PFCP Request which modifies an existing PFCP session, the UP function shall add, update or
remove the parameters as instructed by the CP function, as defined above, and shall keep unchanged the set of
parameters previously provisioned in the UP function which are neither modified nor removed.
Requirements for support of Lawful Interception with a split SGW or PGW are specified in subclauses 12.9 and 20.4 of
3GPP TS 33.107 [20].
User plane packets shall be forwarded from the UP function to the SX3LIF (or LMISF for S8HR) by encapsulating the
user plane packets using GTP-U encapsulation (see 3GPP TS 29.281 [3]).
The CP function shall instruct the UP function to duplicate the packets to be intercepted and to forward them to the
SX3LIF (or to the LMISF for S8HR) as specified in subclause 5.2.3.
For forwarding data from the UP function to the SX3LIF (or LMISF for S8HR), the CP function shall set the DUPL
flag in the Apply Action and set the Duplicating Parameters in the FAR, associated to the PDRs of the traffic to be
intercepted, with the Destination Interface "LI Function" and set to perform GTP-U encapsulation and to forward the
packets to a GTP-u F-TEID uniquely assigned in the SX3LIF (or LMISF for S8HR) for the traffic to be intercepted. The
SX3LIF (or LMISF for S8HR) shall then identify the intercepted traffic by the F-TEID in the header of the
encapsulating GTP-U packet.
3GPP
Release 15 44 3GPP TS 29.244 V15.4.0 (2018-12)
The CP function and the UP function shall support the PFCP Association Setup procedure initiated by the CP function
(see subclause 6.2.6.2). The CP function and the UP function may additionally support the PFCP Association Setup
procedure initiated by the UP function (see subclause 6.2.6.3).
A CP function may have PFCP Associations set up with multiple UP functions. A UP function may have PFCP
Associations set up with multiple CP functions.
- shall provision node related parameters (i.e. parameters that apply to all PFCP sessions) in the UP function, if
any, e.g. PFDs;
- shall provision the UP function with the list of features (affecting the UP function behaviour) the CP function
supports, if any, e.g. support of load and/or overload control;
- shall check the responsiveness of the UP function using the Heartbeat procedure as specified in subclause 6.2.2;
- shall refrain from attempting to establish new PFCP sessions on the UP function, if the UP function has indicated
it will shut down gracefully.
- shall update the CP function with its load and/or overload control information, if load and/or overload control is
supported by the CP and UP functions;
- may update the CP function with the set of its IP resources available for use by the CP function, when F-TEID
allocation is performed by the CP function;
NOTE: The CP function can be aware of the available IP resources in the UP function e.g. based on the UP
function reporting this information over Sx using Sx node related messages, or by other implementation
specific means.
- shall accept PFCP Session related messages from that CP function (unless prevented by other reasons, e.g.
overload);
- shall check the responsiveness of the CP function using the Heartbeat procedure as specified in subclause 6.2.2;
- shall indicate to the CP function if it will shut down within a graceful period and, when possible, if it fails and
becomes out of service.
- shall reject any incoming PFCP Session related messages from that UP function, with a cause indicating that no
PFCP association exists with the peer entity.
When an PFCP Association is not yet established with a CP function, the UP function:
- shall reject any incoming PFCP Session related messages from that CP function, with a cause indicating that no
PFCP association exists with the peer entity.
NOTE 1: When a IE is intended to be used by more than one vendor, the definition of the IE is encouraged to be
specified by 3GPP to ease implementation and interoperability.
3GPP
Release 15 45 3GPP TS 29.244 V15.4.0 (2018-12)
NOTE 2: The PFCP entities can use Vendor-specific IE(s) in the PFCP message relevant to the PFCP Association
Setup procedure to learn which vendor specific enhancements are supported by the peer.
In a network with Vendor specific enhancements, unrecognized vendor specific IEs shall be handled as unknown
optional IEs.
- shall identify the related PFCP session for which the message is received; and
- shall initiate an PFCP Session Report procedure, towards the CP function controlling this PFCP session, to send
an Error Indication Report including the remote F-TEID signalled in the GTP-U Peer Address IE and the Tunnel
Endpoint Identifier Data I IE of the GTP-U Error Indication (see subclause 7.3.1 of 3GPP TS 29.281 [3]).
For EPC, upon receipt of an Error Indication Report, the CP function shall then identify the bearer for which the Error
Indication Report is received using the remote F-TEID included in the report and proceed as specified in subclauses
21.7 and 21.8 of 3GPP TS 23.007 [24], i.e.:
- modify the PFCP session to delete the PDR and FAR, when having to delete a bearer; or
- delete the PFCP session, when having to delete the PDN connection.
For 5GC, upon receipt of an Error Indication Report, the SMF shall proceed as specified in subclause 5.3 of
3GPP TS 23.527 [40].
Subclause 4.3.7 and 4.3.2.2.2 of 3GPP TS 23.502 [29] requires the SMF to be able to initiate the deactivation of the UP
connection of an existing PDU session without user plane activity for a given inactivity period, except for the H-SMF
for the home routed roaming scenario.
The CP function may request the UP function to detect and report when no user plane packets are received for an PFCP
session, by provisioning the User Plane Inactivity Timer IE in the PFCP Session Establishment Request or PFCP
Session Modification Request.
Upon being provisioned with this IE, the UP function shall monitor the user plane activity of the PFCP session, and
report any user plane inactivity exceeding the duration indicated by this IE by sending an PFCP Session Report Request
with the Report Type set to UPIR (User Plane Inactivity Report). The UP function shall then continue to process any
further user plane packets as instructed by the rules provisioned for the PFCP session, until receiving any new
instruction from the CP function.
- setting the DROP flag in the Apply Action IE of the FARs of the corresponding PFCP session, or
- setting the gate fields in the Gate Status IE of QERs to the value CLOSED.
Upon being requested to resume the PDN connection, the PGW-C should re-allow the PGW-U to forward the packets
for the PDN connection (unless not permitted for other reasons) by:
- setting the FORW flag in the Apply Action IE of the FARs of the corresponding PFCP session or
3GPP
Release 15 46 3GPP TS 29.244 V15.4.0 (2018-12)
- setting the gate fields in the Gate Status IE of QERs to the value OPEN.
For a PFCP session set up for an Ethernet PDU session, the SMF shall:
- include the PDN Type IE set to "Ethernet" in the PFCP Session Establishment Request;
- provision PDR(s), for uplink and/or downlink traffic, with Ethernet Packet Filter(s), based on at least any
combination of:
- Customer-VLAN tag (C-TAG) and/or Service-VLAN tag (S-TAG) VID fields as defined in
IEEE 802.1Q [30];
- Customer-VLAN tag (C-TAG) and/or Service-VLAN tag (S-TAG) PCP/DEI fields as defined in
IEEE 802.1Q [30];
- Ethernet PDU Session Information, only possible for a DL PDR, that identifies all (DL) Ethernet packets
matching the PDU session as follows, based on the N6 Ethernet configuration in the UPF for the associated
Network Instance (see subclause 5.6.10.2 of 3GPP TS 23.501 [28]):
- DL traffic based on the MAC address(es) and/or C-TAG and/or S-TAG used by the UE for the UL traffic,
for configurations where more than one PDU Session to the same DNN (e.g. for more than one UE)
corresponds to the same N6 interface;
- DL traffic from the N6 interface associated to the PDU session, for configurations where there is a one-
to-one relationship between a PDU Session and a N6 interface (in which case the UPF does not need to be
aware of MAC addresses and/or C-TAG and/or S-TAG used by the UE in order to route down-link
traffic).
NOTE 1: For instance, the SMF can provision a DL PDR with just an "Ethernet PDU Session Information", in a
Traffic Endpoint ID or in a PDI, or Ethernet Packet Filters in a PDI, or both an "Ethernet PDU Session
Information" in a Traffic Endpoint ID and Ethernet Packet Filters in a PDI.
The SMF may also request a UPF, acting as a PDU session anchor, to:
- redirect ARP or IPv6 Neighbour Solicitation traffic to the SMF as specified in subclause 5.13.2, or to perform
ARP proxying or IPv6 Neighbour Advertisement proxying as specified in subclause 5.13.3;
- report the MAC (Ethernet) addresses used as source address of frames sent UL by the UE, as specified in
subclause 5.13.5.
For a PFCP session set up for an Ethernet PDU session, the UPF shall:
- detect Ethernet traffic, based on Ethernet Packet Filter(s) provisioned in PDR(s) by the SMF, and process the
Ethernet traffic as instructed in the FAR, QER(s) and URR(s) associated to the PDR(s);
- forward ARP or IPv6 Neighbour Solicitation messages to the SMF, as specified in subclause 5.13.2, if so
required by the SMF.
- perform ARP proxying or IPv6 Neighbour Advertisement proxying, as specified in subclause 5.13.3, if so
required by the SMF;
NOTE 2: Ethernet Preamble and Start of Frame delimiter are not sent over 5GS.
3GPP
Release 15 47 3GPP TS 29.244 V15.4.0 (2018-12)
NOTE 3: How the UPF/SMF builds the ARP or the IPv6 Neighbour cache is not specified in this release and is
implementation specific.
- an Ethernet Packet Filter containing EtherType 2054 (hexadecimal 0x0806) and associate the PDR with a FAR,
for forwarding ARP traffic to the SMF; and/or
- a PDI containing an application ID such that the identified application ID matches against EtherType 34525
(hexadecimal 0x86DD), IPv6 Next Header type as 58 and ICMP Field Type as 135 and associate the PDR with a
FAR, for forwarding IPv6 Neighbour Solicitation traffic to the SMF.
In this case, the user plane packets shall be forwarded between the CP and UP functions by encapsulating the user plane
packets using GTP-U encapsulation (see subclause 5.3.1).
The SMF shall perform ARP proxying as specified in IETF RFC 1027 [32] and/or IPv6 Neighbour Advertisement
Proxying as specified in IETF RFC 4861 [33] in this case.
- an Ethernet Packet Filter containing EtherType 2054 (hexadecimal 0x0806) and associate the PDR with a FAR
that has the ARP bit in Proxying IE of the Forwarding Parameters IE set to 1; or
- a PDI containing an application ID such that the identified application ID matches against EtherType 34525
(hexadecimal 0x86DD), IPv6 Next Header type as 58 and ICMP Field Type as 135 and associate the PDR with a
FAR that has the INS bit in Proxying IE of the Forwarding Parameters IE set to 1.
The UPF shall perform ARP proxying as specified in IETF RFC 1027 [32] and/or IPv6 Neighbour Advertisement
Proxying as specified in IETF RFC 4861 [33] in this case.
Likewise, the source and destination MAC addresses information, when provisioned, shall be set as for downlink
Ethernet flows. The UP function shall apply source and destination MAC addresses information based on the Source
Interface of the PDR, according to the same principles as specified in subclause 5.2.1A.2A, e.g. swapping the source
and destination MAC addresses information if the Source Interface is ACCESS, and applying them as provisioned if the
Source Interface is CORE.
- when provisioning a bidirectional Ethernet Filter the first time for an PFCP session, the CP function shall set the
BIDE (Bidirectional Ethernet Filter) flag in the Ethernet Filter Properties IE and provision the Ethernet filter
definition together with a Ethernet Filter ID uniquely identifying the Ethernet Filter among all the Ethernet
Filters provisioned for a given PFCP session; the source and destination MAC addresses information, in a
bidirectional Ethernet filter, shall be set as for downlink Ethernet flows;
3GPP
Release 15 48 3GPP TS 29.244 V15.4.0 (2018-12)
- the CP function may then provision a PDR for the same PFCP session but the opposite direction, by provisioning
the Ethernet Filter ID in the Ethernet filter ID field of the PDI, without provisioning again the Ethernet Filter
Properties and Ethernet filter definition.;
- when being provisioned with a bidirectional Ethernet Filter in a PDR, the UP function shall apply the Ethernet
filter according to the direction of the PDR as specified in subclause 5.13.3A, i.e. the UP function shall apply the
Ethernet filter parameters provisioned for the Ethernet filter ID, but with swapping the source and destination
MAC addresses, and the source and destination IP addresses if any, if the PDR is set for uplink Ethernet flows;
- the UP function shall apply any modification of a bidirectional Ethernet Filter to all PDRs of the PFCP session
making use of this Ethernet Filter;
- upon deletion of a PDR making use of a bidirectional Ethernet Filter, the UP function shall still apply the
Ethernet Filter for any other PDR making use of the Ethernet Filter.
The requirements specified for provisioning of MAC addresses and SDF Filters in subclause 5.13.A shall also apply
when provisioning bidirectional Ethernet Filters.
- creating a URR requesting the UPF to report Ethernet traffic information (i.e. with the Reporting Trigger set to
'MAC Addresses Reporting'); and
- associating the URR to the PDR provisioned for the UL traffic of the PDU session.
The SMF may additionally request the UPF to detect and report when no user plane packets are received for an UE
MAC address, by provisioning the Ethernet Inactivity Timer IE in the URR.
When being requested to start reporting the UE MAC addresses, the UPF shall:
- report immediately any UE MAC addresses known to be associated to the PDU session (e.g. if the request to
start monitoring of traffic is received after the PFCP session establishment and if the UPF monitors the UE MAC
addresses for the routing of DL traffic);
- report UE MAC addresses that are removed subsequently from the PDU session, based on the detection of
absence of traffic during the Ethernet Inactivity Timer, if this timer is provisioned in the URR.
NOTE: Numerous UE MAC addresses can be used by a same PDU session. The UP function can defer a bit the
reporting of newly detected or removed UE MAC addresses to allow the reporting of multiple UE MAC
addresses in a same usage report. Details are implementation specific.
When assigning additional IPv6 prefixes (i.e. prefixes in addition to the default prefix) to a UE, the CP function shall
provision/update the UE IP Address IE in the UP function with the IPv6D flag set to "1" and IPv6 Prefix Delegation
Bits field to indicating the length of IPv6 Prefix for delegation.
3GPP
Release 15 49 3GPP TS 29.244 V15.4.0 (2018-12)
If the UP function indicated support of Trace, the CP function may activate a trace session during a PFCP session
establishment or a PFCP session modification procedure, by including the Trace Information IE in the PFCP Session
Establishment Request or PFCP Session Modification Request.
The CP function may deactivate an on-going trace session by including the Trace Information IE with a null length in a
PFCP Session Modification Request.
There shall be at most one trace session activated per PFCP session at a time.
A UPF may indicate support of framed routing by setting the FRRT flag in the UP Function Features IE. If so, the CP
function may include Framed-Route IEs, the Frame-Routing IE and Framed-IPv6-Route IEs in DL PDRs to describe
framed routes associated to the PDU session.
Uplink Classifier is supported for PDU sessions of type IPv4, IPv6, IPv4v6 or Ethernet. The routing of the uplink traffic
flows to different PDU Session Anchors is based e.g. on the destination IP address/Prefix of the uplink packets for an IP
PDU session.
Branching Point is supported for multi-homed PDU sessions of type IPv6, i.e. PDU sessions with multiple IPv6
prefixes. The routing of the uplink traffic flows to different PDU Session Anchors is based on the source IP prefix of
the uplink packets.
The SMF may insert an Uplink Classifier or Branching Point, during a PDU session establishment or modification, by
provisioning:
- two or more UL PDRs, with the appropriate Packet Detection Information, and with corresponding FARs to
route the uplink traffic flows towards the appropriate PDU Session Anchors;
- two or more DL PDRs, with the appropriate Packet Detection Information, and with one (or more FARs) to route
the downlink traffic flows on the tunnel towards the UE.
NOTE 1: This uses the generic functionalities of the PFCP protocol described in this specification, with two or
more DL PDRs (for the traffic coming from the different PDU session anchors).
NOTE 2: A UPF acting as an Uplink Classifier or Branching Point can also behave as a PDU Session Anchor for
the PDU session.
The SMF may remove an Uplink Classifier or Branching Point, during a PDU session modification, by removing the
UL (or modifying the FAR associated to the UL PDR) and DL PDRs that were setup for the traffic to/from the PDU
Session Anchor(s) to be removed.
3GPP
Release 15 50 3GPP TS 29.244 V15.4.0 (2018-12)
- For 5G to 4G handover, the source NG-RAN node sends one or several end markers including one QFI of those
QoS flows mapped to the same E-RAB and sends the end marker packets to the UPF over the PDU session
tunnel. UPF removes the QFI and maps to an appropriate E-RAB tunnel towards SGW.
- For 4G to 5G handover, the source eNB forwards the received end markers in the EPS bearer tunnel to the SGW
which forwards them to the UPF. The UPF adds one QFI among the QoS flows mapped to that E-RAB to the
end markers and sends those end markers to the target NG-RAN node in the per PDU session tunnel.
To forward data (G-PDUs and End Marker packets) during a 5GS to EPS handover, the SMF shall:
- provision one PDR per E-RAB (that supports data forwarding for at least one QoS flow), with the list of QFIs
that are mapped to the E-RAB;
- request the UPF to remove the GTP-U PDU Session Container extension header (including the QFI) from the
data by including the GTP-U Extension Header Deletion field set to 'PDU Session Container' in the Outer
Header Removal IE of the PDR(s);
- associate to each PDR a FAR to forward the data to the GTP-U tunnel of the corresponding E-RAB, i.e. with an
Outer Header Creation IE containing the F-TEID of the (forwarding) SGW for the corresponding forwarding
GTP-U tunnel;
To forward data (G-PDUs and End Marker packets) during an EPS to 5GS handover, the SMF shall:
- provision one PDR per E-RAB (that supports data forwarding for at least one QoS flow);
- create and associate one QER with each PDR, including the QFI IE set to the QFI value of one of the QoS flows
mapped to the E-RAB, to request the UPF to insert a GTP-U PDU Session Container extension header including
the QFI;
- create one FAR for each data forwarding tunnel in 5GS (i.e. per PDU session), with an Outer Header Creation IE
containing the F-TEID of the target NG-RAN for the corresponding forwarding GTP-U tunnel;
- associate each PDR to the corresponding FAR (i.e. to forward the data of each E-RAB to the data forwarding
tunnel of the corresponding PDU session).
6 Procedures
6.1 Introduction
The following subclauses specify the procedures supported over the Sxa, Sxb and Sxc reference points.
3GPP
Release 15 51 3GPP TS 29.244 V15.4.0 (2018-12)
6.2.2.1 General
Two messages are specified for PFCP heartbeat procedure: Heartbeat Request and Heartbeat Response. The use of these
messages is further specified in clause 19A of 3GPP TS 23.007 [24] for EPC, and in clause 4 of 3GPP TS 23.527 [40]
for 5GC.
For each peer with which an PFCP control association is established, a CP function or UP function shall be prepared to
receive an Heartbeat Request at any time and it shall reply with an Heartbeat Response.
6.2.3.1 General
Load Control is an optional feature defined over the Sxa, Sxb, Sxc and N4 reference points.
Load control enables the UP function to send its load information to the CP function to adaptively balance the PFCP
session load across the UP functions according to their effective load. The load information reflects the operating status
of the resources of the UP function.
Load control allows for better balancing of the PFCP session load, so as to attempt to prevent overload in the first place
(preventive action). Load control does not trigger overload mitigation actions even if the UP function reports a high
load.
Load control and overload control may be supported and activated independently in the network, based on operator's
policy.
6.2.3.2 Principles
The UP function may signal its Load Control Information to reflect the operating status of its resources, at the node
level, allowing the receiving CP function to use this information to augment the UP function selection procedures.
The Load Control Information is piggybacked in PFCP request or response messages such that the exchange of Load
Control Information does not trigger extra signalling.
NOTE: The inclusion of Load Control Information in existing messages means that the frequency of transmission
of load control information increases as the session load increases, allowing for faster feedback and thus
better regulation of the load.
The calculation of the Load Control Information is implementation dependent and its calculation and transfer shall not
add significant additional load to the node itself and to its corresponding peer nodes.
When providing load control information in a message for the first time or subsequently, the UP function shall always
include the full set of load control information, i.e. all the node level instance of the Load Control Information, even if
3GPP
Release 15 52 3GPP TS 29.244 V15.4.0 (2018-12)
only a subset of the load control information has changed. The Load Control Sequence Number shall be incremented
whenever the load control information is changed (see subclause 6.2.3.3.2.1).
Load Control Information shall be linked to the Node ID (i.e. FQDN or the IP address used during the UP function
selection) of the UP function providing the Information.
The receiver shall overwrite any stored load control information of a peer with the newly received load control
information from the same peer node if the new load control information is more recent than the old information as
indicated by the Load Control Sequence Number, e.g. if the receiver has stored an instance of the load control
information for a peer node, it overwrites this instance with the new instance received in a message from the same peer
node.
The receiver shall consider all the parameters received in the same instance of the LCI IE in conjunction while using
this information for UP function selection.
Load control information may be extended with new parameters in future versions of the specification. Any new
parameter will have to be categorized as:
- Non-critical optional parameters: the support of these parameters is not critical for the receiver. The receiver can
successfully and correctly comprehend the load control information instance, containing one or more of these
parameters, by using the other parameters and ignoring the non-critical optional parameter.
- Critical optional parameters: the support of these parameters is critical for the receiver to correctly comprehend
the instance of the load control information containing one or more of these parameters.
The sender may include one or more non-critical optional parameters within any instance of the LCI IE without having
the knowledge of the receiver's capability to support the same. However, the sender shall only include one or more
critical optional parameter in an instance of the LCI IE towards a receiver if the corresponding receiver is known to
support those parameters. The sender may be aware of this either via signalling methods or by configuration (this will
have to be defined when introducing any such new parameter in future).
6.2.3.3.2 Parameters
The Load Control Sequence number contains a value that indicates the sequence number associated with the LCI IE.
This sequence number shall be used to differentiate any two LCI IEs generated at two different instances by the same
UP function. The Load Control Sequence Number shall be supported (if load control is supported) and shall always be
present in the LCI IE.
The UP function generating this information shall increment the Load Control Sequence Number whenever modifying
some information in the Load Control Information IE. The Load Control Sequence Number shall not be incremented
otherwise. The UP function may use the time, represented in an unsigned integer format, of the generation of the Load
Control Information to populate the Load Control Sequence Number.
This parameter shall be used by the receiver of the Load Control Information IE to properly collate out-of-order load
control information, e.g. due to PFCP retransmissions. This parameter shall also be used by the receiver of the LCI IE to
determine whether the newly received load control information has changed compared to load control information
previously received from the same node earlier.
NOTE: The PFCP sequence number cannot be used for collating out-of-order load control information as e.g.
load control information may be sent in both PFCP requests and responses, using independent PFCP
sequence numbering.
If the receiving entity has already received and stored load control information from the peer UP function, the receiving
CP function shall update its load control information only if the Load Control Sequence Number received in the new
load control information is higher than the stored value of the Load Control Sequence Number associated with the peer
UP function. However due to roll-over of the Load Control Sequence Number or restart of the node, the Load Control
Sequence Number may be reset to an appropriate base value by the peer UP function, hence the receiving entity shall be
prepared to receive (and process) a Load Control Sequence Number parameter whose value is less than the previous
value.
3GPP
Release 15 53 3GPP TS 29.244 V15.4.0 (2018-12)
The Load Metric parameter shall indicate the current load level of the originating node. The computation of the Load
Metric is left to implementation. The node may consider various aspects, such as the used capacity of the UP function,
the load in the node (e.g. memory/CPU usage in relationship to the total memory/CPU available, etc.).
The Load Metric represents the current load level of the sending node as a percentage within the range of 0 to100,
where 0 means no or 0% load and 100 means maximum or 100% load reached (i.e. no further load is desirable).
The Load Metric shall be supported (if load control is supported). The Load Metric shall always be included in the Load
Control Information.
Considering the processing requirement of the receiver of the Load Control Information (e.g. handling of the new
information, tuning the node selection algorithm to take the new information into account), the sender should refrain
from advertising every small variation (e.g. with the granularity of 1 or 2), in the Load Metric which does not result in
useful improvement in node selection logic at the receiver. During the typical operating condition of the sender, a larger
variation in the Load Metric, e.g. 5 or more units, should be considered as reasonable enough for advertising the new
Load Control Information and thus justifying the processing requirement (to handle the new information) of the
receiver.
NOTE: The range of the Load Metric, i.e. 0 to 100, does not mandate the sender to collect its own load
information at every increment/decrement and hence to advertise the change of Load Metric with a
granularity of 1%. Based on various implementation specific criteria, such as: the architecture, session
and signalling capacity, the current load and so on, the sender is free to define its own logic and
periodicity with which its own load information is collected.
- the sender may include Load Control Information towards a peer only when the new/changed value has not
already been provided to that peer;
- the sender may include the Load Control Information in each and every message (extended with LCI IE) towards
the peer;
- the sender may include Load Control Information periodically, i.e. include the information during a first period
then cease to do so during a second period.
The sender may also implement a combination of one or more of the above approaches. Besides, the sender may also
decide to include the Load Control Information only in a subset of the applicable PFCP messages.
The receiver shall be prepared to receive the load control information in any of the PFCP messages extended with an
LCI IE and upon such reception, shall be able act upon the received load control information.
6.2.4.1 General
Overload Control is an optional feature defined over the Sxa, Sxb, Sxc and N4 reference points.
Overload control enables a UP function becoming or being overloaded to gracefully reduce its incoming signalling load
by instructing its peer CP functions to reduce sending traffic according to its available signalling capacity to
successfully process the traffic. A UP function is in overload when it operates over its signalling capacity which results
in diminished performance (including impacts to handling of incoming and outgoing traffic).
Overload control aims at shedding the incoming traffic as close to the traffic source as possible generally when an
overload has occurred (reactive action), so to avoid spreading the problem inside the network and to avoid using
resources of intermediate nodes in the network for signalling that would anyhow be discarded by the overloaded node.
3GPP
Release 15 54 3GPP TS 29.244 V15.4.0 (2018-12)
Load control and overload control may be supported and activated independently in the network, based on operator's
policy.
6.2.4.2 Principles
When a UP function determines that the offered incoming signalling traffic is growing (or is about to grow) beyond its
nominal capacity, the UP function may signal its overload, at node level granularity, to its peer CP functions by
including Overload Control Information in PFCP signalling which provides guidance to the receiving CP functions to
decide actions which lead to signalling traffic mitigation towards the sender of the information. This helps in preventing
severe overload and hence potential breakdown of the UP function.
The Overload Control Information is piggybacked in PFCP request or response messages such that the exchange of
Overload Control Information does not trigger extra signalling.
NOTE: The inclusion of Overload Control Information in existing messages means that the frequency of
transmission of overload control information increases as the signalling load increases, thus allowing for
faster feedback and better regulation.
The calculation of the Overload Control Information is implementation dependent and its calculation and transfer shall
not add significant additional load to the node itself and to its corresponding peer nodes. The calculation of Overload
Control Information should not severely impact the resource utilization of the UP function, especially considering the
overload situation.
The overload control feature should continue to allow for preferential treatment of priority users (eMPS) and emergency
services.
The overload mitigation actions based on the reception of the overload related information received from the UP
function will not be standardized.
When providing overload control information in a message for the first time or subsequently, the UP function shall
always include the full set of overload control information, i.e. all the node level instance of the Overload Control
Information, even if only a subset of the overload control information has changed. The Overload Control Sequence
Number shall be incremented whenever the Overload control information is changed (see subclause 6.2.4.3.2.1).
The receiver shall overwrite any stored overload control information of a peer with the newly received overload control
information from the same peer node if the new overload control information is more recent than the old information as
indicated by the Overload Control Sequence Number, e.g. if the receiver has stored an instance of the Overload control
information for a peer node, it overwrites this instance with the new instance received in a message from the same peer
node.
The receiver shall consider all the parameters received in the same instance of the OCI IE in conjunction while applying
the overload mitigation action.
Overload control information may be extended with new parameters in future versions of the specification. Any new
parameter will have to be categorized as:
- Non-critical optional parameters: the support of these parameters is not critical for the receiver. The receiver can
successfully and correctly comprehend the Overload control information instance, containing one or more of
these parameters, by using the other parameters and ignoring the non-critical optional parameter.
- Critical optional parameters: the support of these parameters is critical for the receiver to correctly comprehend
the instance of the Overload control information containing one or more of these parameters.
The sender may include one or more non-critical optional parameters within any instance of the OCI IE without having
the knowledge of the receiver's capability to support the same. However, the sender shall only include one or more
3GPP
Release 15 55 3GPP TS 29.244 V15.4.0 (2018-12)
critical optional parameter in an instance of the OCI IE towards a receiver if the corresponding receiver is known to
support those parameters. The sender may be aware of this either via signalling methods or by configuration (this will
have to be defined when introducing any such new parameter in future).
The Overload Control Information shall be associated by default to the PFCP entity corresponding to the peer node's IP
address of the PFCP session, over which the OCI IE is received, i.e. to the IP address received within the "UP F-SEID"
IE.
Alternatively, the UP function may send Overload Control Information which is associated with the Node ID of the UP
function (i.e. FQDN or the IP address used during the UP function selection). In that case, the UP function shall provide
an explicit indication that the OCI IE included in the message belongs to the Node ID.
6.2.4.3.2 Parameters
The PFCP protocol requires retransmitted messages to have the same contents as the original message. Due to PFCP
retransmissions, the overload control information received by a CP function at a given time may be less recent than the
overload control information already received from the same UP function. The Overload Control Sequence Number
aids in sequencing the overload control information received from an overloaded UP function. The Overload Control
Sequence Number contains a value that indicates the sequence number associated with the Overload Control
Information IE. This sequence number shall be used to differentiate between two OCI IEs generated at two different
instants, by the same UP function.
The Overload Control Sequence Number parameter shall be supported (when supporting the overload control feature)
and shall always be present in the Overload Control Information IE.
The UP function generating this information shall increment the Overload Control Sequence Number whenever
modifying some information in the OCI IE. The Overload Control Sequence Number shall not be incremented
otherwise. The UP function may use the time, represented in an unsigned integer format, of the generation of the
overload control information, to populate the Overload Control Sequence Number.
This parameter shall be used by the receiver of the OCI IE to properly collate out-of-order OCI IEs, e.g. due to PFCP
retransmissions. This parameter shall also be used by the receiver of the OCI IE to determine whether the newly
received overload control information has changed compared to the overload control information previously received
from the same UP function. If the newly received overload control information has the same Overload Control
Sequence Number as the previously received overload control information from the same UP function, then the receiver
may simply discard the newly received overload control information whilst continuing to apply the overload abatement
procedures, as per the previous value.
NOTE 1: The timer corresponding to the Period of Validity (see subclause 6.2.4.3.2.2) is not restarted if the newly
received overload control information has the same Overload Control Sequence Number as the previously
received overload control information. If the overload condition persists and the overloaded UP function
needs to extend the duration during which the overload information applies, the sender needs to provide a
new overload control information with an incremented Overload Control Sequence Number (even if the
parameters within the overload control information have not changed).
NOTE 2: The PFCP Sequence Number cannot be used for collating out-of-order overload information as e.g.
overload control information may be sent in both PFCP requests and responses, using independent PFCP
sequence numbering.
If the receiving CP function already received and stored overload control information, which is still valid, from the
overloaded UP function, the receiving entity shall update its overload control information, only if the Overload-
Sequence-Number received in the new overload control information is larger than the value of the Overload Control
Sequence Number associated with the stored information. However due to roll-over of the Overload Control Sequence
Number or restart of the UP function, the Overload Control Sequence Number may be reset to an appropriate base value
by the peer UP function, hence the receiving entity shall be prepared to receive (and process) an Overload Control
Sequence Number parameter whose value is less than the previous value.
The Period of Validity indicates the length of time during which the overload condition specified by the OCI IE is to be
considered as valid (unless overridden by subsequent new overload control information).
3GPP
Release 15 56 3GPP TS 29.244 V15.4.0 (2018-12)
An overload condition shall be considered as valid from the time the OCI IE is received until the period of validity
expires or until another OCI IE with a new set of information (identified using the Overload Control Sequence Number)
is received from the same UP function (at which point the newly received overload control information shall prevail).
The timer corresponding to the period of validity shall be restarted each time an OCI IE with a new set of information
(identified using the Overload Control Sequence Number) is received. When this timer expires, the last received
overload control information shall be considered outdated and obsolete, i.e. any associated overload condition shall be
considered to have ceased.
The Period of Validity parameter shall be supported (when supporting overload control).
- it avoids the need for the overloaded UP function to include the Overload Control Information IE in every PFCP
messages it signals to its peer CP functions when the overload state does not change; thus it minimizes the
processing required at the overloaded UP function and its peer CP functions upon sending/receiving PFCP
signalling;
- it allows to reset the overload condition after some time in the peer CP functions having received an overload
indication from the overloaded UP function, e.g. if no signalling traffic takes place between these PFCP entities
for some time due to overload mitigation actions. This also removes the need for the overloaded UP function to
remember the list of CP functions to which it has sent a non-null overload reduction metric and to which it
would subsequently need to signal when the overload condition ceases, if the Period of Validity parameter was
not defined.
The Overload Reduction Metric shall have a value in the range of 0 to 100 (inclusive) which indicates the percentage of
traffic reduction the sender of the overload control information requests the receiver to apply. An Overload Reduction
Metric of "0" always indicates that the UP function is not in overload (that is, no overload abatement procedures need to
be applied) for the indicated scope.
Considering the processing requirement of the receiver of the Overload Control Information, e.g. to perform overload
control based on the updated Overload Reduction Metric, the sender should refrain from advertising every small
variation, e.g. with the granularity of 1 or 2, in the Overload Reduction Metric which does not result in useful
improvement for mitigating the overload situation. During the typical operating condition of the sender, a larger
variation in the Overload Reduction Metric, e.g. 5 or more units, should be considered as reasonable enough for
advertising a new Overload Reduction Metric Information and thus justifying the processing requirement (to handle the
new information) of the receiver.
NOTE: The range of Overload Reduction Metric, i.e. 0 to 100, does not mandate the sender to collect its own
overload information at every increment/decrement and hence to advertise the change of Overload
Reduction Metric with a granularity of 1%. Based on various implementation specific criteria, such as the
architecture, session and signalling capacity, the current load/overload situation and so on, the sender is
free to define its own logic and periodicity with which its own overload control information is collected.
The computation of the exact value for this parameter is left as an implementation choice at the sending UP function.
The Overload Reduction Metric shall be supported (when supporting overload control) and shall always be present in
the OCI IE.
The inclusion of the OCI IE signals an overload situation is occuring, unless the Overload Reduction Metric is set to 0,
which signals that the overload condition has ceased. Conversely, the absence of the OCI IE in a message does not
mean that the overload has abated.
- the sender may include OCI IE towards a receiver only when the new/changed value has not already been
provided to the given receiver;
3GPP
Release 15 57 3GPP TS 29.244 V15.4.0 (2018-12)
- the sender may include the OCI IE in a subset of the messages towards the receiver;
- the sender may include the OCI IE periodically, i.e. include the information during a first period then cease to do
so during a second period.
The sender may also implement a combination of one or more of the above approaches. Besides, the sender may also
include the OCI IE only in a subset of the applicable PFCP messages.
The receiver shall be prepared to receive the overload control information received in any of the PFCP messages
extended with an OCI IE and upon such reception, shall be able act upon the received information.
6.2.4.4.1 General
As part of the overload mitigation, a CP function shall reduce the total number of messages, which would have been
sent otherwise, towards the overloaded peer based on the information received within the Overload Control
Information. This shall be achieved by discarding a fraction of the messages in proportion to the overload level of the
target peer. This is called "message throttling".
Message throttling shall only apply to Request messages. Response messages should not be throttled since that would
result in the retransmission of the corresponding request message by the sender.
A CP function supporting PFCP overload control shall support and use the "Loss" algorithm as specified in this clause,
for message throttling.
6.2.4.4.2.1 Description
An overloaded UP function shall ask its peers to reduce the number of requests they would ordinarily send by signalling
Overload Control Information including the requested traffic reduction, as a percentage, within the "Overload-
Reduction-Metric", as specified in subclause 6.2.4.3.2.
The recipients of the "Overload-Reduction-Metric" shall reduce the number of requests sent by that percentage, either
by redirecting them to an alternate destination if possible (e.g. the PFCP Session Establishment Request message may
be redirected to an alternate UP function), or by failing the request and treating it as if it was rejected by the destination
UP function.
For example, if a sender requests another peer to reduce the traffic it is sending by 10%, then that peer shall throttle
10% of the traffic that would have otherwise been sent to this UP function.
The overloaded UP function should periodically adjust the requested traffic reduction based e.g. on the traffic reduction
factor that is currently in use, the current system utilization (i.e. the overload level) and the desired system utilization
(i.e. the target load level), and/or the rate of the current overall received traffic.
Annex A.1 provides an (informative) example of a possible implementation of the "Loss" algorithm, amongst other
possible methods.
NOTE 1: This algorithm does not guarantee that the future traffic towards the overloaded UP function will be less
than the past traffic but it ensures that the total traffic sent towards the overloaded UP function is less than
what would have been sent without any throttling in place. If after requesting a certain reduction in traffic,
the overloaded UP function receives more traffic than in the past, whilst still in overload, leading to the
worsening rather than an improvement in the overload level, then the overloaded UP function can request
for more reduction in traffic. Thus, by periodically adjusting the requested traffic reduction, the
overloaded node can ensure that it receives, approximately, the amount of traffic which it can handle.
NOTE 2: Since the reduction is requested as a percentage, and not as an absolute amount, this algorithm achieves a
good useful throughput towards the overloaded node when the traffic conditions vary at the source nodes
(depending upon the events generated towards these source nodes by other entities in the network), as a
potential increase of traffic from some source nodes can possibly be compensated by a potential decrease
of traffic from other source nodes.
3GPP
Release 15 58 3GPP TS 29.244 V15.4.0 (2018-12)
6.2.4.5.1 Description
When performing message throttling:
- PFCP requests related to priority traffic (i.e. eMPS as described in 3GPP TS 22.153 [15]) and emergency have
the highest priority. Depending on regional/national requirements and network operator policy, these PFCP
requests shall be the last to be throttled, when applying traffic reduction, and the priority traffic shall be
exempted from throttling due to PFCP overload control up to the point where the requested traffic reduction
cannot be achieved without throttling the priority traffic;
- for other types of sessions, messages throttling should consider the relative priority of the messages so that the
messages which are considered as low priority are considered for throttling before the other messages. The
relative priority of the messages may be derived from the relative priority of the procedure for which the
message is being sent or may be derived from the session parameters such as APN, QCI, ARP and/or Low
Access Priority Indicator (LAPI).
NOTE: A random throttling mechanism, i.e. discarding the messages without any special consideration, could
result in an overall poor congestion mitigation mechanism and bad user experience.
An overloaded node may also apply these message prioritization schemes when handling incoming initial messages
during an overloaded condition, as part of a self-protection mechanism.
A PFCP entity shall determine whether to set and use the message priority in PFCP signalling, based on operator policy.
The requirements specified in this subclause shall apply if message priority in PFCP signalling is used.
A sending PFCP entity shall determine the relative message priority to signal in the message according to the principles
specified in subclause 6.2.4.5.1. If the message affects multiple bearers, the relative message priority should be
determined considering the highest priority ARP among all the bearers.
A PFCP entity should set the same message priority in a Response message as received in the corresponding Request
message.
For incoming PFCP messages that do not have a message priority in the PFCP header, the receiving PFCP entity:
- should apply the message priority sent in the Request message, if the incoming message is a Response message.
This feature should be supported homogenously across the CP functions and UP functions in the network, otherwise an
overloaded node will process Request messages received from the non-supporting nodes according to the default
priority while Request messages received from supporting nodes will be processed according to the message priority
signalled in the PFCP message.
6.2.5.1 General
The PFCP PFD Management procedure may be used by the CP function and UP function to provision PFDs (e.g.
received from the PFDF as specified in subclauses 5.11.4 and 6.5.2 of 3GPP TS 23.214 [2]) to the UP function, for one
or more Application Identifiers.
Support of this procedure is optional for the CP function and the UP function. The UP function shall set the PFDM
feature flag in the UP Function Features IE if it supports the PFD Management procedure (see subclause 8.2.25).
3GPP
Release 15 59 3GPP TS 29.244 V15.4.0 (2018-12)
The UP function shall store the PFDs provisioned per Application Identifier. These PFDs shall apply to all the PFCP
session established in the UP function, for all the controlling CP functions, i.e. the scope of a PFD is not limited to the
PFCP sessions established by the CP function which provisioned the PFD.
NOTE: Application identifiers preconfigured in the UP function, if any, need to be distinct from application
identifiers provisioned via PFD management procedure.
The CP function:
- shall send the PFCP PFD Management Request message, including the full set of PFD IDs and PFD contents to
be provisioned in the UP function per Application Identifier.
When the CP function receives an PFCP PFD Management Response with cause success, the CP function shall consider
that the PFDs have been provisioned as requested.
- delete all the PFDs received and stored earlier for all Application Identifier(s) provisioned via the PFD
Management Procedure;
- delete all the PFDs received and stored earlier for the indicated Application Identifier(s);
- store all the PFDs received in the request for the indicated Application Identifier(s);
- send a PFCP PFD Management Response with the cause "success", if the above operations were performed
successfully.
- if a PFD is removed/modified and this PFD was used to detect application traffic related to an application
identifier in a PDR created/activated for a PFCP session and the UP function has reported the application start to
the CP function for the application instance corresponding to this PFD as defined in subclause 5.4.11
((Un)solicited Application Reporting), the UP function shall report the application stop to the CP function for the
corresponding application instance identifier as defined in subclause 5.4.11 if the removed/modified PFD in UP
results in the stop of the application instance is not being able to be detected. See subclause 5.11.4 of
3GPP TS 23.214 [2].
6.2.6.1 General
The PFCP Association Setup procedure shall be used to setup an PFCP association between the CP function and the UP
function, to enable the CP function to use the resources of the UP function subsequently, i.e. establish PFCP Sessions.
The setup of an PFCP association may be initiated by the CP function (see subclause 6.2.6.2) or the UP function (see
subclause 6.2.6.3).
The CP function and the UP function shall support the PFCP Association Setup initiated by the CP function. The CP
function and the UP function may additionally support the PFCP Association Setup initiated by the UP function.
3GPP
Release 15 60 3GPP TS 29.244 V15.4.0 (2018-12)
The CP function:
- shall send the PFCP Association Setup Request with the Node ID of the CP function;
- shall include the list of optional features the CP function supports which may affect the UP function behaviour, if
any.
The CP function shall only initiate PFCP Session related signalling procedures toward a UP function after it receives
the PFCP Association Setup Response with a successful cause from this UP function.
The CP function shall determine whether the UP function supports Sxa, Sxb, Sxc and/or combined Sxa/Sxb by local
configuration or optionally via DNS if deployed.
- shall store the Node ID of the CP function as the identifier of the PFCP association;
- shall send an PFCP Association Setup Response with a successful cause, including all supported optional
features in the UP function and optionally including the available user plane resources, e.g. IP address(es) or
F-TEID range;
- shall send an PFCP Version Not Supported Response if the PFCP header of the request indicates a PFCP
protocol version that is not supported by the UP function;
- otherwise, shall send an PFCP Association Setup Response with an appropriate error cause if the request is
rejected.
The UP function shall send the PFCP Association Setup Request including:
- all supported optional features in the UP function and optionally including the available user plane resources,
e.g. IP address(es) or F-TEID range.
- shall store the Node ID of the UP function as the identifier of the PFCP association;
- shall include the list of optional features the CP function supports which may affect the UP function
behaviour, if any;
3GPP
Release 15 61 3GPP TS 29.244 V15.4.0 (2018-12)
- shall send an PFCP Version Not Supported Response if the PFCP header of the request indicates a PFCP
protocol version that is not supported by the CP function;
- otherwise, shall send an PFCP Association Setup Response with an appropriate error cause if the request is
rejected.
The CP function shall only initiate PFCP Session related signalling procedures toward a UP function after it has sent the
PFCP Association Setup Response with a successful cause to the UP function.
The CP function shall determine the UP function supports Sxa, Sxb, Sxc and/or combined Sxa/Sxb by local
configuration or optionally via DNS if deployed.
6.2.7.1 General
The PFCP Association Update procedure shall be used to modify an existing PFCP association between the CP function
and the UP function. It may be initiated by the UP function or by the CP function to update the supported features or
available resources of the UP function.
- shall update the list of optional features of the CP function, when received;
- shall send an PFCP Association Update Response with an appropriate error cause if the Node ID is not known by
the UP Function;
- shall return an PFCP Association Update Response with a successful cause value, if the PFCP Association
Update Request is handled successfully.
The UP function may send an PFCP Association Update Request to request the CP function to perform the release of
the PFCP association, optionally providing a Graceful Release Period. After reception of the PFCP Association Update
Response, the UP function shall consider that the PFCP association is still setup until receiving an PFCP Association
Release Request.
- shall update the list of optional features of the UP function, when received;
- shall send an PFCP Association Update Response with an appropriate error cause if the Node ID is not known by
the CP Function;
3GPP
Release 15 62 3GPP TS 29.244 V15.4.0 (2018-12)
- shall return an PFCP Association Update Response with a successful cause value if the PFCP Association
Update Request is handled successfully.
If the UP function has requested to release the PFCP association in the PFCP Association Update Request, the CP
function should initiate an PFCP Association Release Request to release the PFCP association, as soon as possible if no
Graceful Release Period was included in the request or before the expiry of the Graceful Release Period.
If the UP function has included User Plane IP Resource Information IE in the PFCP Association Update Request
message, the CP function shall use it to overwrite the User Plane IP Resource Information previously received from the
UP function.
6.2.8.1 General
The PFCP Association Release procedure shall be used to terminate the PFCP association between the CP Function and
the UP Function due to e.g. OAM reasons. The PFCP Association Release Request may be initiated by the CP function.
- shall delete locally all the PFCP sessions related to that PFCP association when receiving the PFCP Association
Release Response with the cause value success.
- shall delete all the PFCP sessions related to that PFCP association locally;
- shall delete the PFCP association and any related information (e.g. Node ID of the CP function);
6.2.9.1 General
The PFCP Node Report procedure shall be used by the UP function to report information to the CP function which is
not related to a specific PFCP session, e.g. to report a user plane path failure affecting all the PFCP sessions towards a
remote GTP-U peer.
- shall send the PFCP Node Report Request message, including the information to be reported.
When the UP function receives an PFCP Node Report Response with the cause success, the UP function shall consider
the information successfully delivered to the CP function.
3GPP
Release 15 63 3GPP TS 29.244 V15.4.0 (2018-12)
- process the information being reported as appropriate and send an PFCP Node Report Response with the cause
"success";
6.3.2.1 General
The PFCP Session Establishment procedure shall be used to setup an PFCP session between CP function and UP
function and configure Rules in the UP function so that the UP function can handle incoming packets.
The CP function:
- shall send the PFCP Session Establishment Request message with a new PFCP F-SEID together with Rules to be
created;
- may assign a local F-TEID for the access side and/or core side and provide it in the PDI, if F-TEID allocation is
performed in the CP function.
When the CP function receives an PFCP Session Establishment Response with cause success, the CP function shall
continue with the procedure which triggered the PFCP Session Establishment procedure.
- store and apply the rules received in the request and send an PFCP Session Establishment Response with cause
"success", if all rules in the PFCP Session Establishment Request are stored and applied;
- Otherwise, if at least one rule failed to be stored or applied, return an appropriate error cause value with the Rule
ID of the Rule causing the first error, discard all the received rules and not create any PFCP session context.
6.3.3.1 General
The PFCP Session Modification procedure shall be used to modify an existing PFCP session, e.g. to configure a new
rule, to modify an existing rule, to delete an existing rule.
3GPP
Release 15 64 3GPP TS 29.244 V15.4.0 (2018-12)
- remove locally the reference to a rule in the PDRs when the related Rule is deleted;
- provide all the new, updated or deleted Rules. The Updated Rules shall contain only the information which are
changed, added and/or deleted.
The CP function shall not include multiple updates in a PFCP Modification Request message, e.g. Create PDR, Update
PDR and Remove PDR, for the same rule identified by the Rule ID.
When the CP function receives an PFCP Session Modification Response with the cause "success" it shall continue with
the procedure which has initiated the PFCP Session Modification procedure.
- send the PFCP Session Modification Response message with a rejection cause value set to "Session context not
found" if the F-SEID included in the PFCP Session Modification Request message is unknown;
- reject a modification request which would relate to a rule not existing in the UP function;
- discard any updates on the PFCP session context included in the PFCP Session Modification Request message if
the request is rejected and send an PFCP Session Modification Response with an appropriate error cause together
with additional information e.g. indicating the first Rule ID of the Rule causing the error. In this case, the UP
function shall continue with the existing PFCP session context for the PFCP session as if the PFCP Session
Modification Request had not been received;
- remove all rules identified by a Rule ID to be removed and remove the Rule ID from the PDR(s) from where
they are referenced;
- send the PFCP Session Modification Response with an acceptance cause value if all the requested modifications
are accepted and performed successfully.
6.3.4.1 General
The PFCP Session Deletion procedure shall be used to delete an existing PFCP session between the CP function and the
UP function.
The CP shall:
- send an PFCP Session Deletion Request with the F-SEID identifying the PFCP session.
When the CP function receives PFCP Session Deletion Response with cause success, the CP function shall continue
with the procedure which triggers the PFCP Session Deletion procedure.
- send the PFCP Session Deletion Response message with a rejection cause set to "Session context not found" if
the F-SEID include in the PFCP Session Deletion Request message is unknown;
- send the PFCP Session Deletion Response message with an acceptance cause if the PFCP session and associated
rules are deleted successfully, and include any pending Usage Report(s) in the message.
3GPP
Release 15 65 3GPP TS 29.244 V15.4.0 (2018-12)
6.3.5.1 General
The PFCP Session Report procedure shall be used by the UP function to report information related to the PFCP session
to the CP function.
- shall send the PFCP Session Report Request message, identifying the PFCP session for which the report is sent
and including the information to be reported.
When the UP function receives an PFCP Session Report Response with the cause success, the UP function shall
consider the information to be successfully delivered to the CP function.
- send the PFCP Session Report Response message with a rejection cause set to "Session context not found" if the
F-SEID included in the PFCP Session Report Request message is unknown;
- process the information being reported as appropriate and send an PFCP Session Report Response with the cause
"success";
A PFCP entity shall maintain, for each triplet of local IP address, local UDP port and remote peer's IP address, a
sending queue with Request messages to be sent to that peer. Each message shall be sent with a Sequence Number and
be held until a corresponding Response is received or until the PFCP entity ceases retransmission of that message. The
Sequence Number shall be unique for each outstanding Request message sourced from the same IP/UDP endpoint. A
PFCP entity may have several outstanding Requests waiting for replies.
When sending a Request message, the sending PFCP entity shall start a timer T1. The sending entity shall consider that
the Request message has been lost if a corresponding Response message has not been received before the T1 timer
expires. If so, the sending entity shall retransmit the Request message, if the total number of retry attempts is less than
N1 times. The setting of the T1 timer and N1 counter is implementation specific.
A retransmitted PFCP message shall have the same message content, including the same PFCP header, UDP ports,
source and destination IP addresses as the originally transmitted message.
A Request and its Response message shall have the same Sequence Number value, i.e. the Sequence Number in the
PFCP header of the Response message shall be copied from the respective Request message. A Request and its
Response messages are matched based on the Sequence Number and the IP address and UDP port.
Not counting retransmissions, a Request message shall be answered with a single Response message. Duplicated
Response messages shall be discarded by the receiver. A received Response message not matching an outstanding
Request message waiting for a reply should be discarded.
The PFCP entity should inform the upper layer when detecting an unsuccessful transfer of a Request message to enable
the controlling upper entity to take any appropriate measure.
3GPP
Release 15 66 3GPP TS 29.244 V15.4.0 (2018-12)
The most significant bit of an octet in a PFCP message is bit 8. If a field in a PFCP message spans over several octets,
the most significant bit is bit 8 of the octet with the lowest number, unless specified otherwise.
Bits
Octets 8 7 6 5 4 3 2 1
1 to m PFCP message header
m+1 to n Zero or more Information Element(s)
A PFCP message shall contain the PFCP message header and may contain subsequent information element(s)
dependent on the type of message.
Bits
Octets 8 7 6 5 4 3 2 1
1 Version Spare Spare Spare MP S
2 Message Type
3 Message Length (1st Octet)
4 Message Length (2nd Octet)
m to If S flag is set to 1, then SEID shall be placed into octets 5-
k(m+7) 12. Otherwise, SEID field is not present at all.
n to (n+2) Sequence Number
(n+3) Spare
Figure 7.2.2.1-1: General format of PFCP Header
Where:
3GPP
Release 15 67 3GPP TS 29.244 V15.4.0 (2018-12)
- Bit 3 to 5 are spare, the sender shall set them to "0" and the receiving entity shall ignore them.
Bits
Octets 8 7 6 5 4 3 2 1
1 Version Spare Spare Spare MP=0 S=0
2 Message Type
3 Message Length (1st Octet)
4 Message Length (2nd Octet)
5 Sequence Number (1st Octet)
6 Sequence Number (2nd Octet)
7 Sequence Number (3rd Octet)
8 Spare
Figure 7.2.2.2-1: PFCP Message Header for node related messages
Bits
Octets 8 7 6 5 4 3 2 1
1 Version Spare Spare Spare MP S=1
2 Message Type
3 Message Length (1st Octet)
4 Message Length (2nd Octet)
5 Session Endpoint Identifier (1st Octet)
6 Session Endpoint Identifier (2nd Octet)
7 Session Endpoint Identifier (3rd Octet)
8 Session Endpoint Identifier (4th Octet)
9 Session Endpoint Identifier (5th Octet)
10 Session Endpoint Identifier (6th Octet)
11 Session Endpoint Identifier (7th Octet)
12 Session Endpoint Identifier (8th Octet)
13 Sequence Number (1st Octet)
14 Sequence Number (2nd Octet)
15 Sequence Number (3rd Octet)
16 Message Priority Spare
Figure 7.2.2.3-1: PFCP message Header for session related messages
3GPP
Release 15 68 3GPP TS 29.244 V15.4.0 (2018-12)
7.2.2.4.1 General
The format of the PFCP header is specified in subclause 7.2.2.
The first octet of the header shall be used is the following way:
- Bit 1 represents the "S" flag, which indicates if SEID field is present in the PFCP header or not. If the "S" flag is
set to 0, then the SEID field shall not be present in the PFCP header. If the "S" flag is set to 1, then the SEID
field shall immediately follow the Length field, in octets 5 to 12. Apart from the node related messages , in all
PFCP messages the value of the "S" flag shall be set to "1".
- Bit 2 represents the "MP" flag. If the "MP" flag is set to "1", then bits 8 to 5 of octet 16 shall indicate the
message priority.
- Bit 3 is a spare bit. The sending entity shall set it to "0" and the receiving entity shall ignore it.
- Bit 4 is a spare bit. The sending entity shall set it to "0" and the receiving entity shall ignore it.
- Bit 5 is a spare bit. The sending entity shall set it to "0" and the receiving entity shall ignore it.
- Bits 6 to 8, which represent the PFCP version, shall be set to decimal 1 ("001").
The usage of the fields in octets 2 - n of the header shall be as specified below.
- Octet 2 represents the Message type field, which shall be set to the unique value for each type of control plane
message. Message type values are specified in Table 7.3-1 "Message types".
- Octets 3 to 4 represent the Message Length field. This field shall indicate the length of the message in octets
excluding the mandatory part of the PFCP header (the first 4 octets). The SEID (if present) and the Sequence
Number shall be included in the length count. The format of the Length field of information elements is specified
in subclause 8.2 "Information Element Format".
- When S=1, Octets 5 to 12 represent the Session Endpoint Identifier (SEID) field. This field shall unambiguously
identify a session endpoint in the receiving Packet Forward Control entity. The Session Endpoint Identifier is set
by the sending entity in the PFCP header of all control plane messages to the SEID value provided by the
corresponding receiving entity (CP or UP function). If a peer's SEID is not available the SEID field shall be
present in a PFCP header, but its value shall be set to "0", "Conditions for sending SEID=0 in PFCP header".
NOTE: The SEID in the PFCP header of a message is set to the SEID value provided by the corresponding
receiving entity regardless of whether the source IP address of the request message and the IP Destination
Address provided by the receiving entity for subsequent request messages are the same or not.
- If a node receives a message for which it has no session, i.e. if SEID in the PFCP header is not known, it shall
respond with "Session context not found" cause in the corresponding response message to the sender, the SEID
used in the PFCP header in the response message shall be then set to "0";
- If a node receives a request message containing protocol error, e.g. Mandatory IE missing, which requires the
receiver to reject the message as specified in clause 7.6, it shall reject the request message. For the response
message, the node should look up the remote peer's SEID and accordingly set SEID in the PFCP header and the
message cause code. As an implementation option, the node may not look up the remote peer's SEID and set the
PFCP header SEID to "0" in the response message. However in this case, the cause value shall not be set to
"Session not found".
3GPP
Release 15 69 3GPP TS 29.244 V15.4.0 (2018-12)
7.2.3.1 General
The format of PFCP Information Elements are defined in subclause 8.2.
- Mandatory: this means that the IE shall be included by the sending entity, and that the receiver diagnoses a
"Mandatory IE missing" error when detecting that the IE is not present. A response including a "Mandatory IE
missing" cause, shall include the type of the missing IE.
- the IE shall be included by sending entity if the conditions specified are met;
- the receiver shall check the conditions as specified in the corresponding message type description, based on
the parameter combination in the message and/or on the state of the receiving node, to infer if a conditional
IE shall be expected. Only if a receiver has sufficient information, if a conditional IE, which is necessary for
the receiving entity to complete the procedure, is missing, then the receiver shall abort the procedure.
- the IE shall be included by a sending entity complying with the version of the specification, if the conditions
specified in the relevant protocol specification are met. An entity, which is at an earlier version of the
protocol and therefore is not up-to-date, cannot send this IE;
- the receiver need not check the presence of the IE in the message. If the receiver checks the presence of the
Conditional-Optional IE, then the IE's absence shall not trigger any of the error handling procedures. The
handling of an absence or erroneous such IEs shall be treated as Optional IEs as specified in subclause 7.6.
- the IE shall be included as a service option. Therefore, the IE may be included or not in a message. The
handling of an absent optional IE, or an erroneous optional IE is specified in subclause 7.6.
For conditional IEs, the clause describing the PFCP message explicitly defines the conditions under which the inclusion
of each IE becomes mandatory or optional for that particular message. These conditions shall be defined so that the
presence of a conditional IE only becomes mandatory if it is critical for the receiving entity. The definition might
reference other protocol specifications for final terms used as part of the condition.
For grouped IEs, the presence requirement of the embedded IE shall follow the rules:
- If the grouped IE is Mandatory within a given message: the presence requirements of individual embedded IEs
are as stated within the Mandatory grouped IE for the given message;
- if the grouped IE is Conditional within a given message: if the embedded IE in the grouped IE is Mandatory or
Conditional, this embedded IE is viewed as Conditional IE by the receiver. If the embedded IE in the grouped IE
is Conditional-Optional, this embedded IE is viewed as Optional IE by the receiver. If the embedded IE in the
grouped IE is Optional, this embedded IE is viewed as Optional IE by the receiver;
- if the grouped IE is Conditional-Optional within a given message: if the embedded IE in the grouped IE is
Mandatory or Conditional, this embedded IE is viewed as Conditional-Optional IE by the receiver. If the
embedded IE in the grouped IE is Conditional-Optional, this embedded IE is viewed as Optional IE by the
receiver. If the embedded IE in the grouped IE is Optional, this embedded IE is viewed as Optional IE by the
receiver;
- if the grouped IE is Optional within a given message: all embedded IEs in the grouped IE are viewed as Optional
IEs by the receiver.
In all of the above cases, appropriate error handling as described in subclause 7.6 shall be applied for protocol errors of
the embedded IEs.
3GPP
Release 15 70 3GPP TS 29.244 V15.4.0 (2018-12)
Only the Cause IE at message level shall be included in the response if the Cause contains a value that indicates that the
request is not accepted, regardless of whether there are other mandatory or conditional IEs defined for a given response
message. The following are exceptions:
- the Node ID and Offending IE shall be included as per the requirements specified for the corresponding response
message;
- the Load Control Information, Overload Control Information and the Failed Rule ID IEs may be included in an
PFCP session related message.
If the Cause IE at Grouped IE level contains a value that indicates that the Grouped IE is not handled correctly, the
other IEs in this Grouped IE, other than the Cause IE, may not be included.
Grouped IEs have a length value in the TLV encoding, which includes the added length of all the embedded IEs.
Overall coding of a grouped IE with 4 octets long IE header is defined in subclause 8.2. Each IE within a grouped IE
also shall also contain 4 octets long IE header.
Grouped IEs are not marked by any flag or limited to a specific range of IE type values. The clause describing an IE in
this specification shall explicitly state if it is a Grouped IE.
NOTE: Each entry into each Grouped IE creates a new scope level. Exit from the grouped IE closes the scope
level. The PFCP message level is the top most scope.
If more than one grouped IEs of the same type, but for a different purpose are sent with a message, these IEs shall have
different IE types.
If more than one grouped IEs of the same type and for the same purpose are sent with a message, these IEs shall have
exactly the same IE type to represent a list.
If several IEs with the same Type are included in a PFCP message or Grouped IE, they represent a list for the
corresponding IE name.
3GPP
Release 15 71 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 72 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 73 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 74 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 75 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 76 3GPP TS 29.244 V15.4.0 (2018-12)
NOTE: The PFCP Version Not Supported Response message can be received by a PFCP entity when sending the
very first message to a PFCP peer only supporting earlier version(s) of the protocol.
7.4.5.1.1 General
The PFCP Node Report Request shall be sent over the Sxa, Sxb, Sxc and N4 interface by the UP function to report
information to the CP function that is not specific to an PFCP session.
7.4.5.1.2 User Plane Path Failure Report IE within PFCP Node Report Request
Table 7.4.5.1.2-1: User Plane Path Failure IE within PFCP Node Report Request
3GPP
Release 15 77 3GPP TS 29.244 V15.4.0 (2018-12)
7.4.5.2.1 General
The PFCP Node Report Response shall be sent over the Sxa, Sxb; Sxc and N4 interface by the CP function to the UP
function as a reply to the PFCP Node Report Request.
The PFCP Session Set Deletion Request shall be also sent over the Sxa and Sxb interface by the UP
function to request the CP function to delete the PFCP sessions affected by a partial failure.
3GPP
Release 15 78 3GPP TS 29.244 V15.4.0 (2018-12)
7.5.2.1 General
The PFCP Session Establishment Request shall be sent over the Sxa, Sxb, Sxc and N4 interface by the CP
function to establish a new PFCP session context in the UP function.
3GPP
Release 15 79 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 80 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 81 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 82 3GPP TS 29.244 V15.4.0 (2018-12)
Table 7.5.2.2-3: Ethernet Packet Filter IE within PFCP Session Establishment Request
3GPP
Release 15 83 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 84 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 85 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 86 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 87 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 88 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 89 3GPP TS 29.244 V15.4.0 (2018-12)
Monitoring Time M This IE shall be present and contain the time at which the X X X X Monitoring Time
UP function shall re-apply the volume or time
threshold/quota.
Subsequent O This IE may be present if the Monitoring Time IE is X X X X
Volume Threshold present and volume-based measurement is used.
Subsequent
When present, it shall indicate the traffic volume value
Volume
after which the UP function shall report network resources
Threshold
usage to the CP function for this URR for the period after
the Monitoring Time.
Subsequent Time O This IE may be present if the Monitoring Time IE is X X X X
Threshold present and time-based measurement is used.
When present, it shall indicate the time usage after which Subsequent
the UP function shall report network resources usage to Time Threshold
the CP function for this URR for the period after the
Monitoring Time.
Subsequent O This IE may be present if Monitoring Time IE is present - X X X Subsequent
Volume Quota and volume-based measurement is used (see subclause Volume Quota
5.2.2.2).
When present, it shall indicate the Volume Quota value
which the UP function shall use for this URR for the
period after the Monitoring Time.
Subsequent Time O This IE may be present if Monitoring Time IE is present - X X X Subsequent
Quota and time-based measurement is used (see subclause Time Quota
5.2.2.2)
When present, it shall indicate the Time Quota value
which the UP function shall use for this URR for the
period after the Monitoring Time.
Subsequent Event O This IE may be present if the Monitoring Time IE is - X X X Event Threshold
Threshold present and event-based measurement is used.
When present, it shall indicate the number of events after
which the UP function shall report to the CP function for
this URR for the period after the Monitoring Time.
Subsequent Event O This IE may be present if Monitoring Time IE is present - X X X Event Quota
Quota and event-based measurement is used (see subclause
5.2.2.2).
When present, it shall indicate the Event Quota value
which the UP function shall use for this URR for the
period after the Monitoring Time.
3GPP
Release 15 90 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 91 3GPP TS 29.244 V15.4.0 (2018-12)
NOTE: As 5QI is not signalled over N4, one default averaging window shall be pre-configured in the UPF.
3GPP
Release 15 92 3GPP TS 29.244 V15.4.0 (2018-12)
Table 7.5.2.7-1: Create Traffic Endpoint IE within PFCP Session Establishment Request
7.5.3.1 General
The PFCP Session Establishment Response shall be sent over the Sxa, Sxb, Sxc and N4 interface by the
UP function to the CP function as a reply to the PFCP Session Establishment Request.
3GPP
Release 15 93 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 94 3GPP TS 29.244 V15.4.0 (2018-12)
Table 7.5.3.3-1: Load Control Information IE within PFCP Session Establishment Response
Table 7.5.3.4-1: Overload Control Information IE within PFCP Session Establishment Response
7.5.4.1 General
The PFCP Session Modification Request is used over the Sxa, Sxb, Sxc and N4 interface by the CP function
to request the UP function to modify the PFCP session.
3GPP
Release 15 95 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 96 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 97 3GPP TS 29.244 V15.4.0 (2018-12)
Expiration Time expires, the CP function shall send an PFCP Session Modification Request including the
DROBU flag (to drop the downlink data packets currently buffered in the UP function) and updating the
Apply Action within the FARs of this PFCP session to request the UP function to start buffering the
downlink data packets with notifying the arrival of subsequent downlink data packets. See subclause 5.9.3
of 3GPP TS 23.214 [2].
NOTE 2: When changing the CP F-SEID of an established PFCP Session, the CP function shall be able to handle
any incoming PFCP Session related messages sent by the UP function with the previous CP F-SEID for a
duration at least longer than twice the PFCP retransmission timer (N1xT1).
NOTE 3: The QAURR (Query All URRs) flag in the PFCPSMReq-Flags IE and the Query URR IE are exclusive from
each other in a PFCP Session Modification Request.
3GPP
Release 15 98 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 99 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 100 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 101 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 102 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 103 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 104 3GPP TS 29.244 V15.4.0 (2018-12)
See NOTE 1.
Guaranteed C This IE shall be present if a GBR authorization to packets - X X X GBR
Bitrate matching this PDR needs to be modified. When present,
this IE shall indicate the authorized uplink and/or downlink
guaranteed bit rate.
3GPP
Release 15 105 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 106 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 107 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 108 3GPP TS 29.244 V15.4.0 (2018-12)
7.5.5.1 General
The PFCP Session Modification Response shall be sent over the Sxa, Sxb, Sxc and N4 interface by the UP
function to the CP function as a reply to the PFCP Session Modification Request.
3GPP
Release 15 109 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 110 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 111 3GPP TS 29.244 V15.4.0 (2018-12)
7.5.7.1 General
The PFCP Session Deletion Response shall be sent over the Sxa, Sxb, Sxc and N4 interface by the UP
function to the CP function as a reply to the PFCP Session Deletion Request.
3GPP
Release 15 112 3GPP TS 29.244 V15.4.0 (2018-12)
7.5.8.1 General
The PFCP Session Report Request shall be sent over the Sxa, Sxb, Sxc and N4 interface by the UP function
to report information related to an PFCP session to the CP function.
3GPP
Release 15 113 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 114 3GPP TS 29.244 V15.4.0 (2018-12)
Table 7.5.8.2-1: Downlink Data Report IE within PFCP Session Report Request
3GPP
Release 15 115 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 116 3GPP TS 29.244 V15.4.0 (2018-12)
Table 7.5.8.4-1: Error Indication Report IE within PFCP Session Report Request
3GPP
Release 15 117 3GPP TS 29.244 V15.4.0 (2018-12)
7.5.9.1 General
The PFCP Session Report Response shall be sent over the Sxa, Sxb, Sxc and N4 interface by the CP
function to the UP function as a reply to the PFCP Session Report Request.
NOTE 1: The CP function may request the UP function to drop the packets currently buffered for the PFCP session,
when buffering is performed in the UP function, upon receipt of an PFCP Session Report Request notifying
the CP function about the arrival of downlink data packets for which the CP function decides to throttle the
corresponding Downlink Data Notification message over S11/S4 and. See subclause 5.9.3 of
3GPP TS 23.214 [2].
3GPP
Release 15 118 3GPP TS 29.244 V15.4.0 (2018-12)
The term silently discarded is used in the following subclauses to mean that the receiving PFCP entity's implementation
shall discard such a message without further processing or that the receiving PFCP entity discards such an IE and
continues processing the message. The conditions for the receiving PFCP entity to silently discard an IE are specified in
the subsequent subclauses.
The handling of unknown, unexpected or erroneous PFCP messages and IEs shall provide for the forward compatibility
of PFCP. Therefore, the sending PFCP entity shall be able to safely include in a message a new conditional-optional or
an optional IE. Such an IE may also have a new type value. Any legacy receiving PFCP entity shall, however, silently
discard such an IE and continue processing the message.
If a protocol error is detected by the receiving PFCP entity, it should log the event including the erroneous message and
may include the error in a statistical counter.
For Response messages containing a rejection Cause value, see subclause 7.2.3.2.
The receiving PFCP entity shall apply the error handling specified in the subsequent subclauses.
3GPP
Release 15 119 3GPP TS 29.244 V15.4.0 (2018-12)
If the received erroneous message is a reply to an outstanding PFCP message, the PFCP transaction layer shall stop
retransmissions and notify the PFCP application layer of the error even if the reply is silently discarded.
If a PFCP entity receives a Request message within an IP/UDP packet of a length that is inconsistent with the value
specified in the Length field of the PFCP header, then the receiving PFCP entity should log the error and shall send the
Response message with Cause IE value set to "Invalid Length".
If a PFCP entity receives a Response message within an IP/UDP packet of a length that is inconsistent with the value
specified in the Length field of the PFCP header, then the receiving PFCP entity should log the error and shall silently
discard the message.
If a PFCP entity receives an unexpected response message which is not a request message, for example a message for
which there is no corresponding outstanding request, it shall discard the message and may log an error.
If a PFCP entity receives a Response message with Cause IE value set to "Mandatory IE missing", it shall notify its
upper layer.
A PFCP entity shall check if all mandatory IEs are present in the received Response message without a rejection Cause
value. If one or more mandatory information elements are missing, the PFCP entity shall notify the upper layer and
should log the error.
A PFCP entity shall check if conditional information elements are present in the received Request message, if possible
(i.e. if the receiving entity has sufficient information available to check if the respective conditions were met). If one or
more conditional information elements are missing, a PFCP entity should log the error and shall send a Response
message with Cause IE value set to "Conditional IE missing" together with the type of the missing conditional IE.
A PFCP entity shall check if conditional information elements are present in the received Response message without a
rejection Cause value, if possible (i.e. if the receiving entity has sufficient information available to check if the
respective conditions were met). If one or more conditional information elements are missing, a PFCP entity shall notify
the upper layer and should log the error.
For Response messages containing a rejection Cause value, see subclause 7.2.3.2.
Absence of an optional information element shall not trigger any error handling.
3GPP
Release 15 120 3GPP TS 29.244 V15.4.0 (2018-12)
If a PFCP message contains more than one information elements and one or more of them have invalid length, the
receiving PFCP entity can detect which of the IEs have invalid length only in the following cases:
- If the Length value in the IE header is greater than the overall length of the message;
Apart from Echo Request message, if a receiving PFCP entity detects information element with invalid length in a
Request message, it shall send an appropriate error response with Cause IE value set to "Invalid length" together with
the type of the offending IE.
The receiver of a PFCP signalling message Response including a mandatory or a verifiable conditional information
element with a semantically invalid Value shall notify the upper layer that a message with this sequence number has
been received and should log the error.
If a PFCP entity receives an information element with a value which is shown as reserved, it shall treat that information
element as invalid and should log the error. If the invalid IE is received in a Request, and it is a mandatory IE or a
verifiable conditional IE, the PFCP entity shall send a response with Cause set to "Mandatory IE incorrect" together
with a type and instance of the offending IE.
The principle is: the use of reserved values invokes error handling; the use of spare values can be silently discarded and
for IEs with spare values used, processing shall be continued ignoring the spare values.
The receiver of a PFCP signalling message including an optional information element with a Value that is not in the
range defined for this information element value shall discard this IE, but shall treat the rest of the message as if this IE
was absent and continue processing. The receiver shall not check the content of an information element field that is
defined as "spare".
All semantically incorrect optional information elements in a PFCP signalling message shall be treated as not present in
the message.
NOTE: An Information Element in an encoded PFCP message or grouped IE is identified by the IE Type.
If an information element is repeated in a PFCP signalling message in which repetition of the information element is not
specified, only the contents of the information element appearing first shall be handled and all subsequent repetitions of
the information element shall be ignored. When the number of repetitions of information elements is specified, only the
contents of specified repeated information elements shall be handled and all subsequent repetitions of the information
element shall be ignored.
3GPP
Release 15 121 3GPP TS 29.244 V15.4.0 (2018-12)
8 Information Elements
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = xxx (decimal)
3 to 4 Length = n
p to (p+1) Enterprise ID
k to (n+4) IE specific data or content of a grouped IE
Figure 8.1.1-1: Information Element Format
NOTE 1: If the Bit 8 of Octet 1 is not set, this indicates that the IE is defined by 3GPP and the Enterprise ID is
absent. If Bit 8 of Octet 1 is set, this indicates that the IE is defined by a vendor and the Enterprise ID is
present identified by the Enterprise ID.
- Type: this field indicates the type of the Information Element. IE type values within the range of 0 to 32767 are
reserved for IE defined by 3GPP and are listed in subclause 8.1.2 IE type values within the range of 32768 to
65535 are used for vendor-specific IE and the value allocation is controlled by the vendor.
- Length: this field contains the length of the IE excluding the first four octets, which are common for all IEs
(Type and Length) and is denoted "n" in Figure 8.1.1-1 and in Figure 8.1.1-2. Bit 8 of the lowest numbered octet
is the most significant bit and bit 1 of the highest numbered octet is the least significant bit.
- Enterprise ID: if the IE type value is within the range of 32768 to 65535, this field shall contain the IANA-
assigned "SMI Network Management Private Enterprise Codes" value of the vendor defining the IE. The
Enterprise ID set to "10415" (IANA-assigned "SMI Network Management Private Enterprise Codes") shall not
be used for the vendor specific IEs.
For illustration, Figure 8.1.1-2 depicts the format of a Information Element (IE) defined by 3GPP and is specified in this
specification. For IE's defined by 3GPP, the IE type shall be within the range of 0 to 32767.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = xxx (decimal)
3 to 4 Length = n
5 to (n+4) IE specific data or content of a grouped IE
Figure 8.1.1-2: 3GPP defined Information Element Format
NOTE 2: Bit 8 of Octet 1 is not set. This indicates that the Information Element type value has been allocated by
3GPP.
For illustration, Figure 8.1.1-3 depicts the format of a vendor-specific Information Element, which content is not
specified and the IE type value shall be within the range of 32768 to 65535.
3GPP
Release 15 122 3GPP TS 29.244 V15.4.0 (2018-12)
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = xxx (decimal)
3 to 4 Length = n
5 to 6 Enterprise ID
7 to (n+4) IE specific data or content of a grouped IE
Figure 8.1.1-3: Vendor-Specific Information Element Format
NOTE 3: Bit 8 of Octet 1 is set. This indicates that the IE type value has been allocated by the vendor identified by
the Enterprise ID. The content of this IE is vendor specific and therefore out of scope of this specification.
- Fixed Length: the IE has a fixed set of fields, and a fixed number of octets;
- Variable Length: the IE has a fixed set of fields, and has a variable number of octets.
For example, the last octets may be numbered similar to "5 to (n+4)". In this example, if the value of the length
field, n, is 0, then the last field is not present;
- Extendable: the IE has a variable number of fields, and has a variable number of octets.
The last fields are typically specified with the statement: "These octet(s) is/are present only if explicitly
specified". The legacy receiving entity shall ignore the unknown octets.
An IE of any of the above types may have a null length as specified in subclause 5.6.3. This shall not be considered as
an error by the receiving PFCP entity.
In order to improve the efficiency of troubleshooting, it is recommended that the IEs should be arranged in the
signalling messages as well as in the grouped IEs, according to the order the IEs are listed in the message definition
table or grouped IE definition table in section 7. However the receiving entity shall be prepared to handle the messages
with IEs in any order.
Within IEs, certain fields may be described as spare. These bits shall be transmitted with the value set to 0. To allow for
future features, the receiver shall not evaluate these bits.
3GPP
Release 15 123 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 124 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 125 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 126 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 127 3GPP TS 29.244 V15.4.0 (2018-12)
. Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 19 (decimal)
3 to 4 Length = n
5 Cause value
Figure 8.2.1-1: Cause
The Cause value shall be included in a response message. In a response message, the Cause value indicates the
acceptance or the rejection of the corresponding request message. The Cause value indicates the explicit reason for the
rejection.
3GPP
Release 15 128 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 129 3GPP TS 29.244 V15.4.0 (2018-12)
NOTE 2: This value is or may be used in a future version of the specification. If the receiver cannot
comprehend the value, it shall be interpreted as an unspecified rejection cause.
Unspecified/unrecognized rejection cause shall be treated in the same ways as the cause value 32
"Request rejected (reason not specified)".
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 20 (decimal)
3 to 4 Length = n
5 Spare Interface value
6 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.2-1: Source Interface
The Interface value shall be encoded as a 4 bits binary integer as specified in in Table 8.2.2-1.
8.2.3 F-TEID
The F-TEID IE type shall be encoded as shown in Figure 8.2.3-1. It indicates an F-TEID.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 21 (decimal)
3 to 4 Length = n
5 Spare CHID CH V6 V4
6 to 9 TEID
m to (m+3) IPv4 address
p to (p+15) IPv6 address
q CHOOSE ID
k to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.3-1: F-TEID
- Bit 1 – V4: If this bit is set to "1" and the CH bit is not set, then the IPv4 address field shall be present, otherwise
the IPv4 address field shall not be present.
3GPP
Release 15 130 3GPP TS 29.244 V15.4.0 (2018-12)
- Bit 2 – V6: If this bit is set to "1" and the CH bit is not set, then the IPv6 address field shall be present, otherwise
the IPv6 address field shall not be present.
- Bit 3 – CH (CHOOSE): If this bit is set to "1", then the TEID, IPv4 address and IPv6 address fields shall not be
present and the UP function shall assign an F-TEID with an IP4 or an IPv6 address if the V4 or V6 bit is set
respectively. This bit shall only be set by the CP function.
- Bit 4 – CHID (CHOOSE ID): If this bit is set to "1", then the UP function shall assign the same F-TEID to the
PDRs requested to be created in a PFCP Session Establishment Request or PFCP Session Modification Request
with the same CHOOSE ID value. This bit may only be set to "1" if the CH bit it set to "1". This bit shall only be
set by the CP function.
At least one of the V4 and V6 flags shall be set to "1", and both may be set to "1" for both scenarios:
- when the CP function is allocating F-TEID, i.e. both IPv4 address field and IPv6 address field may be present;
- or when the UP function is requested to allocate the F-TEID, i.e. when CHOOSE bit is set to "1", and the IPv4
address and IPv6 address fields are not present.
Octet 6 to 9 (TEID) shall be present and shall contain a GTP-U TEID, if the CH bit in octet 5 is not set. When the TEID
is present, if both IPv4 and IPv6 addresses are present in the F-TEID IE, then the TEID value shall be shared by both
addresses.
Octets "m to (m+3)" and/or "p to (p+15)" (IPv4 address / IPv6 address fields), if present, it shall contain the respective
IP address values.
Octet q shall be present and shall contain a binary integer value if the CHID bit in octet 5 is set to "1".
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 22 (decimal)
3 to 4 Length = n
5 to (n+4) Network Instance
Figure 8.2.4-1: Network Instance
The Network instance field shall be encoded as an OctetString and shall contain an identifier which uniquely identifies
a particular Network instance (e.g. PDN instance) in the UP function. It may be encoded as a Domain Name or an
Access Point Name (APN) as per subclause 9.1 of 3GPP TS 23.003 [2]. In the latter case, the PDN Instance field may
contain the APN Network Identifier only or the full APN with both the APN Network Identifier and the APN Operator
Identifier as specified in 3GPP TS 23.003 [2] subclauses 9.1.1 and 9.1.2.
NOTE: The APN field is not encoded as a dotted string as commonly used in documentation.
3GPP
Release 15 131 3GPP TS 29.244 V15.4.0 (2018-12)
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 23 (decimal)
3 to 4 Length = n
5 Spare BID FL SPI TTC FD
6 Spare
m to (m+1) Length of Flow Description
(m+2) to p Flow Description
s to (s+1) ToS Traffic Class
t to (t+3) Security Parameter Index
v to (v+2) Flow Label
w to (w+3) SDF Filter ID
x to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.5-1: SDF Filter
- Bit 1 – FD (Flow Description): If this bit is set to "1", then the Length of Flow Description and the Flow
Description fields shall be present, otherwise they shall not be present.
- Bit 2 – TTC (ToS Traffic Class): If this bit is set to "1", then the ToS Traffic Class field shall be present,
otherwise the ToS Traffic Class field shall not be present.
- Bit 3 – SPI (Security Parameter Index): If this bit is set to "1", then the Security Parameter Index field shall be
present, otherwise the Security Parameter Index field shall not be present.
- Bit 4 – FL (Flow Label): If this bit is set to "1", then the Flow Label field shall be present, otherwise the Flow
Label field shall not be present.
- Bit 5 – BID (Bidirectional SDF Filter): If this bit is set to "1", then the SDF Filter ID shall be present, otherwise
the SDF Filter ID shall not be present.
The Flow Description field, when present, shall be encoded as an OctetString as specified in subclause 5.4.2 of
3GPP TS 29.212 [8].
The ToS Traffic Class field, when present, shall be encoded as an OctetString on two octets as specified in
subclause 5.3.15 of 3GPP TS 29.212 [8].
The Security Parameter Index field, when present, shall be encoded as an OctetString on four octets and shall contain
the IPsec security parameter index (which is a 32-bit field), as specified in subclause 5.3.51 of 3GPP TS 29.212 [8].
The Flow Label field, when present, shall be encoded as an OctetString on 3 octets as specified in subclause 5.3.52 of
3GPP TS 29.212 [8] and shall contain an IPv6 flow label (which is a 20-bit field). The bits 8 to 5 of the octet "v" shall
be spare and set to zero, and the remaining 20 bits shall contain the IPv6 flow label.
- be a pattern for matching the IP 5 tuple (source IP address or IPv6 network prefix, destination IP address or IPv6
network prefix, source port number, destination port number, protocol ID of the protocol above IP). In the
pattern:
- a value left unspecified in a filter matches any value of the corresponding information in a packet;
- the pattern can be extended by the Type of Service (TOS) (IPv4) / Traffic class (IPv6) and Mask;
- consist of the destination IP address and optional mask, protocol ID of the protocol above IP, the Type of Service
(TOS) (IPv4) / Traffic class (IPv6) and Mask and the IPsec Security Parameter Index (SPI);
3GPP
Release 15 132 3GPP TS 29.244 V15.4.0 (2018-12)
- consist of the destination IP address and optional mask, the Type of Service (TOS) (IPv4) / Traffic class (IPv6)
and Mask and the Flow Label (IPv6).
NOTE 1: The details about the IPsec Security Parameter Index (SPI), the Type of Service (TOS) (IPv4) / Traffic
class (IPv6) and Mask and the Flow Label (IPv6) are defined in 3GPP TS 23.060 [19] clause 15.3.
- extend the packet inspection beyond the possibilities described above and look further into the packet. Such
service data flow filters need to be predefined in the PGW-U, as specified in subclause 5.11 of
3GPP TS 23.214 [2].
NOTE 2: Such filters may be used to support filtering with respect to a service data flow based on the transport and
application protocols used above IP, e.g. for HTTP and WAP. Filtering for further application protocols
and services can also be supported.
The SDF Filter ID, when present, shall be encoded as an Unsigned32 binary integer value. It shall uniquely identify an
SDF Filter among all the SDF Filters provisioned for a given PFCP Session. The source/destination IP address and port
information, in a bidirectional SDF Filter, shall be set as for downlink IP flows. The SDF filter for the opposite
direction has the same parameters, but having the source and destination address/port parameters swapped. When being
provisioned with a bidirectional SDF filter in a PDR, the UP function shall apply the SDF filter as specified in
subclause 5.2.1A.2A.
8.2.6 Application ID
The Application ID IE type shall be encoded as shown in Figure 8.2.6-1. It contains an Application Identifier
referencing an application detection filter in the UP function (e.g. its value may represent an application such as a list of
URLs).
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 24 (decimal)
3 to 4 Length = n
5 to (n+4) Application Identifier
Figure 8.2.6-1: Application ID
The Application Identifier shall be encoded as an OctetString (see 3GPP TS 29.212 [8]).
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 25 (decimal)
3 to 4 Length = n
5 Spare UL Gate DL Gate
6 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.7-1: Gate Status
3GPP
Release 15 133 3GPP TS 29.244 V15.4.0 (2018-12)
8.2.8 MBR
The MBR IE type shall be encoded as shown in Figure 8.2.8-1. It indicates the maximum bit rate allowed for the uplink
and downlink directions.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 26 (decimal)
3 to 4 Length = n
5 to 9 UL MBR
10 to 14 DL MBR
15 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.8-1: MBR
The UL/DL MBR fields shall be encoded as kilobits per second (1 kbps = 1000 bps) in binary value. The UL/DL MBR
fields may require converting values in bits per second to kilobits per second when the UL/DL MBR values are received
from an interface other than GTPv2 interface. If such conversions result in fractions, then the value of UL/DL MBR
fields shall be rounded upwards. The range of UL/DL MBR is specified in 3GPP TS 36.413 [10].
NOTE: The encoding is aligned on the encoding specified in 3GPP TS 29.274 [9].
8.2.9 GBR
The GBR IE type shall be encoded as shown in Figure 8.2.9-1. It indicates the guaranteed bit rate authorized for the
uplink and/or downlink directions.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 27 (decimal)
3 to 4 Length = n
5 to 9 UL GBR
10 to 14 DL GBR
15 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.9-1: GBR
The UL/DL GBR fields shall be encoded as kilobits per second (1 kbps = 1000 bps) in binary value. The UL/DL GBR
fields may require converting values in bits per second to kilobits per second when the UL/DL GBR values are received
from an interface other than GTPv2 interface. If such conversions result in fractions, then the value of UL/DL GBR
fields shall be rounded upwards. The range of UL/DL GBR is specified in 3GPP TS 36.413 [10].
NOTE: The encoding is aligned on the encoding specified in 3GPP TS 29.274 [9].
3GPP
Release 15 134 3GPP TS 29.244 V15.4.0 (2018-12)
NOTE: A QER Correlation ID is not a Rule ID. It is only a correlation number to correlate QERs from different
PFCP sessions.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 28 (decimal)
3 to 4 Length = n
5 to 8 QER Correlation ID value
9 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.10-1: QER Correlation ID
The QER Correlation ID value shall be encoded as an Unsigned32 binary integer value.
8.2.11 Precedence
The Precedence IE type shall be encoded as shown in Figure 8.2.11-1. It defines the relative precedence of a PDR
among all the PDRs provisioned within an PFCP session, when looking for a PDR matching an incoming packet.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 29 (decimal)
3 to 4 Length = n
5 to 8 Precedence value
9 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.11-1: Precedence
The Precedence value shall be encoded as an Unsigned32 binary integer value. The lower precedence values
indicate higher precedence of the PDR, and the higher precedence values indicate lower precedence of the
PDR when matching a packet.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 30 (decimal)
3 to 4 Length = n
5 to 6 ToS/Traffic Class
7 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.12-1: Transport Level Marking
The ToS/Traffic Class shall be encoded on two octets as an OctetString. The first octet shall contain the DSCP value in
the IPv4 Type-of-Service or the IPv6 Traffic-Class field and the second octet shall contain the ToS/Traffic Class mask
field, which shall be set to "0xFC". See subclause 5.3.15 of 3GPP TS 29.212 [8].
NOTE: The original ECN bits in the IP header of user plane packets are not changed after applying transport level
marking.
3GPP
Release 15 135 3GPP TS 29.244 V15.4.0 (2018-12)
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 31 (decimal)
3 to 4 Length = n
5 Spare DLVO ULVO TOVO
L L L
m to (m+7) Total Volume
p to (p+7) Uplink Volume
q to (q+7) Downlink Volume
s to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.13-1: Volume Threshold
- Bit 1 – TOVOL: If this bit is set to "1", then the Total Volume field shall be present, otherwise the Total Volume
field shall not be present.
- Bit 2 – ULVOL: If this bit is set to "1", then the Uplink Volume field shall be present, otherwise the Uplink
Volume field shall not be present.
- Bit 3 – DLVOL: If this bit is set to "1", then the Downlink Volume field shall be present, otherwise the
Downlink Volume field shall not be present.
The Total Volume, Uplink Volume and Downlink Volume fields shall be encoded as an Unsigned64 binary integer
value. They shall contain the total, uplink or downlink number of octets respectively.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 32 (decimal)
3 to 4 Length = n
5 to 8 Time Threshold
9 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.14-1: Time Threshold
The Time Threshold field shall be encoded as an Unsigned32 binary integer value. It shall contain the duration in
seconds.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 33 (decimal)
3 to 4 Length = n
5 to 8 Monitoring Time
9 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.15-1: Monitoring Time
3GPP
Release 15 136 3GPP TS 29.244 V15.4.0 (2018-12)
The Monitoring Time field shall indicate the monitoring time in UTC time. Octets 5 to 8 shall be encoded in the same
format as the first four octets of the 64-bit timestamp format as defined in section 6 of IETF RFC 5905 [12].
NOTE: The encoding is defined as the time in seconds relative to 00:00:00 on 1 January 1900.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 34 (decimal)
3 to 4 Length = n
5 Spare DLVO ULVO TOVO
L L L
m to (m+7) Total Volume
p to (p+7) Uplink Volume
q to (q+7) Downlink Volume
s to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.16-1: Subsequent Volume Threshold
- Bit 1 – TOVOL: If this bit is set to "1", then the Total Volume field shall be present, otherwise the Total Volume
field shall not be present.
- Bit 2 – ULVOL: If this bit is set to "1", then the Uplink Volume field shall be present, otherwise the Uplink
Volume field shall not be present.
- Bit 3 – DLVOL: If this bit is set to "1", then the Downlink Volume field shall be present, otherwise the
Downlink Volume field shall not be present.
The Total Volume, Uplink Volume and Downlink Volume fields shall be encoded as an Unsigned64 binary integer
value. They shall contain the total, uplink or downlink number of octets respectively.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 35 (decimal)
3 to 4 Length = n
5 to 8 Subsequent Time Threshold
9 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.17-1: Subsequent Time Threshold
The Subsequent Time Threshold field shall be encoded as an Unsigned32 binary integer value. It shall contain the
duration in seconds.
3GPP
Release 15 137 3GPP TS 29.244 V15.4.0 (2018-12)
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 36 (decimal)
3 to 4 Length = n
5 to 8 Inactivity Detection Time
9 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.18-1: Inactivity Detection Time
The Inactivity Detection Time field shall be encoded as an Unsigned32 binary integer value.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 37 (decimal)
3 to 4 Length = n
5 LIUSA DROT STOP STAR QUHT TIMT VOLT PERI
H T T I H H O
6 Spare Spare EVEQ EVET MACA ENVC TIMQ VOLQ
U H R L U U
7 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.19-1: Reporting Triggers
- Bit 1 – PERIO (Periodic Reporting): when set to 1, this indicates a request for periodic reporting.
- Bit 2 – VOLTH (Volume Threshold): when set to 1, this indicates a request for reporting when the data volume
usage reaches a volume threshold
- Bit 3 – TIMTH (Time Threshold): when set to 1, this indicates a request for reporting when the time usage
reaches a time threshold.
- Bit 4 – QUHTI (Quota Holding Time): when set to 1, this indicates a request for reporting when no packets have
been received for a period exceeding the Quota Holding Time.
- Bit 5 – START (Start of Traffic): when set to 1, this indicates a request for reporting when detecting the start of
an SDF or Application traffic.
- Bit 6 – STOPT (Stop of Traffic): when set to 1, this indicates a request for reporting when detecting the stop of
an SDF or Application Traffic.
- Bit 7 - DROTH (Dropped DL Traffic Threshold): when set to 1, this indicates a request for reporting when the
DL traffic being dropped reaches a threshold.
- Bit 8: - LIUSA (Linked Usage Reporting): when set to 1, this indicates a request for linked usage reporting, i.e. a
request for reporting a usage report for a URR when a usage report is reported for a linked URR (see subclause
5.2.2.4).
3GPP
Release 15 138 3GPP TS 29.244 V15.4.0 (2018-12)
- Bit 1 –VOLQU (Volume Quota): when set to 1, this indicates a request for reporting when a Volume Quota is
exhausted.
- Bit 2 – TIMQU (Time Quota): when set to 1, this indicates a request for reporting when a Time Quota is
exhausted.
- Bit 3 – ENVCL (Envelope Closure): when set to 1, this indicates a request for reporting when conditions for
closure of envelope is met (see subclause 5.2.2.3).
- Bit 4 – MACAR (MAC Addresses Reporting): when set to 1, this indicates a request for reporting the MAC
(Ethernet) addresses used as source address of frames sent UL by the UE.
- Bit 5 – EVETH (Event Threshold): when set to 1, this indicates a request for reporting when an event threshold
is reached. .
- Bit 6 – EVEQU (Event Quota): when set to 1, this indicates a request for reporting when an Event Quota is
reached.
Bits
Octets 8 7 6 5 4 3 2 1
1-2 Type = 38 (decimal)
3-4 Length = n
5 Spare Redirect Address Type
6-7 Redirect Server Address Length=a
8-(8+a) Redirect Server Address
(8+a+1) to These octet(s) is/are present only if explicitly specified
(n+4)
Figure 8.2.20-1: Redirect Information
Redirect Address Type indicates the type of the Redirect Address. It shall be encoded as defined in Table 8.2.20-1.
The Redirect Server Address shall be encoded in UTF8String format and shall contain the address of the redirect
server (e.g. HTTP redirect server, SIP server) with which the end user is to be connected, as specified in subclauses
8.38 and 8.39 of IETF RFC 4006 [16].
3GPP
Release 15 139 3GPP TS 29.244 V15.4.0 (2018-12)
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 39 (decimal)
3 to 4 Length = n
5 Spare UPIR ERIR USAR DLDR
6 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.21-1: Report Type
- Bit 1 – DLDR (Downlink Data Report): when set to 1, this indicates Downlink Data Report
- Bit 2 – USAR (Usage Report): when set to 1, this indicates a Usage Report
- Bit 3 – ERIR (Error Indication Report): when set to 1, this indicates an Error Indication Report.
- Bit 4 – UPIR (User Plane Inactivity Report): when set to 1, this indicates a User Plane Inactivity Report.
8.2.22 Offending IE
Offending IE IE is coded as depicted in Figure 8.2.22-1.
. Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 40 (decimal)
3 to 4 Length = 2
5 to 6 Type of the offending IE
Figure 8.2.22-1: Offending IE
The offending IE shall contain a mandatory IE type, if the rejection is due to a conditional or mandatory IE is faulty or
missing.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 41 (decimal)
3 to 4 Length = n
5 Forwarding Policy Identifier Length
j to k Forwarding Policy Identifier
m to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.23-1: Forwarding Policy
The Forwarding Policy Identifier Length shall indicate the length of the Forwarding Policy Identifier.
The Forwarding Policy Identifier shall be encoded as an Octet String containing a reference to a pre-configured
Forwarding Policy in the UP function, with a maximum length of 255 octets.
3GPP
Release 15 140 3GPP TS 29.244 V15.4.0 (2018-12)
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 42 (decimal)
3 to 4 Length = n
5 Spare Interface value
6 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.24-1: Destination Interface
The Interface value shall be encoded as a 4 bits binary integer as specified in Table 8.2.24-1.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 43 (decimal)
3 to 4 Length = n
5 to 6 Supported-Features
7 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.25-1: UP Function Features
The UP Function Features IE takes the form of a bitmask where each bit set indicates that the corresponding feature is
supported. Spare bits shall be ignored by the receiver. The same bitmask is defined for all PFCP interfaces.
The following table specifies the features defined on PFCP interfaces and the interfaces on which they apply.
3GPP
Release 15 141 3GPP TS 29.244 V15.4.0 (2018-12)
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 44 (decimal)
3 to 4 Length = n
5 Spare Spare Spare DUPL NOCP BUFF FOR DROP
W
6 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.26-1: Apply-Action
- Bit 1 – DROP (Drop): when set to 1, this indicates a request to drop the packets.
- Bit 2 – FORW (Forward): when set to 1, this indicates a request to forward the packets.
- Bit 3 – BUFF (Buffer): when set to 1, this indicates a request to buffer the packets.
- Bit 4 – NOCP (Notify the CP function): when set to 1, this indicates a request to notify the CP function about the
arrival of a first downlink packet being buffered.
- Bit 5 – DUPL (Duplicate): when set to 1, this indicates a request to duplicate the packets.
3GPP
Release 15 142 3GPP TS 29.244 V15.4.0 (2018-12)
One and only one of the DROP, FORW and BUFF flags shall be set to 1.
The NOCP flag may only be set if the BUFF flag is set.
The DUPL flag may be set with any of the DROP, FORW, BUFF and NOCP flags.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 45 (decimal)
3 to 4 Length = n
5 Spare QFII PPI
m Spare Paging Policy Indication value
p Spare QFI
q to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.27-1: Downlink Data Service Information
The PPI flag in octet 5 indicates whether the Paging Policy Indication value in octet 'm' shall be present. If PPI is set to
'1', then the Paging Policy Indication value shall be present. If PPI is set to '0', then octet 'm' shall not be present.
The Paging Policy Indication value, in octet 'm', shall be encoded as the DSCP in TOS (IPv4) or TC (IPv6) information
received in the IP payload of the GTP-U packet from the PGW (see IETF RFC 2474 [13]).
The QFII flag in octet 5 indicates whether the QFI value in octet 'p' shall be present. If QFII is set to '1', then the QFI
value shall be present. If QFII is set to '0', then octet 'p' shall not be present.
The QFI value, in octet 'p', shall be encoded as the octet 5 of the QFI IE in subclause 8.2.89.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 46 (decimal)
3 to 4 Length = n
5 Delay Value in integer multiples of 50 millisecs, or zero
6 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.28-1: Downlink Data Notification Delay
Delay Value shall be set to zero in order to clear a previously set delay condition.
3GPP
Release 15 143 3GPP TS 29.244 V15.4.0 (2018-12)
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 47 (decimal)
3 to 4 Length = n
5 Timer unit Timer value
6 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.29-1: DL Buffering Duration
Timer value
Bits 5 to 1 represent the binary coded timer value.
Timer unit
Bits 6 to 8 defines the timer value unit as follows:
Bits
876
0 0 0 value is incremented in multiples of 2 seconds
0 0 1 value is incremented in multiples of 1 minute
0 1 0 value is incremented in multiples of 10 minutes
0 1 1 value is incremented in multiples of 1 hour
1 0 0 value is incremented in multiples of 10 hours
1 1 1 value indicates that the timer is infinite
Timer unit and Timer value both set to all "zeros" shall be interpreted as an
indication that the timer is stopped.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 48 (decimal)
3 to 4 Length = n
5 to n+4 Packet Count Value
Figure 8.2.30-1: DL Buffering Suggested Packet Count
The Packet Count value is encoded with the number of octets defined in the Length field, e.g. when n=2, the range of
the Packet Count value is from 0 to 65535.
8.2.31 PFCPSMReq-Flags
The PFCPSMReq-Flags IE indicates flags applicable to the PFCP Session Modification Request message. It is coded as
depicted in Figure 8.2.31-1.
3GPP
Release 15 144 3GPP TS 29.244 V15.4.0 (2018-12)
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 49 (decimal)
3 to 4 Length = n
5 Spare Spare Spare Spare Spare QAUR SNDE DROB
R M U
6 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.31-1: PFCPSMReq-Flags
- Bit 1 – DROBU (Drop Buffered Packets): if this bit is set to 1, it indicates that the UP function shall drop all the
packets currently buffered for the PFCP session, if any, prior to further applying the action specified in the
Apply Action value of the FARs.
- Bit 2 – SNDEM (Send End Marker Packets): if this bit is set to 1, it indicates that the UP function shall construct
and send End Marker packets towards the old F-TEID of the downstream node when switching to the new F-
TEID.
- Bit 3 – QAURR (Query All URRs): if this bit is set to 1, it indicates that the UP function shall return immediate
usage report(s) for all the URRs previously provisioned for this PFCP session.
- Bit 4 to 8 – Spare, for future use, shall be set to 0 by the sender and discarded by the receiver.
8.2.32 PFCPSRRsp-Flags
The PFCPSRRsp-Flags IE indicates flags applicable to the PFCP Session Report Response message. It is coded as
depicted in Figure 8.2.32-1.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 50 (decimal)
3 to 4 Length = n
5 Spare Spare Spare Spare Spare Spare Spare DROB
U
6 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.32-1: PFCPSRRsp-Flags
- Bit 1 – DROBU (Drop Buffered Packets): if this bit is set to 1, it indicates that the UP function shall drop all the
packets currently buffered for the PFCP session, if any, prior to further applying the action specified in the
Apply Action value of the FARs.
- Bit 2 to 8 – Spare, for future use, shall be set to 0 by the sender and discarded by the receiver.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 52 (decimal)
3 to 4 Length = n
5 to 8 Sequence Number
Figure 8.2.33-1: Sequence Number
3GPP
Release 15 145 3GPP TS 29.244 V15.4.0 (2018-12)
8.2.34 Metric
The Metric IE shall be encoded as shown in Figure 8.2.34-1. It indicates a percentage and may take binary coded
integer values from and including 0 up to and including 100. Other values shall be considered as 0.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 53 (decimal)
3 to 4 Length = n
5 Metric
Figure 8.2.34-1: Metric
8.2.35 Timer
The purpose of the Timer IE is to specify specific timer values. The Timer IE shall be encoded as shown in Figure
8.2.35-1 and table 8.2.35.1.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 55 (decimal)
3 to 4 Length = n
5 Timer unit Timer value
6 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.35-1: Timer
Timer value
Bits 5 to 1 represent the binary coded timer value.
Timer unit
Bits 6 to 8 defines the timer value unit for the timer as follows:
Bits
876
0 0 0 value is incremented in multiples of 2 seconds
0 0 1 value is incremented in multiples of 1 minute
0 1 0 value is incremented in multiples of 10 minutes
0 1 1 value is incremented in multiples of 1 hour
1 0 0 value is incremented in multiples of 10 hours
1 1 1 value indicates that the timer is infinite
Timer unit and Timer value both set to all "zeros" shall be interpreted as an
indication that the timer is stopped.
3GPP
Release 15 146 3GPP TS 29.244 V15.4.0 (2018-12)
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 56 (decimal)
3 to 4 Length = n
5 to 6 Rule ID
7to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.36-1: PDR ID
8.2.37 F-SEID
F-SEID is coded as depicted in Figure 8.2.37-1.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 57 (decimal)
3 to 4 Length = n
5 Spare Spare Spare Spare Spare Spare V4 V6
6 to 13 SEID
m to (m+3) IPv4 address
p to (p+15) IPv6 address
k to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.37-1: F-SEID
- Bit 1 – V6: If this bit is set to "1", then IPv6 address field shall be present in the F-SEID, otherwise the IPv6
address field is not present at all.
- Bit 2 – V4: If this bit is set to "1", then IPv4 address field shall be present in the F-SEID, otherwise the IPv4
address field is not present at all.
At least one of V4 and V6 shall be set to "1", and both may be set to "1".
Octets "m to (m+3)" and/or "p to (p+15)" (IPv4 address / IPv6 address fields), if present, contain respective address
values.
8.2.38 Node ID
The Node ID IE shall contain an FQDN or an IPv4/IPv6 address. It shall be encoded as shown in Figure 8.2.38-1.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 60 (decimal)
3 to 4 Length = n
5 Spare Node ID Type
6 to o Node ID value
m to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.38-1: Node ID
Node ID Type indicates the type of the Node ID value. It shall be encoded as a 4 bits binary integer as specified in
Table 8.2.38-2.
3GPP
Release 15 147 3GPP TS 29.244 V15.4.0 (2018-12)
If the Node ID is an IPv4 address, the Node ID value length shall be 4 Octet.
If the Node ID is an IPv6 address, the Node ID value length shall be 16 Octet.
If the Node ID is an FQDN, the Node ID value encoding shall be identical to the encoding of a FQDN within a DNS
message of section 3.1 of IETF RFC 1035 [27] but excluding the trailing zero byte.
NOTE 1: The FQDN field in the IE is not encoded as a dotted string as commonly used in DNS master zone files.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 61 (decimal)
3 to 4 Length = n
5 Spare CP DN URL FD
6 Spare
m to (m+1) Length of Flow Description
(m+2) to p Flow Description
q to (q+1) Length of URL
(q+2) to r URL
s to (s+1) Length of Domain Name
(s+2) to t Domain Name
u to (u+1) Length of Custom PFD Content
(u+2) to v Custom PFD Content
w to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.39-1: PFD Contents
- Bit 1 – FD (Flow Description): If this bit is set to "1", then the Length of Flow Description and the Flow
Description fields shall be present, otherwise they shall not be present.
- Bit 2 – URL (URL): If this bit is set to "1", then the Length of URL and the URL fields shall be present,
otherwise they shall not be present.
- Bit 3 – DN (Domain Name): If this bit is set to "1", then the Length of Domain Name and the Domain Name
fields shall be present, otherwise they shall not be present.
- Bit 4 – CP (Custom PFD Content): If this bit is set to "1", then the Length of Custom PFD Content and the
Custom PFD Content fields shall be present, otherwise they shall not be present.
The Flow Description field, when present, shall be encoded as an OctetString as specified in subclause 6.4.3.7 of
3GPP TS 29.251 [21].
The Domain Name field, when present, shall be encoded as an OctetString as specified in subclause 6.4.3.9 of
3GPP TS 29.251 [21].
3GPP
Release 15 148 3GPP TS 29.244 V15.4.0 (2018-12)
The URL field, when present, shall be encoded as an OctetString as specified in subclause 6.4.3.8 of
3GPP TS 29.251 [21].
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 62 (decimal)
3 to 4 Length = n
5 Spare Spare Spare Spare Spare EVEN VOLU DURA
T M T
6 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.40-1: Measurement Method
- Bit 1 – DURAT (Duration): when set to 1, this indicates a request for measuring the duration of the traffic.
- Bit 2 – VOLUM (Volume): when set to 1, this indicates a request for measuring the volume of the traffic.
- Bit 3 – EVENT (Event): when set to 1, this indicates a request for measuring the events.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 63 (decimal)
3 to 4 Length = n
5 IMME DROT STOP STAR QUHT TIMT VOLT PERI
R H T T I H H O
6 EVET MACA ENVC MONI TERM LIUSA TIMQ VOLQ
H R L T R U U
7 Spare EVEQ
U
8 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.41-1: Usage Report Trigger
- Bit 1 – PERIO (Periodic Reporting): when set to 1, this indicates a periodic report.
- Bit 2 – VOLTH (Volume Threshold): when set to 1, this indicates that the data volume usage reaches a volume
threshold.
- Bit 3 – TIMTH (Time Threshold): when set to 1, this indicates that the time usage reaches a time threshold.
- Bit 4 – QUHTI (Quota Holding Time): when set to 1, this indicates that no packets have been received for a
period exceeding the Quota Holding Time.
- Bit 5 – START (Start of Traffic): when set to 1, this indicates that the start of traffic is detected.
3GPP
Release 15 149 3GPP TS 29.244 V15.4.0 (2018-12)
- Bit 6 – STOPT (Stop of Traffic): when set to 1, this indicates that the stop of traffic is detected.
- Bit 7 - DROTH (Dropped DL Traffic Threshold): when set to 1, this indicates that the DL traffic being dropped
reaches a threshold.
- Bit 8 – IMMER (Immediate Report): when set to 1, this indicates an immediate report reported on CP function
demand.
- Bit 1 – VOLQU (Volume Quota): when set to 1, this indicates that the Volume Quota has been exhausted.
- Bit 2 – TIMQU (Time Quota): when set to 1, this indicates that the Time Quota has been exhausted.
- Bit 3 - LIUSA (Linked Usage Reporting): when set to 1, this indicates a linked usage report, i.e. a usage report
being reported for a URR due to a usage report being also reported for a linked URR (see subclause 5.2.2.4).
- Bit 4 – TERMR (Termination Report): when set to 1, this indicates a usage report being reported (in a PFCP
Session Deletion Response) for a URR due to the termination of the PFCP session, or a usage report being
reported (in a PFCP Session Modification Response) for a URR due to the removal of the URR.
- Bit 5 – MONIT (Monitoring Time): when set to 1, this indicates a usage report being reported for a URR due to
the Monitoring Time being reached.
- Bit 6 – ENVCL (Envelope Closure): when set to 1, this indicates the usage report is generated for closure of an
envelope (see subclause 5.2.2.3).
- Bit 7 – MACAR (MAC Addresses Reporting): when set to 1, this indicates a usage report to report MAC
(Ethernet) addresses used as source address of frames sent UL by the UE.
- Bits 8: EVETH (Event Threshold): when set to 1, this indicates a usage report is generated when an event
threshold is reached.
- Bit 1 – EVEQU (Event Quota): when set to 1, this indicates that the Event Quota has been exhausted.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 64 (decimal)
3 to 4 Length = n
5 to 8 Measurement Period
9 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.42-1: Measurement Period
The Measurement Period field shall be encoded as an Unsigned32 binary integer value.
3GPP
Release 15 150 3GPP TS 29.244 V15.4.0 (2018-12)
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 65 (decimal)
3 to 4 Length = n
5 FQ-CSID Node-ID Type Number of CSIDs= m
6 to p Node-Address
(p+1) to First PDN Connection Set Identifier (CSID)
(p+2)
(p+3) to Second PDN Connection Set Identifier (CSID)
(p+4)
... ...
q to q+1 m-th PDN Connection Set Identifier (CSID)
(q+2) to These octet(s) is/are present only if explicitly specified
(n+4)
Figure 8.2.43-1: FQ-CSID
2 indicates that Node-Address is a 4 octets long field with a 32 bit value stored in network order, and p= 9. The
coding of the field is specified below:
- Most significant 20 bits are the binary encoded value of (MCC * 1000 + MNC).
- Least significant 12 bits is a 12 bit integer assigned by an operator to an MME, SGW-C, SGW-U, PGW-C or
PGW-U. Other values of Node-Address Type are reserved.
Values of Number of CSID other than 1 are only employed in the PFCP Session Delete Request.
The node that creates the FQ-CSID (i.e. SGW-C for SGW-C FQ-CSID, SGW-U for SGW-U FQ-CSID, PGW-C for
PGW-C FQ-CSID and PGW-U for PGW-U FQ-CSID) needs to ensure that the Node-ID is globally unique and the
CSID value is unique within that node.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 66 (decimal)
3 to 4 Length = n
5 Spare DLVO ULVO TOVO
L L L
m to (m+7) Total Volume
p to (p+7) Uplink Volume
q to (q+7) Downlink Volume
s to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.44-1: Volume Measurement
- Bit 1 – TOVOL: If this bit is set to "1", then the Total Volume field shall be present, otherwise the Total Volume
field shall not be present.
- Bit 2 – ULVOL: If this bit is set to "1", then the Uplink Volume field shall be present, otherwise the Uplink
Volume field shall not be present.
3GPP
Release 15 151 3GPP TS 29.244 V15.4.0 (2018-12)
- Bit 3 – DLVOL: If this bit is set to "1", then the Downlink Volume field shall be present, otherwise the
Downlink Volume field shall not be present.
The Total Volume, Uplink Volume and Downlink Volume fields shall be encoded as an Unsigned64 binary integer
value. They shall contain the total, uplink or downlink number of octets respectively.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 67 (decimal)
3 to 4 Length = n
5 to 8 Duration value
9 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.45-1: Duration Measurement
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 69 (decimal)
3 to 4 Length = n
5 to 8 Time of First Packet
9 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.46-1: Time of First Packet
The Time of First Packet field shall contain a UTC time. Octets 5 to 8 shall be encoded in the same format as the first
four octets of the 64-bit timestamp format as defined in section 6 of IETF RFC 5905 [12].
NOTE: The encoding is defined as the time in seconds relative to 00:00:00 on 1 January 1900.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 70 (decimal)
3 to 4 Length = n
5 to 8 Time of Last Packet
9 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.47-1: Time of Last Packet
3GPP
Release 15 152 3GPP TS 29.244 V15.4.0 (2018-12)
The Time of Last Packet field shall contain a UTC time. Octets 5 to 8 shall be encoded in the same format as the first
four octets of the 64-bit timestamp format as defined in section 6 of IETF RFC 5905 [12].
NOTE: The encoding is defined as the time in seconds relative to 00:00:00 on 1 January 1900.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 71 (decimal)
3 to 4 Length = n
5 to 8 Quota Holding Time value
9 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.48-1: Quota Holding Time
The Quota Holding Time value shall be encoded as an Unsigned32 binary integer value.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 72 (decimal)
3 to 4 Length = n
5 Spare DLBY DLPA
m to (m+7) Downlink Packets
o to (o+7) Number of Bytes of Downlink Data
s to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.49-1: Dropped DL Traffic Threshold
- Bit 1 – DLPA: If this bit is set to "1", then the Downlink Packets field shall be present, otherwise the Downlink
Packets field shall not be present.
- Bit 2 – DLBY: If this bit is set to "1", then the Number of Bytes of Downlink Data field shall be present,
otherwise the Number of Bytes of Downlink Data field shall not be present.- Bit 3 to 8: Spare, for future use
and set to 0.
The Downlink Packets fields shall be encoded as an Unsigned64 binary integer value. It shall contain a number of
downlink packets.
The Number of Bytes of Downlink Data fields shall be encoded as an Unsigned64 binary integer value. It shall contain
the number of bytes of the downlink data.
3GPP
Release 15 153 3GPP TS 29.244 V15.4.0 (2018-12)
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 73 (decimal)
3 to 4 Length = n
5 Spare DLVO ULVO TOVO
L L L
m to (m+7) Total Volume
p to (p+7) Uplink Volume
q to (q+7) Downlink Volume
S to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.50-1: Volume Quota
- Bit 1 – TOVOL: If this bit is set to "1", then the Total Volume field shall be present, otherwise the Total Volume
field shall not be present.
- Bit 2 – ULVOL: If this bit is set to "1", then the Uplink Volume field shall be present, otherwise the Uplink
Volume field shall not be present.
- Bit 3 – DLVOL: If this bit is set to "1", then the Downlink Volume field shall be present, otherwise the
Downlink Volume field shall not be present.
The Total Volume, Uplink Volume and Downlink Volume fields shall be encoded as an Unsigned64 binary integer
value. They shall contain the total, uplink or downlink number of octets respectively.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 74 (decimal)
3 to 4 Length = n
5 to 8 Time Quota value
9 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.51-1: Time Quota
The Time Quota value shall be encoded as an Unsigned32 binary integer value. It contains a duration in seconds.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 75 (decimal)
3 to 4 Length = n
5 to 8 Start Time
9 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.52-1: Start Time
3GPP
Release 15 154 3GPP TS 29.244 V15.4.0 (2018-12)
The Start Time field shall contain a UTC time. Octets 5 to 8 shall be encoded in the same format as the first four octets
of the 64-bit timestamp format as defined in section 6 of IETF RFC 5905 [12].
NOTE: The encoding is defined as the time in seconds relative to 00:00:00 on 1 January 1900.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 76 (decimal)
3 to 4 Length = n
5 to 8 End Time
9 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.53-1: End Time
The End Time field shall contain a UTC time. Octets 5 to 8 shall be encoded in the same format as the first four octets
of the 64-bit timestamp format as defined in section 6 of IETF RFC 5905 [12].
NOTE: The encoding is defined as the time in seconds relative to 00:00:00 on 1 January 1900.
8.2.54 URR ID
The URR ID IE type shall be encoded as shown in Figure 8.2.54-1. It contains a Usage Reporting Rule ID.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 81 (decimal)
3 to 4 Length = n
5 to 8 URR ID value
9 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.54-1: URR ID
The bit 8 of octet 5 is used to indicate if the Rule ID is dynamically allocated by the CP function or predefined in the
UP function. If set to 0, it indicates that the Rule is dynamically provisioned by the CP Function. If set to 1, it indicates
that the Rule is predefined in the UP Function.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 82 (decimal)
3 to 4 Length = n
5 to 8 Linked URR ID value
9 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.55-1: Linked URR ID
The Linked URR ID value shall be encoded as an Unsigned32 binary integer value.
3GPP
Release 15 155 3GPP TS 29.244 V15.4.0 (2018-12)
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 84 (decimal)
3 to 4 Length = n
5 to 6 Outer Header Creation Description
m to (m+3) TEID
p to (p+3) IPv4 Address
q to (q+15) IPv6 Address
r to (r+1) Port Number
t to (t+2) C-TAG
u to (u+2) S-TAG
s to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.56-1: Outer Header Creation
The Outer Header Creation Description field, when present, shall be encoded as specified in Table 8.2.56-1. It takes the
form of a bitmask where each bit indicates the outer header to be created in the outgoing packet. Spare bits shall be
ignored by the receiver.
At least one bit of the Outer Header Creation Description field shall be set to 1. Bits 5/1 and 5/2 may both be set to 1 if
an F-TEID with both an IPv4 and IPv6 addresses has been assigned by the GTP-U peer. In this case, the UP function
shall send the outgoing packet towards the IPv4 or IPv6 address.
The TEID field shall be present if the Outer Header Creation Description requests the creation of a GTP-U header.
Otherwise it shall not be present. When present, it shall contain the destination GTP-U TEID to set in the GTP-U header
of the outgoing packet.
The IPv4 Address field shall be present if the Outer Header Creation Description requests the creation of an IPv4
header. Otherwise it shall not be present. When present, it shall contain the destination IPv4 address to set in the IPv4
header of the outgoing packet.
The IPv6 Address field shall be present if the Outer Header Creation Description requests the creation of an IPv6
header. Otherwise it shall not be present. When present, it shall contain the destination IPv6 address to set in the IPv6
header of the outgoing packet.
3GPP
Release 15 156 3GPP TS 29.244 V15.4.0 (2018-12)
The Port Number field shall be present if the Outer Header Creation Description requests the creation of a UDP/IP
header (i.e. it is set to the value 4). Otherwise it shall not be present. When present, it shall contain the destination Port
Number to set in the UDP header of the outgoing packet.
The C-TAG field shall be present if the Outer Header Creation Description requests the setting of the C-Tag in Ethernet
packet. Otherwise it shall not be present. When present, it shall contain the destination Customer-VLAN tag to set in the
Customer-VLAN tag header of the outgoing packet.
The S-TAG field shall be present if the Outer Header Creation Description requests the setting of the S-Tag in Ethernet
packet. Otherwise it shall not be present. When present, it shall contain the destination Service-VLAN tag to set in the
Service-VLAN tag header of the outgoing packet.
8.2.57 BAR ID
The BAR ID IE type shall be encoded as shown in Figure 8.2.57-1. It contains a Buffering Action Rule ID.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 88 (decimal)
3 to 4 Length = n
5 BAR ID value
6 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.57-1: BAR ID
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 89 (decimal)
3 to 4 Length = n
5 Supported-Features
6 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.58-1: CP Function Features
The CP Function Features IE takes the form of a bitmask where each bit set indicates that the corresponding feature is
supported. Spare bits shall be ignored by the receiver. The same bitmask is defined for all PFCP interfaces.
The following table specifies the features defined on PFCP interfaces and the interfaces on which they apply.
5/2 OVRL Sxa, Sxb, Sxc, N4 Overload Control is supported by the CP function.
Feature Octet / Bit: The octet and bit number within the Supported-Features IE, e.g. "5 / 1".
Feature: A short name that can be used to refer to the octet / bit and to the feature.
Interface: A list of applicable interfaces to the feature.
Description: A clear textual description of the feature.
3GPP
Release 15 157 3GPP TS 29.244 V15.4.0 (2018-12)
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 90 (decimal)
3 to 4 Length = n
5 Spare UBE UAE AFT BEF
6 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.59-1: Usage Information
- Bit 1 – BEF (Before): when set to 1, this indicates usage before a monitoring time.
- Bit 2 – AFT (After): when set to 1, this indicates a usage after a monitoring time.
- Bit 3 – UAE (Usage After Enforcement): when set to 1, this indicates a usage after QoS enforcement.
- Bit 4 – UBE (Usage Before Enforcement): when set to 1, this indicates a usage before QoS enforcement.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 91 (decimal)
3 to 4 Length = n
5 to (n+4) Application Instance Identifier
Figure 8.2.60-1: Application Instance ID
The Application Instance Identifier shall be encoded as an OctetString (see 3GPP TS 29.212 [8]).
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 92 (decimal)
3 to 4 Length = n
5 Spare Flow Direction
6 to 7 Length of Flow Description
8 to m Flow Description
p to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.61-1: Flow Information
The Flow Direction field, when present, shall be encoded as defined in Table 8.2.61-1.
3GPP
Release 15 158 3GPP TS 29.244 V15.4.0 (2018-12)
The Flow Description field, when present, shall be encoded as an OctetString as specified in subclause 5.4.2 of
3GPP TS 29.212 [8].
8.2.62 UE IP Address
The UE IP Address IE type shall be encoded as shown in Figure 8.2.62-1. It contains a source or destination IP address.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 93 (decimal)
3 to 4 Length = n
5 Spare IPv6D S/D V4 V6
m to (m+3) IPv4 address
p to (p+15) IPv6 address
r IPv6 Prefix Delegation Bits
k to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.62-1: UE IP Address
- Bit 1 – V6: If this bit is set to "1", then the IPv6 address field shall be present in the UE IP Address, otherwise
the IPv6 address field shall not be present.
- Bit 2 – V4: If this bit is set to "1", then the IPv4 address field shall be present in the UE IP Address, otherwise
the IPv4 address field shall not be present.
- Bit 3 – S/D: This bit is only applicable to the UE IP Address IE in the PDI IE. It shall be set to "0" and ignored
by the receiver in IEs other than PDI IE. In the PDI IE, if this bit is set to "0", this indicates a Source IP address;
if this bit is set to "1", this indicates a Destination IP address.
- Bit 4 – IPv6D: This bit is only applicable to the UE IP address IE in the PDI IE and whhen V6 bit is set to "1". If
this bit is set to "1", then the IPv6 Prefix Delegation Bits field shall be present, otherwise the UP function shall
consider IPv6 prefix is default /64.
Octets "m to (m+3)" or "p to (p+15)" (IPv4 address / IPv6 address fields), if present, shall contain the address value.
Octet r, if present, shall contain the number of bits is allocated for IPv6 prefix delegation, e.g. if /60 prefix is used, the
value is set to "4". When using UE IP address IE in a PDI to match the packets, the UP function shall only use the IPv6
prefix part and ignore the interface identifier part.
3GPP
Release 15 159 3GPP TS 29.244 V15.4.0 (2018-12)
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 94 (decimal)
3 to 4 Length = n
5 Spare DLPR ULPR
m Spare Uplink Time Unit
(m+1) to Maximum Uplink Packet Rate
(m+2)
p Spare Downlink Time Unit
(p+1) to Maximum Downlink Packet Rate
(p+2)
q to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.63-1: Packet Rate
- Bit 1 – ULPR (Uplink Packet Rate): If this bit is set to "1", then octets m to (m+2) shall be present, otherwise
these octets shall not be present.
- Bit 2 – DLPR (Downlink Packet Rate): If this bit is set to "1", then octets p to (p+2) shall be present, otherwise
these octets shall not be present.
At least one bit in Octet 5 shall be set to 1. Several bits may be set to 1.
When present, octets m to (m+2) indicate the maximum number of uplink packets allowed to be sent within the uplink
time unit.
When present, octets p to (p+2) indicate the maximum number of downlink packets allowed to be sent within the
downlink time unit.
The Maximum Uplink/Downlink Packet Rate shall be encoded as an Unsigned16 binary integer value. They shall
indicate the maximum number of uplink/downlink packets allowed to be sent in the indicated uplink/downlink time unit
respectively.
3GPP
Release 15 160 3GPP TS 29.244 V15.4.0 (2018-12)
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 95 (decimal)
3 to 4 Length = n
5 Outer Header Removal Description
6 GTP-U Extension Header Deletion
7 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.64-1: Outer Header Removal
The Outer Header Removal Description field, when present, shall be encoded as specified in Table 8.2.64-1.
The GTP-U Extension Header Deletion field (octet 6) shall be present if it is required to delete GTP-U extension
header(s) from incoming GTP-PDUs. Octet 6 shall be absent if all GTP-U extension headers required to be forwarded
shall be stored as indicated in NOTE 1 of Table 8.2.64-1.
The GTP-U Extension Header Deletion field, when present, shall be encoded as specified in Table 8.2.64-2. It takes the
form of a bitmask where each bit provides instructions on the information to be deleted from the incoming GTP-PDU
packet. Spare bits shall be ignored by the receiver.
3GPP
Release 15 161 3GPP TS 29.244 V15.4.0 (2018-12)
NOTE: The encoding is defined as the time in seconds relative to 00:00:00 on 1 January 1900.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 96 (decimal)
3 to 4 Length = n
5 to 8 Recovery Time Stamp value
9 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.65-1: Recovery Time Stamp
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 97 (decimal)
3 to 4 Length = n
5 Spare SCI TTC
m to (m+1) ToS/Traffic Class
p to (p+1) Service Class Indicator
q to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.66-1: DL Flow Level Marking
- Bit 1 – TTC (ToS/Traffic Class): If this bit is set to "1", then the ToS/Traffic Class field shall be present,
otherwise the ToS/Traffic Class field shall not be present.
- Bit 2 – SCI (Service Class Indicator): If this bit is set to "1", then the Service Class Indicator field shall be
present, otherwise the Service Class Indicator field shall not be present.
The ToS/Traffic Class field, when present, shall be encoded on two octets as an OctetString. The first octet shall contain
the IPv4 Type-of-Service or the IPv6 Traffic-Class field and the second octet shall contain the ToS/Traffic Class mask
field. See subclause 5.3.15 of 3GPP TS 29.212 [8].
Octets p and (p+1) of the Service Class Indicator field, when present, shall be encoded respectively as octets 2 and 3 of
the Service Class Indicator Extension Header specified in Figure 5.2.2.3-1 of 3GPP TS 29.281 [3].
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 98 (decimal)
3 to 4 Length = n
5 Spare Header Type
6 Length of Header Field Name
7 to m Header Field Name
p Length of Header Field Value
(p+1) to q Header Field Value
s to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.67-1: Header Enrichment
3GPP
Release 15 162 3GPP TS 29.244 V15.4.0 (2018-12)
Header Type indicates the type of the Header. It shall be encoded as defined in Table 8.2.67-1.
Length of Header Field Value indicates the length of the Header Field Value.
For a HTTP Header Type, the contents of the Header Field Name and Header Field Value shall comply with the HTTP
header field format (see subclause 3.2 of IETF RFC 7230 [23]).
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 100 (decimal)
3 to 4 Length = n
5 Spare ISTM RADI INAM MBQE
6 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.68-1: Measurement Information
- Bit 1 – MBQE (Measurement Before QoS Enforcement): when set to 1, this indicates a request to measure the
traffic usage before QoS enforcement.
- Bit 2 – INAM (Inactive Measurement): when set to 1, this indicates that the measurement shall be paused
(inactive).
- Bit 3 – RADI (Reduced Application Detection Information): when set to 1, this indicates that the Application
Detection Information reported to the CP function, upon detecting the start or stop of an application, shall only
contain the Application ID.
- Bit 4 – ISTM (Immediate Start Time Metering): when set to 1, this indicates that time metering shall start
immediately when the flag is received.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 101 (decimal)
3 to 4 Length = n
5 Spare UPFR
6 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.69-1: Node Report Type
3GPP
Release 15 163 3GPP TS 29.244 V15.4.0 (2018-12)
- Bit 1 – UPFR (User Plane Path Failure Report): when set to 1, this indicates a User Plane Path Failure Report.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 103 (decimal)
3 to 4 Length = n
5 Spare V4 V6
m to (m+3) IPv4 address
p to (p+15) IPv6 address
k to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.70-1: Remote GTP-U Peer
- Bit 1 – V6: If this bit is set to "1", then the IPv6 address field shall be present, otherwise the IPv6 address field
shall not be present.
- Bit 2 – V4: If this bit is set to "1", then the IPv4 address field shall be present, otherwise the IPv4 address field
shall not be present.
Octets "m to (m+3)" and/or "p to (p+15)" (IPv4 address / IPv6 address fields), if present, shall contain the respective
address values.
8.2.71 UR-SEQN
The UR-SEQN (Usage Report Sequence Number) IE identifies the order in which a usage report is generated for a
given URR. It shall be encoded as shown in Figure 8.2.71-1.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 104 (decimal)
3 to 4 Length = n
5 to 8 UR-SEQN
Figure 8.2.71-1: UR-SEQN
3GPP
Release 15 164 3GPP TS 29.244 V15.4.0 (2018-12)
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 106 (decimal)
3 to 4 Length = n
5 to (n+4) Predefined Rules Name
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 107 (decimal)
3 to 4 Length = n
5 to (n+4) Predefined Rules Name
8.2.74 FAR ID
The FAR ID IE type shall be encoded as shown in Figure 8.2.74-1. It shall contain a Forwarding Action Rule ID.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 108 (decimal)
3 to 4 Length = n
5 to 8 FAR ID value
9 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.74-1: FAR ID
The bit 8 of octet 5 is used to indicate if the Rule ID is dynamically allocated by the CP function or predefined in the
UP function. If set to 0, it indicates that the Rule is dynamically provisioned by the CP Function. If set to 1, it indicates
that the Rule is predefined in the UP Function.
8.2.75 QER ID
The QER ID IE type shall be encoded as shown in Figure 8.2.75-1. It shall contain a QoS Enforcement Rule ID.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 109 (decimal)
3 to 4 Length = n
5 to 8 QER ID value
9 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.75-1: QER ID
3GPP
Release 15 165 3GPP TS 29.244 V15.4.0 (2018-12)
The bit 8 of octet 5 is used to indicate if the Rule ID is dynamically allocated by the CP function or predefined in the
UP function. If set to 0, it indicates that the Rule is dynamically provisioned by the CP Function. If set to 1, it indicates
that the Rule is predefined in the UP Function.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 110 (decimal)
3 to 4 Length = n
5 Spare AOCI
6 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.76-1: OCI Flags
- Bit 1 – AOCI: Associate OCI with Node ID: The UP function shall set this flag to 1 if it has included the
"Overload Control Information" and if this information is to be associated with the Node ID (i.e. FQDN or the IP
address used during the UP function selection) of the serving UP function. This flag shall be set to 1 by the UP
function, if the "Overload Control Information" is included in the PFCP Session Establishment Response and the
Cause IE is set to a rejection cause value.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 111 (decimal)
3 to 4 Length = n
5 Spare SARR
6 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.77-1: PFCP Association Release Request
- Bit 1 – SARR (PFCP Association Release Request): If this bit is set to "1", then the UP function requests the
release of the PFCP association.
3GPP
Release 15 166 3GPP TS 29.244 V15.4.0 (2018-12)
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 112 (decimal)
3 to 4 Length = n
5 Timer unit Timer value
6 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.78-1: Graceful Release Period
Timer value
Bits 5 to 1 represent the binary coded timer value.
Timer unit
Bits 6 to 8 defines the timer value unit for the timer as follows:
Bits
876
0 0 0 value is incremented in multiples of 2 seconds
0 0 1 value is incremented in multiples of 1 minute
0 1 0 value is incremented in multiples of 10 minutes
0 1 1 value is incremented in multiples of 1 hour
1 0 0 value is incremented in multiples of 10 hours
1 1 1 value indicates that the timer is infinite
Timer unit and Timer value both set to all "zeros" shall be interpreted as an
indication that the timer is stopped.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 113 (decimal)
3 to 4 Length = n
5 Spare PDN Type
6 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.79-1: PDN Type
3GPP
Release 15 167 3GPP TS 29.244 V15.4.0 (2018-12)
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 114 (decimal)
3 to 4 Length = n
5 Spare Rule ID Type
6 to p Rule ID value
(p+1) to These octet(s) is/are present only if explicitly specified
(n+4)
Figure 8.2.80-1: Failed Rule ID
The Rule ID Type shall be encoded as a 5 bits binary integer value as specified in Table 8.2.80-1.
The length and the value of the Rule ID value field shall be set as specified for the PDR ID, FAR ID, QER ID, URR ID
and BAR ID IE types respectively.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 115 (decimal)
3 to 4 Length = n
5 Spare BTIT
m to (m+3) Base Time Interval
w to (n+4) These octet(s) is/are present only if explicitly specified
BTIT (Base Time Interval Type) indicates the type of the interval to be provided in the Base Time Interval field.
The Base Time Interval, shall be encoded as Unsigned32 as specified in subclause 7.2.29 of 3GPP TS 32.299 [18].
3GPP
Release 15 168 3GPP TS 29.244 V15.4.0 (2018-12)
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 116 (decimal)
3 to 4 Length = n
5 Spare ASSO ASSO TEIDRI V6 V4
SI NI
6 TEID Range
m to (m+3) IPv4 address
p to (p+15) IPv6 address
k to l Network Instance
r Spare Source Interface
s to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.82-1: User Plane IP Resource Information
- Bit 1 – V4: If this bit is set to "1", then the IPv4 address field shall be present, otherwise the IPv4 address field
shall not be present.
- Bit 2 – V6: If this bit is set to "1", then the IPv6 address field shall be present, otherwise the IPv6 address field
shall not be present.
- Bit 3-5 – TEID Range Indication (TEIDRI): the value of this field indicates the number of bits in the most
significant octet of a TEID that are used to partition the TEID range, e.g. if this field is set to "4", then the first 4
bits in the TEID are used to partition the TEID range.
- Bit 6 – Associated Network Instance (ASSONI): if this bit is set to "1", then the Network Instance field shall be
present, otherwise the Network Instance field shall not be present.
- Bit 7 – Associated Source Interface (ASSOSI): if this bit is set to "1", then the Source Interface field shall be
present, otherwise the Source Interface field shall not be present.
At least one of the V4 and V6 flags shall be set to "1", and both may be set to "1".
If both the ASSONI and ASSOSI flags are set to "0", this shall indicate that the User Plane IP Resource Information
provided can be used by CP function for any Network Instance and any Source Interface of GTP-U user plane in the UP
function.
Octet 6 (TEID Range) shall be present if the TEID Range Indication is not set to zero and shall contain a value of the
bits which are used to partition the TEID range. E.g. if the TEID Range Indication is set to "4", then Octet 6 shall be one
of values between 0 and 15. When TEID Range Indication is set to zero, the Octet 6 shall not be present, the TEID is
not partitioned, i.e. all TEID values are available for use by the CP function.
Octets "m to (m+3)" and/or "p to (p+15)" (IPv4 address / IPv6 address fields), if present, shall contain the respective IP
address values.
Octets "k to l", if present, shall contain a Network Instance value as encoded in octet "5 to n+4" of the Figure 8.2.4-1 in
subclause 8.2.4, identifying a Network Instance with which the IP address or TEID Range is associated.
Octet r, if present, shall contain a Source Interface value as encoded in octet 5 of the Figure 8.2.2-1 in subclause 8.2.2,
identifying the Source Interface with which the IP address or TEID Range is associated.
3GPP
Release 15 169 3GPP TS 29.244 V15.4.0 (2018-12)
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 117 (decimal)
3 to 4 Length = n
5 to 8 User Plane Inactivity Timer
9 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.83-1: User Plane Inactivity Timer
The User Plane Inactivity Timer field shall be encoded as an Unsigned32 binary integer value. The timer value "0" shall
be interpreted as an indication that user plane inactivity detection and reporting is stopped.
8.2.84 Multiplier
The Multiplier IE type shall be encoded as shown in Figure 8.2.84-1. It contains a Multiplier (see IETF RFC 4006 [16])
to measure the abstract service units the traffic of an aggregated URR consumes from the credit pool.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 119 (decimal)
3 to 4 Length = 12
5 to 12 Value-Digits
12 to 15 Exponent
The Value-Digit value and Exponent value shall be encoded as binary integer value, and set the value as in Value-Digit
AVP and Exponent AVP as specified in 3GPP TS 32.299 [18].
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 120 (decimal)
3 to 4 Length = 4
5 to 8 URR ID value
Figure 8.2.85-1: Aggregated URR ID
3GPP
Release 15 170 3GPP TS 29.244 V15.4.0 (2018-12)
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 121 (decimal)
3 to 4 Length = n
5 Spare DLVO ULVO TOVO
L L L
m to (m+7) Total Volume
p to (p+7) Uplink Volume
q to (q+7) Downlink Volume
S to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.86-1: Subsequent Volume Quota
- Bit 1 – TOVOL: If this bit is set to "1", then the Total Volume field shall be present, otherwise the Total Volume
field shall not be present.
- Bit 2 – ULVOL: If this bit is set to "1", then the Uplink Volume field shall be present, otherwise the Uplink
Volume field shall not be present.
- Bit 3 – DLVOL: If this bit is set to "1", then the Downlink Volume field shall be present, otherwise the
Downlink Volume field shall not be present.
The Total Volume, Uplink Volume and Downlink Volume fields shall be encoded as an Unsigned64 binary integer
value. They shall contain the total, uplink or downlink number of octets respectively.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 122 (decimal)
3 to 4 Length = n
5 to 8 Time Quota value
9 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.87-1: Subsequent Time Quota
The Time Quota value shall be encoded as an Unsigned32 binary integer value. It contains a duration in seconds.
8.2.88 RQI
The RQI IE shall be encoded as shown in Figure 8.2.88-1. It indicates if Reflective QoS applies for the UL.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 123 (decimal)
3 to 4 Length = n
5 Spare RQI
6 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.88-1: RQI
The value of RQI flag shall be set as specified in clause 5.5.3.4 of 3GPP TS 38.415 [34].
3GPP
Release 15 171 3GPP TS 29.244 V15.4.0 (2018-12)
8.2.89 QFI
The QFI IE type shall be encoded as shown in Figure 8.2.89-1. It contains an QoS flow identifier identifying a QoS
flow in a 5G system filter.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 124 (decimal)
3 to 4 Length = n
5 Spare QFI value
p to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.89-1: QFI
The QFI value shall be encoded as binary integer value, as specified in clause 5.5.3.3 of 3GPP TS 38.415 [34].
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 125 (decimal)
3 to 4 Length = n
5 to 8 Query URR Reference value
9 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.90-1: Query URR Reference
The Query URR Reference value shall be encoded as an Unsigned32 binary integer value.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 126 (decimal)
3 to 4 Length = n
5 AURI Number of Additional Usage Reports value
6 Number of Additional Usage Reports value
7 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.91-1: Additional Usage Reports Information
The Number of Additional Usage Reports value shall be encoded as an unsigned binary integer value on 15 bits. Bit 7
of Octet 5 is the most significant bit and bit 1 of Octet 6 is the least significant bit.
The bit 8 of octet 5 shall encode the AURI (Additional Usage Reports Indication) flag:
- when set to 1, it indicates that additional usage reports will follow. In this case, the Number of Additional Usage
Reports value shall be set to 0 by the sender and ignored by the receiver;
- when set to 0, the Number of Additional Usage Reports value shall be set to the total number of additional usage
reports to be sent in PFCP Session Report Request messages.
3GPP
Release 15 172 3GPP TS 29.244 V15.4.0 (2018-12)
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 131 (decimal)
3 to 4 Length = n
5 Traffic Endpoint ID value
6 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.92-1: Traffic Endpoint ID
The Traffic Endpoint ID value shall be encoded as a binary integer value within the range of 0 to 255.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 133 (decimal)
3 to 4 Length = n
5 spare UDES USO DEST SOU
U R
m to (m+5) Source MAC address value
n to (n+5) Destination MAC address value
o to (o+5) Upper Source MAC address value
p to (p+5) Upper Destination MAC address value
s to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.93-1: MAC address
- Bit 1 – SOUR (Source): If this bit is set to "1", then the source MAC address value is provided.
- Bit 2 – DEST (Destination): If this bit is set to "1", then the destination MAC address value is provided.
- Bit 3 – USOU (Source): If this bit is set to "1", then the source MAC address value contains the lower value and
Upper Source MAC address value contains the upper value of an MAC address range.
- Bit 4 – UDES (Destination): If this bit is set to "1", then the destination MAC address value contains the lower
value and Upper Destination MAC address value contains the upper value of an MAC address range.- Bit 5 to 8:
Spare, for future use and set to 0.
Octets "m to (m+5)" or "n to (n+5)" and "o to (o+5)" or "p to (p+5)", if present, shall contain a MAC address value (12-
digit hexadecimal numbers).
3GPP
Release 15 173 3GPP TS 29.244 V15.4.0 (2018-12)
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 134 (decimal)
3 to 4 Length = n
5 Spare VID DEI PCP
6 C-VID value DEI PCP value
Flag
7 C-VID Value
8 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.94-1: C-TAG (Customer-VLAN tag)
- Bit 1 – PCP: If this bit is set to "1", then PCP Value field shall used by the receiver, otherwise the PCP Value
field shall be ignored.
- Bit 2 – DEI: If this bit is set to "1", then DEI flag field shall used by the receiver, otherwise the DEI flag field
shall be ignored.
- Bit 3 – VID: If this bit is set to "1", then C-VID value field shall used by the receiver, otherwise the VID Value
field shall be ignored.
The PCP value, DEI flag and C-VID Value shall follow the encoded as specified in IEEE 802.1Q [30] tag format.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 135 (decimal)
3 to 4 Length = n
5 Spare VID DEI PCP
6 S-VID value DEI PCP value
Flag
7 S-VID value
8 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.95-1: S-TAG (Service-VLAN tag)
- Bit 1 – PCP: If this bit is set to "1", then PCP Value field shall used by the receiver, otherwise the PCP Value
field shall be ignored.
- Bit 2 – DEI: If this bit is set to "1", then DEI flag field shall used by the receiver, otherwise the DEI flag field
shall be ignored.
- Bit 3 – VID: If this bit is set to "1", then VID value field shall used by the receiver, otherwise the VID Value
field shall be ignored.
The PCP value, DEI flag and V-VID Value shall follow the encoded as specified in IEEE 802.1Q [30] tag format.
3GPP
Release 15 174 3GPP TS 29.244 V15.4.0 (2018-12)
8.2.96 Ethertype
The Ethertype IE type shall be encoded as shown in Figure 8.2.96-1. It contains an Ethertype as defined in
IEEE 802.3 [31].
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 136 (decimal)
3 to 4 Length = n
5 to 6 Ethertype
7 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.96-1: Ethertype
8.2.97 Proxying
The Proxying IE shall be encoded as shown in Figure 8.2.97-1. It specifies if proxying as specified in
IETF RFC 1027 [32] and / or IPv6 Neighbour Solicitation Proxying as specified in IETF RFC 4861 [33] functionality
for the Ethernet PDUs is performed in UPF.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 137 (decimal)
3 to 4 Length = n
5 Spare INS ARP
6 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.97-1: Proxying
- Bit 1 – ARP: If this bit is set to "1", then ARP proxying is performed in UPF.
- Bit 2 – INS: If this bit is set to "1", then IPv6 Neighbour Solicitation proxying is performed in UPF.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 138 (decimal)
3 to 4 Length = n
5 to 8 Ethernet Filter ID value
10 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.98-1: Ethernet Filter ID
The Ethernet Filter ID value shall be encoded as an Unsigned32 binary integer value.
3GPP
Release 15 175 3GPP TS 29.244 V15.4.0 (2018-12)
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 139 (decimal)
3 to 4 Length = n
5 Spare BIDE
6 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.99-1: Ethernet Filter Properties
- Bit 1 – BIDE (Bidirectional Ethernet Filter): If this bit is set to "1", then the Ethernet Filter identified by the
Ethernet Filter ID is bidirectional.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 140 (decimal)
3 to 4 Length = n
5 Packet Count value
6 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.100-1: Suggested Buffering Packets Count
The Packet Count value is encoded in octet 5 and the range of the Packet Count value is from 0 to 255.
8.2.101 User ID
The User ID IE type shall be encoded as shown in Figure 8.2.101-1.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 141 (decimal)
3 to 4 Length = n
5 Spare NAIF MSIS IMEIF IMSIF
DNF
6 Length of IMSI
7 to a IMSI
b Length of IMEI
(b+1) to c IMEI
d Length of MSISDN
(d+1) to e MSISDN
f Length of NAI
(f+1) to g NAI
h to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.101-1: User ID
3GPP
Release 15 176 3GPP TS 29.244 V15.4.0 (2018-12)
- Bit 1 – IMSIF: If this bit is set to "1", then the Length of IMSI and IMSI fields shall be present, otherwise these
fields shall not be present.
- Bit 2 – IMEIF: If this bit is set to "1", then the Length of IMEI and IMEI fields shall be present, otherwise these
fields shall not be present.
- Bit 3 – MSISDNF: If this bit is set to "1", then the Length of MSISDN and MSISDN fields shall be present,
otherwise these fields shall not be present.
- Bit 4 – NAIF: If this bit is set to "1", then the Length of NAI and NAI fields shall be present, otherwise these
fields shall not be present.
The coding of IMSI field, from octets 7 to 'a' shall be encoded as the octets 5 to n+4 of the IMSI IE type specified in
subclause 8.3 of 3GPP TS 29.274 [9].
The coding of IMEI field, in octets 'b+1' to 'c' shall be encoded as the octets 5 to n+4 of the MEI IE type specified in
subclause 8.10 of 3GPP TS 29.274 [9].
The coding of MSISDN field, in octets 'd+1' to 'e' shall be encoded as the octets 5 to n+4 of the MSISDN IE type
specified in subclause 8.11 of 3GPP TS 29.274 [9].
The NAI field, in octets 'f+1' to 'g' shall be encoded as an Octet String (see IETF RFC 4282 [36]).
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 142 (decimal)
3 to 4 Length = n
5 Spare ETHI
k to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.102-1: Ethernet PDU Session Information
- Bit 1 – ETHI (Ethernet Indication): This bit shall be set to 1. This refers to all the DL traffic matching the
Ethernet PDU session (see subclause 5.13.1).
3GPP
Release 15 177 3GPP TS 29.244 V15.4.0 (2018-12)
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 144 (decimal)
3 to 4 Length = n
5 Number of MAC addresses (k)
6 to 11 MAC address value 1
o to (o+5) MAC address value 2
p to (p+5) …
q to (q+5) MAC address value k
s to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.103-1: MAC addresses Detected
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 145 (decimal)
3 to 4 Length = n
5 Number of MAC addresses (k)
6 to 11 MAC address value 1
o to (o+5) MAC address value 2
p to (p+5) …
q to (q+5) MAC address value k
s to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.104-1: MAC addresses Removed
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 146 (decimal)
3 to 4 Length = n
5 to 8 Ethernet Inactivity Timer
9 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.105-1: Ethernet Inactivity Timer
The Ethernet Inactivity Timer field shall be encoded as an Unsigned32 binary integer value.
3GPP
Release 15 178 3GPP TS 29.244 V15.4.0 (2018-12)
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 150 (decimal)
3 to 4 Length = n
5 to 8 Subsequent Event Quota
13 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.106-1: Subsequent Event Quota
The Subsequent Event Quota field shall be encoded as an Unsigned32 binary integer value.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 151 (decimal)
3 to 4 Length = n
5 to 8 Subsequent Event Threshold
13 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.107-1: Subsequent Event Threshold
The Subsequent Event Threshold field shall be encoded as an Unsigned32 binary integer value.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 152 (decimal)
3 to 4 Length = n
5 MCC digit 2 MCC digit 1
6 MNC digit 3 MCC digit 3
7 MNC digit 2 MNC digit 1
8 to10 Trace ID
11 Length of Triggering Events
12 to m Triggering Events
m+1 Session Trace Depth
m+2 Length of List of Interfaces
(m+3) to p List of Interfaces
p+1 Length of IP Address of Trace Collection Entity
(p+2) to q IP Address of Trace Collection Entity
(q+1) to (n- These octet(s) is/are present only if explicitly specified
4)
Figure 8.2.108-1: Trace Information
Octets 5 to 10 represent the Trace Reference parameter as defined in subclause 5.6 of 3GPP TS 32.422 [35].
3GPP
Release 15 179 3GPP TS 29.244 V15.4.0 (2018-12)
Triggering Events, Session Trace Depth, List of Interfaces and IP Address of Trace Collection Entity are specified in
3GPP TS 32.422 [35].
Octets "(p+2) to q" shall contain an IPv4 address value (4 octets) or IPv6 address value (16 octets).
See 3GPP TS 24.008 [5], clause 10.5.1.4, Mobile Identity, for the coding of MCC and MNC. If MNC is 2 digits long,
bits 5 to 8 of octet 6 are coded as "1111".
8.2.109 Framed-Route
The Framed-Route IE describes a framed route. It shall be encoded as shown in Figure 8.2.109-1.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 153 (decimal)
3 to 4 Length = n
5 to (n+4) Framed-Route
Figure 8.2.109-1: Framed-Route
The Framed-Route field shall be encoded as an Octet String as the value part of the Framed-Routing AVP specified in
IETF RFC 2865 [37].
8.2.110 Framed-Routing
The Framed-Routing IE describes the frame routing of a framed route. It shall be encoded as shown in Figure 8.2.110-1.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 154 (decimal)
3 to 4 Length = 4
5 to 8 Framed-Routing
Figure 8.2.110-1: Framed-Routing
The Framed-Routing field shall be encoded as the value part of the Framed-Routing AVP specified in
IETF RFC 2865 [37].
8.2.111 Framed-IPv6-Route
The Framed-IPv6-Route IE describes a framed IPv6 route. It shall be encoded as shown in Figure 8.2.111-1.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 155 (decimal)
3 to 4 Length = n
5 to (n+4) Framed-IPv6-Route
Figure 8.2.z-1: Framed-IPv6-Route
The Framed-IPv6-Route field shall be encoded as an Octet String as the value part of the Framed-IPv6-Route AVP
specified in IETF RFC 3162 [38].
3GPP
Release 15 180 3GPP TS 29.244 V15.4.0 (2018-12)
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 148 (decimal)
3 to 4 Length = n
5 to 8 Subsequent Event Quota
13 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.112-1: Event Quota
The Event Quota field shall be encoded as an Unsigned32 binary integer value.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 149 (decimal)
3 to 4 Length = n
5 to 8 Event Threshold
13 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.113-1: Event Threshold
The Event Threshold field shall be encoded as an Unsigned32 binary integer value.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 156 (decimal)
3 to 4 Length = n
5 to 8 Event Time Stamp
9 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.114-1: Event Time Stamp
The Event Time Stamp field shall contain a UTC time. Octets 5 to 8 shall be encoded in the same format as the first
four octets of the 64-bit timestamp format as defined in section 6 of IETF RFC 5905 [12].
NOTE: The encoding is defined as the time in seconds relative to 00:00:00 on 1 January 1900.
3GPP
Release 15 181 3GPP TS 29.244 V15.4.0 (2018-12)
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 157 (decimal)
3 to 4 Length = n
5 to 8 Averaging Window
9 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.115-1: Averaging Window
The Averaging Window field shall be encoded as an Unsigned32 binary integer value. It shall contain the duration in
ms.
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 158 (decimal)
3 to 4 Length = n
5 Spare PPI value
6 to (n+4) These octet(s) is/are present only if explicitly specified
Figure 8.2.116-1: Paging Policy Indicator (PPI)
The PPI value shall be encoded as a value between 0 and 7, as specified in clause 5.5.3.7 of 3GPP TS 38.415 [34].
3GPP
Release 15 182 3GPP TS 29.244 V15.4.0 (2018-12)
Annex A (Informative):
PFCP Load and Overload Control Mechanism
It is possible to make use of a statistical loss function (e.g., random selection of messages to throttle based on the
indicated percentage) to decide if the given message can be sent or need to be throttled. For example, the source node
generates a random number between (0, 100) for each message which is a potential candidate for throttling. To realize
10% throttling, messages with a random number 10 or less are throttled and hence this achieves approximately a 10%
reduction in the overall traffic. The actual traffic reduction might vary slightly from the requested percentage, albeit by
an insignificant amount.
The algorithm can select certain messages to throttle in priority. For example, implementations can distinguish between
higher-priority and lower-priority messages, and drop the lower-priority messages in favour of dropping the higher
priority messages, as long as the total reduction in traffic conforms to the requested reduction in effect at the time. For
example, in the 50-50 distribution of high priority and low priority messages, 20% reduction to low priority messages
and 0% reduction to high priority messages need to be applied in order to achieve the effective reduction in traffic by
10% towards the overloaded node.
Annex B (Normative):
CP and UP Selection Functions with Control and User Plane
Separation
The following additional considerations apply with Control and User Plane Separation:
2. The service area of an SGW-C function shall be aligned with the service area of the corresponding SGW-U
functions (see subclause 4.3.4 of 3GPP TS 23.214 [2]. All the SGW-U functions in the service area shall
have a full meshed connectivity with all the eNBs of TAs and/or all RNCs/BSCs of RAs served by that
service area.
3. The SGW dynamic load reported to the MME/SGSN and the PGW dynamic load reported to the
MME/SGSN or TWAN/ePDG should take into account the operating status of the CP and UP functions'
resources that the SGW-C/PGW-C is controlling. See subclause 6.2.3 for how the CP function obtains load
control information from the UP function.
4. For Dedicated Core Networks (see subclause 5.8 of 3GPP TS 29.303 [25]), an SGW-C or PGW-C function
shall be declared in DNS as dedicated to certain mapped UE usage types if the CP function or if all the UP
3GPP
Release 15 183 3GPP TS 29.244 V15.4.0 (2018-12)
functions it controls are dedicated to certain mapped UE usage types. In this case, the CP function shall be
provisioned in DNS with all the mapped UE usage types that both the CP function and its UP functions
support.
5. The MME/SGSN shall be able to select an SGW-C and a PGW-C optimized for NR, e.g. for UEs indicating
support of dual connectivity with NR in NAS signalling to the MME or SGSN and without subscription
restriction to use NR as secondary RAT, according to the requirements specified in subclause 5.12.2 of
3GPP TS 29.303 [25]. The SGW-C and the PGW-C optimized for NR may be a combined SGW-C/PGW-C
function optimized for the NR.
- the SGW-C, PGW-C and TDF-C shall be responsible for the selection of the SGW-U, PGW-U and TDF-U
respectively;
- an SGW-C may select different SGW-U functions for different PDN connections of a same user.
It is implementation specific how to support the UP selection function requirements specified in this clause. Subclause
B.2.6 specifies one possible implementation.
- the SGW-U location and the user 's location (i.e. ECGI, eNodeB ID or TAI for E-UTRAN, RAI or RNC-ID for
UTRAN);
- the SGW-U's capabilities and the capabilities required for the particular UE session to establish;
- the mapped UE Usage Type (when dedicating SGW-U to specific Dedicated Core Networks);
- the UP Function Selection Information Flags, indicating whether it is desired to select an SGW-U optimized for
NR, as specified in 3GPP TS 29.274 [9].
Based on local policy, if the user's location information is required to be used for selecting the UP function, the SGW-C
shall determine the list of candidate SGW-Us taking into account the user 's location (ECGI, eNodeB ID or TAI for E-
UTRAN, RAI or RNC-ID for UTRAN).
The SGW-C shall select, among the candidate SGW-U functions, an SGW-U function which supports all the
capabilities required for the particular UE session, considering the information received during the PFCP Association
Setup.
- the PGW-U's capabilities and the capabilities required for the particular UE session to establish;
- the mapped UE Usage Type (when dedicating PGW-U to specific Dedicated Core Networks);
3GPP
Release 15 184 3GPP TS 29.244 V15.4.0 (2018-12)
- whether a PDN connection already exists for the same UE and APN, in which case the same PGW-U shall be
selected (to enable APN-AMBR enforcement);
- the UP Function Selection Information Flags, indicating whether it is desired to select a PGW-U optimized for
NR, as specified in 3GPP TS 29.274 [9].
NOTE: The SGW-U and PGW-U location can be configured in the SGW-C and PGW-C or derived from DNS
procedures as specified in subclause B.2.2.
If the PGW-C already assigned a PGW-U to the UE for the requested APN (e.g. UE with multiple PDN connections to
the same APN), the PGW-C shall select the same PGW-U for the new PDN connection.
If a non-null IPv4 address and/or a IPv6 prefix is received in the PDN Address Allocation (PAA) IE in the Create
Session Request, e.g. static address assignment in the user subscription, the PGW-C shall select a PGW-U which can
support the requested UE's IP address and/or IPv6 prefix.
Otherwise, the PGW-C shall determine the list of candidate PGW-Us taking into account the requested APN.
The PGW-C shall select, among the candidate PGW-U functions, a PGW-U function which supports all the capabilities
required for the particular UE session, considering the information received during the PFCP Association Setup.
Figure B.2.4 -1: SGW-U/PGW-U colocation with Control and User Plane Separation
A combined SGW-C/PGW-C function shall select the SGW-U and PGW-U as defined respectively in B.2.2 and B.2.3,
with the following additions:
- the combined SGW-C/PGW-C function shall select the best couple of SGW-U and PGW-U (e.g. the combined
SGW-U/PGW-U function), for the requested APN, among all candidate couples of (SGW-U, PGW-U), instead
of selecting independently the SGW-U and the PGW-U.
3GPP
Release 15 185 3GPP TS 29.244 V15.4.0 (2018-12)
B.2.6.1 General
This subclause specifies optional DNS procedures to select the SGW-U and PGW-U functions and the requirements
which apply when these procedures are supported.
The relative static capacity of an SGW-U and PGW-U may be configured in the DNS.
The Node ID of an SGW-U and PGW-U may take the form of a canonical node name to allow the selection of a SGW-
U and PGW-U with the best topological match.
In non-roaming or LBO scenarios where the PGW-U is already selected (e.g. TAU with SGW change) and when it is
preferred to select a collocated node or a topologically closer node, the SGW-C shall try to select an SGW-U collocated
with the PGW-U.
In non-roaming or LBO scenarios, when it is preferred to select a collocated node or a topologically closer node, i.e.
when such preference is indicated in the canonical node names of the PGW-U functions in the DNS (using "topon" as
the first label of canonical node name), the PGW-C shall give precedence to collocation of SGW-U and PGW-U, then
to topological closeness (i.e. pairs of SGW-U and PGW-U with canonical node names with the highest number of
matching labels). This requires the SGW-C to provide the SGW-U Node ID to the PGW-C.
Annex C (Informative):
Examples scenarios
C.1 General
This clause provides example call flows illustrating how the CP function can provision the UP function to support
certain functionalities.
This Annex is informative and the normative descriptions in this specification and in 3GPP TS 23.214 [2] prevail over
the descriptions in this Annex if there is any difference.
3GPP
Release 15 186 3GPP TS 29.244 V15.4.0 (2018-12)
1. request credit
2. Sx Session Mod. Request
(Volume Thresh=90, Volume Quota=100)
1'. Granted Quota 100, Quota Threshold 10
1. Upon the request from the CP function, the OCS grants an intermediate quota of 100 Mbytes and requests the CP
function to request a new credit when the remaining credit falls below 10 Mbytes.
2. The CP function sends an PFCP Session Modification Request to the UP function with an Update URR IE
including the Volume Threshold IE set to 90 Mbytes and the Volume Quota IE set to 100 Mbytes.
3. Upon reaching the Volume Threshold (i.e. 90 Mbytes), the UP function sends an PFCP Session Report Request
to the CP function with a Usage Report IE including the Usage Report Trigger set to "Volume Threshold" and
the Volume Measurement set to 90 Mbytes. The UP function continues to pass on traffic until reaching the
Volume Quota (i.e. an extra 10 Mbytes of traffic can be passed on).
4. Upon the request from the CP function, the OCS grants a new intermediate quota of 100 Mbytes and requests the
CP function to request a new credit when the remaining credit falls below 10 Mbytes.
5. The CP function sends an PFCP Session Modification Request to the UP function with an Update URR IE
including the Volume Threshold IE set to 90 Mbytes and the Volume Quota IE set to 100 Mbytes. If the UP
function had forwarded e.g. 5 Mbytes of traffic since the last usage report, the UP function knows that it shall
send the next usage report upon passing on an extra 85 Mbytes of traffic.
6. Upon reaching the Volume Threshold (i.e. 90 Mbytes), the UP function sends an PFCP Session Report Request
to the CP function with a Usage Report IE including the Usage Report Trigger set to "Volume Threshold" and
the Volume Measurement set to 90 Mbytes. The UP function continues to pass on traffic until reaching the
Volume Quota (i.e. an extra 10 Mbytes of traffic can be passed on).
3GPP
Release 15 187 3GPP TS 29.244 V15.4.0 (2018-12)
7. Upon the request from the CP function, the OCS grants a new final quota of 50 Mbytes and requests the CP
function to terminate the service or to redirect the traffic towards a redirect destination when the quota is
consumed.
8. The CP function sends an PFCP Session Modification Request to the UP function with an Update URR IE
including the Volume Quota IE set to 50 Mbytes. If the UP function had forwarded e.g. 5 Mbytes of traffic since
the last usage report, the UP function knows that it shall send the next usage report upon passing on an extra 45
Mbytes of traffic.
9. Upon reaching the Volume Quota (i.e. 50 Mbytes), the UP function sends an PFCP Session Report Request to
the CP function with a Usage Report IE including the Usage Report Trigger set to "Volume Quota" and the
Volume Measurement set to 50 Mbytes. The UP function stops passing on traffic.
10. Upon being notified that the final quota has been reached, the CP function terminates the service (e.g. by
preventing the traffic of the corresponding SDF to further pass on in the UP function) or redirects the traffic
towards a redirect destination by provisioning a Redirect Information IE within the FAR associated to the traffic.
Figure C.2.1.1-2 illustrates the exchanges taking place over the Sxb or Sxc reference points when applying online
charging and the UP function supports being provisioned with the Quota Action to apply when reaching quotas. This
example is similar to the previous one, but the CP function provisions the UP function with the action to apply when
reaching the final quota.
1. request credit
2. Sx Session Mod. Request
(Volume Thresh=90, Volume Quota=100)
1'. Granted Quota 100, Quota Threshold 10
Figure C.2.1.1-2: Online charging with Quota Action provisioned in the UP function
8. The CP function sends an Sx Session Modification Request to the UP function with a Create FAR IE
provisioning the action the UP function shall apply when reaching the quota, and with an Update URR IE
including the Volume Quota IE set to 50 Mbytes and the FAR ID for Quota Action IE set to the new FAR ID). If
the UP function had forwarded e.g. 5 Mbytes of traffic since the last usage report, the UP function knows that it
shall send the next usage report upon passing on an extra 45 Mbytes of traffic.
9. Upon reaching the Volume Quota (i.e. 50 Mbytes), the UP function sends an Sx Session Report Request to the
CP function with a Usage Report IE including the Usage Report Trigger set to "Volume Quota" and the Volume
Measurement set to 50 Mbytes.
10. The UP function applies the quota action provisioned at step 8, i.e. it stops forwarding packets or it redirects the
traffic towards a redirect destination, according to the FAR identified in the FAR ID for Quota Action.
3GPP
Release 15 188 3GPP TS 29.244 V15.4.0 (2018-12)
C.2.1.2.1 General
Figure C.2.1.2-1 illustrates a signalling flow over the Sxb and Gy reference points when applying online charging, and
when the CP function (i.e. PGW-C) is instructed by the OCS to handle a Credit Pool for a given Gy Session.
This reflects one possible implementation option, whereby each quota remains managed independently from the others.
This approach can result in extra usage reports being sent over Sxb for RG1 or RG2 before the credit pool is exhausted.
3GPP
Release 15 189 3GPP TS 29.244 V15.4.0 (2018-12)
CP function
UP function
(PGW-C) OCS
(PGW-U)
2. Send Sx Session Mod. Request to create 1. request credit for RG1 and RG2
new URR1 for RG1, quota=100;
new URR2 for RG2, quota=100;
1'. RG1, GSU=100M, PID=1000, M=0.1
new URR3 for The Credit Pool,
RG2, GSU=100M, PID=1000, M=0.5
quota = S = 100 x 0.1 + 100 x 0.5 = 60;
2' response
5' response
6' Response
9' response
12. Send Sx Session Mod. Request, update 11'. RG1, GSU=200M, PID=1000, M=0.1
URR1 for RG1, quota=700; RG2, GSU=200M, PID=1000, M=0.5
URR2 for RG2, quota=140;
new URR3 for The Credit Pool, quota = 70
12' response
3GPP
Release 15 190 3GPP TS 29.244 V15.4.0 (2018-12)
1. Upon the request from the CP function for RG1 and RG2, the OCS grants:
RG1: quota 100 Mbytes, together with a G-S-U-Pool-Reference AVP included within the Multiple Services
Credit Control (for RG1), where the G-S-U-Pool-Identifier AVP indicating the identifer (e.g. 1000) of the Credit
Pool to which the RG1 pertains, the CC-Unit-Type AVP specifies the type of units for which credit is (e.g. total
octets), the Unit-Value AVP specifies the multiplier (e.g. 0.1);
RG2: quotas 100 Mbytes, together with a G-S-U-Pool-Reference AVP included within the Multiple Services
Credit Control (for RG2), where the G-S-U-Pool-Identifier AVP indicating the identifer (e.g. 1000) of the Credit
Pool to which the RG2 pertains, the CC-Unit-Type AVP specifies the type of units for which credit is (e.g. total
octets), the Unit-Value AVP specifies the multiplier (e.g. 0.5);
2. The CP function sends an PFCP Session Modification Request to the UP function, to create:
3. The RG1 has consumed 100 counted by URR1, RG2 consumed 10 counted by URR2; the URR3 for the Credit
Pool counts U = 100 x 0.1 + 10 x 0.5 = 15 < S. The URR1 triggers sending a usage report towards the the CP
function due to reaching the Quota 100. So the UP function sends an PFCP Session Report Request, including
the Usage Reports for the URR1. The CP function sends the response message.
4. Based on operator's policies, the CP function reports used quota for the RG1 to the OCS. The OCS does not
grant any quota since the quota for the Credit Pool has not been consumed yet.
5. The CP function sends an PFCP Session Modification Request to the UP function with the modified URR1, with
new quota 100.
10. The RG1 has consumed another 100 counted by URR1, RG2 consumed another 10 counted by URR2; the URR3
for the Credit Pool counts U = (100 + 100 + 100 + 100) x 0.1 + (10 +10 + 10 + 10) x 0.5 = 60 >= S = 60. So the
UP function sends an PFCP Session Report Request, including the Usage Reports for:
- the URR3, generated due to reaching quota (60),
- for the URR1, generated due to that it is linked to the URR3 and it has reached the quota 100, and
- for the URR2 generated due to that it is linked to the URR3.
The CP function sends the response message.
11. The CP function requests new Quota for RG1 and RG2 to the OCS. The OCS grants 200M for RG1 and 100M
for RG2, with the same pool ID and Multipliers.
12. The CP function sends an PFCP Session Modification Request to the UP function with the modified URRs, for
URR1, URR2 and URR3.
This reflects another possible implementation option. This approach avoids extra usage reports being sent over Sxb for
RG1 or RG2 before the credit pool is exhausted, and thus reduces Sxb signalling.
3GPP
Release 15 191 3GPP TS 29.244 V15.4.0 (2018-12)
CP function
UP function
(PGW-C) OCS
(PGW-U)
2' response
3' Response 4. request credit for RG1 (USU 400 ) and RG2
(USU 40)
5. Send Sx Session Mod. Request, update
URR1 for RG1, quota=700;
4'. RG1, GSU=200M, PID=1000, M=0.1
URR2 for RG2, quota=140;
RG2, GSU=100M, PID=1000, M=0.5
URR3 for The Credit Pool, quota = 200 x 0.1 + 100 x 0.5
= 70
5' response
1. Upon the request from the CP function for RG1 and RG2, the OCS grants:
RG1: quota 100 Mbytes, together with a G-S-U-Pool-Reference AVP included within the Multiple Services
Credit Control (for RG1), where the G-S-U-Pool-Identifier AVP indicating the identifer (e.g. 1000) of the Credit
Pool to which the RG1 pertains, the CC-Unit-Type AVP specifies the type of units for which credit is (e.g. total
octets), the Unit-Value AVP specifies the multiplier (e.g. 0.1);
RG2: quotas 100 Mbytes, together with a G-S-U-Pool-Reference AVP included within the Multiple Services
Credit Control (for RG2), where the G-S-U-Pool-Identifier AVP indicating the identifer (e.g. 1000) of the Credit
Pool to which the RG2 pertains, the CC-Unit-Type AVP specifies the type of units for which credit is (e.g. total
octets), the Unit-Value AVP specifies the multiplier (e.g. 0.5);
2. The CP function sends an PFCP Session Modification Request to the UP function, to create:
NOTE 1: To avoid receiving usage report upon exceeding the original Quota for RG1 or RG2, the quota can be set
to 60 / 0.1 = 600 for RG1, assuming RG1 consumes the complete Quota for the pool; similarly, for RG2,
the quota can be set to 60 / 0.5 = 120;
3. The URR3 always first reaches the Quota, e.g. when the URR1 has counted 400, and URR2 has counted 40, this
results the counted usage for the Credit Pool U=400 x 0.1 + 40 x 0.5 = 60. So the UP function sends an PFCP
Session Report Request, including the Usage Reports:
3GPP
Release 15 192 3GPP TS 29.244 V15.4.0 (2018-12)
- for the URR3, generated due to that it has reached quota (60),
- for the URR1, generated due to that it is linked to the URR3 and
- for the URR2, generated due to that it is linked to the URR3.
4. The CP function requests new Quota for RG1 and RG2 to the OCS. The OCS grants 200M for RG1 and 100M
for RG2, with the same pool ID and Multipliers.
5. The CP function sends an PFCP Session Modification Request to the UP function with the modified URRs, for
URR1, URR2 and URR3.
Annex D(Informative):
Change history
Date TSG # TSG Doc. CR Rev Subject/Comment New
2016-07 CT4#7 C4-164286 First version after CT4#74 0.1.0
4
2016-10 CT4#7 C4-165318 Version after CT4#74bis 0.2.0
4bis
2016-11 CT4#7 C4-166347 Version after CT4#75 0.3.0
5
2017-01 CT4#7 C4-170124 Version after CT4#75bis 0.4.0
5bis
2017-02 CT4#7 C4-171423 Version after CT4#76 0.5.0
6
2017-03 CT#75 CP-170016 This version was sent for information 1.0.0
2017-04 C4#77 C4-172285 Version after CT4#77 1.1.0
2017-05 C4#78 C4-173360 Version after CT4#78 1.2.0
2017-06 CT#76 CP-171047 This version was sent for approval 2.0.0
2017-06 CT#76 CP-171183 Editorial correction 2.0.1
2017-06 CT#76 CP-171183 Approved in CT#76 14.0.0
2017-09 CT#77 CP-172020 0001 - PDN Instance over Sx 14.1.0
2017-09 CT#77 CP-172020 0002 1 Transport Level Marking & DL Flow Level Marking 14.1.0
2017-09 CT#77 CP-172020 0003 2 Clarifications and corrections to Usage Reporting 14.1.0
2017-09 CT#77 CP-172020 0004 - PDN Type over Sx 14.1.0
2017-09 CT#77 CP-172020 0005 Creating multiple PDRs in one Sx message with F-TEID allocation in UP 14.1.0
1 function
2017-09 CT#77 CP-172020 0006 1 Message with a rejection cause 14.1.0
2017-09 CT#77 CP-172020 0007 - Corrections to the number of Fixed Octets 14.1.0
2017-09 CT#77 CP-172020 0008 1 QER correlation ID 14.1.0
2017-09 CT#77 CP-172020 0009 3 Sx Protocol extension to support Envelope Reporting 14.1.0
2017-09 CT#77 CP-172020 0010 1 OCI Flags 14.1.0
2017-09 CT#77 CP-172020 0011 2 IP Address(es) and TEIDs of a UP function 14.1.0
2017-09 CT#77 CP-172020 0012 Clarification on bearer of a PDN connection and description on UP fucntion 14.1.0
1 feature
2017-09 CT#77 CP-172020 0013 2 Clarification on Rule IDs 14.1.0
2017-09 CT#77 CP-172020 0014 1 Clarification on creating rules 14.1.0
2017-09 CT#77 CP-172020 0018 2 URR and QER handling 14.1.0
2017-12 CT#78 CP-173023 0026 4 Reporting User Plane Inactivity 14.2.0
2017-12 CT#78 CP-173023 0027 - Reporting of Usage Reports to the CP function 14.2.0
2017-12 CT#78 CP-173023 0028 - Suspend and Resume Notification procedures 14.2.0
2017-12 CT#78 CP-173023 0029 - Network Instance parameter 14.2.0
2017-12 CT#78 CP-173023 0030 User Plane traffic handling upon reaching quotas based on operator 14.2.0
1 policies
2017-12 CT#78 CP-173023 0031 - Reduced Application Detection Information for Envelope Reporting 14.2.0
2017-12 CT#78 CP-173023 0034 3 Sx protocol extension to support Credit Pool 14.2.0
2017-12 CT#78 CP-173023 0035 - Clarification on the Setting of Precedence 14.2.0
2017-12 CT#78 CP-173023 0036 1 Presence of UP F-SEID in Sx Session Establishment Response 14.2.0
2017-12 CT#78 CP-173023 0042 1 Change the Title of the TS 14.2.0
2017-12 CT#78 CP-173023 0043 Clarification on Create PDR and Create FAR IEs in Sx Session 14.2.0
1 Establishment Request
3GPP
Release 15 193 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP
Release 15 194 3GPP TS 29.244 V15.4.0 (2018-12)
3GPP