NR NSA Split Bearer
The purpose of this tutorial is to show you how to test Uplink Splitbearer functionality in NSA. In this tutorial, it is assumed that you are faimiliar with basic operations of Amari Callbox operation. So in this tutorial, I will explain only about the configuration and analyzing the test result in the WebGUI log.
In NSA, user data goes through both LTE and NR. That is, a stream of user data may split between LTE chain and NR chain. This way of splitting user data into two different radio bearer (i.e, LTE bearer and NR bearer) is called Split bearer. In theory, we can think of the split bearer for both downlink and uplink, but in terms of 3GPP only uplink spit bearer is specified and downlink split is up to the implementation of network equipment manufacturer. In terms of Uplink Split Bearer, there are roughly three options as follows.
Option 1 : 100% going through LTE
Option 2 : 100% going through NR
Option 3 : data going through both NR and LTE (the ratio of split is configurable)
Table of Contents
- NR NSA Split Bearer
Test Setup
Test setup for this tutorial is as shown below. (
- SIM Card used in this tutorial is the one delivered with the system as it is.
- If you want to change the configuration, The tutorial Configuration Guide would help
There are several many ways to provide internet access to your CallBox. Followings are some of them I can think of. In this tutorial, I used the Case 4.
If you decided to use Case 2 and Case 3, following tips would be helpful.
Since Amari Callbox is running command line mode of Linux (Fedora or Ubuntu) NOT on GUI , it is not straightforward to enable / connect WiFi.
Followings are some of the command line command you would need to get WiFi connectivity. You may search these commands on internet for the detailed usage.
# nmcli dev status
# nmcli radio wifi
# nmcli device wifi rescan
# nmcli dev wifi list
# nmcli dev wifi connect network-ssid password "network-password"
Key Configuration Parameters
Followings are important configuration parameters for this tutorial. You may click on the items for the descriptions from Amarisoft documents.
- en_dc_split : In this link, you will get the descriptions for all items listed below.
- type
- ul_data_threshold
- secondary_path_dl_ratio
Configuration
I have used gnb-nsa-splitbearer.cfg which is copied and modified from gnb-nsa.cfg.
I am using the default mme, ims config as shown below.
I used drb-splitbearer.cfg which is copied from drb.cfg
In gnb-nsa-splitbearer.cfg, I made a modification as follows (this is because the commercial UE that I have support TDD only. You may use whatever configuration that your UE support)
I changed the drb_config parameter as below so that drb-splitbearer.cfg is used instead of drb.cfg
The major configuration parameter for this tutorial is en_dc_split specified in drb-splitbearer.cfg. The property of the split is configured by the parameter end_dc_split. The en_dc_split has two elements type and ul_data_threshold. In this tutorial, these two configurations modified for each different test.
Check Up before trying UE connection
Before you trying internet connection with UE, you need to check several basic things shown in this section and make it sure everything works as shown here, otherwise Internet connection from UE may not work.
Make it sure that the network interface with internet connectivity is up and tun0,1,2,3 are up.
Check up the routing table on CallBox PC. It would usually be as follows. (NOTE : The gateway Iface name may be different on your system depending on your system configuration. But you should see tun0, tun1, tun2, tun3 as shown below)
Make it sure that the call box can reach a server over the internet. I am checking the connectivity as follows
Try ping to 8.8.8.8. This is google DNS and this is configured as DNS by default in mme.cfg
Try ping to a url to check the DNS is working
[Optional] you may find the IP address to a specific url and try ping to the server with both in direct IP and url
Perform the Test
I will try with a few different split bearer settings but the test procedure is all the same as described in this section. I turn off WiFi so that UE can get access to data traffic through cellular instead of WiFi. In most of commercial UE, WiFi has higher priority for data traffic.
Do the initial attach and confirm that UE is connected to Callbox.
Confirm that UE is assigned with an IP
Ping from Callbox to UE and confirm that ping works
Try Browsing and make it sure that internet access works.
Go to speedtest site and generate high data rate of traffic. You may use any speed test site, but make it sure that the site test uplink speed test as well as downlink speed test
Test 1 : Split ratio decided by UE side decision
This test is to show the case where UL throughput gets splitted between LTE and NR based on UE side decision. In many case, UE split the UL traffic 50-50 in this configuration.
In this test, I set the split type and threshold as follows. split type is set to "scg" and ul_data_threshold is set to 0. ul_data_threshold 0 inidcates b0 which implies that the split is determined by UE side decision.
You can confirm your configuration is reflected in rrc message as shown below. split setting is configured in pdcp-Config of nr-RadioBearerConfig-r15. cellGroup IE is configured by 'type' parameter and ul-DataSplitThreshold IE is configured by ul_data_threshold parameter. cellGroup 0 means MCG and 1 means SCG.
Check how ul traffic gets splitted between LTE (mcg) and NR(scg).
In LTE connection, you see both downlink and uplink traffic.
In NR connection, you see both downlink and uplink traffic with almost same throughput as in LTE. It means that UL traffic is split 50-50.
Test 2 : All UL traffic goes through NR (scg)
This test is to show the case where UL throughput does get splitted between LTE and NR, and goes through NR cell only.
In this test, I set the split type and threshold as follows. split type is set to "scg" and ul_data_threshold is set to -1. ul_data_threshold -1 inidcates 'infinity' which implies that the split does not happen and all the throughput goes through the channel specified by 'type'.
You can confirm your configuration is reflected in rrc message as shown below. split setting is configured in pdcp-Config of nr-RadioBearerConfig-r15. cellGroup IE is configured by 'type' parameter and ul-DataSplitThreshold IE is configured by ul_data_threshold parameter. cellGroup 0 means MCG and 1 means SCG. cellGroup 1 and ul-DataSplitThreshold infinity means that all the UL throughput goes through SCG only.
Check how ul traffic gets splitted between LTE (mcg) and NR(scg).
In LTE connection, you see downlink traffic but does not show any Uplink traffic.
In NR connection, you see both DL and UL traffic. Comparing to the traffic pattern of LTE channel, you would notice that 100% UL traffic goes though NR channel only.
RRC / NAS Signaling
: This section is to show you the overall structure of important Rrc messages and Information IE (IE) that are related to this tutorial. It is not intended to describe the details on every RRC/NAS Information elements. With the overall structure and key IEs shown here, it hope it would be easier / clearer to go through the sample log provided in this tutorial or any logs that you captured from your own test setup or live network.
rrcConnectionReconfiguration for NR Addition
: This is the RRC message sent by eNB (LTE) to add NR. (
message c1: rrcConnectionReconfiguration: {
rrc-TransactionIdentifier 0,
criticalExtensions c1: rrcConnectionReconfiguration-r8: {
....
nonCriticalExtension {
nonCriticalExtension {
nonCriticalExtension {
nonCriticalExtension {
nonCriticalExtension {
nonCriticalExtension {
nonCriticalExtension {
nonCriticalExtension {
nr-Config-r15 setup: {
endc-ReleaseAndAdd-r15 FALSE,
nr-SecondaryCellGroupConfig-r15 {
rrc-TransactionIdentifier 0,
criticalExtensions rrcReconfiguration: {
....
nr-RadioBearerConfig1-r15 {
drb-ToAddModList {
{
drb-Identity 1,
reestablishPDCP true,
pdcp-Config {
moreThanOneRLC {
primaryPath {
cellGroup 1,
logicalChannel 4
},
ul-DataSplitThreshold b0
}
}
}
},
securityConfig {
...
}