Dflux
  • Welcome
  • 👍Getting-started
    • Architecture
    • Installing
    • FAQ
    • How to contribute?
    • Privacy
  • DFXE (ENF)
    • Architecture
    • Concepts
      • Flow
      • Envv
      • Config
      • Fsm
      • Messages
      • Testing
      • Settings
      • Templates
      • Report
    • API Reference
    • Examples
    • Observability
  • DFXP
    • Architecture
  • NF's
    • Gnb
    • Enb
    • Protocols
  • cli
    • dfxe
    • dfxt
    • dfxp
  • Release Notes
Powered by GitBook
On this page
  • Next Generation NodeB
  • Features
  • Specifications
  • Control Plane Capabilities
  • Procedures
  • Interface Management
  • NGSetup Procedures
  • NG Reset Procedures
  • Registration Management
  • UE Registration Procedure
  • UE DeRegistration Procedure
  • PDU Session Management
  • PDU Session Establish Procedure
  • Messages/Events

Was this helpful?

  1. NF's

Gnb

38413 3GPP NR Release 15

Next Generation NodeB

5G wireless base stations that transmit and receive communications between the user equipment and the mobile network.

Features

  • Simulate thousands of sessions across multiple coordinated interfaces:

    • CP N2/N1 interfaces

    • UP N3 interface

    • CP N4 (PCRF) to test standalone UPF with UP N3

  • Simulate thousands UE SIM configuration (Ki,Opc, Mobile Identity (IMSI,MSISDN)

  • Validate PDU Sessions establishment, uplink and downlink flows, deletion and modification of the sessions

Specifications

Protocol
Feature

TS 123 501 V16.10.0

System architecture for the 5G System (5GS)

TS 123 502 V16.10.0

Procedures for the 5G System (5GS)

TS 124 501 V16.10.0

Non-Access-Stratum (NAS) protocol for 5G System (5GS)

TS 138 413 V16.7.0

ng application protocol (ngap)

TS 29.281

General Packet Radio System (GPRS) Tunnelling Protocol UserPlane (GTPv1-U)

TS 133 501 V16.8.0

Security architecture and procedures for 5G System

RFC 4960

Stream Control Transmission Protocol

Control Plane Capabilities

Category
Procedure
Status

Interface Management

NGSetup

DONE

Interface Management

NGReset

TODO

Registartion & Management

Registration

PDU Session Management

PDU Session Establishment

DONE

PDU Session Management

PDU Session Modify

TODO

PDU Session Management

PDU Session Release

PROGRESS

Procedures

Interface Management

NGSetup Procedures

The purpose of the NG Setup procedure is to exchange application level data needed for the NG-RAN node and the AMF to correctly interpret on the NG-C interface. This procedure shall be the first NGAP procedure triggered after the TNL association has become operational. The procedure uses non-UE associated signalling.

The procedure erases any existing application level configuration data in the two nodes, replaces it by the one received and clears AMF overload state information at the NG-RAN node. If the NG-RAN node and AMF do not agree on retaining the UE contexts this procedure also re-initialises the NGAP UE-related contexts (if any) and erases all related signalling connections in the two nodes like an NG Reset procedure would do.

NG Succesfull operation

The NG-RAN node initiates the procedure by sending an NG SETUP REQUEST message including the appropriate data to the AMF. The AMF responds with an NG SETUP RESPONSE message including the appropriate data.

If the UE Retention Information IE set to “ues-retained“ is included in the NG SETUP REQUEST message, the AMF may accept the proposal to retain the existing UE related contexts and signalling connections by including the UE Retention Information IE set to “ues-retained“ in the NG SETUP RESPONSE message.

NgSetupRequest

{
  "Criticality": "reject",
  "GlobalRANNodeID": {
    "Criticality": "notify",
    "PlmnIdentity": {
      "MCC": "208",
      "MNC": "93"
    },
    "GNBID": {
      "Present": "GnbId",
      "GnbId": {
        "BitLength": 24,
        "BitValue": "123456"
      }
    }
  },
  "RANNodeName": "GNBENF",
  "SupportedTAList": [
    {
      "Tac": "000001",
      "BroadcastPLMNList": [
        {
          "PlmnIdentity": {
            "MCC": "208",
            "MNC": "93"
          },
          "TAISliceSupportList": [
            {
              "NssaiSst": 1,
              "NssaiSd": "010203"
            },
            {
              "NssaiSst": 1,
              "NssaiSd": "112233"
            }
          ]
        }
      ]
    }
  ]
}

NgSetupResponse

{
  "NGAPOutcome": "success",
  "AmfName": "AMF",
  "ServedGUAMIList": [
    {
      "BackupAmfName": "",
      "Guami": {
        "PlmnIdentity": {
          "MCC": "208",
          "MNC": "93"
        },
        "AMFPointer": "cafe00"
      }
    }
  ],
  "RelativeAMFCapacity": 255,
  "PlmnSupportList": [
    {
      "PlmnIdentity": "9",
      "SliceSupportList": [
        {
          "NssaiSst": "1",
          "NssaiSd": "010203"
        },
        {
          "NssaiSst": "1",
          "NssaiSd": "113"
        }
      ]
    }
  ]
}

NG UnSuccesfull operation

If the AMF cannot accept the setup, it should respond with an NG SETUP FAILURE message and appropriate cause value.

If the NG SETUP FAILURE message includes the Time to Wait IE, the NG-RAN node shall wait at least for the indicated time before reinitiating the NG Setup procedure towards the same AMF.

NgSetupFaiue

NG Reset Procedures

The purpose of the NG Reset procedure is to initialise or reinitialize the RAN, or part of RAN NGAP UE-related contexts, in the event of a failure in the 5GC or vice versa. This procedure does not affect the application level configuration data exchanged during, e.g., the NG Setup procedure. The procedure uses non-UE associated signalling.

NG Reset Successful Initiated by GNB

In the event of a failure at the NG-RAN node which has resulted in the loss of some or all transaction reference information, an NG RESET message shall be sent to the AMF.

At reception of the NG RESET message the AMF shall release all allocated resources on NG related to the UE association(s) indicated explicitly or implicitly in the NG RESET message and remove the NGAP ID for the indicated UE associations.

Registration Management

The Registration Management is used to register or deregister a UE/user with the network, and establish the user context in the network. The Connection Management is used to establish and release the signalling connection between the UE and the AMF.

UE Registration Procedure

A UE/user needs to register with the network to receive services that requires registration. Once registered and if applicable the UE updates its registration with the network:

  • periodically, in order to remain reachable (Periodic Registration Update

  • upon mobility (Mobility Registration Update)

  • to update its capabilities or re-negotiate protocol parameters (Mobility Registration Update).

NGAPInitiateUEMessage.NASRegistrationRequest

{
  "Criticality": "ignore",
  "RanUeNGAPId": 1000,
  "UserLocationInformation": {
    "Present": "NR",
    "UserLocationInformationNR": {
      "NRCGI": {
        "PlmnIdentity": {
          "MCC": "208",
          "MNC": "93"
        },
        "NGCELLID": {
          "BitLength": 36,
          "BitValue": "000000001"
        }
      },
      "TAI": {
        "PlmnIdentity": {
          "MCC": "208",
          "MNC": "93"
        },
        "NGTAC": "000001"
      }
    }
  },
  "RRCEstablishmentCause": "emergency",
  "UEContextRequest": "requested",
  "NASRegistrationRequest": {
    "FiveGSMobileIdentity": {
      "FiveGSMobileIdentityType": "suci",
      "GSMobileIdentitySUCIFormatImsi": {
        "SUPIFormat": "imsi",
        "MCC": "208",
        "MNC": "93",
        "RoutingIndicatorDigits": "fff0",
        "ProtectionSchemeIdentifier": "null",
        "PKIIdentifier": 0,
        "SchemeOutput": "0000000003"
      }
    },
    "NGKSI": {
      "NGKSIIdentifier": 1,
      "NGKSITSC": "nativeSecurityContext"
    },
    "FiveGSRegistrationType": "initial"
  }
}

NGAPDownLinkTransport.NASAuthenticationRequest

{
  "RanUeNGAPId": 1000,
  "AmfUeNGAPId": 1,
  "OldAmfName": "",
  "IndexToRFSP": 0,
  "UEAggregateMaximumBitRate": {
    "MaxBitRateDL": 0,
    "MaxBitRateUL": 0
  },
  "Present": "AuthenticationRequest",
  "NASAuthenticationRequest": {
    "RAND": [218,248,152,6,214,181,251,202,58,123,195,165,253,166,215,168],
    "AUTN": [117,10,231,113,198,39,128,0,215,137,250,49,82,161,76,255],
    "NGKSI": 0,
    "ABBA": "AAA="
  }
} 

NGAPUplinkTransport.NASAuthenticationResponse

{
  "RanUeNGAPId": 1000,
  "AmfUeNGAPId": 1,
  "UserLocationInformation": {
    "Present": "NR",
    "UserLocationInformationNR": {
      "NRCGI": {
        "PlmnIdentity": {
          "MCC": "208",
          "MNC": "93"
        },
        "NGCELLID": {
          "BitLength": 36,
          "BitValue": "000000001"
        }
      },
      "TAI": {
        "PlmnIdentity": {
          "MCC": "208",
          "MNC": "93"
        },
        "NGTAC": "000001"
      }
    }
  },
  "Present": "AuthenticationResponse",
  "NASAuthenticationResponse": {}
} 

NGAPDownLinkTransport.NASSecurityModeCommand

{
  "RanUeNGAPId": 1000,
  "AmfUeNGAPId": 1,
  "OldAmfName": "",
  "IndexToRFSP": 0,
  "UEAggregateMaximumBitRate": {
    "MaxBitRateDL": 0,
    "MaxBitRateUL": 0
  },
  "Present": "SecurityModeCommand",
  "NASSecurityModeCommand": {
    "SelectedSecurityAlg": 2,
    "NGKSI": 1,
    "UESecurityCapability": "gCAAAAAAAAA=",
    "IMEISV": 225,
    "SelectedEPSSecurityAlg": 0,
    "Additional5GSecurityInfo": 0,
    "ReplayedUESecurityCapabilities": "gCAAAAAAAAA="
  }
} 

NGAPUpLinkTransport.NASSecurityModeComplete

{
  "RanUeNGAPId": 1000,
  "AmfUeNGAPId": 1,
  "UserLocationInformation": {
    "Present": "NR",
    "UserLocationInformationNR": {
      "NRCGI": {
        "PlmnIdentity": {
          "MCC": "208",
          "MNC": "93"
        },
        "NGCELLID": {
          "BitLength": 36,
          "BitValue": "000000001"
        }
      },
      "TAI": {
        "PlmnIdentity": {
          "MCC": "208",
          "MNC": "93"
        },
        "NGTAC": "000001"
      }
    }
  },
  "Present": "SecurityModeComplete",
  "NASSecurityModeComplete": {}
}

NGAPInitialContextSetupRequest.NASRegistrationAccept

{
  "RanUeNGAPId": 1000,
  "AmfUeNGAPId": 1,
  "OldAmfName": "",
  "IndexToRFSP": 0,
  "UEAggregateMaximumBitRate": {
    "MaxBitRateDL": 0,
    "MaxBitRateUL": 0
  },
  "CriticalityDiagnosticsItems": null,
  "RegistrationAccept": {
    "RegistrationResult5GS": 1,
    "GUTI": "20893cafe0000000001",
    "T3502GprsTimer": 44,
    "T3512Timer": 6,
    "SNSSAI": "BAEBAgMEAREiMw==",
    "PartialTrackingAreaIdentityList": "AAL4OQAAAQ=="
  }
} 

NGAPInitialContextSetupResponse.NASRegistrationComplete

{
  "RanUeNGAPId": 1000,
  "AmfUeNGAPId": 1,
  "UserLocationInformation": {
    "Present": "NR",
    "UserLocationInformationNR": {
      "NRCGI": {
        "PlmnIdentity": {
          "MCC": "208",
          "MNC": "93"
        },
        "NGCELLID": {
          "BitLength": 36,
          "BitValue": "000000001"
        }
      },
      "TAI": {
        "PlmnIdentity": {
          "MCC": "208",
          "MNC": "93"
        },
        "NGTAC": "000001"
      }
    }
  },
  "Present": "RegistrationComplete",
  "NASRegistrationComplete": {}
} 

UE DeRegistration Procedure

The Deregistration procedure allows:

  • the UE to inform the network that it does not want to access the 5GS any longer, and

  • the network to inform the UE that it does not have access to the 5GS any longer.

  1. The UE sends NAS message Deregistration Request (5G-GUTI, Deregistration type (e.g. Switch off), AccessType) to the AMF. Access type indicates whether the Deregistration procedure applies to the 3GPP access, to the non-3GPP access, or to both if the 3GPP access and non-3GPP access of the UE are served by the same AMF (refer to TS 23.501). The AMF shall invoke the Deregistration procedure for the target access indicated by the UE.

  2. The AMF sends NAS message Deregistration Accept to UE depending on the Deregistration type i.e. if Deregistration type is switch-off, AMF does not send Deregistration Accept message.

  3. The AMF sends N2 UE Context Release command to GNBSIM with Cause set to Deregistration to release N2 signalling connection.

  4. The GNBSIM sends N2 UE Conext Release complete to AMF. This message is sent confirm the release of the UE-associated logical NG-connection over the NG interface.

NAS Deregistration Request

NGAP UEContextReleaseComplete

PDU Session Management

PDU Session Establish Procedure

A PDU Session establishment may correspond to:

  • a UE initiated PDU Session Establishment procedure.

  • a UE initiated PDU Session handover between 3GPP and non-3GPP.

  • a UE initiated PDU Session handover from EPS to 5GS.

  • a Network triggered PDU Session Establishment procedure. In this case the network sends the device trigger message to application(s) on the UE side. The payload included in Device Trigger Request message contains information on which application on the UE side is expected to trigger the PDU Session establishment request. Based on that information, the application(s) on the UE side trigger the PDU Session Establishment procedure.

In order to establish a new PDU Session, the UE generates a new PDU Session ID.

The GNBSIM initiates the UE Requested PDU Session Establishment procedure by the transmission of a NAS message containing a PDU Session Establishment Request within the N1 SM container. The PDU Session Establishment Request includes a PDU session ID, Requested PDU Session Type, a Requested SSC mode, 5GSM Capability, PCO, SM PDU DN Request Container, [Number Of Packet Filters], [Header Compression Configuration], UE Integrity Protection Maximum Data Rate, and [Always-on PDU Session Requested].

The Request Type indicates "Initial request" if the PDU Session Establishment is a request to establish a new PDU Session and indicates "Existing PDU Session" if the request refers to an existing PDU Session switching between 3GPP access and non-3GPP access or to a PDU Session handover from an existing PDN connection in EPC.

NGAPUpLinkTransport.NASPDUSessionEstablishmentRequest

{
  "RanUeNGAPId": 1000,
  "AmfUeNGAPId": 1,
  "UserLocationInformation": {
    "Present": "NR",
    "UserLocationInformationNR": {
      "NRCGI": {
        "PlmnIdentity": {
          "MCC": "208",
          "MNC": "93"
        },
        "NGCELLID": {
          "BitLength": 36,
          "BitValue": "000000001"
        }
      },
      "TAI": {
        "PlmnIdentity": {
          "MCC": "208",
          "MNC": "93"
        },
        "NGTAC": "000001"
      }
    }
  },
  "Present": "PduSessionEstablishmentRequest",
  "NASPduSessionEstablishmentRequest": {
    "PDUSessionId": 2,
    "PTI": 0,
    "IntegrityProtectedMaxDataRate": {
      "MaxDataRateUL": 255,
      "MaxDataRateDL": 255
    },
    "SSCMode": 1,
    "RequestType": 1,
    "PDUSessionType": 1,
    "DNN": ""
  }
} 

NGAPDownLinkTransport.NASPDUSessionEstablishmentAccept

{
  "RanUeNGAPId": 1000,
  "AmfUeNGAPId": 1,
  "RANPagingPriority": 0,
  "UEAggregateMBR": {
    "MaxBitRateDL": 2000000000,
    "MaxBitRateUL": 1000000000
  },
  "CriticalityDiagnosticsItems": null,
  "PDUSessionEstablishmentAccept": {
    "PDUSessionId": 2,
    "RemoteTEID": 1,
    "RemoteAddress": "127.0.0.8",
    "UEPduAddress": "60.60.0.1"
  }
} 

NGAPPDUSessionSetupResponse

{
  "RanUeNGAPId": 1000,
  "AmfUeNGAPId": 1,
  "PDUSessionResourceSetupList": [
    {
      "PDUSessionId": 2,
      "GTPTunnel": {
        "TransportLayerAddress": "192.168.1.101",
        "TEID": 1000
      }
    }
  ]
} 

Messages/Events

PreviousNF'sNextEnb

Last updated 2 years ago

Was this helpful?