X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=pkg%2Fcontrol%2Fe2ap.go;h=0d763e6b120b03b02bb78dab55955a4d5d6c02c4;hb=e1af87f0759201f64804eff5911c4e6c0e859be9;hp=d3bd36b255b0859357f2d82c6e5266a541d8bf96;hpb=37f85a0157751a7e34e03f766d356ce890bad838;p=ric-plt%2Fsubmgr.git diff --git a/pkg/control/e2ap.go b/pkg/control/e2ap.go index d3bd36b..0d763e6 100644 --- a/pkg/control/e2ap.go +++ b/pkg/control/e2ap.go @@ -27,6 +27,7 @@ import "C" import ( "encoding/hex" "fmt" + "gerrit.o-ran-sc.org/r/ric-plt/e2ap/pkg/e2ap" "gerrit.o-ran-sc.org/r/ric-plt/e2ap/pkg/e2ap_wrapper" "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/models" @@ -35,14 +36,29 @@ import ( var packerif e2ap.E2APPackerIf = e2ap_wrapper.NewAsn1E2Packer() +func GetPackerIf() e2ap.E2APPackerIf { + return packerif +} + +func SetPackerIf(iface e2ap.E2APPackerIf) { + packerif = iface +} + type E2ap struct { } +//----------------------------------------------------------------------------- +// +//----------------------------------------------------------------------------- +func (c *E2ap) SetASN1DebugPrintStatus(logLevel int) { + e2ap_wrapper.SetASN1DebugPrintStatus(logLevel) +} + //----------------------------------------------------------------------------- // //----------------------------------------------------------------------------- func (c *E2ap) FillSubscriptionReqMsgs(params interface{}, subreqList *e2ap.SubscriptionRequestList, restSubscription *RESTSubscription) error { - xapp.Logger.Info("FillSubscriptionReqMsgs") + xapp.Logger.Debug("FillSubscriptionReqMsgs") p := params.(*models.SubscriptionParams) @@ -52,11 +68,15 @@ func (c *E2ap) FillSubscriptionReqMsgs(params interface{}, subreqList *e2ap.Subs if p.RANFunctionID != nil { subReqMsg.FunctionId = (e2ap.FunctionId)(*p.RANFunctionID) } - subReqMsg.RequestId = e2ap.RequestId{uint32(*subscriptionDetail.RequestorID), uint32(*subscriptionDetail.InstanceID)} - - subReqMsg.EventTriggerDefinition.Data.Data = []byte(subscriptionDetail.EventTriggers.OctetString) - subReqMsg.EventTriggerDefinition.Data.Length = uint64(len(subscriptionDetail.EventTriggers.OctetString)) + e2EventInstanceID := restSubscription.GetE2IdFromXappIdToE2Id(*subscriptionDetail.XappEventInstanceID) + subReqMsg.RequestId = e2ap.RequestId{uint32(*subscriptionDetail.XappEventInstanceID), uint32(e2EventInstanceID)} + if len(subscriptionDetail.EventTriggers) > 0 { + for _, val := range subscriptionDetail.EventTriggers { + subReqMsg.EventTriggerDefinition.Data.Data = append(subReqMsg.EventTriggerDefinition.Data.Data, byte(val)) + } + subReqMsg.EventTriggerDefinition.Data.Length = uint64(len(subscriptionDetail.EventTriggers)) + } for _, actionToBeSetup := range subscriptionDetail.ActionToBeSetupList { actionToBeSetupItem := e2ap.ActionToBeSetupItem{} actionToBeSetupItem.ActionType = e2ap.E2AP_ActionTypeInvalid @@ -65,9 +85,11 @@ func (c *E2ap) FillSubscriptionReqMsgs(params interface{}, subreqList *e2ap.Subs actionToBeSetupItem.ActionType = e2ap.E2AP_ActionTypeStrMap[*actionToBeSetup.ActionType] actionToBeSetupItem.RicActionDefinitionPresent = true - if actionToBeSetup.ActionDefinition != nil { - actionToBeSetupItem.ActionDefinitionChoice.Data.Data = []byte(actionToBeSetup.ActionDefinition.OctetString) - actionToBeSetupItem.ActionDefinitionChoice.Data.Length = uint64(len(actionToBeSetup.ActionDefinition.OctetString)) + if len(actionToBeSetup.ActionDefinition) > 0 { + for _, val := range actionToBeSetup.ActionDefinition { + actionToBeSetupItem.ActionDefinitionChoice.Data.Data = append(actionToBeSetupItem.ActionDefinitionChoice.Data.Data, byte(val)) + } + actionToBeSetupItem.ActionDefinitionChoice.Data.Length = uint64(len(actionToBeSetup.ActionDefinition)) } if actionToBeSetup.SubsequentAction != nil {