3GPP EPC QOS Design
This HOWTO assumes you know Cisco IOS QOS and can implement your preferred enforcement on IP networks between EPS elements. Material in this HOWTO was gathered from 3GPP TS 23.401 section 4.7 and Cisco LTE CLI guide. For a general understanding let's take a look at DCSP marking values in the diagram below. Keep in mind that StarOS supports AF, BE, and EF markings.

QCI | Priority | Packet Delay | Packet Loss | DSCP/Dec/HEX | Service Examples | UMTS Class |
---|---|---|---|---|---|---|
1 | 2 | 100ms | 10^-2 | EF/46/2E | Conversational Voice (GBR) | Conversational |
2 | 4 | 150ms | 10^-3 | EF/46/2E | Conversational Video (GBR) | Conversational |
3 | 3 | 50ms | 10^-3 | EF/46/2E | Real Time Gaming (GBR) | Conversational |
4 | 5 | 300ms | 10^-6 | AF41/34/22 | MM Streaming (GBR) | Streaming |
5 | 1 | 100ms | 10^-6 | AF31/26/1A | IMS Signaling | Streaming Interactive/1 |
6 | 6 | 300ms | 10^-6 | AF31/26/1A | TCP, ftp, apps High priority | Interactive/1 |
7 | 7 | 100ms | 10^-3 | AF21/18/12 | VoIP, video, apps non-GBR | Interactive/2 |
8 | 8 | 300ms | 10^-6 | AF11/10/0A | TCP, ftp, apps Reg. Priority | Interactive/3 |
9 | 9 | 300ms | 10^-6 | BE/0/00 | TCP, ftp, apps Low Priority | Background |
Control Plane QOS
Control plane QOS if very simple compared to the user plane marking and enforcement. Below we have a diagram showing the control plane in purple with both SCTP and GTP encapsulations. In all our control plane examples we use ef marking but this is just for example and your customer may choose differently. There is only marking on the control plane and if you need policing or shaping you will have to use an external node. It's assumed the control plane traffic would never be enforced via policing or shaping as this would degrade the users experience.

The configuration needed to do control plane marking is provided below for MME, SGW, and PGW. Please not the eNodeB will also need to support prioritization over RAN based on DSCP for control plane and QCI for user plane plus its traffic towards MME and SGW. We also have marking enabled for diameter towards HSS so you might want to check if your HSS vendor supports marking in the return path.
User Plane QOS
For user place we have marking and enforcement. First we have to understand all the variable in play and how they apply to each APN/UE. The items listed below will be cover high-level details with respect to each QOS attribute and how they interact with each other:
- DSCP Marking
DSCP marking is show in first section via table. - UE-AMBR (per subscriber)
UE-AMBR is initially/optionally provided by HSS and is included in ULA in subscriber data. This value is the maximum bitrate (in bits per second) that all bearer used by a subscriber can utilize. It's used by UE and PGW to set maximum possible UL and DL date speeds and policing per subscriber. UE-AMBR will be lowest of either pre-configured UE-AMBR via HSS or Sum of all ANP-AMBRs for that subscriber. - APN-AMBR (per subscriber)
APN-AMBR is initially/optionally provided by HSS and is included in ULA in apn context data(potentially different for each context/apn). This value is the maximum bitrate (in bits per second) that all PDNs combined per APN per subscriber. It's used by UE and PGW to set UL and DL date speeds and policing for all APNs combined per UE. You can only have UE-AMBR on Non-GBR bearer. Note that APN-AMBRs when added up between all active APNs cannot exceed UE-AMBR. - QCI
QCI or QoS Class Identifier is a scalar that is used as a reference to access node-specific parameters that control bearer level packet forwarding treatment (e.g. scheduling weights, admission thresholds, queue management thresholds, link layer protocol configuration, etc.), and that have been pre-configured by the operator owning the access node (e.g. eNodeB). A one-tone(single bucket) mapping of standardized QCI values to standardized characteristics is captured in TS 23.203 - GBR
The GBR denotes the bit rate that can be expected to be provided by a GBR bearer. The MBR limits the bit rate that can be expected to be provided by a GBR bearer (e.g. excess traffic may get discarded by a rate policing function). - MBR
The MBR for a GBR bearer is equal to the GBR in current 3GPP release. Support for "MBR > GBR" bearers may be introduced in a future Release. - Non-GBR
Non GBR bearers will use a combination of APN-AMBR and UE-AMBR. - ARP
Priority will determine which bearers will be provisioned during contention for resources primarily on EUTRAN. Lower numerical value will have better priority. (At eNodeB and PGW) Once successfully established, a bearer's ARP shall not have any impact on the bearer level packet forwarding treatment (e.g. scheduling and rate control). Such packet forwarding treatment should be solely determined by the other EPS bearer QoS parameters: QCI, GBR and MBR, and by the AMBR parameters. The ARP is not included within the EPS QoS Profile sent to the UE. - ARP Pre-Emption Capability
This flag determines whether a bearer will be allowed to prioritize itself over another bearer with lower priority along with vulnerability flag set. (At eNodeB) - ARP Pre-Emption Vulnerability
This flag specifies if bearer can be candidate to remove for higher priority bearers which have Pre-Emption Capabilities set. (At eNodeB)
Notes:
- When we setup a new dedicated bearer (TFT with sub SDFs) and it's GBR, both AMBRs will have zero effect on this as GBR is independent of AMBRs.
- UE-AMBR is enforced in uplink and downlink by eNodeB/UE plus PGW in downlink.
- APN-AMBR is enforced in uplink by PGW and by eNodeB/UE plus PGW in downlink.
- PGW uses QCI+ARP for bearer binding. PGW gets PCC rules from PCRF, and PGW than binds the rule to a bearer which matches the rules QCI and ARP and the bearer is updated. If there is no such bearer, a new bearer is created.
- eNodeB will only delete GBR bearer via pre-emption
- UE can’t send requested MBR to PGW in today’s EPC cores when it's a UE initiated modify/create bearer. This has not been accepted in 3GPP yet.
User Plane QOS
The section covers SGi QCI Mapping Plus SGi/S5 APN-AMBR Rate Limiting. The APN will first need to map QCI to DSCP values so the raw user packets are marks as they leave SGi. Once the mapping is done we can add policing APN-AMBR which implies non-BGR bearers.
SGW Policing
In this section we cover S1-U & S5 Rate Limiting for Both GBR & Non-GBR. SGW based rate limiting for non-GBR & GBR bearers is configurable in SGW as shown below. This is a two bucket three color design of policing.
SGW & PGW Marking
This section covers S1-U & S5 QCI Mapping. The GTP user plane tunnel between eNodeB and PGW now needs to have QCI to DSCP, Delay, Drop Threshold and policing interval set. This profile needs to be applied to both SGW and PGW.
MME AMBR and MBR
On MME you will also want to setup QCI, ARP, and APN-AMBR via CLI below in blue. Note we set QCI to 9 (DSCP=BE), UL/DL rate to 8Mb/s and ARP to 1 which translates into little resource reservation and almost no chance of being pre-empted. For UE-AMBR, we set this value via call-control-profile as shown in green below. Note both AMBRs have their cap set to minimum or HSS or local CLI, whichever is lower. This type of limit might be good for MVNO or Roaming types of subscriber scenarios.
Conclusion and Thoughts
The QOS in EPC is still evolving and there is still work to be done on UE initiated
bearers as well as handover support for QOS with MS-Only and MS/NW based Bearer Resource
Control. We highly recommend you spend some time reading 23.401 section 4.7 along with
the whitepapers links at the top from Amit Ghadge.
RAN Design for LTE Advanced:
