udm

package
v0.0.5 Latest Latest
Warning

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

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

Documentation

Index

Constants

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

Variables

View Source
var AllowedSscModes = []string{
	"SSC_MODE_2",
	"SSC_MODE_3",
}

Functions

func CreateAuthData

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

func CreateSdmSubscriptions added in v0.0.5

func CreateSdmSubscriptions(SdmSubscription models.SdmSubscription, ueId string) models.SdmSubscription

func CreateSubscription

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

func EditAuthenticationSubscription added in v0.0.5

func EditAuthenticationSubscription(ueId string, sequenceNumber string) error

func EditRegistrationAmf3gppAccess

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

TS 29.503 5.3.2.2.2

func GetAmDataAndSetAMSubscription added in v0.0.5

func GetAmDataAndSetAMSubscription(supi string) (
	*models.AccessAndMobilitySubscriptionData, error,
)

func GetAndSetSmData added in v0.0.5

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

func GetAndSetSmfSelectData added in v0.0.5

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

func GetAuthSubsData added in v0.0.5

func GetAuthSubsData(ueId string) (*models.AuthenticationSubscription, error)

func GetNssai

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

func GetSmfSelectData

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

func GetUeContextInSmfData

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

func Start

func Start(dbInstance *db.Database) error

Types

type UDMContext

type UDMContext struct {
	DbInstance                     *db.Database
	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
	SdmSubscriptionIDGenerator     int
	UESubsCollection               sync.Map // map[ueId]*UESubsData
}

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

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

type UESubsData added in v0.0.5

type UESubsData struct {
	SdmSubscriptions map[subsID]*models.SdmSubscription
}

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
	Nssai                             *models.Nssai
	Amf3GppAccessRegistration         *models.Amf3GppAccessRegistration
	AccessAndMobilitySubscriptionData *models.AccessAndMobilitySubscriptionData
	SmfSelSubsData                    *models.SmfSelectionSubscriptionData
	UeCtxtInSmfData                   *models.UeContextInSmfData
	SessionManagementSubsData         map[string]models.SessionManagementSubscriptionData
	SubscribeToNotifChange            map[string]*models.SdmSubscription
	SubscribeToNotifSharedDataChange  *models.SdmSubscription
	PduSessionID                      string

	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