Documentation
¶
Index ¶
- Constants
- type AMBR
- type Additional5GSecurityInformation
- type AllowedPDUSessionStatus
- type AuthenticationFailure
- type AuthenticationReject
- type AuthenticationRequest
- type AuthenticationResponse
- type AuthenticationResponseParameter
- type Capability5GSM
- type CipheringAlgorithm
- type DLNASTransport
- type ExtendedProtocolConfigurationOptions
- type GmmHeader
- type GmmMessage
- type GsmHeader
- type GsmMessage
- type IdentityRequest
- type IdentityResponse
- type IntegrityAlgorithm
- type IntegrityProtectionMaximumDataRate
- type MobileIdentity
- type MobileIdentity5GS
- type NASMessage
- type NetworkFeatureSupport5GS
- type PDUSessionCause
- type PDUSessionEstablishmentAccept
- type PDUSessionEstablishmentRequest
- type PDUSessionReactivateResultPDU
- type PDUSessionStatusPDU
- type PLMNID
- type PacketFilter
- type PacketFilterComponent
- type PayloadContainer
- type QoSFlowDescription
- type QosFlowParameter
- type QosRule
- type RegistrationAccept
- type RegistrationComplete
- type RegistrationReject
- type RegistrationRequest
- type SNSSAI
- type SecurityHeader
- type SecurityModeCommand
- type SecurityModeComplete
- type SelectedNASSecurityAlgorithms
- type ServiceAccept
- type ServiceReject
- type ServiceRequest
- type ServiceTypeAndNgksi
- type SessionAMBR
- type TAI
- type TMSI5GS
- type UESecurityCapability
- type ULNASTransport
- type UnsupportedIE
- type UplinkDataStatusPDU
Constants ¶
View Source
const ( QFDParamID5QI uint8 = 0x01 QFDParamIDGfbrUl uint8 = 0x02 QFDParamIDGfbrDl uint8 = 0x03 QFDParamIDMfbrUl uint8 = 0x04 QFDParamIDMfbrDl uint8 = 0x05 QFDParamIDAvgWnd uint8 = 0x06 QFDParamIDEpsBId uint8 = 0x07 )
---- QFD constants (TS 24.501 §9.11.4.12) ----
View Source
const ( QFDQfiBitmask uint8 = 0x3f // bits 6..1 QFDOpCodeBitmask uint8 = 0xe0 // bits 8..6 QFDEbit uint8 = 0x40 // bit 6 in the NumOfParam octet )
View Source
const ( QFRateUnit1Kbps uint8 = 0x01 QFRateUnit1Mbps uint8 = 0x06 QFRateUnit1Gbps uint8 = 0x0B )
Unit codes used in rate params
View Source
const QFDFixLen uint8 = 0x03
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AllowedPDUSessionStatus ¶
type AuthenticationFailure ¶
type AuthenticationFailure struct {
ExtendedProtocolDiscriminator uint8 `json:"extended_protocol_discriminator"`
SpareHalfOctetAndSecurityHeaderType uint8 `json:"spare_half_octet_and_security_header_type"`
Cause5GMM utils.EnumField[uint8] `json:"cause"`
AuthenticationFailureParameter *string `json:"authentication_failure_parameter,omitempty"`
}
type AuthenticationReject ¶
type AuthenticationRequest ¶
type AuthenticationRequest struct {
ExtendedProtocolDiscriminator uint8 `json:"extended_protocol_discriminator"`
SpareHalfOctetAndSecurityHeaderType uint8 `json:"spare_half_octet_and_security_header_type"`
SpareHalfOctetAndNgksi uint8 `json:"spare_half_octet_and_ngksi"`
ABBA []uint8 `json:"abba"`
AuthenticationParameterAUTN [16]uint8 `json:"authentication_parameter_autn,omitempty"`
AuthenticationParameterRAND [16]uint8 `json:"authentication_parameter_rand,omitempty"`
EAPMessage []byte `json:"eap_message,omitempty"`
}
type AuthenticationResponse ¶
type AuthenticationResponse struct {
ExtendedProtocolDiscriminator uint8 `json:"extended_protocol_discriminator"`
SpareHalfOctetAndSecurityHeaderType uint8 `json:"spare_half_octet_and_security_header_type"`
AuthenticationResponseParameter *AuthenticationResponseParameter `json:"authentication_response_parameter,omitempty"`
EAPMessage []byte `json:"eap_message,omitempty"`
}
type AuthenticationResponseParameter ¶
type AuthenticationResponseParameter struct {
ResStar [16]uint8 `json:"res_star"`
}
type Capability5GSM ¶
type CipheringAlgorithm ¶
type DLNASTransport ¶
type DLNASTransport struct {
ExtendedProtocolDiscriminator uint8 `json:"extended_protocol_discriminator"`
SpareHalfOctetAndSecurityHeaderType uint8 `json:"spare_half_octet_and_security_header_type"`
SpareHalfOctetAndPayloadContainerType uint8 `json:"spare_half_octet_and_payload_container_type"`
PayloadContainer PayloadContainer `json:"payload_container"`
PduSessionID2Value *uint8 `json:"pdu_session_id_2_value,omitempty"`
Cause5GMM *utils.EnumField[uint8] `json:"cause_5gmm,omitempty"`
BackoffTimerValue *uint8 `json:"backoff_timer_value,omitempty"`
AdditionalInformation *UnsupportedIE `json:"additional_information,omitempty"`
}
type ExtendedProtocolConfigurationOptions ¶
type ExtendedProtocolConfigurationOptions struct {
PCSCFIPv6AddressRequestUL *bool `json:"pcscf_ipv6_address_request_ul,omitempty"`
IMCNSubsystemSignalingFlagUL *bool `json:"imcn_subsystem_signaling_flag_ul,omitempty"`
DNSServerIPv6AddressRequestUL *bool `json:"dns_server_ipv6_address_request_ul,omitempty"`
NotSupportedUL *bool `json:"not_supported_ul,omitempty"`
MSSupportOfNetworkRequestedBearerControlIndicatorUL *bool `json:"ms_support_of_network_requested_bearer_control_indicator_ul,omitempty"`
DSMIPv6HomeAgentAddressRequestUL *bool `json:"dsm_ipv6_home_agent_address_request_ul,omitempty"`
DSMIPv6HomeNetworkPrefixRequestUL *bool `json:"dsm_ipv6_home_network_prefix_request_ul,omitempty"`
DSMIPv6IPv4HomeAgentAddressRequestUL *bool `json:"dsm_ipv6_ipv4_home_agent_address_request_ul,omitempty"`
IPAddressAllocationViaNASSignallingUL *bool `json:"ip_address_allocation_via_nas_signalling_ul,omitempty"`
IPv4AddressAllocationViaDHCPv4UL *bool `json:"ipv4_address_allocation_via_dhcpv4_ul,omitempty"`
PCSCFIPv4AddressRequestUL *bool `json:"pcscf_ipv4_address_request_ul,omitempty"`
DNSServerIPv4AddressRequestUL *bool `json:"dns_server_ipv4_address_request_ul,omitempty"`
MSISDNRequestUL *bool `json:"msisdn_request_ul,omitempty"`
IFOMSupportRequestUL *bool `json:"ifom_support_request_ul,omitempty"`
MSSupportOfLocalAddressInTFTIndicatorUL *bool `json:"ms_support_of_local_address_in_tft_indicator_ul,omitempty"`
PCSCFReSelectionSupportUL *bool `json:"pcscf_re_selection_support_ul,omitempty"`
NBIFOMRequestIndicatorUL *bool `json:"nbifom_request_indicator_ul,omitempty"`
NBIFOMModeUL *bool `json:"nbifom_mode_ul,omitempty"`
NonIPLinkMTURequestUL *bool `json:"non_ip_link_mtu_request_ul,omitempty"`
APNRateControlSupportIndicatorUL *bool `json:"apn_rate_control_support_indicator_ul,omitempty"`
UEStatus3GPPPSDataOffUL *bool `json:"ue_status_3gpp_ps_data_off_ul,omitempty"`
ReliableDataServiceRequestIndicatorUL *bool `json:"reliable_data_service_request_indicator_ul,omitempty"`
AdditionalAPNRateControlForExceptionDataSupportIndicatorUL *bool `json:"additional_apn_rate_control_for_exception_data_support_indicator_ul,omitempty"`
PDUSessionIDUL *bool `json:"pdu_session_id_ul,omitempty"`
EthernetFramePayloadMTURequestUL *bool `json:"ethernet_frame_payload_mtu_request_ul,omitempty"`
UnstructuredLinkMTURequestUL *bool `json:"unstructured_link_mtu_request_ul,omitempty"`
I5GSMCauseValueUL *bool `json:"i5gsm_cause_value_ul,omitempty"`
QoSRulesWithTheLengthOfTwoOctetsSupportIndicatorUL *bool `json:"qos_rules_with_the_length_of_two_octets_support_indicator_ul,omitempty"`
QoSFlowDescriptionsWithTheLengthOfTwoOctetsSupportIndicatorUL *bool `json:"qos_flow_descriptions_with_the_length_of_two_octets_support_indicator_ul,omitempty"`
LinkControlProtocolUL *bool `json:"link_control_protocol_ul,omitempty"`
PushAccessControlProtocolUL *bool `json:"push_access_control_protocol_ul,omitempty"`
ChallengeHandshakeAuthenticationProtocolUL *bool `json:"challenge_handshake_authentication_protocol_ul,omitempty"`
InternetProtocolControlProtocolUL *bool `json:"internet_protocol_control_protocol_ul,omitempty"`
Error string `json:"error,omitempty"` // Reserved field for decoding errors
}
type GmmMessage ¶
type GmmMessage struct {
GmmHeader GmmHeader `json:"gmm_header"`
Error string `json:"error,omitempty"`
RegistrationRequest *RegistrationRequest `json:"registration_request,omitempty"`
RegistrationAccept *RegistrationAccept `json:"registration_accept,omitempty"`
RegistrationReject *RegistrationReject `json:"registration_reject,omitempty"`
RegistrationComplete *RegistrationComplete `json:"registration_complete,omitempty"`
AuthenticationRequest *AuthenticationRequest `json:"authentication_request,omitempty"`
AuthenticationFailure *AuthenticationFailure `json:"authentication_failure,omitempty"`
AuthenticationReject *AuthenticationReject `json:"authentication_reject,omitempty"`
AuthenticationResponse *AuthenticationResponse `json:"authentication_response,omitempty"`
ULNASTransport *ULNASTransport `json:"ul_nas_transport,omitempty"`
DLNASTransport *DLNASTransport `json:"dl_nas_transport,omitempty"`
SecurityModeCommand *SecurityModeCommand `json:"security_mode_command,omitempty"`
SecurityModeComplete *SecurityModeComplete `json:"security_mode_complete,omitempty"`
ServiceRequest *ServiceRequest `json:"service_request,omitempty"`
ServiceAccept *ServiceAccept `json:"service_accept,omitempty"`
ServiceReject *ServiceReject `json:"service_reject,omitempty"`
IdentityRequest *IdentityRequest `json:"identity_request,omitempty"`
IdentityResponse *IdentityResponse `json:"identity_response,omitempty"`
}
type GsmMessage ¶
type GsmMessage struct {
GsmHeader GsmHeader `json:"gsm_header"`
Error string `json:"error,omitempty"`
PDUSessionEstablishmentRequest *PDUSessionEstablishmentRequest `json:"pdu_session_establishment_request,omitempty"`
PDUSessionEstablishmentAccept *PDUSessionEstablishmentAccept `json:"pdu_session_establishment_accept,omitempty"`
}
type IdentityRequest ¶
type IdentityResponse ¶
type IdentityResponse struct {
ExtendedProtocolDiscriminator uint8 `json:"extended_protocol_discriminator"`
SpareHalfOctetAndSecurityHeaderType uint8 `json:"spare_half_octet_and_security_header_type"`
MobileIdentity MobileIdentity `json:"mobile_identity"`
}
type IntegrityAlgorithm ¶
type MobileIdentity ¶
type MobileIdentity struct {
Identity utils.EnumField[uint8] `json:"identity_type"`
PLMNID *PLMNID `json:"plmn_id,omitempty"`
SUCI *string `json:"suci,omitempty"`
GUTI *string `json:"guti,omitempty"`
STMSI *string `json:"s_tmsi,omitempty"`
IMEI *string `json:"imei,omitempty"`
IMEISV *string `json:"imeisv,omitempty"`
}
type MobileIdentity5GS ¶
type MobileIdentity5GS struct {
Identity utils.EnumField[uint8] `json:"identity_type"`
PLMNID *PLMNID `json:"plmn_id,omitempty"`
SUCI *string `json:"suci,omitempty"`
GUTI *string `json:"guti,omitempty"`
STMSI *string `json:"s_tmsi,omitempty"`
IMEI *string `json:"imei,omitempty"`
IMEISV *string `json:"imeisv,omitempty"`
}
type NASMessage ¶
type NASMessage struct {
SecurityHeader SecurityHeader `json:"security_header"`
GmmMessage *GmmMessage `json:"gmm_message,omitempty"`
GsmMessage *GsmMessage `json:"gsm_message,omitempty"`
Encrypted bool `json:"encrypted"` // Indicates if the message was encrypted
Error string `json:"error,omitempty"` // Reserved field for decoding errors
}
func DecodeNASMessage ¶
func DecodeNASMessage(raw []byte) *NASMessage
type NetworkFeatureSupport5GS ¶
type NetworkFeatureSupport5GS struct {
Emc uint8 `json:"emc"`
EmcN3 uint8 `json:"emc_n3"`
Emf uint8 `json:"emf"`
ImsVoPS uint8 `json:"ims_vops"`
IwkN26 uint8 `json:"iwk_n26"`
Mcsi uint8 `json:"mcsi"`
Mpsi uint8 `json:"mpsi"`
IMSVoPS3GPP uint8 `json:"ims_vops_3gpp"`
IMSVoPSN3GPP uint8 `json:"ims_vops_n3gpp"`
}
type PDUSessionCause ¶
type PDUSessionEstablishmentAccept ¶
type PDUSessionEstablishmentAccept struct {
ExtendedProtocolDiscriminator uint8 `json:"extended_protocol_discriminator"`
PDUSessionID uint8 `json:"pdu_session_id"`
PTI uint8 `json:"pti"`
SelectedSSCMode uint8 `json:"selected_ssc_mode"`
SelectedPDUSessionType utils.EnumField[uint8] `json:"selected_pdu_session_type"`
AuthorizedQosRules []QosRule `json:"authorized_qos_rules"`
SessionAMBR SessionAMBR `json:"session_ambr"`
Cause5GSM *utils.EnumField[uint8] `json:"cause_5g_s_m,omitempty"`
PDUAddress *string `json:"pdu_address,omitempty"`
SNSSAI *SNSSAI `json:"snssai,omitempty"`
AuthorizedQosFlowDescriptions []QoSFlowDescription `json:"authorized_qos_flow_descriptions,omitempty"`
ExtendedProtocolConfigurationOptions *ExtendedProtocolConfigurationOptions `json:"extended_protocol_configuration_options,omitempty"`
DNN *string `json:"dnn,omitempty"`
RQTimerValue *UnsupportedIE `json:"rq_timer_value,omitempty"`
AlwaysonPDUSessionIndication *UnsupportedIE `json:"alwayson_pdu_session_indication,omitempty"`
MappedEPSBearerContexts *UnsupportedIE `json:"mapped_eps_bearer_contexts,omitempty"`
EAPMessage *UnsupportedIE `json:"eap_message,omitempty"`
}
type PDUSessionEstablishmentRequest ¶
type PDUSessionEstablishmentRequest struct {
ExtendedProtocolDiscriminator uint8 `json:"extended_protocol_discriminator"`
PDUSessionID uint8 `json:"pdu_session_id"`
PTI uint8 `json:"pti"`
PDUSESSIONESTABLISHMENTREQUESTMessageIdentity uint8 `json:"pdu_session_establishment_request_message_identity"`
IntegrityProtectionMaximumDataRate IntegrityProtectionMaximumDataRate `json:"integrity_protection_maximum_data_rate"`
PDUSessionType *utils.EnumField[uint8] `json:"pdu_session_type,omitempty"`
SSCMode *uint8 `json:"ssc_mode,omitempty"`
Capability5GSM *Capability5GSM `json:"capability_5g_s_m,omitempty"`
ExtendedProtocolConfigurationOptions *ExtendedProtocolConfigurationOptions `json:"extended_protocol_configuration_options,omitempty"`
MaximumNumberOfSupportedPacketFilters *UnsupportedIE `json:"maximum_number_of_supported_packet_filters,omitempty"`
AlwaysonPDUSessionRequested *UnsupportedIE `json:"alwayson_pdu_session_requested,omitempty"`
SMPDUDNRequestContainer *UnsupportedIE `json:"smpdu_dn_request_container,omitempty"`
}
type PDUSessionStatusPDU ¶
type PacketFilter ¶
type PacketFilterComponent ¶
type PayloadContainer ¶
type PayloadContainer struct {
Raw []byte `json:"raw"`
GsmMessage *GsmMessage `json:"gsm_message,omitempty"`
Error string `json:"error,omitempty"` // Reserved field for decoding errors
}
type QoSFlowDescription ¶
type QoSFlowDescription struct {
ParamList []QosFlowParameter `json:"param_list"`
Qfi uint8 `json:"qfi"`
OpCode utils.EnumField[uint8] `json:"op_code"`
EBit bool `json:"e_bit"`
ParamCount uint8 `json:"param_count"`
QFDLen uint8 `json:"qfd_len"`
}
func ParseAuthorizedQosFlowDescriptions ¶
func ParseAuthorizedQosFlowDescriptions(content []byte) ([]QoSFlowDescription, error)
type QosFlowParameter ¶
type QosFlowParameter struct {
ParamID utils.EnumField[uint8] `json:"identifier"`
ParamLen uint8 `json:"length"`
// Decoded variants (only one or few will be set depending on ParamID):
FiveQI *uint8 `json:"five_qi,omitempty"`
GfbrUlKbps *uint64 `json:"gfbr_ul_kbps,omitempty"`
GfbrDlKbps *uint64 `json:"gfbr_dl_kbps,omitempty"`
MfbrUlKbps *uint64 `json:"mfbr_ul_kbps,omitempty"`
MfbrDlKbps *uint64 `json:"mfbr_dl_kbps,omitempty"`
AvgWindowMs *uint16 `json:"averaging_window_ms,omitempty"`
EpsBearerID *uint8 `json:"eps_bearer_id,omitempty"`
}
type QosRule ¶
type QosRule struct {
PacketFilterList []PacketFilter `json:"packet_filter_list"`
Identifier uint8 `json:"identifier"`
OperationCode uint8 `json:"operation_code"`
DQR utils.EnumField[uint8] `json:"dqr"`
Segregation uint8 `json:"segregation"`
Precedence uint8 `json:"precedence"`
QFI uint8 `json:"qfi"`
Length uint8 `json:"length"`
}
func UnmarshalQosRules ¶
type RegistrationAccept ¶
type RegistrationAccept struct {
ExtendedProtocolDiscriminator uint8 `json:"extended_protocol_discriminator"`
SpareHalfOctetAndSecurityHeaderType uint8 `json:"spare_half_octet_and_security_header_type"`
RegistrationResult5GS utils.EnumField[uint8] `json:"registration_result_5gs"`
GUTI5G *string `json:"guti_5g,omitempty"`
EquivalentPLMNs []PLMNID `json:"equivalent_plmns,omitempty"`
TAIList []TAI `json:"tai_list,omitempty"`
AllowedNSSAI []SNSSAI `json:"allowed_nssai,omitempty"`
NetworkFeatureSupport5GS *NetworkFeatureSupport5GS `json:"network_feature_support_5gs,omitempty"`
RejectedNSSAI *UnsupportedIE `json:"rejected_nssai,omitempty"`
ConfiguredNSSAI *UnsupportedIE `json:"configured_nssai,omitempty"`
PDUSessionStatus *UnsupportedIE `json:"pdu_session_status,omitempty"`
PDUSessionReactivationResult *UnsupportedIE `json:"pdu_session_reactivation_result,omitempty"`
PDUSessionReactivationResultErrorCause *UnsupportedIE `json:"pdu_session_reactivation_result_error_cause,omitempty"`
LADNInformation *UnsupportedIE `json:"ladn_information,omitempty"`
MICOIndication *UnsupportedIE `json:"mico_indication,omitempty"`
NetworkSlicingIndication *UnsupportedIE `json:"network_slicing_indication,omitempty"`
ServiceAreaList *UnsupportedIE `json:"service_area_list,omitempty"`
T3512Value *UnsupportedIE `json:"t3512_value,omitempty"`
Non3GppDeregistrationTimerValue *UnsupportedIE `json:"non_3gpp_deregistration_timer_value,omitempty"`
T3502Value *UnsupportedIE `json:"t3502_value,omitempty"`
EmergencyNumberList *UnsupportedIE `json:"emergency_number_list,omitempty"`
ExtendedEmergencyNumberList *UnsupportedIE `json:"extended_emergency_number_list,omitempty"`
SORTransparentContainer *UnsupportedIE `json:"sor_transparent_container,omitempty"`
EAPMessage *UnsupportedIE `json:"eap_message,omitempty"`
NSSAIInclusionMode *UnsupportedIE `json:"nssai_inclusion_mode,omitempty"`
OperatordefinedAccessCategoryDefinitions *UnsupportedIE `json:"operatordefined_access_category_definitions,omitempty"`
NegotiatedDRXParameters *UnsupportedIE `json:"negotiated_drx_parameters,omitempty"`
}
type RegistrationComplete ¶
type RegistrationReject ¶
type RegistrationReject struct {
ExtendedProtocolDiscriminator uint8 `json:"extended_protocol_discriminator"`
SpareHalfOctetAndSecurityHeaderType uint8 `json:"spare_half_octet_and_security_header_type"`
Cause5GMM utils.EnumField[uint8] `json:"cause_5gmm"`
T3346Value *UnsupportedIE `json:"t3346_value,omitempty"`
T3502Value *UnsupportedIE `json:"t3502_value,omitempty"`
EAPMessage *UnsupportedIE `json:"eap_message,omitempty"`
}
type RegistrationRequest ¶
type RegistrationRequest struct {
ExtendedProtocolDiscriminator uint8 `json:"extended_protocol_discriminator"`
SpareHalfOctetAndSecurityHeaderType uint8 `json:"spare_half_octet_and_security_header_type"`
NasKeySetIdentifier uint8 `json:"nas_key_set_identifier,omitempty"`
RegistrationType5GS utils.EnumField[uint8] `json:"registration_type_5gs"`
MobileIdentity5GS MobileIdentity5GS `json:"mobile_identity_5gs"`
UESecurityCapability *UESecurityCapability `json:"ue_security_capability,omitempty"`
NASMessageContainer []byte `json:"nas_message_container,omitempty"`
NoncurrentNativeNASKeySetIdentifier *UnsupportedIE `json:"noncurrent_native_nas_key_set_identifier,omitempty"`
Capability5GMM *UnsupportedIE `json:"capability_5gmm,omitempty"`
RequestedNSSAI *UnsupportedIE `json:"requested_nssai,omitempty"`
LastVisitedRegisteredTAI *UnsupportedIE `json:"last_visited_registered_tai,omitempty"`
S1UENetworkCapability *UnsupportedIE `json:"s1_ue_network_capability,omitempty"`
UplinkDataStatus *UnsupportedIE `json:"uplink_data_status,omitempty"`
PDUSessionStatus *UnsupportedIE `json:"pdu_session_status,omitempty"`
MICOIndication *UnsupportedIE `json:"mico_indication,omitempty"`
UEStatus *UnsupportedIE `json:"ue_status,omitempty"`
AdditionalGUTI *UnsupportedIE `json:"additional_guti,omitempty"`
AllowedPDUSessionStatus *UnsupportedIE `json:"allowed_pdu_session_status,omitempty"`
UesUsageSetting *UnsupportedIE `json:"ues_usage_setting,omitempty"`
RequestedDRXParameters *UnsupportedIE `json:"requested_drx_parameters,omitempty"`
EPSNASMessageContainer *UnsupportedIE `json:"eps_nas_message_container,omitempty"`
LADNIndication *UnsupportedIE `json:"ladn_indication,omitempty"`
PayloadContainer *UnsupportedIE `json:"payload_container,omitempty"`
NetworkSlicingIndication *UnsupportedIE `json:"network_slicing_indication,omitempty"`
UpdateType5GS *UnsupportedIE `json:"update_type_5gs,omitempty"`
}
type SecurityHeader ¶
type SecurityModeCommand ¶
type SecurityModeCommand struct {
ExtendedProtocolDiscriminator uint8 `json:"extended_protocol_discriminator"`
SpareHalfOctetAndSecurityHeaderType uint8 `json:"spare_half_octet_and_security_header_type"`
SelectedNASSecurityAlgorithms SelectedNASSecurityAlgorithms `json:"selected_nas_security_algorithms"`
SpareHalfOctetAndNgksi uint8 `json:"spare_half_octet_and_ngksi"`
ReplayedUESecurityCapabilities UESecurityCapability `json:"replayed_ue_security_capabilities"`
IMEISVRequest *utils.EnumField[uint8] `json:"imeisv_request,omitempty"`
SelectedEPSNASSecurityAlgorithms *utils.EnumField[uint8] `json:"selected_eps_nas_security_algorithms,omitempty"`
Additional5GSecurityInformation *Additional5GSecurityInformation `json:"additional_5g_security_information,omitempty"`
EAPMessage []byte `json:"eap_message,omitempty"`
ABBA []uint8 `json:"abba,omitempty"`
ReplayedS1UESecurityCapabilities *UnsupportedIE `json:"replayed_s1_ue_security_capabilities,omitempty"`
}
type SecurityModeComplete ¶
type SecurityModeComplete struct {
ExtendedProtocolDiscriminator uint8 `json:"extended_protocol_discriminator"`
SpareHalfOctetAndSecurityHeaderType uint8 `json:"spare_half_octet_and_security_header_type"`
IMEISV *string `json:"imeisv,omitempty"`
NASMessageContainer []byte `json:"nas_message_container,omitempty"`
}
type ServiceAccept ¶
type ServiceAccept struct {
ExtendedProtocolDiscriminator uint8 `json:"extended_protocol_discriminator"`
SpareHalfOctetAndSecurityHeaderType uint8 `json:"spare_half_octet_and_security_header_type"`
PDUSessionStatus []PDUSessionStatusPDU `json:"pdu_session_status,omitempty"`
PDUSessionReactivationResult []PDUSessionReactivateResultPDU `json:"pdu_session_reactivation_result,omitempty"`
PDUSessionReactivationResultErrorCause []PDUSessionCause `json:"pdu_session_reactivation_result_error_cause,omitempty"`
EAPMessage []byte `json:"eap_message,omitempty"`
}
type ServiceReject ¶
type ServiceReject struct {
ExtendedProtocolDiscriminator uint8 `json:"extended_protocol_discriminator"`
SpareHalfOctetAndSecurityHeaderType uint8 `json:"spare_half_octet_and_security_header_type"`
Cause5GMM utils.EnumField[uint8] `json:"cause"`
PDUSessionStatus []PDUSessionStatusPDU `json:"pdu_session_status,omitempty"`
T3346Value *uint8 `json:"t3346_value,omitempty"`
EAPMessage []byte `json:"eap_message,omitempty"`
}
type ServiceRequest ¶
type ServiceRequest struct {
ExtendedProtocolDiscriminator uint8 `json:"extended_protocol_discriminator"`
SpareHalfOctetAndSecurityHeaderType uint8 `json:"spare_half_octet_and_security_header_type"`
ServiceTypeAndNgksi ServiceTypeAndNgksi `json:"service_type_and_ngksi"`
TMSI5GS TMSI5GS `json:"tmsi_5gs,omitempty"`
UplinkDataStatus []UplinkDataStatusPDU `json:"uplink_data_status,omitempty"`
PDUSessionStatus []PDUSessionStatusPDU `json:"pdu_session_status,omitempty"`
AllowedPDUSessionStatus []AllowedPDUSessionStatus `json:"allowed_pdu_session_status,omitempty"`
NASMessageContainer []byte `json:"nas_message_container,omitempty"`
}
type ServiceTypeAndNgksi ¶
type SessionAMBR ¶
type UESecurityCapability ¶
type UESecurityCapability struct {
IntegrityAlgorithm IntegrityAlgorithm `json:"integrity_algorithm"`
CipheringAlgorithm CipheringAlgorithm `json:"ciphering_algorithm"`
}
type ULNASTransport ¶
type ULNASTransport struct {
ExtendedProtocolDiscriminator uint8 `json:"extended_protocol_discriminator"`
SpareHalfOctetAndSecurityHeaderType uint8 `json:"spare_half_octet_and_security_header_type"`
SpareHalfOctetAndPayloadContainerType uint8 `json:"spare_half_octet_and_payload_container_type"`
PayloadContainer PayloadContainer `json:"payload_container"`
PduSessionID2Value *uint8 `json:"pdu_session_id_2_value,omitempty"`
OldPDUSessionID *uint8 `json:"old_pdu_session_id,omitempty"`
RequestType *utils.EnumField[uint8] `json:"request_type,omitempty"`
SNSSAI *SNSSAI `json:"snssai,omitempty"`
DNN *string `json:"dnn,omitempty"`
AdditionalInformation *UnsupportedIE `json:"additional_information,omitempty"`
}
type UnsupportedIE ¶
type UnsupportedIE struct {
Status string `json:"status"`
}
type UplinkDataStatusPDU ¶
Source Files
¶
- authentication_failure.go
- authentication_reject.go
- authentication_request.go
- authentication_response.go
- dl_nas_transport.go
- identity_request.go
- identity_response.go
- nas.go
- pdu_session_establishment_accept.go
- pdu_session_establishment_request.go
- qos_flow.go
- qos_rule.go
- registration_accept.go
- registration_complete.go
- registration_reject.go
- registration_request.go
- security_mode_command.go
- security_mode_complete.go
- service_accept.go
- service_reject.go
- service_request.go
- ul_nas_transport.go
- utils.go
Click to show internal directories.
Click to hide internal directories.