Documentation
¶
Index ¶
- func ConvertBitRateToKbps(bitRate string) (kBitRate float64, err error)
- func CreateAMPolicy(policyAssociationRequest models.PolicyAssociationRequest) (*models.PolicyAssociation, string, error)
- func CreateSMPolicy(request models.SmPolicyContextData) (response *models.SmPolicyDecision, err1 error)
- func DeleteAMPolicy(polAssoId string) error
- func DeleteSMPolicy(smPolicyID string) error
- func GetAmPolicyData(ueId string) (*models.AmPolicyData, error)
- func GetSMPolicyDnnData(data models.SmPolicyData, snssai *models.Snssai, dnn string) (result *models.SmPolicyDnnData)
- func GetSmPolicyData(ueId string) (*models.SmPolicyData, error)
- func PolicyControlReqTrigToArray(bitMap uint64) (trigger []models.PolicyControlRequestTrigger)
- func SnssaiModelsToHex(snssai models.Snssai) string
- func Start(dbInstance *db.Database) error
- func UpdateAMPolicy(polAssoId string, ...) (*models.PolicyUpdate, error)
- type PCFContext
- type PccPolicy
- type PcfSubscriberPolicyData
- type SessionPolicy
- type UeAMPolicyData
- type UeContext
- func (ue *UeContext) FindAMPolicy(anType models.AccessType, plmnId *models.NetworkId) *UeAMPolicyData
- func (ue *UeContext) NewUeAMPolicyData(assolId string, req models.PolicyAssociationRequest) *UeAMPolicyData
- func (ue *UeContext) NewUeSmPolicyData(key string, request models.SmPolicyContextData, smData *models.SmPolicyData) *UeSmPolicyData
- type UeSmPolicyData
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ConvertBitRateToKbps ¶
Convert bitRate string to float64 with uint Kbps
func CreateAMPolicy ¶
func CreateAMPolicy(policyAssociationRequest models.PolicyAssociationRequest) (*models.PolicyAssociation, string, error)
func CreateSMPolicy ¶
func CreateSMPolicy(request models.SmPolicyContextData) ( response *models.SmPolicyDecision, err1 error, )
func DeleteAMPolicy ¶
func DeleteSMPolicy ¶
func GetAmPolicyData ¶ added in v0.0.5
func GetAmPolicyData(ueId string) (*models.AmPolicyData, error)
func GetSMPolicyDnnData ¶
func GetSMPolicyDnnData(data models.SmPolicyData, snssai *models.Snssai, dnn string) (result *models.SmPolicyDnnData)
GetSMPolicyDnnData returns SMPolicyDnnData derived from SmPolicy data which snssai and dnn match
func GetSmPolicyData ¶ added in v0.0.5
func GetSmPolicyData(ueId string) (*models.SmPolicyData, error)
func PolicyControlReqTrigToArray ¶
func PolicyControlReqTrigToArray(bitMap uint64) (trigger []models.PolicyControlRequestTrigger)
Use BitMap to generate requested policy control triggers, 1 means yes, 0 means no, see subscaulse 5.6.3.6-1 in TS29512
func SnssaiModelsToHex ¶
Convert Snssai form models to hexString(sst(2)+sd(6))
func UpdateAMPolicy ¶
func UpdateAMPolicy(polAssoId string, policyAssociationUpdateRequest models.PolicyAssociationUpdateRequest) (*models.PolicyUpdate, error)
Types ¶
type PCFContext ¶
type PCFContext struct { PcfSuppFeats map[models.ServiceName]openapi.SupportedFeature UePool sync.Map AppSessionPool sync.Map SessionRuleIDGenerator *idgenerator.IDGenerator QoSDataIDGenerator *idgenerator.IDGenerator DbInstance *db.Database }
func (*PCFContext) NewPCFUe ¶
func (c *PCFContext) NewPCFUe(Supi string) (*UeContext, error)
Allocate PCF Ue with supi and add to pcf Context and returns allocated ue
func (*PCFContext) PCFUeFindByPolicyId ¶
func (c *PCFContext) PCFUeFindByPolicyId(PolicyId string) *UeContext
Find PcfUe which the policyId belongs to
type PcfSubscriberPolicyData ¶
type PcfSubscriberPolicyData struct { PccPolicy map[string]*PccPolicy // sst+sd is key Supi string }
func GetSubscriberPolicy ¶
func GetSubscriberPolicy(imsi string) *PcfSubscriberPolicyData
type SessionPolicy ¶
type SessionPolicy struct {
SessionRules map[string]*models.SessionRule
}
type UeAMPolicyData ¶
type UeAMPolicyData struct { PolAssoId string AccessType models.AccessType NotificationUri string ServingPlmn *models.NetworkId AltNotifIpv4Addrs []string AltNotifIpv6Addrs []string AmfStatusUri string Guami *models.Guami ServiveName string // TraceReq *TraceData // about AF request Pras map[string]models.PresenceInfo // related to UDR Subscription Data AmPolicyData *models.AmPolicyData // Svbscription Data // Corresponding UE PcfUe *UeContext // Policy Association ServAreaRes *models.ServiceAreaRestriction UserLoc *models.UserLocation TimeZone string SuppFeat string Triggers []models.RequestTrigger Rfsp int32 }
type UeContext ¶
type UeContext struct { SmPolicyData map[string]*UeSmPolicyData // use smPolicyId(ue.Supi-pduSessionId) as key AfRoutReq *models.AfRoutingRequirement AspId string PolicyDataSubscriptionStore *models.PolicyDataSubscription PolicyDataChangeStore *models.PolicyDataChangeNotification Supi string Gpsi string Pei string AMPolicyData map[string]*UeAMPolicyData // use PolAssoId(ue.Supi-numPolId) as key GroupIds []string PolAssociationIDGenerator uint32 }
func (*UeContext) FindAMPolicy ¶
func (ue *UeContext) FindAMPolicy(anType models.AccessType, plmnId *models.NetworkId) *UeAMPolicyData
returns AM Policy which AccessType and plmnId match
func (*UeContext) NewUeAMPolicyData ¶
func (ue *UeContext) NewUeAMPolicyData(assolId string, req models.PolicyAssociationRequest) *UeAMPolicyData
func (*UeContext) NewUeSmPolicyData ¶
func (ue *UeContext) NewUeSmPolicyData( key string, request models.SmPolicyContextData, smData *models.SmPolicyData, ) *UeSmPolicyData
returns UeSmPolicyData and insert related info to Ue with smPolId
type UeSmPolicyData ¶
type UeSmPolicyData struct { PackFiltMapToPccRuleId map[string]string // use PackFiltId as Key RemainGbrUL *float64 RemainGbrDL *float64 SmPolicyData *models.SmPolicyData // Svbscription Data PolicyContext *models.SmPolicyContextData AppSessions map[string]bool // related appSessionId PcfUe *UeContext }
Click to show internal directories.
Click to hide internal directories.