Documentation
¶
Index ¶
- Constants
- func DerivateKausf(ck []byte, ik []byte, servingNetworkName string, sqnXorAK []byte) []byte
- func DerivateKseaf(kausf []byte, servingNetworkName string) []byte
- func NewTask() *task
- type NAS
- func (n *NAS) AddPduSession(pduSessionId uint8, dnn string, snssai models.Snssai) *SessionContext
- func (n *NAS) DelAllPduSession() error
- func (n *NAS) DelPduSession(pduSessionID int64) error
- func (n *NAS) DerivateAlgKey()
- func (n *NAS) DerivateAnKey(accessType uint8)
- func (n *NAS) DerivateKamf(kseaf []byte, abba []byte)
- func (n *NAS) DeriveRESstar(ck []byte, ik []byte, servingNetworkName string, rand []byte, res []byte) []byte
- func (n *NAS) GetServingNetworkName() string
- type NASTCPService
- type QosFlow
- type Session
- func (s *Session) BuildAuthenticationFailure(cause5GMM uint8, authenticationFailureParam []uint8) (nasPdu []byte)
- func (s *Session) BuildAuthenticationResponse(authenticationResponseParam []uint8, eapMsg string) (nasPdu []byte)
- func (s *Session) GetConfigurationUpdateComplete() (nasPdu []byte)
- func (s *Session) GetDeregistrationAccept() (nasPdu []byte)
- func (s *Session) GetDeregistrationRequest(switchOff uint8) ([]byte, error)
- func (s *Session) GetIdentityResponse(mobileIdentity nasType.MobileIdentity) (nasPdu []byte)
- func (s *Session) GetNotificationResponse(pDUSessionStatus []uint8) (nasPdu []byte)
- func (s *Session) GetPduSessionAuthenticationComplete(pduSessionId uint8) (nasPdu []byte)
- func (s *Session) GetPduSessionEstablishmentRequest(pduSessionId, sessionType uint8) ([]byte, error)
- func (s *Session) GetPduSessionModificationCommandReject(pduSessionId uint8) (nasPdu []byte)
- func (s *Session) GetPduSessionModificationComplete(pduSessionId uint8) ([]byte, error)
- func (s *Session) GetPduSessionModificationRequest(pduSessionId uint8) (nasPdu []byte)
- func (s *Session) GetPduSessionReleaseCommand(pduSessionId uint8) (nasPdu []byte)
- func (s *Session) GetPduSessionReleaseComplete(pduSessionId uint8) ([]byte, error)
- func (s *Session) GetPduSessionReleaseReject(pduSessionId uint8) (nasPdu []byte)
- func (s *Session) GetPduSessionReleaseRequest(pduSessionId uint8) ([]byte, error)
- func (s *Session) GetRegistrationComplete(sorTransparentContainer []uint8) ([]byte, error)
- func (s *Session) GetRegistrationRequest(registrationType uint8, mobileIdentity nasType.MobileIdentity5GS, ...) (nasPdu []byte)
- func (s *Session) GetRegistrationRequestWith5GMM(registrationType uint8, requestedNSSAI *nasType.RequestedNSSAI, ...) ([]byte, error)
- func (s *Session) GetSecurityModeComplete(nasMessageContainer []uint8) ([]byte, error)
- func (s *Session) GetSecurityModeReject(cause5GMM uint8) (nasPdu []byte)
- func (s *Session) GetServiceRequest(serviceType uint8) ([]byte, error)
- func (s *Session) GetStatus5GMM(cause uint8) (nasPdu []byte)
- func (s *Session) GetStatus5GSM(pduSessionId uint8, cause uint8) (nasPdu []byte)
- func (s *Session) GetUlNasTransport_PduSessionCommonData(pduSessionId uint8, types string) ([]byte, error)
- func (s *Session) GetUlNasTransport_PduSessionEstablishmentRequest(pduSessionId uint8, requestType uint8, dnnString string, sNssai *models.Snssai, ...) ([]byte, error)
- func (s *Session) GetUlNasTransport_PduSessionModificationRequest(pduSessionId uint8, requestType uint8, dnnString string, sNssai *models.Snssai) (nasPdu []byte)
- func (s *Session) GetUlNasTransport_PduSessionReleaseCommand(pduSessionId uint8, requestType uint8, dnnString string, sNssai *models.Snssai) (nasPdu []byte)
- func (s *Session) GetUlNasTransport_Status5GSM(pduSessionId uint8, cause uint8) (nasPdu []byte)
- func (s *Session) Init(c n3ue_exclusive.N3UECommon, sir, siw chan *sessInterface.SessInt)
- func (s *Session) NASDecode(securityHeaderType uint8, payload []byte) (msg *nas.Message, err error)
- func (s *Session) NASEncode(msg *nas.Message, securityContextAvailable bool, newSecurityContext bool) ([]byte, error)
- func (s *Session) PDUSessionEstablishmentRequest(t *task) int
- func (s *Session) RegistrationRequest(t *task) int
- func (s *Session) SendAuthenticationFailure(cause uint8, authFailParams []byte)
- func (s *Session) SendAuthenticationResponse(resStar []byte)
- func (s *Session) SendSecurityModeCommand(nasMsg []byte)
- func (s *Session) SessionStopHard() error
- type SessionContext
Constants ¶
View Source
const ( PDUSesModiReq string = "PDU Session Modification Request" PDUSesModiCmp string = "PDU Session Modification Complete" PDUSesModiCmdRej string = "PDU Session Modification Command Reject" PDUSesRelReq string = "PDU Session Release Request" PDUSesRelCmp string = "PDU Session Release Complete" PDUSesRelRej string = "PDU Session Release Reject" PDUSesAuthCmp string = "PDU Session Authentication Complete" )
View Source
const ( RmStateRegistered = "REGISTERED" RmStateRegistering = "REGISTERING" RmStateDeregitered = "DEREGISTERED" )
View Source
const ( CmStateConnected = "CONNECTED" CmStateIdle = "IDLE" )
View Source
const ( MsgRegisterSuccess = "Registration success" MsgRegisterFail = "Registration fail" MsgServiceRequestSuccess = "ServiceRequest success" MsgServiceRequestFail = "ServiceRequest fail" MsgDeregisterSuccess = "Deregistration success" MsgDeregisterFail = "Deregistration fail" )
Variables ¶
This section is empty.
Functions ¶
func DerivateKausf ¶
TS 33.501 Annex A.2
func DerivateKseaf ¶
Types ¶
type NAS ¶
type NAS struct { // registration related FollowOnRequest bool Supi string // init Guti *nasType.GUTI5G ServingPlmnId string // init // security ULCount security.Count DLCount security.Count CipheringAlg uint8 IntegrityAlg uint8 KnasEnc [16]uint8 KnasInt [16]uint8 Kamf []uint8 Kn3iwf []uint8 NgKsi uint8 // PduSession PduSession map[int64]*SessionContext // related Context RmState *fsm.State CmState *fsm.State }
func NewUeContext ¶
func NewUeContext() *NAS
func (*NAS) AddPduSession ¶
func (*NAS) DelAllPduSession ¶
func (*NAS) DelPduSession ¶
func (*NAS) DerivateAlgKey ¶
func (n *NAS) DerivateAlgKey()
Algorithm key Derivation function defined in TS 33.501 Annex A.9
func (*NAS) DerivateAnKey ¶
Access Network key Derivation function defined in TS 33.501 Annex A.9
func (*NAS) DerivateKamf ¶
func (*NAS) DeriveRESstar ¶
func (n *NAS) DeriveRESstar(ck []byte, ik []byte, servingNetworkName string, rand []byte, res []byte) []byte
TS 33.501 Annex A.4
func (*NAS) GetServingNetworkName ¶
type NASTCPService ¶
type NASTCPService struct { n3ue_exclusive.N3UECommon // contains filtered or unexported fields }
func (*NASTCPService) Init ¶
func (s *NASTCPService) Init(c n3ue_exclusive.N3UECommon, conn *net.TCPConn, packetIn, packetOut chan []byte)
func (*NASTCPService) Run ¶
func (s *NASTCPService) Run()
type QosFlow ¶
type QosFlow struct { Identifier int64 Parameters ngapType.QosFlowLevelQosParameters }
type Session ¶
type Session struct { n3ue_exclusive.N3UECommon // contains filtered or unexported fields }
func (*Session) BuildAuthenticationFailure ¶
func (*Session) BuildAuthenticationResponse ¶
func (*Session) GetConfigurationUpdateComplete ¶
func (*Session) GetDeregistrationAccept ¶
func (*Session) GetDeregistrationRequest ¶
func (*Session) GetIdentityResponse ¶
func (s *Session) GetIdentityResponse(mobileIdentity nasType.MobileIdentity) (nasPdu []byte)
func (*Session) GetNotificationResponse ¶
func (*Session) GetPduSessionAuthenticationComplete ¶
func (*Session) GetPduSessionEstablishmentRequest ¶
func (*Session) GetPduSessionModificationCommandReject ¶
func (*Session) GetPduSessionModificationComplete ¶
func (*Session) GetPduSessionModificationRequest ¶
func (*Session) GetPduSessionReleaseCommand ¶
func (*Session) GetPduSessionReleaseComplete ¶
func (*Session) GetPduSessionReleaseReject ¶
func (*Session) GetPduSessionReleaseRequest ¶
func (*Session) GetRegistrationComplete ¶
func (*Session) GetRegistrationRequest ¶
func (s *Session) GetRegistrationRequest(registrationType uint8, mobileIdentity nasType.MobileIdentity5GS, capBuffer []uint8, requestedNSSAI *nasType.RequestedNSSAI, uplinkDataStatus *nasType.UplinkDataStatus) (nasPdu []byte)
func (*Session) GetRegistrationRequestWith5GMM ¶
func (s *Session) GetRegistrationRequestWith5GMM(registrationType uint8, requestedNSSAI *nasType.RequestedNSSAI, uplinkDataStatus *nasType.UplinkDataStatus) ([]byte, error)
func (*Session) GetSecurityModeComplete ¶
TS 24.501 8.2.26
func (*Session) GetSecurityModeReject ¶
func (*Session) GetServiceRequest ¶
func (*Session) GetStatus5GMM ¶
func (*Session) GetStatus5GSM ¶
func (*Session) GetUlNasTransport_PduSessionCommonData ¶
func (*Session) GetUlNasTransport_PduSessionEstablishmentRequest ¶
func (*Session) GetUlNasTransport_PduSessionModificationRequest ¶
func (*Session) GetUlNasTransport_PduSessionReleaseCommand ¶
func (*Session) GetUlNasTransport_Status5GSM ¶
func (*Session) Init ¶
func (s *Session) Init(c n3ue_exclusive.N3UECommon, sir, siw chan *sessInterface.SessInt)
func (*Session) PDUSessionEstablishmentRequest ¶
func (*Session) RegistrationRequest ¶
func (*Session) SendAuthenticationFailure ¶
func (*Session) SendAuthenticationResponse ¶
func (*Session) SendSecurityModeCommand ¶
func (*Session) SessionStopHard ¶
Source Files
¶
Click to show internal directories.
Click to hide internal directories.