Documentation ¶
Index ¶
- Constants
- Variables
- type BroadcastPLMN
- type GNB
- func (gnb *GNB) Decode(pdu *[]byte)
- func (gnb *GNB) GetDebugLevel() int
- func (gnb *GNB) MakeInitialContextSetupResponse() (pdu []byte)
- func (gnb *GNB) MakeInitialUEMessage() (pdu []byte)
- func (gnb *GNB) MakeNGSetupRequest() (pdu []byte)
- func (gnb *GNB) MakePDUSessionResourceSetupResponse() (pdu []byte)
- func (gnb *GNB) MakeUplinkNASTransport() (pdu []byte)
- func (gnb *GNB) RecvfromUE(pdu *[]byte)
- func (gnb *GNB) SendtoUE(pdu *[]byte)
- func (gnb *GNB) SetDebugLevel(level int)
- type GlobalGNBID
- type NRCGI
- type PLMN
- type SliceSupport
- type SupportedTA
- type TAI
- type UserLocationInformationNR
Constants ¶
View Source
const ( ULInfoEUTRA = iota ULInfoNR ULInfoN3IWF )
9.3.1.16 User Location Information
UserLocationInformation ::= CHOICE { userLocationInformationEUTRA UserLocationInformationEUTRA, userLocationInformationNR UserLocationInformationNR, userLocationInformationN3IWF UserLocationInformationN3IWF, choice-Extensions ProtocolIE-SingleContainer { {UserLocationInformation-ExtIEs} } }
Variables ¶
View Source
var PDUSessionTypeStr = map[int]string{ // contains filtered or unexported fields }
Functions ¶
This section is empty.
Types ¶
type BroadcastPLMN ¶
type BroadcastPLMN struct { MCC uint16 MNC uint16 SliceSupportList []SliceSupport }
Broadcast PLMN Item is defined in 9.2.6.1 NG SETUP REQUEST
BroadcastPLMNItem ::= SEQUENCE { pLMNIdentity PLMNIdentity, tAISliceSupportList SliceSupportList, iE-Extensions ProtocolExtensionContainer { {BroadcastPLMNItem-ExtIEs} } OPTIONAL, ... }
type GNB ¶
type GNB struct { GlobalGNBID GlobalGNBID SupportedTAList []SupportedTA PagingDRX string RANUENGAPID uint32 UE nas.UE ULInfoNR UserLocationInformationNR NGAPPeerAddr string GTPuAddr string // to be obsolete GTPuLocalAddr string GTPuIFname string GTPuTEID uint32 Recv struct { AMFUENGAPID []byte PDUSessionID uint8 QosFlowID uint8 GTPuPeerAddr net.IP GTPuPeerTEID uint32 } SendNasMsg *[]byte RecvNasMsg *[]byte DecodeError error // contains filtered or unexported fields }
func (*GNB) GetDebugLevel ¶
func (*GNB) MakeInitialContextSetupResponse ¶
9.2.2.2 INITIAL CONTEXT SETUP RESPONSE
InitialContextSetupResponse ::= SEQUENCE { protocolIEs ProtocolIE-Container { {InitialContextSetupResponseIEs} }, ... }
InitialContextSetupResponseIEs NGAP-PROTOCOL-IES ::= { { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| { ID id-PDUSessionResourceSetupListCxtRes CRITICALITY ignore TYPE PDUSessionResourceSetupListCxtRes PRESENCE optional }| { ID id-PDUSessionResourceFailedToSetupListCxtRes CRITICALITY ignore TYPE PDUSessionResourceFailedToSetupListCxtRes PRESENCE optional }| { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, ... }
func (*GNB) MakeInitialUEMessage ¶
9.2.5.1 INITIAL UE MESSAGE
InitialUEMessage ::= SEQUENCE { protocolIEs ProtocolIE-Container { {InitialUEMessage-IEs} }, ... }
InitialUEMessage-IEs NGAP-PROTOCOL-IES ::= { { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| { ID id-NAS-PDU CRITICALITY reject TYPE NAS-PDU PRESENCE mandatory }| { ID id-UserLocationInformation CRITICALITY reject TYPE UserLocationInformation PRESENCE mandatory }| { ID id-RRCEstablishmentCause CRITICALITY ignore TYPE RRCEstablishmentCause PRESENCE mandatory }| { ID id-FiveG-S-TMSI CRITICALITY reject TYPE FiveG-S-TMSI PRESENCE optional }| { ID id-AMFSetID CRITICALITY ignore TYPE AMFSetID PRESENCE optional }| { ID id-UEContextRequest CRITICALITY ignore TYPE UEContextRequest PRESENCE optional }| { ID id-AllowedNSSAI CRITICALITY reject TYPE AllowedNSSAI PRESENCE optional }, ... }
func (*GNB) MakeNGSetupRequest ¶
9.2.6.1 NG SETUP REQUEST
NGSetupRequest ::= SEQUENCE { protocolIEs ProtocolIE-Container { {NGSetupRequestIEs} }, ... }
NGSetupRequestIEs NGAP-PROTOCOL-IES ::= { { ID id-GlobalRANNodeID CRITICALITY reject TYPE GlobalRANNodeID PRESENCE mandatory }| { ID id-RANNodeName CRITICALITY ignore TYPE RANNodeName PRESENCE optional }| { ID id-SupportedTAList CRITICALITY reject TYPE SupportedTAList PRESENCE mandatory }| { ID id-DefaultPagingDRX CRITICALITY ignore TYPE PagingDRX PRESENCE mandatory }| { ID id-UERetentionInformation CRITICALITY ignore TYPE UERetentionInformation PRESENCE optional }, ... }
func (*GNB) MakePDUSessionResourceSetupResponse ¶
9.2.1.2 PDU SESSION RESOURCE SETUP RESPONSE
PDUSessionResourceSetupResponse ::= SEQUENCE { protocolIEs ProtocolIE-Container { {PDUSessionResourceSetupResponseIEs} }, ... }
PDUSessionResourceSetupResponseIEs NGAP-PROTOCOL-IES ::= { { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| { ID id-PDUSessionResourceSetupListSURes CRITICALITY ignore TYPE PDUSessionResourceSetupListSURes PRESENCE optional }| { ID id-PDUSessionResourceFailedToSetupListSURes CRITICALITY ignore TYPE PDUSessionResourceFailedToSetupListSURes PRESENCE optional }| { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, ... }
func (*GNB) MakeUplinkNASTransport ¶
9.2.5.3 UPLINK NAS TRANSPORT
UplinkNASTransport ::= SEQUENCE { protocolIEs ProtocolIE-Container { {UplinkNASTransport-IEs} }, ... }
UplinkNASTransport-IEs NGAP-PROTOCOL-IES ::= { { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| { ID id-NAS-PDU CRITICALITY reject TYPE NAS-PDU PRESENCE mandatory }| { ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE mandatory }, ... }
func (*GNB) RecvfromUE ¶
func (*GNB) SetDebugLevel ¶
type GlobalGNBID ¶
9.3.1.6 Global gNB ID
GlobalGNB-ID ::= SEQUENCE { pLMNIdentity PLMNIdentity, gNB-ID GNB-ID, iE-Extensions ProtocolExtensionContainer { {GlobalGNB-ID-ExtIEs} } OPTIONAL, ... }
type NRCGI ¶
9.3.1.7 NR CGI
NR-CGI ::= SEQUENCE { pLMNIdentity PLMNIdentity, nRCellIdentity NRCellIdentity, iE-Extensions ProtocolExtensionContainer { {NR-CGI-ExtIEs} } OPTIONAL, ... }
NRCellIdentity ::= BIT STRING (SIZE(36))
type SliceSupport ¶
SliceSupportItem ::= SEQUENCE { s-NSSAI S-NSSAI, iE-Extensions ProtocolExtensionContainer { {SliceSupportItem-ExtIEs} } OPTIONAL, ... }
type SupportedTA ¶
type SupportedTA struct { TAC string BroadcastPLMNList []BroadcastPLMN }
Supported TA Item is defined in 9.2.6.1 NG SETUP REQUEST
SupportedTAItem ::= SEQUENCE { tAC TAC, broadcastPLMNList BroadcastPLMNList, iE-Extensions ProtocolExtensionContainer { {SupportedTAItem-ExtIEs} } OPTIONAL, ... }
type TAI ¶
9.3.3.11 TAI
TAI ::= SEQUENCE { pLMNIdentity PLMNIdentity, tAC TAC, iE-Extensions ProtocolExtensionContainer { {TAI-ExtIEs} } OPTIONAL, ... }
type UserLocationInformationNR ¶
UserLocationInformationNR ::= SEQUENCE { nR-CGI NR-CGI, tAI TAI, timeStamp TimeStamp OPTIONAL, iE-Extensions ProtocolExtensionContainer { {UserLocationInformationNR-ExtIEs} } OPTIONAL, ... }
Click to show internal directories.
Click to hide internal directories.