ngap

package
v0.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 9, 2025 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CoreNetworkAssistanceInformation

type CoreNetworkAssistanceInformation struct {
	UEIdentityIndexValue            string                   `json:"ue_identity_index_value"`
	UESpecificDRX                   *utils.EnumField[uint64] `json:"ue_specific_drx,omitempty"`
	PeriodicRegistrationUpdateTimer string                   `json:"periodic_registration_update_timer"`
	MICOModeIndication              *string                  `json:"mico_mode_indication,omitempty"`
	TAIListForInactive              []TAI                    `json:"tai_list_for_inactive,omitempty"`
	ExpectedUEBehaviour             *ExpectedUEBehaviour     `json:"expected_ue_behaviour,omitempty"`
}

type CriticalityDiagnostics

type CriticalityDiagnostics struct {
	ProcedureCode             *utils.EnumField[int64]     `json:"procedure_code,omitempty"`
	TriggeringMessage         *utils.EnumField[uint64]    `json:"triggering_message,omitempty"`
	ProcedureCriticality      *utils.EnumField[uint64]    `json:"procedure_criticality,omitempty"`
	IEsCriticalityDiagnostics []IEsCriticalityDiagnostics `json:"ie_criticality_diagnostics,omitempty"`
}

type EUTRACGI

type EUTRACGI struct {
	PLMNID            PLMNID `json:"plmn_id"`
	EUTRACellIdentity string `json:"eutra_cell_identity"`
}

type ExpectedUEActivityBehaviour

type ExpectedUEActivityBehaviour struct {
	ExpectedActivityPeriod                 *int64                   `json:"expected_activity_period,omitempty"`
	ExpectedIdlePeriod                     *int64                   `json:"expected_idle_period,omitempty"`
	SourceOfUEActivityBehaviourInformation *utils.EnumField[uint64] `json:"source_of_ue_activity_behaviour_information,omitempty"`
}

type ExpectedUEBehaviour

type ExpectedUEBehaviour struct {
	ExpectedUEActivityBehaviour *ExpectedUEActivityBehaviour     `json:"expected_ue_activity_behaviour,omitempty"`
	ExpectedHOInterval          *utils.EnumField[uint64]         `json:"expected_ho_interval,omitempty"`
	ExpectedUEMobility          *utils.EnumField[uint64]         `json:"expected_ue_mobility,omitempty"`
	ExpectedUEMovingTrajectory  []ExpectedUEMovingTrajectoryItem `json:"expected_ue_moving_trajectory,omitempty"`
}

type ExpectedUEMovingTrajectoryItem

type ExpectedUEMovingTrajectoryItem struct {
	NGRANCGI         NGRANCGI `json:"ng_ran_cgi"`
	TimeStayedInCell *int64   `json:"time_stayed_in_cell,omitempty"`
}

type FiveGSTMSI

type FiveGSTMSI struct {
	AMFSetID   string `json:"amf_set_id"`
	AMFPointer string `json:"amf_pointer"`
	FiveGTMSI  string `json:"fiveg_tmsi"`
}

type ForbiddenAreaInformation

type ForbiddenAreaInformation struct {
	PLMNID        PLMNID   `json:"plmn_id"`
	ForbiddenTACs []string `json:"forbidden_tacs"`
}

type GTPTunnel added in v0.6.0

type GTPTunnel struct {
	GTPTEID               uint32 `json:"gtp_teid"`
	TransportLayerAddress string `json:"transport_layer_address"`
}

type GlobalRANNodeIDIE

type GlobalRANNodeIDIE struct {
	GlobalGNBID   string `json:"global_gnb_id,omitempty"`
	GlobalNgENBID string `json:"global_ng_enb_id,omitempty"`
	GlobalN3IWFID string `json:"global_n3iwf_id,omitempty"`
}

type Guami

type Guami struct {
	PLMNID      PLMNID `json:"plmn_id"`
	AMFRegionID string `json:"amf_region_id"`
	AMFSetID    string `json:"amf_set_id"`
	AMFPointer  string `json:"amf_pointer"`
}

type IE

type IE struct {
	ID          utils.EnumField[int64]  `json:"id"`
	Criticality utils.EnumField[uint64] `json:"criticality"`
	Value       any                     `json:"value,omitempty"`

	Error string `json:"error,omitempty"` // Reserved field for decoding errors
}

type IEsCriticalityDiagnostics

type IEsCriticalityDiagnostics struct {
	IECriticality utils.EnumField[uint64] `json:"ie_criticality"`
	IEID          utils.EnumField[int64]  `json:"ie_id"`
	TypeOfError   utils.EnumField[uint64] `json:"type_of_error"`
}

type MaximumBitRate added in v0.6.0

type MaximumBitRate struct {
	DownlinkNAggregateMaximumBitRate uint64 `json:"downlink_n_aggregate_maximum_bit_rate"`
	UplinkNAggregateMaximumBitRate   uint64 `json:"uplink_n_aggregate_maximum_bit_rate"`
}

type MobilityRestrictionList

type MobilityRestrictionList struct {
	ServingPLMN              PLMNID                     `json:"serving_plmn"`
	EquivalentPLMNs          []PLMNID                   `json:"equivalent_plmns,omitempty"`
	RATRestrictions          []RATRestriction           `json:"rat_restrictions,omitempty"`
	ForbiddenAreaInformation []ForbiddenAreaInformation `json:"forbidden_area_information,omitempty"`
	ServiceAreaInformation   []ServiceAreaInformation   `json:"service_area_information,omitempty"`
}

type NASPDU

type NASPDU struct {
	Raw     []byte          `json:"raw"`
	Decoded *nas.NASMessage `json:"decoded"`
}

type NGAPMessage

type NGAPMessage struct {
	PDUType       string                  `json:"pdu_type"`
	ProcedureCode utils.EnumField[int64]  `json:"procedure_code"`
	MessageType   string                  `json:"message_type,omitempty"`
	Criticality   utils.EnumField[uint64] `json:"criticality"`
	Value         NGAPMessageValue        `json:"value"`
}

func DecodeNGAPMessage

func DecodeNGAPMessage(raw []byte) NGAPMessage

type NGAPMessageValue

type NGAPMessageValue struct {
	IEs   []IE   `json:"ies,omitempty"`
	Error string `json:"error,omitempty"` // reserved field for decoding errors
}

type NGRANCGI

type NGRANCGI struct {
	NRCGI    *NRCGI    `json:"nr_ran_cgi,omitempty"`
	EUTRACGI *EUTRACGI `json:"eutra_cgi,omitempty"`

	Error string `json:"error,omitempty"` // Reserved field for decoding errors
}

type NRCGI

type NRCGI struct {
	PLMNID         PLMNID `json:"plmn_id"`
	NRCellIdentity string `json:"nr_cell_identity"`
}

type PDUSessionResourceFailedToSetupCxtRes

type PDUSessionResourceFailedToSetupCxtRes struct {
	PDUSessionID                                int64  `json:"pdu_session_id"`
	PDUSessionResourceSetupUnsuccessfulTransfer []byte `json:"pdu_session_resource_setup_unsuccessful_transfer"`
}

type PDUSessionResourceFailedToSetupSURes

type PDUSessionResourceFailedToSetupSURes struct {
	PDUSessionID                                int64  `json:"pdu_session_id"`
	PDUSessionResourceSetupUnsuccessfulTransfer []byte `json:"pdu_session_resource_setup_unsuccessful_transfer"`
}

type PDUSessionResourceItemCxtRelCpl

type PDUSessionResourceItemCxtRelCpl struct {
	PDUSessionID int64
}

type PDUSessionResourceListCxtRelReq

type PDUSessionResourceListCxtRelReq struct {
	PDUSessionID int64 `json:"pdu_session_id"`
}

type PDUSessionResourceReleasedItemRelRes

type PDUSessionResourceReleasedItemRelRes struct {
	PDUSessionID                              int64  `json:"pdu_session_id"`
	PDUSessionResourceReleaseResponseTransfer []byte `json:"pdu_session_resource_release_response_transfer"`
}

type PDUSessionResourceSetupCxtReq

type PDUSessionResourceSetupCxtReq struct {
	PDUSessionID                           int64                                  `json:"pdu_session_id"`
	NASPDU                                 *NASPDU                                `json:"nas_pdu,omitempty"`
	SNSSAI                                 SNSSAI                                 `json:"snssai"`
	PDUSessionResourceSetupRequestTransfer PDUSessionResourceSetupRequestTransfer `json:"pdu_session_resource_setup_request_transfer"`
}

type PDUSessionResourceSetupCxtRes

type PDUSessionResourceSetupCxtRes struct {
	PDUSessionID                            int64  `json:"pdu_session_id"`
	PDUSessionResourceSetupResponseTransfer []byte `json:"pdu_session_resource_setup_response_transfer"`
}

type PDUSessionResourceSetupRequestTransfer added in v0.6.0

type PDUSessionResourceSetupRequestTransfer struct {
	ULNGUUPTNLInformation   *ULNGUUPTNLInformation  `json:"ul_ng_u_up_tnl_information,omitempty"`
	QosFlowSetupRequestList []QosFlowSetupRequest   `json:"qos_flow_setup_request_list,omitempty"`
	PduSType                *utils.EnumField[int64] `json:"pdu_s_type,omitempty"`
	MaximumBitRate          *MaximumBitRate         `json:"maximum_bit_rate,omitempty"`
	SecurityIndication      *UnsupportedIE          `json:"security_indication,omitempty"`
}

type PDUSessionResourceSetupSUReq

type PDUSessionResourceSetupSUReq struct {
	PDUSessionID                           int64   `json:"pdu_session_id"`
	PDUSessionNASPDU                       *NASPDU `json:"pdu_session_nas_pdu,omitempty"`
	SNSSAI                                 SNSSAI  `json:"snssai"`
	PDUSessionResourceSetupRequestTransfer []byte  `json:"pdu_session_resource_setup_request_transfer"`
}

type PDUSessionResourceSetupSURes

type PDUSessionResourceSetupSURes struct {
	PDUSessionID                            int64  `json:"pdu_session_id"`
	PDUSessionResourceSetupResponseTransfer []byte `json:"pdu_session_resource_setup_response_transfer"`
}

type PDUSessionResourceToReleaseListRelCmd

type PDUSessionResourceToReleaseListRelCmd struct {
	PDUSessionID                             int64  `json:"pdu_session_id"`
	PDUSessionResourceReleaseCommandTransfer []byte `json:"pdu_session_resource_release_command_transfer"`
}

type PLMN

type PLMN struct {
	PLMNID           PLMNID   `json:"plmn_id"`
	SliceSupportList []SNSSAI `json:"slice_support_list,omitempty"`
}

type PLMNID

type PLMNID struct {
	Mcc string `json:"mcc"`
	Mnc string `json:"mnc"`
}

type QosFlowSetupRequest added in v0.6.0

type QosFlowSetupRequest struct {
	QosId  int64 `json:"qos_id"`
	FiveQi int64 `json:"five_qi"`
	PriArp int64 `json:"pri_arp"`
}

type RATRestriction

type RATRestriction struct {
	PLMNID                    PLMNID `json:"plmn_id"`
	RATRestrictionInformation string `json:"rat_restriction_information"`
}

type SNSSAI

type SNSSAI struct {
	SST int32   `json:"sst"`
	SD  *string `json:"sd,omitempty"`
}

type ServiceAreaInformation

type ServiceAreaInformation struct {
	PLMNID         PLMNID   `json:"plmn_id"`
	AllowedTACs    []string `json:"allowed_tacs,omitempty"`
	NotAllowedTACs []string `json:"not_allowed_tacs,omitempty"`
}

type SupportedTA

type SupportedTA struct {
	TAC               string `json:"tac"`
	BroadcastPLMNList []PLMN `json:"broadcast_plmn_list,omitempty"`
}

type TAI

type TAI struct {
	PLMNID PLMNID `json:"plmn_id"`
	TAC    string `json:"tac"`
}

type UEAggregateMaximumBitRate

type UEAggregateMaximumBitRate struct {
	Downlink int64 `json:"downlink"`
	Uplink   int64 `json:"uplink"`
}

type UENGAPIDPair

type UENGAPIDPair struct {
	AMFUENGAPID int64 `json:"amf_ue_ngap_id"`
	RANUENGAPID int64 `json:"ran_ue_ngap_id"`
}

type UENGAPIDs

type UENGAPIDs struct {
	AMFUENGAPID  int64        `json:"amf_ue_ngap_id"`
	UENGAPIDPair UENGAPIDPair `json:"ue_ngap_id_pair"`
}

type UEPagingIdentity added in v0.6.0

type UEPagingIdentity struct {
	FiveGSTMSI FiveGSTMSI `json:"five_gs_tmsi"`
}

type UESecurityCapabilities

type UESecurityCapabilities struct {
	NRencryptionAlgorithms             []string `json:"nr_encryption_algorithms"`
	NRintegrityProtectionAlgorithms    []string `json:"nr_integrity_protection_algorithms"`
	EUTRAencryptionAlgorithms          string   `json:"eutra_encryption_algorithms"`
	EUTRAintegrityProtectionAlgorithms string   `json:"eutra_integrity_protection_algorithms"`
}

type ULNGUUPTNLInformation added in v0.6.0

type ULNGUUPTNLInformation struct {
	GTPTunnel GTPTunnel `json:"gtp_tunnel"`
}

type UnsupportedIE added in v0.6.0

type UnsupportedIE struct {
	Status string `json:"status"`
}

type UserLocationInformation

type UserLocationInformation struct {
	EUTRA *UserLocationInformationEUTRA `json:"eutra,omitempty"`
	NR    *UserLocationInformationNR    `json:"nr,omitempty"`
	N3IWF *UserLocationInformationN3IWF `json:"n3iwf,omitempty"`

	Error string `json:"error,omitempty"` // Reserved field for decoding errors
}

type UserLocationInformationEUTRA

type UserLocationInformationEUTRA struct {
	EUTRACGI  EUTRACGI `json:"eutra_cgi"`
	TAI       TAI      `json:"tai"`
	TimeStamp *string  `json:"timestamp,omitempty"`

	Error string `json:"error,omitempty"` // Reserved field for decoding errors
}

type UserLocationInformationN3IWF

type UserLocationInformationN3IWF struct {
	IPAddress  string `json:"ip_address"`
	PortNumber int32  `json:"port_number"`
}

type UserLocationInformationNR

type UserLocationInformationNR struct {
	NRCGI     NRCGI   `json:"nr_cgi"`
	TAI       TAI     `json:"tai"`
	TimeStamp *string `json:"timestamp,omitempty"`

	Error string `json:"error,omitempty"` // Reserved field for decoding errors
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL