+func (e *E2ap) SetASN1DebugPrintStatus(logLevel int) {
+ e2ap_wrapper.SetASN1DebugPrintStatus(logLevel)
+}
+
+//-----------------------------------------------------------------------------
+//
+//-----------------------------------------------------------------------------
+func (e *E2ap) FillSubscriptionReqMsgs(params interface{}, subreqList *e2ap.SubscriptionRequestList, restSubscription *RESTSubscription) error {
+ xapp.Logger.Debug("FillSubscriptionReqMsgs")
+
+ p := params.(*models.SubscriptionParams)
+
+ for _, subscriptionDetail := range p.SubscriptionDetails {
+ subReqMsg := e2ap.E2APSubscriptionRequest{}
+
+ if p.RANFunctionID != nil {
+ subReqMsg.FunctionId = (e2ap.FunctionId)(*p.RANFunctionID)
+ }
+ 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.ActionId = uint64(*actionToBeSetup.ActionID)
+
+ actionToBeSetupItem.ActionType = e2ap.E2AP_ActionTypeStrMap[*actionToBeSetup.ActionType]
+ actionToBeSetupItem.RicActionDefinitionPresent = true
+
+ 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 {
+ actionToBeSetupItem.SubsequentAction.Present = true
+ actionToBeSetupItem.SubsequentAction.Type = e2ap.E2AP_SubSeqActionTypeStrMap[*actionToBeSetup.SubsequentAction.SubsequentActionType]
+ actionToBeSetupItem.SubsequentAction.TimetoWait = e2ap.E2AP_TimeToWaitStrMap[*actionToBeSetup.SubsequentAction.TimeToWait]
+ }
+ subReqMsg.ActionSetups = append(subReqMsg.ActionSetups, actionToBeSetupItem)
+ }
+ subreqList.E2APSubscriptionRequests = append(subreqList.E2APSubscriptionRequests, subReqMsg)