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"
var packerif e2ap.E2APPackerIf = e2ap_wrapper.NewAsn1E2Packer()
+func GetPackerIf() e2ap.E2APPackerIf {
+ return packerif
+}
+
+func SetPackerIf(iface e2ap.E2APPackerIf) {
+ packerif = iface
+}
+
type E2ap struct {
}
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
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 {
return subDelFail, nil
}
+/*
func (c *E2ap) PackSubscriptionDeleteFailure(req *e2ap.E2APSubscriptionDeleteFailure) (int, *e2ap.PackedData, error) {
e2SubDelFail := packerif.NewPackerSubscriptionDeleteFailure()
err, packedData := e2SubDelFail.Pack(req)
}
return xapp.RIC_SUB_DEL_FAILURE, packedData, nil
}
+*/