Section: 5.32.8 ATSSS Rules
Content: As specified in clause 5.32.3, after the establishment of a MA PDU Session, the UE receives a prioritized list of ATSSS rules from the SMF. The structure of an ATSSS rule is specified in Table 5.32.8-1. Table 5.32.8-1: Structure of ATSSS Rule The UE evaluates the ATSSS rules in priority order. Each ATSSS rule contains a Traffic Descriptor (containing one or more components described in Table 5.32.8-1) that determines when the rule is applicable. An ATSSS rule is determined to be applicable when every component in the Traffic Descriptor matches the considered service data flow (SDF). Depending on the type of the MA PDU Session, the Traffic Descriptor may contain the following components (the details of the Traffic Descriptor generation are described in clause 5.32.3): - For IPv4, or IPv6, or IPv4v6 type: Application descriptors and/or IP descriptors. - For Ethernet type: Application descriptors and/or Non-IP descriptors. One ATSSS rule with a "match all" Traffic Descriptor may be provided, which matches all SDFs. When provided, it shall have the least Rule Precedence value, so it shall be the last one evaluated by the UE. NOTE 1: The format of the "match all" Traffic descriptor of an ATSSS rule is defined in stage-3. Each ATSSS rule contains an Access Selection Descriptor that contains the following components: - A Steering Mode, which determines how the traffic of the matching SDF should be distributed across 3GPP and non-3GPP accesses. The following Steering Modes are supported: - Active-Standby: It is used to steer a SDF on one access (the Active access), when this access is available, and to switch the SDF to the available other access (the Standby access), when Active access becomes unavailable. When the Active access becomes available again, the SDF is switched back to this access. If the Standby access is not defined, then the SDF is only allowed on the Active access and cannot be transferred on another access. - Smallest Delay: It is used to steer a SDF to the access that is determined to have the smallest Round-Trip Time (RTT). As defined in clause 5.32.5, measurements may be obtained by the UE and UPF to determine the RTT over 3GPP access and over non-3GPP access. In addition, if one access becomes unavailable, all SDF traffic is switched to the other available access. It can only be used for the Non-GBR SDF. - Load-Balancing: It is used to split a SDF across both accesses if both accesses are available. It contains the percentage of the SDF traffic that should be sent over 3GPP access and over non-3GPP access. Load-Balancing is only applicable to Non-GBR SDF. In addition, if one access becomes unavailable, all SDF traffic is switched to the other available access, as if the percentage of the SDF traffic transported via the available access was 100%. - Priority-based: It is used to steer all the traffic of an SDF to the high priority access, until this access is determined to be congested. In this case, the traffic of the SDF is sent also to the low priority access, i.e. the SDF traffic is split over the two accesses. In addition, when the high priority access becomes unavailable, all SDF traffic is switched to the low priority access. How UE and UPF determine when a congestion occurs on an access is implementation dependent. It can only be used for the Non-GBR SDF. - Redundant (without Threshold Values): It is used to duplicate traffic of an SDF on both accesses if both accesses are available. A Primary Access (either 3GPP access or Non-3GPP access) may be provided to the UE in the ATSSS rules and to the UPF in the N4 rules. If a Primary Access is provided, UE and UPF shall send all data packets of the SDF on the Primary Access and may duplicate data packets of the SDF on the other access. How many and which data packets are duplicated by UE and UPF on the other access is based on implementation. If the Primary Access is not provided to UE and UPF, the UE and UPF shall send all data packets of the SDF on both accesses. It can be used for GBR and Non-GBR SDF. - A Steering Mode Indicator, which indicates that the UE may change the default steering parameters provided in the Steering Mode component and may adjust the traffic steering based on its own decisions. Only one of the following Steering Mode Indicators may be provided: - Autonomous load-balance indicator: This indicator may be provided only when the Steering Mode is Load-Balancing. When provided, the UE may ignore the percentages in the Steering Mode component (i.e. the default percentages provided by the network) and may autonomously determine its own percentages for traffic splitting, in a way that maximizes the aggregated bandwidth in the uplink direction. The UE is expected to determine its own percentages for traffic splitting by performing measurements across the two accesses. The UPF may apply a similar behaviour when the autonomous load-balance indicator is included in an N4 rule. - UE-assistance indicator: This indicator may be provided only when the Steering Mode is Load-Balancing. When provided by the network, it indicates that (a) the UE may decide how to distribute the UL traffic of the matching SDF based on the UE's internal state (e.g. when the UE is in the special internal state, e.g. lower battery level), and that (b) the UE may inform the UPF how it decided to distribute the UL traffic of the matching SDF. In the normal cases, although with this indicator provided, the UE shall distribute the UL traffic as indicated by the network. NOTE 2: Typically, the UE-assistance indicator can be provided for SDFs for which the network has no strong steering requirements. For example, when the network has no strong steering requirements for the default traffic of an MA PDU Session, the network can indicate (i) that this traffic must be steered with Load-Balancing steering mode using 50% - 50% split percentages, and (ii) that the UE is allowed to use other split percentages, such as 0% - 100%, if this is needed by the UE to optimize its operation (e.g. to minimize its battery consumption). - Threshold Values: One or more threshold values may be provided when the Steering Mode is Priority-based or when the Steering Mode is Load-Balancing with fixed split percentages (i.e. without the Autonomous load-balance indicator or UE assistance indicator). One threshold value may be provided when the Steering Mode is Redundant. A threshold value may be either a value for RTT or a value for Packet Loss Rate. The threshold values are applicable to both accesses and are applied by the UE and UPF as follows: - Load-Balancing Steering Mode with fixed split percentages (i.e. without the Autonomous load-balance indicator or UE assistance indicator): When at least one measured parameter (i.e. RTT or Packet Loss Rate) on one access exceeds the provided threshold value, the UE and UPF may stop sending traffic on this access, or may continue sending traffic on this access but should reduce the traffic on this access by an implementation specific amount and shall send the amount of reduced traffic on the other access. When all measured parameters (i.e. RTT and Packet Loss Rate) for both accesses do not exceed the provided threshold values, the UE and UPF shall apply the fixed split percentages. - Priority-based Steering Mode: When one or more threshold values are provided for the Priority-based Steering Mode, these threshold values should be considered by UE and UPF to determine when an access becomes congested. For example, when a measured parameter (i.e. RTT or Packet Loss Rate) on one access exceeds the provided threshold value, the UE and UPF may consider this access as congested and send the traffic also to the low priority access. - Redundant Steering Mode: When the measured Packet Loss Rate exceeds the provided threshold value on both accesses, the UE and UPF shall duplicate the traffic of the SDF on both accesses. When the measured RTT exceeds the provided threshold value on both accesses, the UE and UPF may duplicate the traffic of the SDF on both accesses based on implementation. When the measured parameter (i.e. either RTT or Packet Loss Rate) exceeds the provided threshold value on one access only, the UE and UPF shall send the traffic of the SDF only over the other access. When the measured parameter (i.e. either RTT or Packet Loss Rate) does not exceed the provided threshold value on any access, the UE and UPF shall send the traffic of the SDF only over the Primary Access. The Primary Access (either 3GPP access or Non-3GPP access) may be provided to the UE in the ATSSS rules and to the UPF in the N4 rules. If the Primary Access is not provided to the UE and UPF, UE and UPF shall select a Primary Access based on their own implementation (e.g. using the lowest RTT access or the lowest Packet Loss Rate access). If measurement results on an access are not available for a parameter, it is considered that the measured parameter for this access has not exceeded the provided threshold value. If a threshold value is provided when the Steering Mode is Redundant, the Steering Mode can only be used for Non-GBR SDF. - A Steering Functionality, which identifies whether the MPTCP functionality, or the MPQUIC functionality, or the ATSSS-LL functionality should be used to steer the traffic of the matching SDF. This is used when the UE supports multiple functionalities for ATSSS, as specified in clause 5.32.6 ("Support of Steering Functions"). - A Transport Mode, which identifies the transport mode that should be applied by the MPQUIC functionality for the matching traffic. The transport modes supported by the MPQUIC functionality are defined in clause 5.32.6.2.2.1. NOTE 3: There is no need to update the ATSSS rules when one access becomes unavailable or available. As an example, the following ATSSS rules could be provided to UE: a) "Traffic Descriptor: UDP, DestAddr 1.2.3.4", "Steering Mode: Active-Standby, Active=3GPP, Standby=non-3GPP": - This rule means "steer UDP traffic with destination IP address 1.2.3.4 to the active access (3GPP), if available. If the active access is not available, use the standby access (non-3GPP)". b) "Traffic Descriptor: TCP, DestPort 8080", "Steering Mode: Smallest Delay": - This rule means "steer TCP traffic with destination port 8080 to the access with the smallest delay". The UE needs to measure the RTT over both accesses, in order to determine which access has the smallest delay. c) "Traffic Descriptor: TCP traffic of Application-1", "Steering Mode: Load-Balancing, 3GPP=20%, non-3GPP=80%", "Steering Functionality: MPTCP": - This rule means "send 20% of the TCP traffic of Application-1 to 3GPP access and 80% to non-3GPP access by using the MPTCP functionality". d) "Traffic Descriptor: TCP traffic of Application-1", "Steering Mode: Load-Balancing, 3GPP=20%, non-3GPP=80%, "Threshold Value for Packet Loss Rate: 1%", "Steering Functionality: MPTCP": - This rule means "send 20% of the TCP traffic of Application-1 to 3GPP access and 80% to non-3GPP access as long as the Packet Loss Rate does not exceed 1% on both accesses, by using the MPTCP functionality. If the measured Packet Loss Rate of an access exceeds 1%, then the TCP traffic of Application-1 may be reduced on this access and sent via the other access". e) "Traffic Descriptor: UDP traffic of Application-1", "Steering Mode: Load-Balancing, 3GPP=30%, non-3GPP=70%", "Steering Functionality: MPQUIC", "Transport Mode: Datagram mode 1": - This rule means "send 30% of the UDP traffic of Application-1 to 3GPP access and 70% to non-3GPP access by using the MPQUIC functionality with the Datagram mode 1". f) "Traffic Descriptor: com.example.app0, TCP", "Steering Mode: Redundant", "Steering Functionality: MPTCP": - This rule means "traffic duplication is applied by the MPTCP steering functionality to the TCP traffic of application com.example.app0 and 100% of the traffic is duplicated over both accesses". g) "Traffic Descriptor: com.example.app1, TCP", "Steering Mode: Redundant, Primary Access=3GPP, Threshold Value for Packet Loss Rate: 0.1%", "Steering Functionality: MPTCP": - This rule means "traffic duplication is applied to the TCP traffic of application com.example.app1. If the measured PLR exceeds 0.1% on both accesses, all matched traffic is duplicated on both accesses. If the measured PLR exceeds 0.1% on one access only (either 3GPP or non-3GPP access), all matched traffic is sent over the other access only. If the measured PLR does not exceed 0.1% on any access, all matched traffic is sent over 3GPP access only as this is the Primary Access". h) "Traffic Descriptor: com.example.app2, TCP", "Steering Mode: Redundant, Threshold Value for Packet Loss Rate: 0.1%", "Steering Functionality: MPTCP". - This rule means "traffic duplication is applied to the TCP traffic of application com.example.app2. If the measured PLR exceeds 0.1% on both accesses, all matched traffic is duplicated and transmitted on both accesses. If the measured PLR exceeds 0.1% on one access only (either 3GPP or non-3GPP access), all matched traffic is sent over the other access only. If the measured PLR does not exceed 0.1% on any access, the UE or UPF selects the access based on their own implementation, e.g. the access with lower Packet Loss Rate to transmit all matched traffic".