Error in UE registration, AMF not found

,

Hello everyone, for a university thesis project I need to develop software that connects to free5GC and tests its behavior through SCAS verification, in order to determine if the network is compliant with 3GPP standards (TR 33.926).
In my software, I use UERANSIM for UE registration, specifically providing it with the following .yaml configuration files:

gnb-config.yaml:

mcc: '208'
mnc: '93'
nci: '0x000000010'
idLength: 32
tac: 1
linkIp: 127.0.0.1
ngapIp: 10.100.200.100
gtpIp: 10.100.200.100
amfConfigs:
- address: 10.100.200.16
  port: 38412
slices:
- sst: '01'
  sd: '010203'
ignoreStreamIds: true

ue-config.yaml:

supi: imsi-208930000000001
mcc: '208'
mnc: '93'
key: 8baf473f2f8fd09487cccbd7097c6862
op: 8e27b6af0e692e750f32667a3b14605d
opType: OPC
amf: '8000'
imei: '356938035643804'
imeiSv: '4370816125816152'
gnbSearchList:
- 127.0.0.1
sessions:
- type: IPv4
  apn: internet
  slice:
    sst: '01'
    sd: '010203'
configured-nssai:
- sst: '01'
  sd: '010203'
default-nssai:
- sst: 1
  sd: 1
uacAic:
  mps: false
  mcs: false
uacAcc:
  normalClass: 0
  class11: false
  class12: false
  class13: false
  class14: false
  class15: false
protectionScheme: 0
routingIndicator: '0000'
homeNetworkPublicKey: 5a8d38864820197c3394b92613b20b91633cbd897119273bf8e4a6f4eec0a650
homeNetworkPublicKeyId: 1
integrity:
 IA1: true
 IA2: true
 IA3: true
ciphering:
  EA1: true
  EA2: true
  EA3: true
integrityMaxRate:
  uplink: full
  downlink: full

At this point, I start the registration with the commands: nr-gnb -c gnb-config.yaml and nr-ue -c ue-config.yaml. free5GC is configured using static IPs in the subnet 10.100.200.0/24 (I removed the URIs like amf.free5gc.org, etc.). Additionally, I configured the subscriber via the web UI with the following values:

The registration starts correctly but fails when the AMF needs to notify the NRF that it will handle the registration:

Thank you in advance for your help!

Hi,

The cause of this failure is a configuration error in your *-config.yaml.

The sd value you set was interpreted as a Decimal number instead of the Hexadecimal value you intended.

The log confirms this: it shows the value as 0027db (the hex representation of decimal 10203), not the 010203 you expected.
image

You can set it using an integer, such as sd: 0x010203 or sd: 66051 (the decimal representation of 0x010203)
image

I would suggest referring to the original *-config.yaml file when inputting the configuration to ensure all the values are entered correctly.

Thanks.