udm

package
v0.0.4 Latest Latest
Warning

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

Go to latest
Published: Jan 5, 2025 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	LocationUriAmf3GppAccessRegistration int = iota
	LocationUriAmfNon3GppAccessRegistration
	LocationUriSmfRegistration
	LocationUriSdmSubscription
	LocationUriSharedDataSubscription
)
View Source
const (
	SqnMAx int64 = 0x7FFFFFFFFFF
)
View Source
const (
	UDM_HNP_PRIVATE_KEY = "c09c17bddf23357f614f492075b970d825767718114f59554ce2f345cf8c4b6a"
)

Variables

This section is empty.

Functions

func CreateAuthData

func CreateAuthData(authInfoRequest models.AuthenticationInfoRequest, supiOrSuci string) (
	*models.AuthenticationInfoResult, error,
)

func CreateSubscription

func CreateSubscription(sdmSubscription *models.SdmSubscription, supi string) error

func EditRegistrationAmf3gppAccess

func EditRegistrationAmf3gppAccess(registerRequest models.Amf3GppAccessRegistration, ueID string) error

TS 29.503 5.3.2.2.2

func GetNssai

func GetNssai(supi string) (*models.Nssai, error)

func GetSmData

func GetSmData(supi string, Dnn string, Snssai string) ([]models.SessionManagementSubscriptionData, error)

func GetSmfSelectData

func GetSmfSelectData(supi string) (
	*models.SmfSelectionSubscriptionData, error,
)

func GetUeContextInSmfData

func GetUeContextInSmfData(supi string) (*models.UeContextInSmfData, error)

func Start

func Start() error

Types

type UDMContext

type UDMContext struct {
	NfId                           string
	GroupId                        string
	UriScheme                      models.UriScheme
	NfService                      map[models.ServiceName]models.NfService
	UdmUePool                      sync.Map // map[supi]*UdmUeContext
	GpsiSupiList                   models.IdentityData
	SharedSubsDataMap              map[string]models.SharedData // sharedDataIds as key
	SubscriptionOfSharedDataChange sync.Map                     // subscriptionID as key
	SuciProfiles                   []suci.SuciProfile
	EeSubscriptionIDGenerator      *idgenerator.IDGenerator
}

func (*UDMContext) CreateAmf3gppRegContext

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

func (*UDMContext) CreateSmfSelectionSubsDataforUe

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

functions for SmfSelectionSubscriptionData

func (*UDMContext) CreateUeContextInSmfDataforUe

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

functions related UecontextInSmfData

func (*UDMContext) ManageSmData

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

func (*UDMContext) NewUdmUe

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

func (*UDMContext) UdmAmf3gppRegContextExists

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

func (*UDMContext) UdmUeFindBySupi

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

type UdmNFContext

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

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
	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
	TraceDataResponse                 models.TraceDataResponse

	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) SetAMSubsriptionData

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

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