Newer
Older
* @version $URL$
* $Id$
* @desc This module provides test cases for NGAP tests.
* @copyright ETSI Copyright Notification
* No part may be reproduced except as authorized by written permission.
* The copyright and the foregoing restriction extend to reproduction in all media.
* All rights reserved.
* @see ETSI TS 138 413 / 3GPP TS 38.413 version 16.12 Release 16
// LibNGAP
import from NGAP_Constants language "ASN.1:2002" all;
import from NGAP_CommonDataTypes language "ASN.1:2002" all;
import from NGAP_IEs language "ASN.1:2002" all;
import from NGAP_PDU_Contents language "ASN.1:2002" all;
import from NGAP_PDU_Descriptions language "ASN.1:2002" all;
import from NGAP_Containers language "ASN.1:2002" all;
import from LibNGAP_TypesAndValues all;
import from LibNGAP_Templates all;
import from LibNGAP_Pixits all;
// NGAP_Ats
import from LibNGAP_TypesAndValues all;
import from NGAP_TestConfiguration all;
import from NGAP_TestSystem all;
import from NGAP_TCFunctions all;
import from NGAP_Pics all;
/**
* @desc Verify ...
* <pre>
* Pics Selection:
* Configuration:
*
* </pre>
*
* @see ETSI TS
* @reference ETSI TS
*/
testcase TC_NGAP_gNB_or_aMF_testcaseName_01() runs on /*aMFNGAPComponent*/gNBNGAPComponent system TestAdapter {
var AdditionalDLUPTNLInformationForHOItem v_test, v_test1;
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
log(m_pDUSessionResourceSetupRequestTransfer_optionals(
m_pDUSessionType(ipv4),
{
m_qosFlowSetupRequestItem(
PX_QOS_FLOW_IDENTIFIER,
m_qosFlowLevelQosParameters(
m_qosCharacteristics_dynamic5QI(
m_dynamic5QIDescriptor(
1,//in template (value) PriorityLevelQos p_priorityLevelQos,
0,//in template (value) PacketDelayBudget p_packetDelayBudget,
m_PacketErrorRate(
0,//in template (value) PacketErrorRate.pERScalar p_pERScalar,
0//in template (value) PacketErrorRate.pERExponent p_pERExponent
))),
m_allocationAndRetentionPriority(
1,//in template (value) PriorityLevelARP p_priorityLevelARP,
shall_not_trigger_pre_emption,//in template (value) Pre_emptionCapability p_pre_emptionCapability,
not_pre_emptable//in template (value) Pre_emptionVulnerability p_pre_emptionVulnerability,
)))
},
m_uPTransportLayerInformation_gTPTunnel(
m_gTPTunnel
),
m_pDUSessionAggregateMaximumBitRate(
PX_UE_AGGREGATE_MAXIMUM_BIT_RATE_DL,
PX_UE_AGGREGATE_MAXIMUM_BIT_RATE_UL
)));
log(m_pDUSessionResourceSetupRequestTransfer_optionals_1(
m_pDUSessionType(ipv4),
{
m_qosFlowSetupRequestItem(
PX_QOS_FLOW_IDENTIFIER,
m_qosFlowLevelQosParameters(
m_qosCharacteristics_dynamic5QI(
m_dynamic5QIDescriptor(
1,//in template (value) PriorityLevelQos p_priorityLevelQos,
0,//in template (value) PacketDelayBudget p_packetDelayBudget,
m_PacketErrorRate(
0,//in template (value) PacketErrorRate.pERScalar p_pERScalar,
0//in template (value) PacketErrorRate.pERExponent p_pERExponent
))),
m_allocationAndRetentionPriority(
1,//in template (value) PriorityLevelARP p_priorityLevelARP,
shall_not_trigger_pre_emption,//in template (value) Pre_emptionCapability p_pre_emptionCapability,
not_pre_emptable//in template (value) Pre_emptionVulnerability p_pre_emptionVulnerability,
)))
},
m_uPTransportLayerInformation_gTPTunnel(
m_gTPTunnel
),
m_pDUSessionAggregateMaximumBitRate(
PX_UE_AGGREGATE_MAXIMUM_BIT_RATE_DL,
PX_UE_AGGREGATE_MAXIMUM_BIT_RATE_UL
)));
stop;
// Test control
if (not PICS_NGAP_AMF_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_NGAP_gNB_Up/*aMF_Up*/(v_ngap_gnb_or_amf);
v_test := valueof(
m_additionalDLUPTNLInformationForHOItem(
m_uPTransportLayerInformation_gTPTunnel(
m_gTPTunnel
),
{
m_qosFlowItemWithDataForwarding(
-,
m_dataForwardingAccepted
)
}
));
v_test1 := valueof(
m_additionalDLUPTNLInformationForHOItem(
m_uPTransportLayerInformation_gTPTunnel(
m_gTPTunnel
),
{
m_qosFlowItemWithDataForwarding(
-,
m_dataForwardingAccepted,
m_qosFlowItemWithDataForwarding_id_CurrentQoSParaSetIndex(
m_alternativeQoSParaSetIndex
))
},
-,
m_additionalDLUPTNLInformationForHOItem_uPTransportLayerInformation(
m_uPTransportLayerInformation_gTPTunnel(
m_gTPTunnel
))));
v_ngap_gnb_or_amf.start(f_TC_NGAP_gNB_or_aMF_functionName_01());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down/*gNBoraMF*/();
} // End of testcase TC_NGAP_gNB_or_aMF_testcaseName_01
} // End of group TC_testcase_template
/**
* @see ETSI TS 138 413 V16.12.0 (2023-05) 8.1 List of NGAP Elementary Procedures
*/
group PDU_Session_Management_Procedures{
/**
* @see ETSI TS 138 413 V16.12.0 (2023-05) 8.2.1 PDU Session Resource Setup
*/
* @desc Verify that the NG-RAN node successfully processes a PDU SESSION RESOURCE SETUP REQUEST contains mandatory IEs and answers with PDU SESSION RESOURCE SETUP RESPONSE for successfully established PDU session
testcase TC_NGAP_GNB_PDU_01() runs on aMFNGAPComponent system TestAdapter {
// Local variables
var aMFNGAPComponent v_ngap_amf;
if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_1_1)){
log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_1_1' shall be set to true for executing the TC. ***");
// Test component configuration
f_cf_NGAP_aMF_Up(v_ngap_amf);
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
} // End of testcase TC_NGAP_GNB_PDU_01
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
/**
* @desc Test objective "Verify that the NG-RAN node reports the establishment of the corresponding PDU session as failed if a PDU SESSION RESOURCE SETUP REQUEST contains several PDU Session ID IEs set to the same value."
*/
testcase TC_NGAP_GNB_PDU_02() runs on aMFNGAPComponent system TestAdapter {
// Local variables
var aMFNGAPComponent v_ngap_amf;
// Test control
if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_1_1)){
log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_1_1' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_NGAP_aMF_Up(v_ngap_amf);
// Start
v_ngap_amf.start(f_TC_NGAP_GNB_PDU_02());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down/*gNBoraMF*/();
} // End of testcase TC_NGAP_GNB_PDU_02
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
/**
* @desc Test objective "Verify that the NG-RAN node reports the establishment of the new PDU session as failed if a PDU SESSION RESOURCE SETUP REQUEST contains a PDU Session ID IE set to value that identifies an active PDU Session. NOTE: Run TP_NGAP_GNB_PDU_01 before this TP "
*/
testcase TC_NGAP_GNB_PDU_03() runs on aMFNGAPComponent system TestAdapter {
// Local variables
var aMFNGAPComponent v_ngap_amf;
// Test control
if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_1_1)){
log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_1_1' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_NGAP_aMF_Up(v_ngap_amf);
// Start
v_ngap_amf.start(f_TC_NGAP_GNB_PDU_03());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down/*gNBoraMF*/();
} // End of testcase TC_NGAP_GNB_PDU_03
/**
* @desc Test objective "Verify that the NG-RAN node reports the establishment of the corresponding PDU session as failed if a PDU SESSION RESOURCE SETUP REQUEST contains a QoS Flow Setup Request List IE in the PDU Session Resource Setup Request Transfer IE including at least one Non-GBR QoS flow but the PDU Session Aggregate Maximum Bit Rate IE is not present. "
*/
testcase TC_NGAP_GNB_PDU_04() runs on aMFNGAPComponent system TestAdapter {
// Local variables
var aMFNGAPComponent v_ngap_amf;
// Test control
if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_1_1)){
log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_1_1' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_NGAP_aMF_Up(v_ngap_amf);
// Start
v_ngap_amf.start(f_TC_NGAP_GNB_PDU_04());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down/*gNBoraMF*/();
} // End of testcase TC_NGAP_GNB_PDU_04
} // End of group PDU_Session_Resource_Setup
//8.2.2
group PDU_Session_Resource_Release{
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
/**
* @desc Test objective "Verify that the NG-RAN node successfully processes a PDU SESSION RESOURCE RELEASE COMMAND contains mandatory IEs and answers with PDU SESSION RESOURCE RELEASE RESPONSE to release PDU session."
*/
testcase TC_NGAP_GNB_PDU_05() runs on aMFNGAPComponent system TestAdapter {
// Local variables
var aMFNGAPComponent v_ngap_amf;
// Test control
if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_1_2)){
log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_1_2' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_NGAP_aMF_Up(v_ngap_amf);
// Start
v_ngap_amf.start(f_TC_NGAP_GNB_PDU_05());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down/*gNBoraMF*/();
} // End of testcase TC_NGAP_GNB_PDU_05
/**
* @desc Test objective "Verify that the NG-RAN node successfully processes a PDU SESSION RESOURCE RELEASE COMMAND containing multiple PDU Session ID IEs set to the same value and ignore the duplication."
*/
testcase TC_NGAP_GNB_PDU_06() runs on aMFNGAPComponent system TestAdapter {
// Local variables
var aMFNGAPComponent v_ngap_amf;
// Test control
if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_1_2)){
log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_1_2' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_NGAP_aMF_Up(v_ngap_amf);
// Start
v_ngap_amf.start(f_TC_NGAP_GNB_PDU_06());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down/*gNBoraMF*/();
} // End of testcase TC_NGAP_GNB_PDU_06
} // End of group PDU_Session_Resource_Release
//8.2.3
group PDU_Session_Resource_Modify{
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
/**
* @desc Test objective "Verify that the NG-RAN node successfully processes a PDU SESSION RESOURCE MODIFY REQUEST contains mandatory IEs and answers with PDU SESSION RESOURCE MODIFY RESPONSE for successfully modified PDU session."
*/
testcase TC_NGAP_GNB_PDU_07() runs on aMFNGAPComponent system TestAdapter {
// Local variables
var aMFNGAPComponent v_ngap_amf;
// Test control
if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_1_3)){
log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_1_3' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_NGAP_aMF_Up(v_ngap_amf);
// Start
v_ngap_amf.start(f_TC_NGAP_GNB_PDU_07());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down/*gNBoraMF*/();
} // End of testcase TC_NGAP_GNB_PDU_07
} // End of group PDU_Session_Resource_Modify
//8.2.4
group PDU_Session_Resource_Notify{
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
/**
* @desc Test objective "Verify that the IUT can send a PDU_SESSION_RESOURCE_NOTIFY that already established QoS flow or PDU session for given UE are release."
*/
testcase TC_NGAP_GNB_PDU_08() runs on aMFNGAPComponent system TestAdapter {
// Local variables
var aMFNGAPComponent v_ngap_amf;
// Test control
if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_1_4)){
log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_1_4' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_NGAP_aMF_Up(v_ngap_amf);
// Start
v_ngap_amf.start(f_TC_NGAP_GNB_PDU_08());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down/*gNBoraMF*/();
} // End of testcase TC_NGAP_GNB_PDU_08
} // End of group PDU_Session_Resource_Notify
//8.2.5
group PDU_Session_Resource_Modify_Indication{
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
/**
* @desc Test objective "Verify that the IUT can send a PDU_SESSION_RESOURCE_MODIFY_INDICATION to request modification of established PDU session."
*/
testcase TC_NGAP_GNB_PDU_09() runs on aMFNGAPComponent system TestAdapter {
// Local variables
var aMFNGAPComponent v_ngap_amf;
// Test control
if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_1_5)){
log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_1_5' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_NGAP_aMF_Up(v_ngap_amf);
// Start
v_ngap_amf.start(f_TC_NGAP_GNB_PDU_09());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down/*gNBoraMF*/();
} // End of testcase TC_NGAP_GNB_PDU_09
} // End of group PDU_Session_Resource_Modify_Indication
} // End of group PDU_Session_Management_Procedures
//8.3
group UE_Context_Management_Procedures{
//8.3.1
group Initial_Context_Setup{
} // End of group Initial_Context_Setup
//8.3.2
group UE_Context_Release_Request_NG_RAN_node_initiated{
} // End of group UE_Context_Release_Request_NG_RAN_node_initiated
//8.3.3
group UE_Context_Release_AMF_initiated{
} // End of group UE_Context_Release_AMF_initiated
//8.3.4
group UE_Context_Modification{
} // End of group UE_Context_Modification
//8.3.5
group RRC_Inactive_Transition_Report{
} // End of group RRC_Inactive_Transition_Report
//8.3.6
group Connection_Establishment_Indication{
} // End of group Connection_Establishment_Indication
//8.3.7
group AMF_CP_Relocation_Indication{
} // End of group AMF_CP_Relocation_Indication
//8.3.8
group RAN_CP_Relocation_Indication{
} // End of group RAN_CP_Relocation_Indication
//8.3.9
group Retrieve_UE_Information{
} // End of group Retrieve_UE_Information
//8.3.10
group UE_Information_Transfer{
} // End of group UE_Information_Transfer
//8.3.11
group UE_Context_Suspend{
} // End of group UE_Context_Suspend
//8.3.12
group UE_Context_Resume{
} // End of group UE_Context_Resume
} // End of group UE_Context_Management_Procedures
//8.4
group UE_Mobility_Management_Procedures{
//8.4.1
group Handover_Preparation{
} // End of group Handover_Preparation
//8.4.2
group Handover_Resource_Allocation{
} // End of group Handover_Resource_Allocation
//8.4.3
group Handover_Notification{
} // End of group Handover_Notification
//8.4.4
group Path_Switch_Request{
} // End of group Path_Switch_Request
//8.4.5
group Handover_Cancellation{
} // End of group Handover_Cancellation
//8.4.6
group Uplink_RAN_Status_Transfer{
} // End of group Uplink_RAN_Status_Transfer
//8.4.7
group Downlink_RAN_Status_Transfer{
} // End of group Downlink_RAN_Status_Transfer
} // End of group Handover_Success
//8.4.9
group Uplink_RAN_Early_Status_Transfer{
} // End of group Uplink_RAN_Early_Status_Transfer
//8.4.10
group Downlink_RAN_Early_Status_Transfer{
} // End of group Downlink_RAN_Early_Status_Transfer
} // End of group UE_Mobility_Management_Procedures
//8.5
group Paging_Procedures{
//8.5.1
group Paging{
} // End of group Paging
} // End of group Paging_Procedures
//8.6
group Transport_of_NAS_Messages_Procedures{
//8.6.1
group Initial_UE_Message{
} // End of group Initial_UE_Message
//8.6.2
group Downlink_NAS_Transport{
} // End of group Downlink_NAS_Transport
//8.6.3
group Uplink_NAS_Transport{
} // End of group Uplink_NAS_Transport
//8.6.4
group NAS_Non_Delivery_Indication{
} // End of group NAS_Non_Delivery_Indication
//8.6.5
group Rerout_NAS_Request{
} // End of group Rerout_NAS_Request
} // End of group Transport_of_NAS_Messages_Procedures
//8.7
group Interface_Management_Procedures{
//8.7.1
group NG_Setup{
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
/**
* @desc "Verify that the GNB node successfully sends a NG SETUP REQEST message to the AMF."
*/
testcase TC_NGAP_GNB_IMP_01() runs on aMFNGAPComponent system TestAdapter {
// Local variables
var aMFNGAPComponent v_ngap_amf;
// Test control
if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_6_1)){
log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_6_1' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_NGAP_aMF_Up(v_ngap_amf);
// Start
v_ngap_amf.start(f_TC_NGAP_GNB_IMP_01());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down/*gNBoraMF*/();
} // End of testcase TC_NGAP_GNB_IMP_01
} // End of group NG_Setup
//8.7.2
group RAN_Configuration_Update{
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
/**
* @desc "Verify that the IUT can send a RAN CONFIGURATION UPDATE message to the AMF."
*/
testcase TC_NGAP_GNB_IMP_02() runs on aMFNGAPComponent system TestAdapter {
// Local variables
var aMFNGAPComponent v_ngap_amf;
// Test control
if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_6_2)){
log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_6_2' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_NGAP_aMF_Up(v_ngap_amf);
// Start
v_ngap_amf.start(f_TC_NGAP_GNB_IMP_02());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down/*gNBoraMF*/();
} // End of testcase TC_NGAP_GNB_IMP_02
} // End of group RAN_Configuration_Update
//8.7.3
group AMF_Configuration_Update{
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
/**
* @desc "Verify that the GNB node successfully processes a AMF CONFIGURATION UPDATE message with AMF CONFIGURATION UPDATE ACKNOWLEDGE to acknowledge the update."
*/
testcase TC_NGAP_GNB_IMP_03() runs on aMFNGAPComponent system TestAdapter {
// Local variables
var aMFNGAPComponent v_ngap_amf;
// Test control
if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_6_3)){
log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_6_3' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_NGAP_aMF_Up(v_ngap_amf);
// Start
v_ngap_amf.start(f_TC_NGAP_GNB_IMP_03());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down/*gNBoraMF*/();
} // End of testcase TC_NGAP_GNB_IMP_03
/**
* @desc "Verify that the GNB node can send a AMF CONFIGURATION UPDATE FAILURE."
*/
testcase TC_NGAP_GNB_IMP_04() runs on aMFNGAPComponent system TestAdapter {
// Local variables
var aMFNGAPComponent v_ngap_amf;
// Test control
if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_6_3)){
log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_6_3' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_NGAP_aMF_Up(v_ngap_amf);
// Start
v_ngap_amf.start(f_TC_NGAP_GNB_IMP_04());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down/*gNBoraMF*/();
} // End of testcase TC_NGAP_GNB_IMP_04
} // End of group AMF_Configuration_Update
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
/**
* @desc "Verify that the GNB node successfully processes a NG RESET message that contains mandatory IEs and answers with NG RESET ACKNOWLEDGE to acknowledge the reset."
*/
testcase TC_NGAP_GNB_IMP_05() runs on aMFNGAPComponent system TestAdapter {
// Local variables
var aMFNGAPComponent v_ngap_amf;
// Test control
if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_6_4)){
log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_6_4' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_NGAP_aMF_Up(v_ngap_amf);
// Start
v_ngap_amf.start(f_TC_NGAP_GNB_IMP_05());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down/*gNBoraMF*/();
} // End of testcase TC_NGAP_GNB_IMP_05
} // End of group NG_Reset
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
/**
* @desc "Verify that the GNB can send a ERROR INDICATION to the AMF when a error occurs."
*/
testcase TC_NGAP_GNB_IMP_06() runs on aMFNGAPComponent system TestAdapter {
// Local variables
var aMFNGAPComponent v_ngap_amf;
// Test control
if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_6_5)){
log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_6_5' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_NGAP_aMF_Up(v_ngap_amf);
// Start
v_ngap_amf.start(f_TC_NGAP_GNB_IMP_06());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down/*gNBoraMF*/();
} // End of testcase TC_NGAP_GNB_IMP_06
} // End of group Error_Indication
//8.7.6
group AMF_Status_Indication{
} // End of group AMF_Status_Indication
} // End of group Overload_Start
} // End of group Overload_Stop
} // End of group Interface_Management_Procedures
//8.8
group Configuration_Transfer_Procedures{
//8.8.1
group Uplink_RAN_Configuration_Transfer{
} // End of group Uplink_RAN_Configuration_Transfer
//8.8.2
group Downlink_RAN_Configuration_Transfer{
} // End of group Downlink_RAN_Configuration_Transfer
} // End of group Configuration_Transfer_Procedures
//8.9
group Warning_Message_Transmission_Procedures{
//8.9.1
group Write_Replace_Warning{
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
/**
* @desc Verify that the NG-RAN node successfully processes a WRITE-REPLACE WARNING REQUEST containing mandatory IEs and answers with WRITE-REPLACE WARNING RESPONSE to start broadcasting of warning messages.
*/
testcase TC_NGAP_GNB_WTP_01() runs on aMFNGAPComponent system TestAdapter {
// Local variables
var aMFNGAPComponent v_ngap_amf;
// Test control
if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_8_1)){
log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_8_1' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_NGAP_aMF_Up(v_ngap_amf);
// Start
v_ngap_amf.start(f_TC_NGAP_GNB_WTP_01());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down/*gNBoraMF*/();
} // End of testcase TC_NGAP_GNB_WTP_01
/**
* @desc "Verify that the NG-RAN node successfully processes a WRITE-REPLACE WARNING REQUEST containing Message Identifier IE and/or Serial Number IE different from those in the warning message being broadcast and if Concurent Warning Message Indicator is not present then IUT node answers with WRITE-REPLACE WARNING RESPONSE and replaces the warning message being broadcast with newly received one for that area."
*/
testcase TC_NGAP_GNB_WTP_02() runs on aMFNGAPComponent system TestAdapter {
// Local variables
var aMFNGAPComponent v_ngap_amf;
// Test control
if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_8_1)){
log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_8_1' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_NGAP_aMF_Up(v_ngap_amf);
// Start
v_ngap_amf.start(f_TC_NGAP_GNB_WTP_02());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down/*gNBoraMF*/();
} // End of testcase TC_NGAP_GNB_WTP_02
} // End of group Write_Replace_Warning
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
/**
* @desc "Verify that the NG-RAN node successfully processes a PWS CANCEL REQUEST containing mandatory IEs and answers with PWS CANCEL RESPONSE to cancel an already ongoing broadcast warning messages in all of the cells in the NG-RAN."
*/
testcase TC_NGAP_GNB_WTP_03() runs on aMFNGAPComponent system TestAdapter {
// Local variables
var aMFNGAPComponent v_ngap_amf;
// Test control
if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_8_2)){
log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_8_2' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_NGAP_aMF_Up(v_ngap_amf);
// Start
v_ngap_amf.start(f_TC_NGAP_GNB_WTP_03());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down/*gNBoraMF*/();
} // End of testcase TC_NGAP_GNB_WTP_03
} // End of group PWS_Cancel
//8.9.3
group PWS_Restart_Indication{
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
/**
* @desc "Verify that the IUT can send a PWS RESTART INDICATION to inform AMF that PWS information for some or all cells may be reloaded from the CBC if needed."
*/
testcase TC_NGAP_GNB_WTP_04() runs on aMFNGAPComponent system TestAdapter {
// Local variables
var aMFNGAPComponent v_ngap_amf;
// Test control
if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_8_3)){
log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_8_3' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_NGAP_aMF_Up(v_ngap_amf);
// Start
v_ngap_amf.start(f_TC_NGAP_GNB_WTP_04());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down/*gNBoraMF*/();
} // End of testcase TC_NGAP_GNB_WTP_04
} // End of group PWS_Restart_Indication
//8.9.4
group PWS_Failure_Indication{
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
/**
* @desc "Verify that the IUT can send a PWS FAILURE INDICATION to inform AMF that ongoing PWS operation for one or more cells has failed."
*/
testcase TC_NGAP_GNB_WTP_05() runs on aMFNGAPComponent system TestAdapter {
// Local variables
var aMFNGAPComponent v_ngap_amf;
// Test control
if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_8_4)){
log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_8_4' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_NGAP_aMF_Up(v_ngap_amf);
// Start
v_ngap_amf.start(f_TC_NGAP_GNB_WTP_05());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down/*gNBoraMF*/();
} // End of testcase TC_NGAP_GNB_WTP_05
} // End of group PWS_Failure_Indication
} // End of group Warning_Message_Transmission_Procedures
//8.10
group NRPPa_Transport_Procedures{
} // End of group NRPPa_Transport_Procedures
//8.11
group Trace_Procedures{
//8.11.1
group Trace_Start{
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
/**
* @desc Test objective "Verify that the IUT can send a TRACE_FAILURE_INDICATION to inform AMF that Trace Start procedure has failed due to an interaction with handover procedure."
*/
testcase TC_NGAP_GNB_TRP_01() runs on aMFNGAPComponent system TestAdapter {
// Local variables
var aMFNGAPComponent v_ngap_amf;
// Test control
if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_10_1) and (not PICS_A3_10_2)){
log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_10_1 and PICS_A3_10_2' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_NGAP_aMF_Up(v_ngap_amf);
// Start
v_ngap_amf.start(f_TC_NGAP_GNB_TRP_01());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down/*gNBoraMF*/();
} // End of testcase TC_NGAP_GNB_TRP_01
} // End of group Trace_Start
//8.11.2
group Trace_Failure_Indication{
} // End of group Trace_Failure_Indication
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
/**
* @desc Test objective "Verify that the IUT can send a TRACE_FAILURE_INDICATION to inform AMF that a Deactivate Trace procedure has failed due to an interaction with handover procedure."
*/
testcase TC_NGAP_GNB_TRP_02() runs on aMFNGAPComponent system TestAdapter {
// Local variables
var aMFNGAPComponent v_ngap_amf;
// Test control
if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_10_2) and (not PICS_A3_10_3)){
log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_10_2 and PICS_A3_10_3' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_NGAP_aMF_Up(v_ngap_amf);
// Start
v_ngap_amf.start(f_TC_NGAP_GNB_TRP_02());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down/*gNBoraMF*/();
} // End of testcase TC_NGAP_GNB_TRP_02
} // End of group Deactivate_Trace
//8.11.4
group Cell_Traffic_Trace{
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
/**
* @desc Test objective "Verify that the IUT can send a CELL_TRAFFIC_TRACE to send the allocated Trace Recording Session Reference and Trace Reference to AMF."
*/
testcase TC_NGAP_GNB_TRP_03() runs on aMFNGAPComponent system TestAdapter {
// Local variables
var aMFNGAPComponent v_ngap_amf;
// Test control
if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_10_4)){
log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_10_4' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_NGAP_aMF_Up(v_ngap_amf);
// Start
v_ngap_amf.start(f_TC_NGAP_GNB_TRP_03());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down/*gNBoraMF*/();
} // End of testcase TC_NGAP_GNB_TRP_03
} // End of group Cell_Traffic_Trace
} // End of group Trace_Procedures