//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
+const (
+ E2AP_InitiatingMessage uint64 = 1
+ E2AP_SuccessfulOutcome uint64 = 2
+ E2AP_UnsuccessfulOutcome uint64 = 3
+)
+//-----------------------------------------------------------------------------
+//
+//-----------------------------------------------------------------------------
// E2AP messages
// Initiating message
-const E2AP_RICSubscriptionRequest uint64 = 1
-const E2AP_RICSubscriptionDeleteRequest uint64 = 2
-
-// const E2AP_RICServiceUpdate uint64 = 3
-// const E2AP_RICControlRequest uint64 = 4
-//
-// //const E2AP_X2SetupRequest uint64 = 5;
-// const E2AP_ENDCX2SetupRequest uint64 = 6
-// const E2AP_ResourceStatusRequest uint64 = 7
-// const E2AP_ENBConfigurationUpdate uint64 = 8
-// const E2AP_ENDCConfigurationUpdate uint64 = 9
-// const E2AP_ResetRequest uint64 = 10
-// const E2AP_RICIndication uint64 = 11
-
-// const E2AP_RICServiceQuery uint64 = 12
-// const E2AP_LoadInformation uint64 = 13
-// const E2AP_GNBStatusIndication uint64 = 14
-// const E2AP_ResourceStatusUpdate uint64 = 15
-// const E2AP_ErrorIndication uint64 = 16
-//
-// // Successful outcome
-const E2AP_RICSubscriptionResponse uint64 = 1
-const E2AP_RICSubscriptionDeleteResponse uint64 = 2
-
-// const E2AP_RICserviceUpdateAcknowledge uint64 = 3
-// const E2AP_RICcontrolAcknowledge uint64 = 4
-//
-// //const E2AP_X2SetupResponse uint64 = 5;
-// const E2AP_ENDCX2SetupResponse uint64 = 6
-// const E2AP_ResourceStatusResponse uint64 = 7
-// const E2AP_ENBConfigurationUpdateAcknowledge uint64 = 8
-// const E2AP_ENDCConfigurationUpdateAcknowledge uint64 = 9
-// const E2AP_ResetResponse uint64 = 10
-//
-// // Unsuccessful outcome
-const E2AP_RICSubscriptionFailure uint64 = 1
-const E2AP_RICSubscriptionDeleteFailure uint64 = 2
+const (
+ E2AP_RICSubscriptionRequest uint64 = 1
+ E2AP_RICSubscriptionDeleteRequest uint64 = 2
+
+ // E2AP_RICServiceUpdate uint64 = 3
+ // E2AP_RICControlRequest uint64 = 4
+ //
+ // //E2AP_X2SetupRequest uint64 = 5;
+ // E2AP_ENDCX2SetupRequest uint64 = 6
+ // E2AP_ResourceStatusRequest uint64 = 7
+ // E2AP_ENBConfigurationUpdate uint64 = 8
+ // E2AP_ENDCConfigurationUpdate uint64 = 9
+ // E2AP_ResetRequest uint64 = 10
+ // E2AP_RICIndication uint64 = 11
+
+ // E2AP_RICServiceQuery uint64 = 12
+ // E2AP_LoadInformation uint64 = 13
+ // E2AP_GNBStatusIndication uint64 = 14
+ // E2AP_ResourceStatusUpdate uint64 = 15
+ // E2AP_ErrorIndication uint64 = 16
+ //
+)
-// const E2AP_RICserviceUpdateFailure uint64 = 3
-// const E2AP_RICcontrolFailure uint64 = 4
-//
-// //const E2AP_X2SetupFailure uint64 = 5;
-// const E2AP_ENDCX2SetupFailure uint64 = 6
-// const E2AP_ResourceStatusFailure uint64 = 7
-// const E2AP_ENBConfigurationUpdateFailure uint64 = 8
-// const E2AP_ENDCConfigurationUpdateFailure uint64 = 9
-//
+// E2AP messages
+// Successful outcome
+const (
+ E2AP_RICSubscriptionResponse uint64 = 1
+ E2AP_RICSubscriptionDeleteResponse uint64 = 2
+
+ // E2AP_RICserviceUpdateAcknowledge uint64 = 3
+ // E2AP_RICcontrolAcknowledge uint64 = 4
+ //
+ // //E2AP_X2SetupResponse uint64 = 5;
+ // E2AP_ENDCX2SetupResponse uint64 = 6
+ // E2AP_ResourceStatusResponse uint64 = 7
+ // E2AP_ENBConfigurationUpdateAcknowledge uint64 = 8
+ // E2AP_ENDCConfigurationUpdateAcknowledge uint64 = 9
+ // E2AP_ResetResponse uint64 = 10
+ //
+)
-//-----------------------------------------------------------------------------
-//
-//-----------------------------------------------------------------------------
-const E2AP_IndicationTypeReport uint64 = 0
-const E2AP_IndicationTypeInsert uint64 = 1
+// E2AP messages
+// Unsuccessful outcome
+const (
+ E2AP_RICSubscriptionFailure uint64 = 1
+ E2AP_RICSubscriptionDeleteFailure uint64 = 2
+
+ // E2AP_RICserviceUpdateFailure uint64 = 3
+ // E2AP_RICcontrolFailure uint64 = 4
+ //
+ // //E2AP_X2SetupFailure uint64 = 5;
+ // E2AP_ENDCX2SetupFailure uint64 = 6
+ // E2AP_ResourceStatusFailure uint64 = 7
+ // E2AP_ENBConfigurationUpdateFailure uint64 = 8
+ // E2AP_ENDCConfigurationUpdateFailure uint64 = 9
+ //
+)
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
-const E2AP_ActionTypeReport uint64 = 0
-const E2AP_ActionTypeInsert uint64 = 1
-const E2AP_ActionTypePolicy uint64 = 2
+const (
+ E2AP_IndicationTypeReport uint64 = 0
+ E2AP_IndicationTypeInsert uint64 = 1
+)
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
-const E2AP_SubSeqActionTypeContinue uint64 = 0
-const E2AP_SubSeqActionTypeWait uint64 = 1
+const (
+ E2AP_ActionTypeReport uint64 = 0
+ E2AP_ActionTypeInsert uint64 = 1
+ E2AP_ActionTypePolicy uint64 = 2
+)
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
-const E2AP_TimeToWaitZero uint64 = 0
-const E2AP_TimeToWaitW1ms uint64 = 1
-const E2AP_TimeToWaitW2ms uint64 = 2
-const E2AP_TimeToWaitW5ms uint64 = 3
-const E2AP_TimeToWaitW10ms uint64 = 4
-const E2AP_TimeToWaitW20ms uint64 = 4
-const E2AP_TimeToWaitW30ms uint64 = 5
-const E2AP_TimeToWaitW40ms uint64 = 6
-const E2AP_TimeToWaitW50ms uint64 = 7
-const E2AP_TimeToWaitW100ms uint64 = 8
-const E2AP_TimeToWaitW200ms uint64 = 9
-const E2AP_TimeToWaitW500ms uint64 = 10
-const E2AP_TimeToWaitW1s uint64 = 11
-const E2AP_TimeToWaitW2s uint64 = 12
-const E2AP_TimeToWaitW5s uint64 = 13
-const E2AP_TimeToWaitW10s uint64 = 14
-const E2AP_TimeToWaitW20s uint64 = 15
-const E2AP_TimeToWaitW60 uint64 = 16
+const (
+ E2AP_SubSeqActionTypeContinue uint64 = 0
+ E2AP_SubSeqActionTypeWait uint64 = 1
+)
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
-const E2AP_InterfaceDirectionIncoming uint32 = 0
-const E2AP_InterfaceDirectionOutgoing uint32 = 1
+const (
+ E2AP_TimeToWaitZero uint64 = 0
+ E2AP_TimeToWaitW1ms uint64 = 1
+ E2AP_TimeToWaitW2ms uint64 = 2
+ E2AP_TimeToWaitW5ms uint64 = 3
+ E2AP_TimeToWaitW10ms uint64 = 4
+ E2AP_TimeToWaitW20ms uint64 = 4
+ E2AP_TimeToWaitW30ms uint64 = 5
+ E2AP_TimeToWaitW40ms uint64 = 6
+ E2AP_TimeToWaitW50ms uint64 = 7
+ E2AP_TimeToWaitW100ms uint64 = 8
+ E2AP_TimeToWaitW200ms uint64 = 9
+ E2AP_TimeToWaitW500ms uint64 = 10
+ E2AP_TimeToWaitW1s uint64 = 11
+ E2AP_TimeToWaitW2s uint64 = 12
+ E2AP_TimeToWaitW5s uint64 = 13
+ E2AP_TimeToWaitW10s uint64 = 14
+ E2AP_TimeToWaitW20s uint64 = 15
+ E2AP_TimeToWaitW60 uint64 = 16
+)
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
-const E2AP_CriticalityReject uint8 = 0
-const E2AP_CriticalityIgnore uint8 = 1
-const E2AP_CriticalityNotify uint8 = 2
+const (
+ E2AP_InterfaceDirectionIncoming uint32 = 0
+ E2AP_InterfaceDirectionOutgoing uint32 = 1
+)
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
-const E2AP_ENBIDMacroPBits20 uint8 = 20
-const E2AP_ENBIDHomeBits28 uint8 = 28
-const E2AP_ENBIDShortMacroits18 uint8 = 18
-const E2AP_ENBIDlongMacroBits21 uint8 = 21
+const (
+ E2AP_CriticalityReject uint8 = 0
+ E2AP_CriticalityIgnore uint8 = 1
+ E2AP_CriticalityNotify uint8 = 2
+)
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
-const E2AP_InitiatingMessage uint64 = 1
-const E2AP_SuccessfulOutcome uint64 = 2
-const E2AP_UnsuccessfulOutcome uint64 = 3
+const (
+ E2AP_ENBIDMacroPBits20 uint8 = 20
+ E2AP_ENBIDHomeBits28 uint8 = 28
+ E2AP_ENBIDShortMacroits18 uint8 = 18
+ E2AP_ENBIDlongMacroBits21 uint8 = 21
+)
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
-func (e2termConn *testingE2termControl) handle_e2term_subs_fail(t *testing.T, req *e2ap.E2APSubscriptionRequest, msg *RMRParams) {
+type test_subs_fail_params struct {
+ req *e2ap.E2APSubscriptionRequest
+ fail *e2ap.E2APSubscriptionFailure
+}
+
+func (p *test_subs_fail_params) Set(req *e2ap.E2APSubscriptionRequest) {
+ p.req = req
+
+ p.fail = &e2ap.E2APSubscriptionFailure{}
+ p.fail.RequestId.Id = p.req.RequestId.Id
+ p.fail.RequestId.Seq = p.req.RequestId.Seq
+ p.fail.FunctionId = p.req.FunctionId
+ p.fail.ActionNotAdmittedList.Items = make([]e2ap.ActionNotAdmittedItem, len(p.req.ActionSetups))
+ for index := int(0); index < len(p.fail.ActionNotAdmittedList.Items); index++ {
+ p.fail.ActionNotAdmittedList.Items[index].ActionId = p.req.ActionSetups[index].ActionId
+ p.SetCauseVal(index, 5, 1)
+ }
+}
+
+func (p *test_subs_fail_params) SetCauseVal(ind int, content uint8, causeval uint8) {
+
+ if ind < 0 {
+ for index := int(0); index < len(p.fail.ActionNotAdmittedList.Items); index++ {
+ p.fail.ActionNotAdmittedList.Items[index].Cause.Content = content
+ p.fail.ActionNotAdmittedList.Items[index].Cause.CauseVal = causeval
+ }
+ return
+ }
+ p.fail.ActionNotAdmittedList.Items[ind].Cause.Content = content
+ p.fail.ActionNotAdmittedList.Items[ind].Cause.CauseVal = causeval
+}
+
+func (e2termConn *testingE2termControl) handle_e2term_subs_fail(t *testing.T, fparams *test_subs_fail_params, msg *RMRParams) {
xapp.Logger.Info("(%s) handle_e2term_subs_fail", e2termConn.desc)
e2SubsFail := e2asnpacker.NewPackerSubscriptionFailure()
//---------------------------------
xapp.Logger.Info("(%s) Send Subs Fail", e2termConn.desc)
- resp := &e2ap.E2APSubscriptionFailure{}
- resp.RequestId.Id = req.RequestId.Id
- resp.RequestId.Seq = req.RequestId.Seq
- resp.FunctionId = req.FunctionId
-
- resp.ActionNotAdmittedList.Items = make([]e2ap.ActionNotAdmittedItem, len(resp.ActionNotAdmittedList.Items))
- for index := int(0); index < len(resp.ActionNotAdmittedList.Items); index++ {
- resp.ActionNotAdmittedList.Items[index].ActionId = req.ActionSetups[index].ActionId
- resp.ActionNotAdmittedList.Items[index].Cause.Content = 3 // CauseMisc
- resp.ActionNotAdmittedList.Items[index].Cause.CauseVal = 4 // unspecified
- }
-
- e2SubsFail.Set(resp)
+ e2SubsFail.Set(fparams.fail)
xapp.Logger.Debug("%s", e2SubsFail.String())
packerr, packedMsg := e2SubsFail.Pack(nil)
if packerr != nil {
// E2t: Receive SubsReq and send SubsFail
crereq, cremsg := e2termConn.handle_e2term_subs_req(t)
- e2termConn.handle_e2term_subs_fail(t, crereq, cremsg)
+ fparams := &test_subs_fail_params{}
+ fparams.Set(crereq)
+ e2termConn.handle_e2term_subs_fail(t, fparams, cremsg)
// Xapp: Receive SubsFail
e2SubsId := xappConn1.handle_xapp_subs_fail(t, cretrans)