+
+ if s.SubReqMsg == nil {
+ return false
+ }
+
+ if s.Meid.RanName != trans.Meid.RanName {
+ return false
+ }
+
+ // EventTrigger check
+ if s.SubReqMsg.EventTriggerDefinition.InterfaceDirection != subReqMsg.EventTriggerDefinition.InterfaceDirection ||
+ s.SubReqMsg.EventTriggerDefinition.ProcedureCode != subReqMsg.EventTriggerDefinition.ProcedureCode ||
+ s.SubReqMsg.EventTriggerDefinition.TypeOfMessage != subReqMsg.EventTriggerDefinition.TypeOfMessage {
+ return false
+ }
+
+ if s.SubReqMsg.EventTriggerDefinition.InterfaceId.GlobalEnbId.Present != subReqMsg.EventTriggerDefinition.InterfaceId.GlobalEnbId.Present ||
+ s.SubReqMsg.EventTriggerDefinition.InterfaceId.GlobalEnbId.NodeId != subReqMsg.EventTriggerDefinition.InterfaceId.GlobalEnbId.NodeId ||
+ s.SubReqMsg.EventTriggerDefinition.InterfaceId.GlobalEnbId.PlmnIdentity.String() != subReqMsg.EventTriggerDefinition.InterfaceId.GlobalEnbId.PlmnIdentity.String() {
+ return false
+ }
+
+ if s.SubReqMsg.EventTriggerDefinition.InterfaceId.GlobalGnbId.Present != subReqMsg.EventTriggerDefinition.InterfaceId.GlobalGnbId.Present ||
+ s.SubReqMsg.EventTriggerDefinition.InterfaceId.GlobalGnbId.NodeId != subReqMsg.EventTriggerDefinition.InterfaceId.GlobalGnbId.NodeId ||
+ s.SubReqMsg.EventTriggerDefinition.InterfaceId.GlobalGnbId.PlmnIdentity.String() != subReqMsg.EventTriggerDefinition.InterfaceId.GlobalGnbId.PlmnIdentity.String() {
+ return false
+ }
+
+ // Actions check
+ if len(s.SubReqMsg.ActionSetups) != len(subReqMsg.ActionSetups) {
+ return false
+ }
+
+ for _, acts := range s.SubReqMsg.ActionSetups {
+ for _, actt := range subReqMsg.ActionSetups {
+ if acts.ActionId != actt.ActionId {
+ return false
+ }
+ if acts.ActionType != actt.ActionType {
+ return false
+ }
+
+ if acts.ActionType != e2ap.E2AP_ActionTypeReport {
+ return false
+ }
+
+ if acts.ActionDefinition.Present != actt.ActionDefinition.Present ||
+ acts.ActionDefinition.StyleId != actt.ActionDefinition.StyleId ||
+ acts.ActionDefinition.ParamId != actt.ActionDefinition.ParamId {
+ return false
+ }
+ if acts.SubsequentAction.Present != actt.SubsequentAction.Present ||
+ acts.SubsequentAction.Type != actt.SubsequentAction.Type ||
+ acts.SubsequentAction.TimetoWait != actt.SubsequentAction.TimetoWait {
+ return false
+ }
+ }
+ }
+
+ return true