Amarisoft

NR UAI (UE-Assistance Information)

The purpose of this tutorial is to show you how to configure gNB so that it can handle UE assistance Information from UE. UE assistance information is a special set of RRC messages introduced since Release 16 mainly for several purpose summarized below. (This is short summary, for the details specified in 3gpp, refer to 38.331-5.7.4.1

As of now, Amarisoft support the receptions of many of the UAI message, but in most case Amarisoft gNB just recieves the message and does not perform any specific activities for the message except 'Preference on RRC State' (Amarisoft gNB performs a specific activity as per the contents of the UAI for 'Preference on RRC State').

NOTE : This feature is supported from Release 2022-09-16

Table of Contents

Introduction

The evolution of 5G New Radio (NR) introduces a sophisticated and highly adaptable network architecture, enabling enhanced mobile broadband, ultra-reliable low-latency communication, and massive machine-type communication. At the core of this architecture is the gNodeB (gNB), the 5G equivalent of the eNodeB in LTE, which serves as the interface between User Equipment (UE) and the 5G Core Network. In 3GPP Release 16, the specification introduced a significant enhancement known as User Equipment (UE) Assistance Information, a mechanism that allows UEs to communicate context-aware operational needs to the gNB via specialized Radio Resource Control (RRC) signaling. This capability empowers the network to optimize resource allocation, energy efficiency, and user experience by adapting to real-time conditions such as device power constraints, thermal states, and measurement relaxation requirements. By leveraging UE Assistance Information, the gNB can make more informed scheduling and configuration decisions, ultimately contributing to network sustainability, device longevity, and improved service quality. The integration and handling of UE Assistance Information is thus a critical aspect of modern 5G deployments, forming a foundational element for advanced network management and optimization strategies within the broader 5G ecosystem.

Summary of the Tutorial

This tutorial demonstrates the setup, configuration, and procedure for testing UE-Assistance Information (UAI) with Release Preference, specifically focusing on RRC Inactive state using Amarisoft UEsim as the DUT.

Throughout the procedure, the focus is on proper configuration of gNB, MME, and UEsim, followed by execution of the test and validation using traces and logs to confirm RRC state behavior in response to UE-Assistance Information messages with release preference for RRC Inactive.

Test Setup

Test setup for this tutorial is as shown below.  This is just for low layer testing, you may not need any complicated IP layer setup.

If you have a commercial UE that support UE assistance information with Release Preference, you can use the Setup A. If you don't have any commercial UE supporting this feature but have Amarisoft UEsim you can use Setup B. In this Test, Setup B is used.

Setup A

This setup is the case where you use a commerical UE as a DUT supporting UAI (UE-Assistance Information)

TestSetup Callbox UE 1sdr 01

Setup B

This setup is the case where you use a commerical Amarisoft UEsim as a DUT supporting UAI (UE-Assistance Information)

TestSetup Callbox UEsim 1sdr 01

Key Configuration Parameters

Followings are important configuration parameters for this tutorial. You may click on the items for the descriptions from Amarisoft documents.

Following is Remote_API configuration on UEsim to trigger UE assistance information message.

Test 1 : Release Preference - RRC Inactive

This test is to show how to configure and test a case of UAI for Release Preference with RRC Inactive. This is to let gNB to have preference of releasing with RRC Inactive instead of regular release.

Configuration

The configuration shown here is common configuration for all the subtests belonging to Test 1 and I will not show this configuration repeatedly for every subtest.

I have used gnb-sa-uai-rrc-state.cfg which is copied and modified from gnb-sa.cfg on Callbox (gNB)

NR SA UAI Test 1 Config 01

I am using mme-ims-cn-assistance.cfg and ims config as shown below.

NR SA UAI Test 1 Config 02

On UEsim, I used ue-nr-uai-rrc-inactive.cfg which has been copied and modified from ue-nr-sa.cfg (NOTE : If you are using the commercial UE as a DUT, you don't need this step. Just make it sure that your UE support UE-assistance-information for release-preference).

NR SA UAI Test 1 Config 03

gnb-sa-uai-rrc-state.cfg  is configured as follows.

In this configuration, both rrc_inactive and ue_assistance_information are enabled.

The rrc_inactive section defines the parameters required for RRC Inactive operation, including rna_cell_list, ran_paging_cycle, and inactivity_timer. In this example, inactivity_timer inside rrc_inactive is set to a very large value, 120000. This is done to prevent the gNB from moving the UE to RRC Inactive by normal inactivity handling before the UE sends the UE Assistance Information message.

The ue_assistance_information section enables release_preference and sets prohibit_timer to 0.5. This allows the UE to send release preference information. When the UE sends release preference with inactive state, the gNB can apply RRC Inactive release according to the parameters configured in rrc_inactive.

NR SA UAI Test 1 Config 04

mme-ims-cn-assistance.cfg is configured as shown below.

In MME configuration, cn_assistance_info_support is set to true. This enables the core network to send Core Network Assistance Information during Initial Context Setup.

This configuration is not mandatory for every UE Assistance Information test. It is required for this specific test because the UE sends release preference with inactive state. With cn_assistance_info_support enabled, the core network becomes capable of supporting the RRC Inactive related procedure, so the gNB can release the UE to RRC Inactive according to the configured release preference behavior.

NR SA UAI Test 1 Config 05

ue-nr-uai-rrc-inactive.cfg is configured as shown below. (NOTE : If you are using the commercial UE as a DUT, you don't need this step. Just make it sure that your UE support UE-assistance-information for release-preference).

The key UEsim parameter is rrc_inactive_support. This parameter allows UEsim to report RRC Inactive support in UE capability information.

In this configuration, as_release is set to 16 so that UEsim can support Release 16 based UE Assistance Information. ue_category is set to nr for NR UE operation. rrc_inactive_support is set to true so that the UE includes RRC Inactive support in its UE capability information.

This setting is important for this test because the gNB needs to know that the UE supports RRC Inactive before it can release the UE to RRC Inactive state based on the release preference received from UE Assistance Information.

NR SA UAI Test 1 Config 06

Perform the Test

To perform the test, first start the trace on the gNB side. In the Callbox console, run the trace command 't'. After this command is executed, the gNB starts tracing signaling messages and shows the message Press [return] to stop the trace. Keep this trace running while the UE is attached and while the UE Assistance Information message is triggered from the UE side.

NR SA UAI Test 1 Run 01

Power on the UE from UEsim. If the DUT is a commercial phone, turn on the phone instead.

In this example, UEsim is started with RF0 configured for band n78. The downlink and uplink frequency are both set to 3489.420 MHz, with 2 downlink antennas and 1 uplink antenna. After the UE is powered on, the UE starts cell search and detects the cell. The log Cell 0: SIB found confirms that the UE has found the cell and successfully decoded SIB information.

NR SA UAI Test 1 Run 02

Wait until the initial attach is complete.

After the UE is attached, send the following remote API command from the /root/ue/doc directory on UEsim. This command makes UEsim send a UE Assistance Information message for UE ID 1. In the message body, preferred_rrc_state is set to inactive. This means the UE is informing the network that it prefers to be released to RRC Inactive state.

After the command is executed, the WebSocket remote API connects to UEsim on 127.0.0.1:9002. The log shows that the message ue_assistance_information id#1 is sent and then accepted by UEsim. The Message received response confirms that UEsim has received the command successfully and has triggered the UE Assistance Information message toward the network.

NR SA UAI Test 1 Run 03

Confirm that the RRC state changes to inactive immediately after the UE Assistance Information message is sent.

In the gNB trace, the UE is first shown in active RRC state with normal DL and UL scheduling information. After the UE sends the UE Assistance Information message with ReleasePreference set to inactive, the gNB receives the message and triggers the release procedure toward RRC Inactive.

After that point, the UE state in the trace changes from normal scheduling status to inactive. This confirms that the gNB accepted the UE release preference and moved the UE to RRC Inactive state according to the configured rrc_inactive parameters.

NR SA UAI Test 1 Run 04

Log Analysis

Following is the log snapshot that are involved in UE assistance information message and handling process.

Sample Log

First, check whether the UE reports support for releasePreference UAI in UE Capability Information.

In the WebGUI log, open the UE capability information message and check the nonCriticalExtension.powSav-Parameters section. In this example, powSav-ParametersCommon-r16 includes releasePreference-r16 supported. This means the UE has informed the network that it supports release preference based UE Assistance Information.

This capability indication is important because the gNB should know that the UE supports releasePreference UAI before the UE sends UE Assistance Information requesting preferred_rrc_state as inactive. After this capability is reported, the later UE Assistance Information message can be interpreted as a valid release preference request from the UE.

NR SA UAI Test 1 Add 01

When you run the remote API command ./ws.js ue '{"message": "ue_assistance_information", "ue_id":1, "preferred_rrc_state": "inactive"}', UEsim sends UE Assistance Information with releasePreference.preferredRRC-State set to inactive.

In the WebGUI log, select the UE assistance information message. In the decoded message, check criticalExtensions.ueAssistanceInformation.nonCriticalExtension.releasePreference-r16. In this example, preferredRRC-State-r16 is shown as inactive.

This confirms that the remote API command successfully triggered the UE to send UE Assistance Information, and the content of the message indicates that the UE prefers to be released to RRC Inactive state.

NR SA UAI Test 1 Add 02

Once the gNB receives the UE Assistance Information message, it responds according to the requested release preference.

In this example, the UE requested preferredRRC-State as inactive. After receiving this message, the gNB sends RRC Release to the UE. In the decoded RRC Release message, suspendConfig is included. This indicates that the release is not a normal release to RRC Idle, but a release with suspend configuration for RRC Inactive.

The suspendConfig includes the information required for the UE to resume later, such as fullI-RNTI, shortI-RNTI, ran-PagingCycle, and ran-NotificationAreaInfo. This confirms that the gNB accepted the UE Assistance Information request and released the UE to RRC Inactive state.

NR SA UAI Test 1 Add 03

RRC / NAS Signaling

ueAssistanceInformation - preferredRRC State : inactive (SA)

: This is ueAssistanceInformation message from UE with preferred RRC State = inacative.

{

  message c1: ueAssistanceInformation: {

    criticalExtensions ueAssistanceInformation: {

      nonCriticalExtension {

        nonCriticalExtension {

          releasePreference-r16 {

            preferredRRC-State-r16 inactive

          }

        }

      }

    }

  }

}