Loading ttcn/AtsNGAP/NGAP_Steps.ttcn +17 −0 Original line number Diff line number Diff line Loading @@ -173,6 +173,23 @@ module NGAP_Steps { //FIXME: Implementation of PDU session resource setup } // End of function f_NGAP_amf_UE_PDU_ResourceSetup(); /******************************************************************/ /** * @desc */ function f_NGAP_gnb_UE_Register() runs on NGAPComponent { //FIXME: Implementation of UE registration } // End of function f_NGAP_gnb_UE_Register() /** * @desc */ function f_NGAP_gnb_UE_PDU_ResourceSetup() runs on NGAPComponent { //FIXME: Implementation of PDU session resource setup } // End of function f_NGAP_gnb_UE_PDU_ResourceSetup(); }//end group BehaviorFunctions } // End of module NGAP_Steps ttcn/AtsNGAP/NGAP_TCFunctions.ttcn +138 −0 Original line number Diff line number Diff line Loading @@ -1031,12 +1031,150 @@ module NGAP_TCFunctions { group PDU_Session_Management_Procedures{ //8.2.1 group PDU_Session_Resource_Setup{ /** * @desc Testcase function for TC_NGAP_aMF_PDU_01 */ function f_TC_NGAP_AMF_PDU_01() runs on gNBNGAPComponent { // Local variables // Preamble f_NGAP_gnb_init(); f_NGAP_gnb_UE_Register(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body action("Trigger PDU session resource SETUP!"); f_recv_NGAP_PDU( mw_ngap_initMsg( mw_n2_PDUSessionResourceSetupRequest( PX_AMF_UE_NGAP_ID, PX_RAN_UE_NGAP_ID, { mw_pDUSessionResourceSetupItemSUReq( PX_PDU_SESSION_ID, mw_s_NSSAI( PX_SST, -,//in template (omit) SD p_sD := omit, -//in template (omit) S_NSSAI.iE_Extensions p_iE_Extensions := omit ), ?,//mw_pDUSessionResourceSetupRequestTransfer(?),OCTETSTRING -,//in template (omit) NAS_PDU p_pDUSessionNAS_PDU := omit, -//in template (omit) PDUSessionResourceSetupItemSUReq.iE_Extensions p_iE_Extensions := omit ) }//in template (value) PDUSessionResourceSetupListSUReq p_pDUSessionResourceSetupListSUReq ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_AMF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_AMF_PDU_01 } // End of group PDU_Session_Resource_Setup //8.2.2 group PDU_Session_Resource_Release{ /** * @desc Testcase function for TC_NGAP_AMF_PDU_02 */ function f_TC_NGAP_AMF_PDU_02() runs on gNBNGAPComponent { // Local variables // Preamble f_NGAP_gnb_init(); f_NGAP_gnb_UE_Register(); f_NGAP_gnb_UE_PDU_ResourceSetup(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body action("Trigger PDU session resource RELEASE!"); f_recv_NGAP_PDU( mw_ngap_initMsg( mw_n2_PDUSessionResourceReleaseCommand( PX_AMF_UE_NGAP_ID, PX_RAN_UE_NGAP_ID, { mw_pDUSessionResourceToReleaseItemRelCmd( PX_PDU_SESSION_ID, ?,//mw_pDUSessionResourceReleaseCommandTransfer(?,-),OCTETSTRING -//in template (omit) PDUSessionResourceToReleaseItemRelCmd.iE_Extensions p_iE_Extensions := omit ) } ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_AMF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_AMF_PDU_02 } // End of group PDU_Session_Resource_Release //8.2.3 group PDU_Session_Resource_Modify{ /** * @desc Testcase function for TC_NGAP_AMF_PDU_03 */ function f_TC_NGAP_AMF_PDU_03() runs on gNBNGAPComponent { // Local variables // Preamble f_NGAP_gnb_init(); f_NGAP_gnb_UE_Register(); f_NGAP_gnb_UE_PDU_ResourceSetup(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body action("Trigger PDU session resource MODIFY!"); f_recv_NGAP_PDU( mw_ngap_initMsg( mw_n2_PDUSessionResourceModify( PX_AMF_UE_NGAP_ID, PX_RAN_UE_NGAP_ID, { mw_pDUSessionResourceModifyItemModReq( PX_PDU_SESSION_ID, ?,//mw_pDUSessionResourceModifyRequestTransfer(*),OCTETSTRING -,//template NAS_PDU p_nAS_PDU := *, -//template PDUSessionResourceModifyItemModReq.iE_Extensions p_iE_Extensions := * ) } ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_AMF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_AMF_PDU_03 } // End of group PDU_Session_Resource_Modify //8.2.4 group PDU_Session_Resource_Notify{ Loading ttcn/AtsNGAP/NGAP_TestCases.ttcn +85 −1 Original line number Diff line number Diff line Loading @@ -658,12 +658,96 @@ module NGAP_TestCases { group PDU_Session_Management_Procedures{ //8.2.1 group PDU_Session_Resource_Setup{ /** * @desc "Verify that the IUT can send a PDU SESSION RESOURCE SETUP REQUEST with at least one PDU session resource list to established PDU session." */ testcase TC_NGAP_AMF_PDU_01() runs on gNBNGAPComponent system TestAdapter { // Local variables var gNBNGAPComponent v_ngap_gnb; // Test control if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_1_1)){ log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_1_1' shall be set to true for executing the TC. ***"); stop; } // Test component configuration f_cf_NGAP_gNB_Up(v_ngap_gnb); // Start v_ngap_gnb.start(f_TC_NGAP_AMF_PDU_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_AMF_PDU_01 } // End of group PDU_Session_Resource_Setup //8.2.2 group PDU_Session_Resource_Release{ /** * @desc "Verify that the IUT can send a PDU_SESSION_RESOURCE_RELEASE_COMMAND to release PDU session." */ testcase TC_NGAP_AMF_PDU_02() runs on gNBNGAPComponent system TestAdapter { // Local variables var gNBNGAPComponent v_ngap_gnb; // Test control if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_1_2)){ log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_1_2' shall be set to true for executing the TC. ***"); stop; } // Test component configuration f_cf_NGAP_gNB_Up(v_ngap_gnb); // Start v_ngap_gnb.start(f_TC_NGAP_AMF_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_AMF_PDU_02 } // End of group PDU_Session_Resource_Release //8.2.3 group PDU_Session_Resource_Modify{ /** * @desc "Verify that the IUT can send a PDU_SESSION_RESOURCE_MODIFY_REQUEST to modify PDU session." */ testcase TC_NGAP_AMF_PDU_03() runs on gNBNGAPComponent system TestAdapter { // Local variables var gNBNGAPComponent v_ngap_gnb; // Test control if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_1_3)){ log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_1_3' shall be set to true for executing the TC. ***"); stop; } // Test component configuration f_cf_NGAP_gNB_Up(v_ngap_gnb); // Start v_ngap_gnb.start(f_TC_NGAP_AMF_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_AMF_PDU_03 } // End of group PDU_Session_Resource_Modify //8.2.4 group PDU_Session_Resource_Notify{ Loading Loading
ttcn/AtsNGAP/NGAP_Steps.ttcn +17 −0 Original line number Diff line number Diff line Loading @@ -173,6 +173,23 @@ module NGAP_Steps { //FIXME: Implementation of PDU session resource setup } // End of function f_NGAP_amf_UE_PDU_ResourceSetup(); /******************************************************************/ /** * @desc */ function f_NGAP_gnb_UE_Register() runs on NGAPComponent { //FIXME: Implementation of UE registration } // End of function f_NGAP_gnb_UE_Register() /** * @desc */ function f_NGAP_gnb_UE_PDU_ResourceSetup() runs on NGAPComponent { //FIXME: Implementation of PDU session resource setup } // End of function f_NGAP_gnb_UE_PDU_ResourceSetup(); }//end group BehaviorFunctions } // End of module NGAP_Steps
ttcn/AtsNGAP/NGAP_TCFunctions.ttcn +138 −0 Original line number Diff line number Diff line Loading @@ -1031,12 +1031,150 @@ module NGAP_TCFunctions { group PDU_Session_Management_Procedures{ //8.2.1 group PDU_Session_Resource_Setup{ /** * @desc Testcase function for TC_NGAP_aMF_PDU_01 */ function f_TC_NGAP_AMF_PDU_01() runs on gNBNGAPComponent { // Local variables // Preamble f_NGAP_gnb_init(); f_NGAP_gnb_UE_Register(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body action("Trigger PDU session resource SETUP!"); f_recv_NGAP_PDU( mw_ngap_initMsg( mw_n2_PDUSessionResourceSetupRequest( PX_AMF_UE_NGAP_ID, PX_RAN_UE_NGAP_ID, { mw_pDUSessionResourceSetupItemSUReq( PX_PDU_SESSION_ID, mw_s_NSSAI( PX_SST, -,//in template (omit) SD p_sD := omit, -//in template (omit) S_NSSAI.iE_Extensions p_iE_Extensions := omit ), ?,//mw_pDUSessionResourceSetupRequestTransfer(?),OCTETSTRING -,//in template (omit) NAS_PDU p_pDUSessionNAS_PDU := omit, -//in template (omit) PDUSessionResourceSetupItemSUReq.iE_Extensions p_iE_Extensions := omit ) }//in template (value) PDUSessionResourceSetupListSUReq p_pDUSessionResourceSetupListSUReq ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_AMF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_AMF_PDU_01 } // End of group PDU_Session_Resource_Setup //8.2.2 group PDU_Session_Resource_Release{ /** * @desc Testcase function for TC_NGAP_AMF_PDU_02 */ function f_TC_NGAP_AMF_PDU_02() runs on gNBNGAPComponent { // Local variables // Preamble f_NGAP_gnb_init(); f_NGAP_gnb_UE_Register(); f_NGAP_gnb_UE_PDU_ResourceSetup(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body action("Trigger PDU session resource RELEASE!"); f_recv_NGAP_PDU( mw_ngap_initMsg( mw_n2_PDUSessionResourceReleaseCommand( PX_AMF_UE_NGAP_ID, PX_RAN_UE_NGAP_ID, { mw_pDUSessionResourceToReleaseItemRelCmd( PX_PDU_SESSION_ID, ?,//mw_pDUSessionResourceReleaseCommandTransfer(?,-),OCTETSTRING -//in template (omit) PDUSessionResourceToReleaseItemRelCmd.iE_Extensions p_iE_Extensions := omit ) } ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_AMF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_AMF_PDU_02 } // End of group PDU_Session_Resource_Release //8.2.3 group PDU_Session_Resource_Modify{ /** * @desc Testcase function for TC_NGAP_AMF_PDU_03 */ function f_TC_NGAP_AMF_PDU_03() runs on gNBNGAPComponent { // Local variables // Preamble f_NGAP_gnb_init(); f_NGAP_gnb_UE_Register(); f_NGAP_gnb_UE_PDU_ResourceSetup(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body action("Trigger PDU session resource MODIFY!"); f_recv_NGAP_PDU( mw_ngap_initMsg( mw_n2_PDUSessionResourceModify( PX_AMF_UE_NGAP_ID, PX_RAN_UE_NGAP_ID, { mw_pDUSessionResourceModifyItemModReq( PX_PDU_SESSION_ID, ?,//mw_pDUSessionResourceModifyRequestTransfer(*),OCTETSTRING -,//template NAS_PDU p_nAS_PDU := *, -//template PDUSessionResourceModifyItemModReq.iE_Extensions p_iE_Extensions := * ) } ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_AMF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_AMF_PDU_03 } // End of group PDU_Session_Resource_Modify //8.2.4 group PDU_Session_Resource_Notify{ Loading
ttcn/AtsNGAP/NGAP_TestCases.ttcn +85 −1 Original line number Diff line number Diff line Loading @@ -658,12 +658,96 @@ module NGAP_TestCases { group PDU_Session_Management_Procedures{ //8.2.1 group PDU_Session_Resource_Setup{ /** * @desc "Verify that the IUT can send a PDU SESSION RESOURCE SETUP REQUEST with at least one PDU session resource list to established PDU session." */ testcase TC_NGAP_AMF_PDU_01() runs on gNBNGAPComponent system TestAdapter { // Local variables var gNBNGAPComponent v_ngap_gnb; // Test control if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_1_1)){ log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_1_1' shall be set to true for executing the TC. ***"); stop; } // Test component configuration f_cf_NGAP_gNB_Up(v_ngap_gnb); // Start v_ngap_gnb.start(f_TC_NGAP_AMF_PDU_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_AMF_PDU_01 } // End of group PDU_Session_Resource_Setup //8.2.2 group PDU_Session_Resource_Release{ /** * @desc "Verify that the IUT can send a PDU_SESSION_RESOURCE_RELEASE_COMMAND to release PDU session." */ testcase TC_NGAP_AMF_PDU_02() runs on gNBNGAPComponent system TestAdapter { // Local variables var gNBNGAPComponent v_ngap_gnb; // Test control if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_1_2)){ log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_1_2' shall be set to true for executing the TC. ***"); stop; } // Test component configuration f_cf_NGAP_gNB_Up(v_ngap_gnb); // Start v_ngap_gnb.start(f_TC_NGAP_AMF_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_AMF_PDU_02 } // End of group PDU_Session_Resource_Release //8.2.3 group PDU_Session_Resource_Modify{ /** * @desc "Verify that the IUT can send a PDU_SESSION_RESOURCE_MODIFY_REQUEST to modify PDU session." */ testcase TC_NGAP_AMF_PDU_03() runs on gNBNGAPComponent system TestAdapter { // Local variables var gNBNGAPComponent v_ngap_gnb; // Test control if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_1_3)){ log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_1_3' shall be set to true for executing the TC. ***"); stop; } // Test component configuration f_cf_NGAP_gNB_Up(v_ngap_gnb); // Start v_ngap_gnb.start(f_TC_NGAP_AMF_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_AMF_PDU_03 } // End of group PDU_Session_Resource_Modify //8.2.4 group PDU_Session_Resource_Notify{ Loading