Amarisoft

NR SA - Network Slicing

 

The purpose of this tutorial is to show you how to test Network Slices. The purpose of this tutorial is to show how to configure different slices in terms of signaling message, not to show different traffic flows via each of the slide. In terms of the signaling messages, Network slicing configuration is configured by following messages.

NOTE : Amarisoft support Bearer and Corenetwork level of slicing by mapping QoS configurations to a specific slice, but we do not support PHY/MAC level slicing. It means it is not possible to assign a specific PHY/MAC resources for each individual slice.

 

 

Table of Contents

 

 

Test Setup

 

< Setup 1 >

TestSetup Callbox UE 1sdr 01

 

< Setup 2 >

Test setup with UEsim for this tutorial is as shown below.

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.

 

 

 

Test 1 :  Network Slice with default settings - Commericial UE

 

Configuration

 

An important thing in using UE sim is to do proper matching between UE sim configuration and Call box configuration In thisTest, I used the gnb-sa .cfg without any change.

If you use other Network (e.g, other network simulator or real network), you have to make it sure to configure UE sim according to the settings on network side

NR SA NetworkSlice Test1 Config 01

 

NR SA NetworkSlice Test1 Config 02

Following is the configuration for network slice in gnb-sa .cfg

nssai in plmn_list indicates the list of nssai supported by the specific tracking area. Together with nssai in mme.cfg, these are used to determined the allowed NSSAI in Attach Accept message. If this is not configured, the default nssai(sst: 1 (eMBB)) is assumed.

NR SA NetworkSlice Test1 Config 03

Following is the configuration for slice in mme-ims.cfg.  nssai in mme.cfg indicates the list of nssai supported by the mme. Together with nssai in enb.cfg, these are used to determined the allowed NSSAI in Attach Accept message. If this is not configured, the default nssai(sst: 1 (eMBB)) is assumed.

NR SA NetworkSlice Test1 Config 04

 

NR SA NetworkSlice Test1 Config 05

Followings are not used for this test, but if you enable this parameter (slices[]) you can apply a specific NSSAI to a specific QoS flow.

NR SA NetworkSlice Test1 Config 06

Following is the configuration for network slice in ue_db-ims.cfg

NR SA NetworkSlice Test1 Config 07

 

 

Perform the Test

Check with cell parameter and see if it is configured as intended.

NR SA NetworkSlice Test1 Run 01

Power on UE and make it sure that UE attaches

NR SA NetworkSlice Test1 Run 02

Confirm that UE completed the attach and get the IP address. If you don't get this including IP address, you need to troubleshoot.

NR SA NetworkSlice Test1 Run 03

 

 

Log Analysis

Sample Log

 

In this section, I will show you only the portions of the log that are relavent to this tutorial. For the full log, refer to the sample log linked aboved.

NR SA NetworkSlice Test1 Log 01

NR SA NetworkSlice Test1 Log 02

NR SA NetworkSlice Test1 Log 03

NR SA NetworkSlice Test1 Log 04

NR SA NetworkSlice Test1 Log 05

NR SA NetworkSlice Test1 Log 06

 

 

Test 2 :  Network Slice with Single Slices - UEsim

 

Configuration

 

An important thing in using UE sim is to do proper matching between UE sim configuration and Call box configuration In this tutorial, I used the ue-nr-sa-slice-single.cfg that is copied and modified from the ue-nr.cfg and gnb-sa-slice.cfg that is copied and modified from gnb-sa.cfg. The mme configurations that are used for this test are mme-ims-slice-single.cfg and ue_db-ims-slice-single.cfg which are copied and modified from mme-ims.cfg and ue_db-ims.cfg

If you use other Network (e.g, other network simulator or real network), you have to make it sure to configure UE sim according to the settings on network side

NR SA NetworkSlice Test2 Config 01

NR SA NetworkSlice Test2 Config 02

NR SA NetworkSlice Test2 Config 03

Following is the configuration in  gnb-sa-slice.cfg

NR SA NetworkSlice Test2 Config 04

Followings are the configurations in  mme-ims-slice-single.cfg

NR SA NetworkSlice Test2 Config 05

NR SA NetworkSlice Test2 Config 06

NR SA NetworkSlice Test2 Config 07

NR SA NetworkSlice Test2 Config 08

Followings are the configurations in ue_db-ims-slice-single.cfg

NR SA NetworkSlice Test2 Config 09

Followings are the configurations in ue-nr-sa-slice-single.cfg

NR SA NetworkSlice Test2 Config 10

 

 

Perform the Test

Check with cell parameter and see if it is configured as intended.

NR SA NetworkSlice Test1 Run 01

Power on UE and make it sure that UE attaches

NR SA NetworkSlice Test1 Run 02

Confirm that UE completed the attach and get the IP address. If you don't get this including IP address, you need to troubleshoot.

NR SA NetworkSlice Test1 Run 03

 

 

Log Analysis

Sample Log

 

In this section, I will show you only the portions of the log that are relavent to this tutorial. For the full log, refer to the sample log linked aboved.

NR SA NetworkSlice Test2 Log 01

NR SA NetworkSlice Test2 Log 02

NR SA NetworkSlice Test2 Log 03

NR SA NetworkSlice Test2 Log 04

NR SA NetworkSlice Test2 Log 05

NR SA NetworkSlice Test2 Log 06

NR SA NetworkSlice Test2 Log 07

NR SA NetworkSlice Test2 Log 08

NR SA NetworkSlice Test2 Log 09

 

 

Test 3 :  Network Slice with Multiple Slices - UEsim

 

Configuration

An important thing in using UE sim is to do proper matching between UE sim configuration and Call box configuration In this tutorial, I used the ue-nr-sa-slice-multi.cfg that is copied and modified from the ue-nr.cfg and gnb-sa-slice.cfg that is copied and modified from gnb-sa.cfg. The mme configurations that are used for this test are mme-ims-slice-multi.cfg and ue_db-ims-slice-multi.cfg which are copied and modified from mme-ims.cfg and ue_db-ims.cfg

If you use other Network (e.g, other network simulator or real network), you have to make it sure to configure UE sim according to the settings on network side

NR SA NetworkSlice Test3 Config 01

NR SA NetworkSlice Test3 Config 02

NR SA NetworkSlice Test3 Config 03

Following is the configuration in  gnb-sa-slice.cfg

NR SA NetworkSlice Test3 Config 04

Followings are the configurations in  mme-ims-slice-multi.cfg

NR SA NetworkSlice Test3 Config 05

NR SA NetworkSlice Test3 Config 06

NR SA NetworkSlice Test3 Config 07

NR SA NetworkSlice Test3 Config 08

Followings are the configurations in ue_db-ims-slice-multi.cfg

NR SA NetworkSlice Test2 Config 09

Followings are the configurations in ue-nr-sa-slice-single.cfg

NR SA NetworkSlice Test3 Config 10

 

 

 

Perform the Test

Check with cell parameter and see if it is configured as intended.

NR SA NetworkSlice Test1 Run 01

Power on UE and make it sure that UE attaches

NR SA NetworkSlice Test1 Run 02

Confirm that UE completed the attach and get the IP address. If you don't get this including IP address, you need to troubleshoot.

NR SA NetworkSlice Test1 Run 03

 

 

 

Log Analysis

Sample Log

 

In this section, I will show you only the portions of the log that are relavent to this tutorial. For the full log, refer to the sample log linked aboved.

NR SA NetworkSlice Test3 Log 01

NR SA NetworkSlice Test3 Log 02

NR SA NetworkSlice Test3 Log 03

NR SA NetworkSlice Test3 Log 04

NR SA NetworkSlice Test3 Log 05

NR SA NetworkSlice Test3 Log 06

NR SA NetworkSlice Test3 Log 07

NR SA NetworkSlice Test3 Log 08

NR SA NetworkSlice Test3 Log 09

 

 

 

RRC / NAS Signaling

 

RegistrationRequest

: This is the RegistrationRequest message sent by  UE to inform the network slice configuration it wants (NOTE : You would see some IEs that has a specific assigned vale here, but consider it as just an example value. Those values should vary depending on test requirement)

 

Protocol discriminator = 0x7e (5GS Mobility Management)

Security header = 0x1 (Integrity protected)

Auth code = 0xc2653407

Sequence number = 0x09

Protocol discriminator = 0x7e (5GS Mobility Management)

Security header = 0x0 (Plain 5GS NAS message, not security protected)

Message type = 0x41 (Registration request)

5GS registration type:

  Follow-on request bit = 1

  Value = 1 (initial registration)

ngKSI:

  ..

5GS mobile identity:

  ...

UE security capability:

  ...

NAS message container:

  Protocol discriminator = 0x7e (5GS Mobility Management)

  Security header = 0x0 (Plain 5GS NAS message, not security protected)

  Message type = 0x41 (Registration request)

  5GS registration type:

    Follow-on request bit = 1

    Value = 1 (initial registration)

  ngKSI:

    ...

  5GS mobile identity:

    ...

  5GMM capability:

    0x03 (SGC=0, 5G-IPHC-CP CIoT=0, N3 data=0, 5G-CP CIoT=0, RestrictEC=0, LPP=0, HO attach=1, S1 mode=1)

  UE security capability:

    ...

  Requested NSSAI:

    S-NSSAI

      Length of S-NSSAI contents = 1 (SST)

      SST = 0x01

  Last visited registered TAI:

    ...

  S1 UE network capability:

    0xf0 (EEA0=1, 128-EEA1=1, 128-EEA2=1, 128-EEA3=1, EEA4=0, EEA5=0, EEA6=0, EEA7=0)

    0x70 (EIA0=0, 128-EIA1=1, 128-EIA2=1, 128-EIA3=1, EIA4=0, EIA5=0, EIA6=0, EIA7=0)

    0xc0 (UEA0=1, UEA1=1, UEA2=0, UEA3=0, UEA4=0, UEA5=0, UEA6=0, UEA7=0)

    0x40 (UCS2=0, UIA1=1, UIA2=0, UIA3=0, UIA4=0, UIA5=0, UIA6=0, UIA7=0)

    0x19 (ProSe-dd=0, ProSe=0, H.245-ASH=0, ACC-CSFB=1, LPP=1, LCS=0, 1xSRVCC=0, NF=1)

    0x80 (ePCO=1, HC-CP CIoT=0, ERw/oPDN=0, S1-U data=0, UP CIoT=0, CP CIoT=0, ProSe-relay=0, ProSe-dc=0)

    0xb0 (15 bearers=1, SGC=0, N1mode=1, DCNR=1, CP backoff=0, RestrictEC=0, V2X PC5=0, multipleDRB=0)

  UE's usage setting = 0x01 (Data centric)

  LADN indication:

    Length = 0

    Data =

  Network slicing indication = 0x00 (DCNI=0, NSSCI=0)

  5GS update type = 0x01 (EPS-PNB-CIoT=no additional information, 5GS-PNB-CIoT=no additional information, NG-RAN-RCU=0, SMS requested=1)

 

 

RegistrationAccept

: This is the RegistrationRequest message sent by  5G Core to inform the network slice configuration it allows (NOTE : You would see some IEs that has a specific assigned vale here, but consider it as just an example value. Those values should vary depending on test requirement)

 

Protocol discriminator = 0x7e (5GS Mobility Management)

Security header = 0x2 (Integrity protected and ciphered)

Auth code = 0x59b0464b

Sequence number = 0x02

Protocol discriminator = 0x7e (5GS Mobility Management)

Security header = 0x0 (Plain 5GS NAS message, not security protected)

Message type = 0x42 (Registration accept)

5GS registration result = 0x09 (Emergency registered=0, NSSAA to be performed=0, SMS allowed=1, 3GPP access)

5G-GUTI:

  ...

TAI list:

  ...

Allowed NSSAI:

  S-NSSAI

    Length of S-NSSAI contents = 1 (SST)

    SST = 0x01

5GS network feature support:

  0x03 (MPSI=0, IWK N26=0, EMF=not supported, EMC=not supported, IMS-VoPS-N3GPP=1, IMS-VoPS-3GPP=1)

  0x00 (5G-UP CIoT=0, 5G-IPHC-CP CIoT=0, N3 data=0, 5G-CP CIoT=0, RestrictEC=both CE mode A and CE mode B are not restricted, MCSI=0, EMCN3=0)

T3512 value:

  ...

Emergency number list:

  ...

 

 

 

Tips

 

Network slice is a feature that are related to all the protocol stack and data path from one end to another end (End to End), so there would be separate configurations scattered around many different components which may lead to a lot of confision. In this section, I will try to put some tips that may help in terms of general understanding and some troubleshoot tips. It would be good to get familiar with general understandings on Network Slicing from this note as well.

 

 

NSSAI in NAS message from Network

 

There are a few different NAS messages from Core Network that carries the slice information. Since most of the configuration is configured based on the information provided by the NAS message from UE and/or the configurations in mme.cfg. It would be good to understand how the slice information gets populated in the NAS message from Network.  When you want to troubleshoot for network slice test with UE, these can be a good starting point to look at.

 

NSSAI in Registration Accept

Basically NSSAI (Allowed NSSAI) in Registration Accept is determined by the NSSAI (Requested NSSAI) in Registration Request from UE. If UE does not specify anything in Requested NSSAI, network would configure the default NSSAI in Registration Accept. So if you think you are not getting the NSSAI from network as you expected, check out the NSSAI that UE requested. (Refer to 23.501 5.15.5.2.1 Registration to a set of Network Slices for further details)

 

S-NSSAI in PDU session establishment accept

The S-NSSAI sent by the AMF in PDU session establishment accept determined by the S-NSSAI in S-NSSAI in PDU session establishment Request from the UE. In this case, UE should use the NSSAI configured in ue_db.cfg. In pdn_list in ue_db, we configure a list of S-NSSAI allowed for a dnn. If the S-NSSAI requested by the UE during the PDU session establishment procedure is not in this list, the PDU session estblishment will be rejected

 

 

 

FAQ

 

[Q1]  Why Amarisoft Core Network does not assign NSSAI in Allowed NSSAI  as I expected in RegistrationAccept message?

[A1] Amarisoft Core Network assign NSSAI in RegistrationAccept message based on NSSAI of Requested NSSAI in RegistrationRequest from UE. If UE does not request any NSSAI in RegistrationRequest message, Amarisoft network assigns default NSSAI in RegisrationAccept message. So if you don't see NSSAI as expected in RegistrationAccept, double check on what UE requested in RegistrationRequest.

 

[Q2]  Why Amarisoft Core Network does not assign NSSAI in S-NSSAI  as I expected in PDU session establishment accept  message?

[A2] Amarisoft Core Network assign S-NSSAI in PDU session establishment accept  message based on S-NSSAI  in PDU session establishment request from UE.  So if you don't see NSSAI as expected in PDU session establishment accept  double check on what UE requested in PDU session establishment request

 

[Q3]  Why I am getting PDU session establishment reject from Network?

[A3] There can be so many different reasons for the reject, but in the context of Network slicing, it is likely to be due to followings :