context

package
v1.2.4 Latest Latest
Warning

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

Go to latest
Published: Nov 8, 2024 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	LocationUriAmf3GppAccessRegistration int = iota
	LocationUriAmfNon3GppAccessRegistration
	LocationUriSmfRegistration
	LocationUriSdmSubscription
	LocationUriSharedDataSubscription
)

Variables

This section is empty.

Functions

func GetCorrespondingSupi

func GetCorrespondingSupi(list models.IdentityData) (id string)

Returns the SUPI from the SUPI list (SUPI list contains either a SUPI or a NAI)

func Init added in v1.2.1

func Init()

func InitUdmContext added in v1.2.1

func InitUdmContext(context *UDMContext)

func MappingSharedData

func MappingSharedData(sharedDatafromUDR []models.SharedData) (mp map[string]models.SharedData)

HandleGetSharedData related functions

func ObtainRequiredSharedData

func ObtainRequiredSharedData(Sharedids []string, response []models.SharedData) (sharedDatas []models.SharedData)

Types

type NFContext added in v1.2.1

type NFContext interface {
	AuthorizationCheck(token string, serviceName models.ServiceName) error
}

type UDMContext

type UDMContext struct {
	NfId                           string
	GroupId                        string
	SBIPort                        int
	RegisterIPv4                   string // IP register to NRF
	BindingIPv4                    string
	UriScheme                      models.UriScheme
	NfService                      map[models.ServiceName]models.NfService
	NFDiscoveryClient              *Nnrf_NFDiscovery.APIClient
	UdmUePool                      sync.Map // map[supi]*UdmUeContext
	NrfUri                         string
	NrfCertPem                     string
	GpsiSupiList                   models.IdentityData
	SharedSubsDataMap              map[string]models.SharedData // sharedDataIds as key
	SubscriptionOfSharedDataChange sync.Map                     // subscriptionID as key
	SuciProfiles                   []suci.SuciProfile
	EeSubscriptionIDGenerator      *idgenerator.IDGenerator
	OAuth2Required                 bool
}

func GetSelf added in v1.2.1

func GetSelf() *UDMContext

func (*UDMContext) AuthorizationCheck added in v1.2.1

func (context *UDMContext) AuthorizationCheck(token string, serviceName models.ServiceName) error

func (*UDMContext) CreateAccessMobilitySubsDataForUe

func (context *UDMContext) CreateAccessMobilitySubsDataForUe(supi string,
	body models.AccessAndMobilitySubscriptionData,
)

Function to create the AccessAndMobilitySubscriptionData for Ue

func (*UDMContext) CreateAmf3gppRegContext

func (context *UDMContext) CreateAmf3gppRegContext(supi string, body models.Amf3GppAccessRegistration)

func (*UDMContext) CreateAmfNon3gppRegContext

func (context *UDMContext) CreateAmfNon3gppRegContext(supi string, body models.AmfNon3GppAccessRegistration)

func (*UDMContext) CreateSmfRegContext

func (context *UDMContext) CreateSmfRegContext(supi string, pduSessionID string)

func (*UDMContext) CreateSmfSelectionSubsDataforUe

func (context *UDMContext) CreateSmfSelectionSubsDataforUe(supi string, body models.SmfSelectionSubscriptionData)

functions for SmfSelectionSubscriptionData

func (*UDMContext) CreateSubsDataSetsForUe

func (context *UDMContext) CreateSubsDataSetsForUe(supi string, body models.SubscriptionDataSets)

functions related to Retrieval of multiple datasets(GetSupi)

func (*UDMContext) CreateSubstoNotifSharedData

func (context *UDMContext) CreateSubstoNotifSharedData(subscriptionID string, body *models.SdmSubscription)

TODO: this function has wrong UE pool key with subscriptionID

func (*UDMContext) CreateTraceDataforUe

func (context *UDMContext) CreateTraceDataforUe(supi string, body models.TraceData)

Functions related to the trace data configuration

func (*UDMContext) CreateUeContextInSmfDataforUe

func (context *UDMContext) CreateUeContextInSmfDataforUe(supi string, body models.UeContextInSmfData)

functions related UecontextInSmfData

func (*UDMContext) GetAmf3gppRegContext

func (context *UDMContext) GetAmf3gppRegContext(supi string) *models.Amf3GppAccessRegistration

func (*UDMContext) GetAmfNon3gppRegContext

func (context *UDMContext) GetAmfNon3gppRegContext(supi string) *models.AmfNon3GppAccessRegistration

func (*UDMContext) GetIPv4Uri

func (context *UDMContext) GetIPv4Uri() string

func (*UDMContext) GetSDMUri

func (context *UDMContext) GetSDMUri() string

GetSDMUri ... get subscriber data management service uri

func (*UDMContext) GetTokenCtx added in v1.2.1

func (c *UDMContext) GetTokenCtx(serviceName models.ServiceName, targetNF models.NfType) (
	context.Context, *models.ProblemDetails, error,
)

func (*UDMContext) InitNFService

func (context *UDMContext) InitNFService(serviceName []string, version string)

func (*UDMContext) ManageSmData

func (context *UDMContext) ManageSmData(smDatafromUDR []models.SessionManagementSubscriptionData, snssaiFromReq string,
	dnnFromReq string) (mp map[string]models.SessionManagementSubscriptionData, ind string,
	Dnns []models.DnnConfiguration, allDnns []map[string]models.DnnConfiguration,
)

func (*UDMContext) NewUdmUe

func (context *UDMContext) NewUdmUe(supi string) *UdmUeContext

func (*UDMContext) UdmAmf3gppRegContextExists

func (context *UDMContext) UdmAmf3gppRegContextExists(supi string) bool

func (*UDMContext) UdmAmfNon3gppRegContextExists

func (context *UDMContext) UdmAmfNon3gppRegContextExists(supi string) bool

func (*UDMContext) UdmSmfRegContextNotExists

func (context *UDMContext) UdmSmfRegContextNotExists(supi string) bool

func (*UDMContext) UdmUeFindByGpsi

func (context *UDMContext) UdmUeFindByGpsi(gpsi string) (*UdmUeContext, bool)

func (*UDMContext) UdmUeFindBySupi

func (context *UDMContext) UdmUeFindBySupi(supi string) (*UdmUeContext, bool)

type UdmNFContext

type UdmNFContext struct {
	SubscriptionID                   string
	SubscribeToNotifChange           *models.SdmSubscription // SubscriptionID as key
	SubscribeToNotifSharedDataChange *models.SdmSubscription // SubscriptionID as key
}

type UdmUeContext

type UdmUeContext struct {
	Supi                              string
	Gpsi                              string
	ExternalGroupID                   string
	Nssai                             *models.Nssai
	Amf3GppAccessRegistration         *models.Amf3GppAccessRegistration
	AmfNon3GppAccessRegistration      *models.AmfNon3GppAccessRegistration
	AccessAndMobilitySubscriptionData *models.AccessAndMobilitySubscriptionData
	SmfSelSubsData                    *models.SmfSelectionSubscriptionData
	UeCtxtInSmfData                   *models.UeContextInSmfData
	TraceDataResponse                 models.TraceDataResponse
	TraceData                         *models.TraceData
	SessionManagementSubsData         map[string]models.SessionManagementSubscriptionData
	SubsDataSets                      *models.SubscriptionDataSets
	SubscribeToNotifChange            map[string]*models.SdmSubscription
	SubscribeToNotifSharedDataChange  *models.SdmSubscription
	PduSessionID                      string
	UdrUri                            string
	UdmSubsToNotify                   map[string]*models.SubscriptionDataSubscriptions
	EeSubscriptions                   map[string]*models.EeSubscription // subscriptionID as key

	SmSubsDataLock sync.RWMutex
	// contains filtered or unexported fields
}

func (*UdmUeContext) CreateSubscriptiontoNotifChange

func (udmUeContext *UdmUeContext) CreateSubscriptiontoNotifChange(subscriptionID string, body *models.SdmSubscription)

functions related to sdmSubscription (subscribe to notification of data change)

func (*UdmUeContext) GetLocationURI

func (ue *UdmUeContext) GetLocationURI(types int) string

func (*UdmUeContext) GetLocationURI2

func (ue *UdmUeContext) GetLocationURI2(types int, supi string) string

func (*UdmUeContext) Init added in v1.2.1

func (ue *UdmUeContext) Init()

func (*UdmUeContext) SameAsStoredGUAMI3gpp

func (ue *UdmUeContext) SameAsStoredGUAMI3gpp(inGuami models.Guami) bool

func (*UdmUeContext) SameAsStoredGUAMINon3gpp

func (ue *UdmUeContext) SameAsStoredGUAMINon3gpp(inGuami models.Guami) bool

func (*UdmUeContext) SetAMSubsriptionData

func (udmUeContext *UdmUeContext) SetAMSubsriptionData(amData *models.AccessAndMobilitySubscriptionData)

Function to set the AccessAndMobilitySubscriptionData for Ue

func (*UdmUeContext) SetSMSubsData

func (udmUeContext *UdmUeContext) SetSMSubsData(smSubsData map[string]models.SessionManagementSubscriptionData)

SetSMSubsData ... functions to set SessionManagementSubsData

func (*UdmUeContext) SetSmfSelectionSubsData

func (udmUeContext *UdmUeContext) SetSmfSelectionSubsData(smfSelSubsData *models.SmfSelectionSubscriptionData)

SetSmfSelectionSubsData ... functions to set SmfSelectionSubscriptionData

Jump to

Keyboard shortcuts

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