Newer
Older
f_recv_InitialContext_SetupResponse(
mw_InitialContextSetupFailureIEs_CriticalyDiagnostic(
vc_MME_UE_ID,
vc_eNB_UE_ID,
mw_cause_protocol(abstract_syntax_error_falsely_constructed_message),
mw_criticalityDiagnostics(
PX_PROCEURE_CODE,
PX_TRIGGERING_CODE,
PX_CRITICALITY
)));
// Postamble
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
f_postamble_S1AP_eNB();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
} // End of function f_TC_S1AP_ENB_ERR_04
/**
* @desc Testcase function for TC_S1AP_ENB_ERR_05
*/
function f_TC_S1AP_ENB_ERR_05() runs on S1APComponent {
// Local variables
// Preamble
f_S1AP_enb_init();
f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
// Test body
// 1. on receipt of an INITIAL_CONTEXT_SETUP_REQUEST
f_send_E_RABSetupRequest(
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
vc_MME_UE_ID,
{
m_E_RABToBeSetupItemBearerSUReq (
-,
m_e_RABlevelQoSParameters(5)
)
}
));
// 2. sends an ERROR_INDICATION
f_recv_Error_Indication(
mw_error_IndicationIEs(
vc_MME_UE_ID,
vc_eNB_UE_ID,
mw_criticalityDiagnostics_IE(
mw_criticalityDiagnostics(
PX_PROCEURE_CODE,
PX_TRIGGERING_CODE,
PX_CRITICALITY,
{
mw_criticalityDiagnostics_IE_Item(
reject,
-,
missing
)
}
)
)
));
// Postamble
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
f_postamble_S1AP_eNB();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
/**
* @desc Testcase function for TC_S1AP_ENB_ERR_06
*/
function f_TC_S1AP_ENB_ERR_06() runs on S1APComponent {
// Local variables
// Preamble
f_S1AP_enb_init();
f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
// Test body
// 1. on receipt of an INITIAL_CONTEXT_SETUP_REQUEST
f_send_InitialContext_SetupRequest(
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
vc_MME_UE_ID,
vc_eNB_UE_ID,
m_UEAggregateMaximumBitrate(1,1),
{
m_E_RABToBeSetupItemCtxtSUReq (
-,
m_e_RABlevelQoSParameters
(0),
-
)},
m_UESecurityCapabilities(
PX_UNSUPPORTED_ENCRYPTION_ALGORITHM,
'0101010101010101'B
),
m_securityKey
)
);
// 2. sends an INITIAL_CONTEXT_SETUP_FAILURE
f_recv_InitialContext_SetupResponse(
mw_InitialContextSetupFailureIEs_CriticalyDiagnostic(
vc_MME_UE_ID,
vc_eNB_UE_ID,
mw_cause_protocol(abstract_syntax_error_falsely_constructed_message),
mw_criticalityDiagnostics(
PX_PROCEURE_CODE,
PX_TRIGGERING_CODE,
PX_CRITICALITY
)));
// Postamble
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
f_postamble_S1AP_eNB();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
} // End of function f_TC_S1AP_ENB_ERR_06
/**
* @desc Testcase function for TC_S1AP_ENB_ERR_07
*/
function f_TC_S1AP_ENB_ERR_07() runs on S1APComponent {
// Local variables
// Preamble
f_S1AP_enb_init();
// to indicate an ENB Configuration Transfer procedure
f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
// Test body
// 1. on receipt of an INITIAL_CONTEXT_SETUP_REQUEST
f_send_E_RABSetupRequest(
m_E_RABSetupReqIEs_duplicate_ENB(
vc_MME_UE_ID,
vc_eNB_UE_ID,
{
m_E_RABToBeSetupItemBearerSUReq (
-,
m_e_RABlevelQoSParameters(5)
)
}
));
// 2. sends an ERROR_INDICATION
f_recv_Error_Indication(
mw_error_IndicationIEs(
vc_MME_UE_ID,
vc_eNB_UE_ID,
mw_cause_IE(
mw_cause_protocol(abstract_syntax_error_falsely_constructed_message)
)
));
// Postamble
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
f_postamble_S1AP_eNB();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
} // End of function f_TC_S1AP_ENB_ERR_07
/**
* @desc Testcase function for TC_S1AP_ENB_ERR_08
*/
function f_TC_S1AP_ENB_ERR_08() runs on S1APComponent {
// Local variables
// Preamble
f_S1AP_enb_init();
// Preamble action: E-RAB Setup is exchanged
f_rABSetupRequest();
f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
// Test body
// 1. on receipt of an INITIAL_CONTEXT_SETUP_REQUEST
f_send_E_RABSetupRequest(
m_E_RABSetupReqIEs_duplicate_ENB(
vc_MME_UE_ID,
vc_eNB_UE_ID,
{
m_E_RABToBeSetupItemBearerSUReq (
-,
m_e_RABlevelQoSParameters(5)
)
}
));
// 2. sends an ERROR_INDICATION
f_recv_Error_Indication(
mw_error_IndicationIEs(
vc_MME_UE_ID,
vc_eNB_UE_ID,
mw_cause_IE(
mw_cause_ran(unknown_enb_ue_s1ap_id)
)
));
// Postamble
f_rABSetupRelease();
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
f_postamble_S1AP_eNB();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
} // End of group Unknown_unforseen_errorneous_group
/**
* @desc E-RAB management group
* @see ETSI DTS/INT-00135-2 Clause 5.2.2.1.2 E-RAB management group
*/
function f_TC_S1AP_MME_RAB_01() runs on S1APComponent {
// Local variables
// Preamble
f_S1AP_mme_init();
f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
// Test body
action("trigger an Initial E-RAB Setup procedure");
f_recv_E_RABSetupRequest(mw_E_RABSetupReqIEs(
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
// Postamble
f_send_E_RABSetupResponse(m_E_RABSetupResIEs(
vc_MME_UE_ID,
vc_eNB_UE_ID,
{m_E_RABSetupItemBearerSURes}
));
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
/**
* @desc Testcase function for TC_S1AP_eNB_RAB_02
*/
function f_TC_S1AP_MME_RAB_02() runs on S1APComponent {
// Local variables
// Preamble
f_S1AP_mme_init();
f_rABSetupRequest();
f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
// Test body
action("trigger an E-RAB Modify request");
f_recv_E_RABModifiedRequest(mw_E_RABModifiedReqIEs(
vc_MME_UE_ID,
vc_eNB_UE_ID,
{mw_E_RABToBeModifiedItemBearerSUReq(?,mw_e_RABlevelQoSParameters(5),?)}
));
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
// Postamble
f_postamble_S1AP_MME();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
} // End of function f_TC_S1AP_MME_RAB_02
/**
* @desc Testcase function for TC_S1AP_eNB_RAB_03
*/
function f_TC_S1AP_MME_RAB_03() runs on S1APComponent {
// Local variables
// Preamble
f_S1AP_mme_init();
f_rABSetupRequest();
f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
// Test body
action("trigger an E-RAB Release request");
f_recv_E_RABReleaseCommand(mw_E_RABReleaseCmdIEs(
vc_MME_UE_ID,
vc_eNB_UE_ID,
{mw_E_RABItem}
));
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
// Postamble
f_postamble_S1AP_MME();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
} // End of function f_TC_S1AP_MME_RAB_03
/**
* @desc Testcase function for TC_S1AP_eNB_RAB_04
*/
function f_TC_S1AP_MME_RAB_04() runs on S1APComponent {
// Local variables
// Preamble
f_S1AP_mme_init();
f_rABSetupRequest();
f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
// Test body
f_send_E_RABModifiedInd(
m_E_RABModifiedIndIEs(
vc_MME_UE_ID,
vc_eNB_UE_ID,
{
m_E_RABToBeModifiedItemBearerModInd(
c_E_RAB_ID_A,
-,
-
)
}
));
f_recv_E_RABModificationConfirm(mw_E_RABModificationConfirmIEs(
vc_MME_UE_ID,
vc_eNB_UE_ID,
{mw_E_RABItem}
));
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
// Postamble
f_postamble_S1AP_MME();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
} // End of function f_TC_S1AP_MME_RAB_04
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
/**
* @desc Testcase function for TC_S1AP_eNB_RAB_05
*/
function f_TC_S1AP_MME_RAB_05() runs on S1APComponent {
// Local variables
const E_RAB_ID c_E_RAB_ID_A := 0;
// Preamble
f_S1AP_mme_init();
f_rABSetupRequest();
f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
// Test body
f_send_E_RABModifiedInd(
m_E_RABModifiedIndIEs(
vc_MME_UE_ID,
vc_eNB_UE_ID,
{
m_E_RABToBeModifiedItemBearerModInd(
c_E_RAB_ID_A,
-
)
}
));
f_recv_E_RABModificationConfirm(mw_E_RABModificationConfirmIEs(
vc_MME_UE_ID,
vc_eNB_UE_ID,
{mw_E_RABItem(-,mw_cause_transport((transport_resource_unavailable,unspecified)))}
));
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
// Postamble
f_postamble_S1AP_MME();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
} // End of function f_TC_S1AP_MME_RAB_05
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
/**
* @desc Testcase function for TC_S1AP_eNB_RAB_06
*/
function f_TC_S1AP_MME_RAB_06() runs on S1APComponent {
// Local variables
const E_RAB_ID c_E_RAB_ID_A := 0;
// Preamble
f_S1AP_mme_init();
f_rABSetupRequest();
f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
// Test body
f_send_E_RABModifiedInd(
m_E_RABModifiedIndIEs(
vc_MME_UE_ID,
vc_eNB_UE_ID,
{
m_E_RABToBeModifiedItemBearerModInd(
c_E_RAB_ID_A,
'0'B, // TODO PIXIT for unacceptatable value
-
)
}
));
f_recv_E_RABModificationConfirm(mw_E_RABModificationConfirmIEs(
vc_MME_UE_ID,
vc_eNB_UE_ID,
{mw_E_RABItem(-,?)}
));
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
// Postamble
f_postamble_S1AP_MME();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
} // End of function f_TC_S1AP_MME_RAB_06
/**
* @desc Testcase function for TC_S1AP_eNB_RAB_07
*/
function f_TC_S1AP_MME_RAB_07() runs on S1APComponent {
// Local variables
const E_RAB_ID c_E_RAB_ID_A := 0;
// Preamble
f_S1AP_mme_init();
f_rABSetupRequest();
f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
// Test body
f_send_E_RABModifiedInd(
vc_MME_UE_ID,
vc_eNB_UE_ID,
{
m_E_RABToBeModifiedItemBearerModInd(
c_E_RAB_ID_A,
-,
-
)
f_recv_E_RABModificationConfirm(mw_E_RABModificationConfirmIEsCSG(
));
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
// Postamble
f_postamble_S1AP_MME();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
} // End of function f_TC_S1AP_MME_RAB_07
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
/**
* @desc Testcase function for TC_S1AP_eNB_RAB_10
*/
function f_TC_S1AP_MME_RAB_10() runs on S1APComponent {
// Local variables
const E_RAB_ID c_E_RAB_ID_A := 0;
// Preamble
f_S1AP_mme_init();
f_rABSetupRequest();
f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
// Test body
f_send_E_RABModifiedInd(
m_E_RABModifiedIndIEs_CSG(
vc_MME_UE_ID,
vc_eNB_UE_ID,
{
m_E_RABToBeModifiedItemBearerModInd(
c_E_RAB_ID_A,
-,
-
)
},
m_CSGMembershipInfo(-,-,omit)
));
f_recv_E_RABModificationConfirm(mw_E_RABModificationConfirmIEs(
vc_MME_UE_ID,
vc_eNB_UE_ID,
{mw_E_RABItem(-,?)}
));
f_recv_InitialContext_SetupRequest((mw_UeContextReleaseCommandIEs_MME, mw_UeContextReleaseCommandIEs_ENB));
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
// Postamble
f_postamble_S1AP_MME();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
} // End of function f_TC_S1AP_MME_RAB_10
/**
* @desc Context management group
* @see ETSI DTS/INT-00135-2 Clause 5.2.2.2.3 Context management group
*/
group Context_management_group {
/**
* @desc Testcase function for TC_S1AP_mME_CMP_01
*/
function f_TC_S1AP_mME_CMP_01() runs on S1APComponent {
// Local variables
// Preamble
f_S1AP_mme_init();
f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
// Test body
action("trigger an Initial Context Setup procedure");
f_recv_InitialContext_SetupRequest(mw_InitialContextSetupRequestIEs(
vc_MME_UE_ID,
vc_eNB_UE_ID,
mw_UEAggregateMaximumBitrate(?,?),
{
mw_E_RABToBeSetupItemCtxtSUReq(?,mw_e_RABlevelQoSParameters(5),?,?,?,omit)
},
?,
?
));
// Postamble
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
f_postamble_S1AP_MME();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
} // End of function f_TC_S1AP_eNB_CMP_01
/**
* @desc Testcase function for TC_S1AP_mME_CMP_02
*/
function f_TC_S1AP_mME_CMP_02() runs on S1APComponent {
// Local variables
var template(value) Cause v_cause;
select(PX_VA){
case(1){v_cause := m_cause_ran(user_inactivity)}
case(2){v_cause := m_cause_ran(radio_connection_with_ue_lost)}
case(3){v_cause := m_cause_nas(csg_subscription_expiry)}
case(4){v_cause := m_cause_ran(cs_fallback_triggered)}
case(5){v_cause := m_cause_ran(redirection_towards_1xRTT)}
case(6){v_cause := m_cause_ran(interrat_redirection)}
case(7){v_cause := m_cause_ran(ue_not_available_for_ps_service)}
case else {setverdict(fail, "undefined PIXIT value for variant")}
}
f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
f_send_UE_Context_Release_Command(m_UeContextReleaseRequestIEs(
vc_MME_UE_ID,
vc_eNB_UE_ID,
v_cause
));
f_recv_InitialContext_SetupRequest((mw_UeContextReleaseCommandIEs_MME, mw_UeContextReleaseCommandIEs_ENB));
// Postamble
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
f_send_UE_Context_Release_Complete(m_UeContextReleaseCompleteIEs(
vc_MME_UE_ID,
vc_eNB_UE_ID
));
f_postamble_S1AP_MME();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
/**
* @desc Testcase function for TC_S1AP_mME_CMP_03
*/
function f_TC_S1AP_mME_CMP_03() runs on S1APComponent {
// Local variables
var template(value) Cause v_cause;
f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
// Test body
action("trigger a UE context modification request");
f_recv_UE_Context_Modification_Request(mw_UeContextModificationRequestIEs);
// Postamble
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
f_postamble_S1AP_MME();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
/**
* @desc Testcase function for TC_S1AP_mME_CMP_04
*/
function f_TC_S1AP_mME_CMP_04() runs on S1APComponent {
// Local variables
var template(value) Cause v_cause;
f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
// Test body
action("trigger a UE radio capability match request");
f_recv_UE_Context_Modification_Request(mw_UeRadioCapabilityMatchRequestIEs);
// Postamble
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
f_postamble_S1AP_MME();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
/**
* @desc Testcase function for TC_S1AP_mME_CMP_05
*/
function f_TC_S1AP_mME_CMP_05() runs on S1APComponent {
// Local variables
var template(value) Cause v_cause;
f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
f_send_UE_Context_Modification_Indication(m_UeContextModificationIndicationIEs(
vc_MME_UE_ID,
vc_eNB_UE_ID
));
f_recv_Ue_Context_Modification_Confirm(mw_UeContextModificationConfirmIEs);
// Postamble
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
f_postamble_S1AP_MME();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
} // End of function f_TC_S1AP_eNB_CMP_05
function f_TC_S1AP_mME_CMP_06() runs on S1APComponent {
// Local variables
var template(value) Cause v_cause;
f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
f_send_UE_Context_Modification_Indication(m_UeContextModificationIndicationIEsCSG(
vc_MME_UE_ID,
vc_eNB_UE_ID,
m_CSGMembershipInfo
));
f_recv_Ue_Context_Modification_Confirm(mw_UeContextModificationConfirmIEsCSG);
// Postamble
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
f_postamble_S1AP_MME();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
/**
* @desc Testcase function for TC_S1AP_mME_CMP_07
*/
function f_TC_S1AP_mME_CMP_07() runs on S1APComponent {
// Local variables
var template(value) Cause v_cause;
// Preamble
f_S1AP_mme_init();
f_rABSetupRequest();
f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
// Test body
f_send_UE_Context_Modification_Indication(m_UeContextModificationIndicationIEsCSG(
vc_MME_UE_ID,
vc_eNB_UE_ID,
m_CSGMembershipInfo(-,-,hybrid)
));
f_recv_Ue_Context_Modification_Confirm(mw_UeContextModificationConfirmIEs);
f_recv_InitialContext_SetupRequest((mw_UeContextReleaseCommandIEs_MME, mw_UeContextReleaseCommandIEs_ENB));
// Postamble
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
f_postamble_S1AP_MME();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
} // End of function f_TC_S1AP_eNB_CMP_07
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
/**
* @desc Testcase function for TC_S1AP_mME_CMP_08
*/
function f_TC_S1AP_mME_CMP_08() runs on S1APComponent {
// Local variables
var template(value) Cause v_cause;
// Preamble
f_S1AP_mme_init();
f_rABSetupRequest();
f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
// Test body
f_send_UE_Context_Suspend_Request(m_UeContextSuspendRequestIEs(
vc_MME_UE_ID,
vc_eNB_UE_ID
));
f_recv_Ue_Context_Suspend_Response(mw_UeContextSuspendResponseIEs);
// Postamble
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
f_postamble_S1AP_MME();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
} // End of function f_TC_S1AP_eNB_CMP_08
/**
* @desc Testcase function for TC_S1AP_mME_CMP_09
*/
function f_TC_S1AP_mME_CMP_09() runs on S1APComponent {
// Local variables
var template(value) Cause v_cause;
// Preamble
f_S1AP_mme_init();
f_rABSetupRequest();
f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
// Test body
f_send_Ue_Context_Resume_Request(m_UeContextResumeRequestIEs(
f_recv_Ue_Context_Resume_Response(mw_UeContextResumeResponseIEs);
// Postamble
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
f_postamble_S1AP_MME();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
} // End of function f_TC_S1AP_eNB_CMP_09
/**
* @desc Testcase function for TC_S1AP_mME_CMP_10
*/
function f_TC_S1AP_mME_CMP_10() runs on S1APComponent {
// Local variables
var template(value) Cause v_cause;
// Preamble
f_S1AP_mme_init();
f_rABSetupRequest();
f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
// Test body
f_send_Ue_Context_Resume_Request(
m_UeContextResumeRequestIEs_RABFailedToResumeItem(
{
m_E_RABFailedToResumeItemResumeReq(
c_E_RAB_ID_A,
m_cause_ran(user_inactivity)
)
}
f_recv_Ue_Context_Resume_Failure(mw_UeContextResumeFailureIEs);
// Postamble
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
f_postamble_S1AP_MME();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
} // End of function f_TC_S1AP_eNB_CMP_10
/**
* @desc Testcase function for TC_S1AP_mME_CMP_11
*/
function f_TC_S1AP_mME_CMP_11() runs on S1APComponent {
// Local variables
var template(value) Cause v_cause;
// Preamble
f_S1AP_mme_init();
f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
// Test body
action("trigger a Connection establishment indication");
f_recv_Connection_Establishment_Indication(mw_ConnectionEstablishmentIndicationIEs);
// Postamble
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
f_postamble_S1AP_MME();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
} // End of function f_TC_S1AP_eNB_CMP_11
} // End of group Context_management_group
/**
* @desc Handover signalling group
* @see ETSI DTS/INT-00135-2 Clause 5.2.2.2.4 Handover signalling group
*/
group Handover_signalling_group {
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
/**
* @desc Testcase function for TC_S1AP_MME_HAS_01
*/
function f_TC_S1AP_MME_HAS_01() runs on S1APComponent {
// Local variables
const Source_ToTarget_TransparentContainer c_source_ToTarget_TransparentContainer := '12121212'O;
const Target_ToSource_TransparentContainer c_target_ToSource_TransparentContainer := '12121212'O;
// Preamble
f_S1AP_mme_init();
// Preamble action: E-RAB Setup is exchanged.
//f_rABSetup...;
f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
// Test body
// sends a HANDOVER_REQUIRED
f_send_HandoverRequired(
m_HandoverRequiredIEs(
vc_MME_UE_ID,
vc_eNB_UE_ID,
intralte,
m_cause_ran(unspecified),
m_TargeteNB_ID(m_Global_ENB_ID('000001'O,
m_ENB_ID_macro),
m_TAI('000001'O,
'0001'O)),
c_source_ToTarget_TransparentContainer
));
f_recv_HandoverCommand(
mw_HandoverCommandIEs(
vc_MME_UE_ID,
vc_eNB_UE_ID,
intralte,//handover_Type
c_target_ToSource_TransparentContainer//TargetToSourceTransparentContainer
));
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
// Postamble
//f_rABSetupRelease...;
f_postamble_S1AP_eNB();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
} // End of function f_TC_S1AP_MME_HAS_01