processor

package
v1.4.4 Latest Latest
Warning

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

Go to latest
Published: May 11, 2026 License: Apache-2.0 Imports: 26 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type PduSession

type PduSession struct {
	PduSessionId string
	SmContextRef string
	Sst          string
	Sd           string
	Dnn          string
}

type Processor

type Processor struct {
	ProcessorAmf
}

func NewProcessor

func NewProcessor(amf ProcessorAmf) (*Processor, error)

func (*Processor) AMFStatusChangeSubscribeModifyProcedure

func (p *Processor) AMFStatusChangeSubscribeModifyProcedure(subscriptionID string,
	subscriptionData models.AmfCommunicationSubscriptionData) (
	*models.AmfCommunicationSubscriptionData, *models.ProblemDetails,
)

func (*Processor) AMFStatusChangeSubscribeProcedure

func (p *Processor) AMFStatusChangeSubscribeProcedure(subscriptionDataReq models.AmfCommunicationSubscriptionData) (
	subscriptionDataRsp models.AmfCommunicationSubscriptionData, locationHeader string,
	problemDetails *models.ProblemDetails,
)

func (*Processor) AMFStatusChangeUnSubscribeProcedure

func (p *Processor) AMFStatusChangeUnSubscribeProcedure(subscriptionID string) (problemDetails *models.ProblemDetails)

func (*Processor) AmPolicyControlUpdateNotifyTerminateProcedure

func (p *Processor) AmPolicyControlUpdateNotifyTerminateProcedure(polAssoID string,
	terminationNotification models.PcfAmPolicyControlTerminationNotification,
) *models.ProblemDetails

func (*Processor) AmPolicyControlUpdateNotifyUpdateProcedure

func (p *Processor) AmPolicyControlUpdateNotifyUpdateProcedure(polAssoID string,
	policyUpdate models.PcfAmPolicyControlPolicyUpdate,
) *models.ProblemDetails

func (*Processor) AssignEbiDataProcedure

func (p *Processor) AssignEbiDataProcedure(ueContextID string, assignEbiData models.AssignEbiData) (
	*models.AssignedEbiData, *models.AssignEbiError, *models.ProblemDetails,
)

func (*Processor) CreateAMFEventSubscriptionProcedure

func (p *Processor) CreateAMFEventSubscriptionProcedure(createEventSubscription models.AmfCreateEventSubscription) (
	*models.AmfCreatedEventSubscription, *models.ProblemDetails,
)

TODO: handle event filter

func (*Processor) CreateUEContextProcedure

func (p *Processor) CreateUEContextProcedure(ueContextID string, createUeContextRequest models.CreateUeContextRequest) (
	*models.CreateUeContextResponse201, *models.CreateUeContextResponse403,
)

func (*Processor) DeleteAMFEventSubscriptionProcedure

func (p *Processor) DeleteAMFEventSubscriptionProcedure(subscriptionID string) *models.ProblemDetails

func (*Processor) HandleAMFStatusChangeSubscribeModify

func (p *Processor) HandleAMFStatusChangeSubscribeModify(c *gin.Context,
	updateSubscriptionData models.AmfCommunicationSubscriptionData,
)

TS 29.518 5.2.2.5.1.3

func (*Processor) HandleAMFStatusChangeSubscribeRequest

func (p *Processor) HandleAMFStatusChangeSubscribeRequest(c *gin.Context,
	subscriptionDataReq models.AmfCommunicationSubscriptionData,
)

TS 29.518 5.2.2.5.1

func (*Processor) HandleAMFStatusChangeUnSubscribeRequest

func (p *Processor) HandleAMFStatusChangeUnSubscribeRequest(c *gin.Context)

TS 29.518 5.2.2.5.2

func (*Processor) HandleAmPolicyControlUpdateNotifyTerminate

func (p *Processor) HandleAmPolicyControlUpdateNotifyTerminate(c *gin.Context,
	terminationNotification models.PcfAmPolicyControlTerminationNotification,
)

TS 29.507 4.2.4.3

func (*Processor) HandleAmPolicyControlUpdateNotifyUpdate

func (p *Processor) HandleAmPolicyControlUpdateNotifyUpdate(c *gin.Context,
	policyUpdate models.PcfAmPolicyControlPolicyUpdate,
)

func (*Processor) HandleAssignEbiDataRequest

func (p *Processor) HandleAssignEbiDataRequest(c *gin.Context, assignEbiData models.AssignEbiData)

TS 29.518 5.2.2.6

func (*Processor) HandleCreateAMFEventSubscription

func (p *Processor) HandleCreateAMFEventSubscription(c *gin.Context,
	createEventSubscription models.AmfCreateEventSubscription,
)

func (*Processor) HandleCreateUEContextRequest

func (p *Processor) HandleCreateUEContextRequest(c *gin.Context, createUeContextRequest models.CreateUeContextRequest)

TS 29.518 5.2.2.2.3

func (*Processor) HandleDeleteAMFEventSubscription

func (p *Processor) HandleDeleteAMFEventSubscription(c *gin.Context)

func (*Processor) HandleMobiRegUe

func (p *Processor) HandleMobiRegUe(ue *context.AmfUe, ueContextTransferRspData *models.UeContextTransferRspData,
	ueContextTransferResponse *models.UeContextTransferResponse200,
)

func (*Processor) HandleModifyAMFEventSubscription

func (p *Processor) HandleModifyAMFEventSubscription(c *gin.Context,
	modifySubscriptionRequest models.ModifySubscriptionRequest,
)

func (*Processor) HandleN1MessageNotify

func (p *Processor) HandleN1MessageNotify(c *gin.Context, n1MessageNotify models.N1MessageNotifyRequest)

TS 23.502 4.2.2.2.3 Registration with AMF re-allocation

func (*Processor) HandleN1N2MessageSubscribeRequest

func (p *Processor) HandleN1N2MessageSubscribeRequest(c *gin.Context,
	ueN1N2InfoSubscriptionCreateData models.UeN1N2InfoSubscriptionCreateData,
)

TS 29.518 5.2.2.3.3

func (*Processor) HandleN1N2MessageTransferRequest

func (p *Processor) HandleN1N2MessageTransferRequest(c *gin.Context,
	n1n2MessageTransferRequest models.N1N2MessageTransferRequest,
)

TS23502 4.2.3.3, 4.2.4.3, 4.3.2.2, 4.3.2.3, 4.3.3.2, 4.3.7

func (*Processor) HandleN1N2MessageTransferStatusRequest

func (p *Processor) HandleN1N2MessageTransferStatusRequest(c *gin.Context)

func (*Processor) HandleN1N2MessageUnSubscribeRequest

func (p *Processor) HandleN1N2MessageUnSubscribeRequest(c *gin.Context)

func (*Processor) HandleOAMRegisteredUEContext

func (p *Processor) HandleOAMRegisteredUEContext(c *gin.Context)

func (*Processor) HandleProvideDomainSelectionInfoRequest

func (p *Processor) HandleProvideDomainSelectionInfoRequest(c *gin.Context)

func (*Processor) HandleProvideLocationInfoRequest

func (p *Processor) HandleProvideLocationInfoRequest(c *gin.Context, requestLocInfo models.RequestLocInfo)

func (*Processor) HandleRegistrationStatusUpdateRequest

func (p *Processor) HandleRegistrationStatusUpdateRequest(c *gin.Context,
	ueRegStatusUpdateReqData models.UeRegStatusUpdateReqData,
)

TS 29.518 5.2.2.2.2

func (*Processor) HandleReleaseUEContextRequest

func (p *Processor) HandleReleaseUEContextRequest(c *gin.Context, ueContextRelease models.UeContextRelease)

TS 29.518 5.2.2.2.4

func (*Processor) HandleSmContextStatusNotify

func (p *Processor) HandleSmContextStatusNotify(c *gin.Context,
	smContextStatusNotification models.SmfPduSessionSmContextStatusNotification,
)

func (*Processor) HandleUEContextTransferRequest

func (p *Processor) HandleUEContextTransferRequest(c *gin.Context,
	ueContextTransferRequest models.UeContextTransferRequest,
)

TS 29.518 5.2.2.2.1

func (*Processor) ModifyAMFEventSubscriptionProcedure

func (p *Processor) ModifyAMFEventSubscriptionProcedure(
	subscriptionID string,
	modifySubscriptionRequest models.ModifySubscriptionRequest) (
	*models.AmfUpdatedEventSubscription, *models.ProblemDetails,
)

func (*Processor) N1MessageNotifyProcedure

func (p *Processor) N1MessageNotifyProcedure(n1MessageNotify models.N1MessageNotifyRequest) *models.ProblemDetails

func (*Processor) N1N2MessageSubscribeProcedure

func (p *Processor) N1N2MessageSubscribeProcedure(ueContextID string,
	ueN1N2InfoSubscriptionCreateData models.UeN1N2InfoSubscriptionCreateData) (
	*models.UeN1N2InfoSubscriptionCreatedData, *models.ProblemDetails,
)

func (*Processor) N1N2MessageTransferProcedure

func (p *Processor) N1N2MessageTransferProcedure(ueContextID string, reqUri string,
	n1n2MessageTransferRequest models.N1N2MessageTransferRequest) (
	n1n2MessageTransferRspData *models.N1N2MessageTransferRspData,
	locationHeader string, problemDetails *models.ProblemDetails,
	transferErr *models.N1N2MessageTransferError,
)

There are 4 possible return value for this function:

  • n1n2MessageTransferRspData: if AMF handle N1N2MessageTransfer Request successfully.
  • locationHeader: if response status code is 202, then it will return a non-empty string location header for response
  • problemDetails: if AMF reject the request due to application error, e.g. UE context not found.
  • TransferErr: if AMF reject the request due to procedure error, e.g. UE has an ongoing procedure.

see TS 29.518 6.1.3.5.3.1 for more details.

func (*Processor) N1N2MessageTransferStatusProcedure

func (p *Processor) N1N2MessageTransferStatusProcedure(ueContextID string,
	reqUri string) (models.N1N2MessageTransferCause,
	*models.ProblemDetails,
)

func (*Processor) N1N2MessageUnSubscribeProcedure

func (p *Processor) N1N2MessageUnSubscribeProcedure(ueContextID string, subscriptionID string) *models.ProblemDetails

func (*Processor) OAMRegisteredUEContextProcedure

func (p *Processor) OAMRegisteredUEContextProcedure(supi string) (UEContexts, *models.ProblemDetails)

func (*Processor) ProvideDomainSelectionInfoProcedure

func (p *Processor) ProvideDomainSelectionInfoProcedure(ueContextID string, infoClassQuery string,
	supportedFeaturesQuery string) (
	*models.UeContextInfo, *models.ProblemDetails,
)

func (*Processor) ProvideLocationInfoProcedure

func (p *Processor) ProvideLocationInfoProcedure(requestLocInfo models.RequestLocInfo, ueContextID string) (
	*models.ProvideLocInfo, *models.ProblemDetails,
)

func (*Processor) RegistrationStatusUpdateProcedure

func (p *Processor) RegistrationStatusUpdateProcedure(ueContextID string,
	ueRegStatusUpdateReqData models.UeRegStatusUpdateReqData) (
	*models.UeRegStatusUpdateRspData, *models.ProblemDetails,
)

func (*Processor) ReleaseUEContextProcedure

func (p *Processor) ReleaseUEContextProcedure(ueContextID string,
	ueContextRelease models.UeContextRelease,
) *models.ProblemDetails

func (*Processor) SmContextStatusNotifyProcedure

func (p *Processor) SmContextStatusNotifyProcedure(supi string, pduSessionID int32,
	smContextStatusNotification models.SmfPduSessionSmContextStatusNotification,
) *models.ProblemDetails

func (*Processor) UEContextTransferProcedure

func (p *Processor) UEContextTransferProcedure(ueContextID string,
	ueContextTransferRequest models.UeContextTransferRequest) (
	*models.UeContextTransferResponse200, *models.ProblemDetails,
)

type ProcessorAmf

type ProcessorAmf interface {
	app.App

	Consumer() *consumer.Consumer
}

type UEContext

type UEContext struct {
	AccessType models.AccessType
	Supi       string
	Guti       string
	/* Tai */
	Mcc string
	Mnc string
	Tac string
	/* PDU sessions */
	PduSessions []PduSession
	/*Connection state */
	CmState models.CmState
}

type UEContexts

type UEContexts []UEContext

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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