/** * @author ETSI/STF498 * @version $Url$ * $Id$ * @dec Testcases module for INT GTPv2-C protocol */ module AtsGtpv2C_TestCases { // Libcommon import from LibCommon_BasicTypesAndValues all; import from LibCommon_DataStrings all; import from LibCommon_Time all; import from LibCommon_VerdictControl all; import from LibCommon_Sync all; // LibGtpv2C import from LibGtpv2C_TestSystem all; import from LibGtpv2C_Pics all; import from LibGtpv2C_Configuration all; import from LibGtpv2C_MME_Functions all; import from LibGtpv2C_SGW_Functions all; /** * @desc This group contains all test case for IUT acting as a MME */ group mmeRole { /** * @desc This group contains all test case for IUT acting as a MME * @see ETSI TS 103 202-2 V0.0.2 (2014-03), clause 5.2.1 */ group pathManagement { /** * @desc Verify the successful answering of Echo Request with Echo Response *
            * Pics Selection: PICS_S11_IUT_IS_MME and PICS_ECHO_REQUEST and PICS_ECHO_REPLY
            * Config Id: CF01
            * Initial conditions:
            *  with {
            *      EPC and RAN network available
            *      MME is configured with the GTP Tunnel Parameter.
            *      S-GW is configured with the GTP Tunnel Parameter.
            *      Verify IP connectivity between the two nodes.
            *      Power on the MME and S-GW
            *  }
            * Expected behaviour:
            *  ensure that {
            *      when {
            *          Trigger MME to initiate the Echo Request Procedure
            *      }
            *      then {
            *          GTP Echo Request is sent which contains the Recovery Information Element (IE)
            *          and, the Recovery IE is either incorrect or has the wrong format
            *          and, the Echo Response contains the Restart counter and a negative Cause value
            *      }
            *  }
            * 
* @verdict pass on success, inconc on timeout, fail otherwise * * @see ETSI TS 103 202-2 V0.0.2 (2014-03), TP_PM_01 * @reference ETSI TS 129 274 V9.13.0, clauses 7.1.1 & 7.1.2 */ testcase TC_S11_MME_PM_01() runs on Gtpv2CComponent system Gtpv2CSystemAdapter { // Local variables // Test control if (not (PICS_S11_IUT_IS_MME and PICS_ECHO_REQUEST and PICS_ECHO_REPLY)) { log("*** " & testcasename() & ": PICS_S11_IUT_IS_MME and PICS_ECHO_REQUEST and PICS_ECHO_REPLY required for executing the TC ***"); setverdict(inconc); stop; } // Test component configuration f_cf01_S11Up_MME(); // Start vc_gtpv2c_sgw.start(f_TC_S11_MME_PM_01()); // synchronize PTC on 1 sychronization point f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); // Postamble f_cf01_S11Down_MME(); } // End of testcase TC_S11_MME_PM_01 /** * @desc Verify the successful answering of Echo Request with Echo Response with a negative cause value *
            * Pics Selection: PICS_S11_IUT_IS_MME and PICS_ECHO_REQUEST and PICS_ECHO_REPLY
            * Config Id: CF01
            * Initial conditions:
            *  with {
            *      EPC and RAN network available
            *      MME is configured with the GTP Tunnel Parameter.
            *      S-GW is configured with the GTP Tunnel Parameter.
            *      Verify IP connectivity between the two nodes.
            *      Power on the MME and S-GW
            *  }
            * Expected behaviour:
            *  ensure that {
            *      when {
            *          Trigger MME (or simulator) initiates the Echo Request Procedure with an error
            *      }
            *      then {
            *          GTP Echo Request is sent which contains the Recovery Information Element (IE)
            *          and, the Recovery IE is either incorrect or has the wrong format
            *          and, the Echo Response contains the Restart counter and a negative Cause value
            *      }
            *  }
            * 
* @verdict pass on success, inconc on timeout, fail otherwise * * @see ETSI TS 103 202-2 V0.0.2 (2014-03), TP_PM_02 * @reference ETSI TS 129 274 V9.13.0, clauses 7.1.1 & 7.1.2 */ testcase TC_S11_MME_PM_02() runs on Gtpv2CComponent system Gtpv2CSystemAdapter { // Local variables // Test control if (not (PICS_S11_IUT_IS_MME and PICS_ECHO_REQUEST and PICS_ECHO_REPLY)) { log("*** " & testcasename() & ": PICS_S11_IUT_IS_MME and PICS_ECHO_REQUEST and PICS_ECHO_REPLY required for executing the TC ***"); setverdict(inconc); stop; } // Test component configuration f_cf01_S11Up_MME(); // Start vc_gtpv2c_sgw.start(f_TC_S11_MME_PM_02()); // synchronize PTC on 1 sychronization point f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); // Postamble f_cf01_S11Down_MME(); } // End of testcase TC_S11_MME_PM_02 /** * @desc Verify the GTP version that the sending entity supports. If a GTP network element receives a message of unsupported GTP version, verify that the network element returns a Version Not Supported Indication message and that it discards the received message *
            * Pics Selection: PICS_S11_IUT_IS_MME and PICS_VERSION_NOT_SUPPORTED
            * Config Id: CF01
            * Initial conditions:
            *  with {
            *      EPC and RAN network available
            *      Network should be configured as show in Figure 3 above.
            *      MME is configured with the GTP Tunnel Parameter.
            *      S-GW is configured with the GTP Tunnel Parameter.
            *      Verify IP connectivity between the two nodes.
            *      Power on the MME and S-GW
            *  }
            * Expected behaviour:
            *  ensure that {
            *      when {
            *          MME (or simulator) initiates the Version Not supported Procedure by sending a GTP message which contains a version higher than the latest version
            *      }
            *      then {
            *          Verify that any given GTP message (e.g. Echo Request) contains a version that is higher than the latest supported version.
            *          and, verify that the Version not Supported Indication contains the GTP version the network element  currently supports
            *      }
            *  }
            * 
* @verdict pass on success, inconc on timeout, fail otherwise * * @see ETSI TS 103 202-2 V0.0.2 (2014-03), TP_PM_03 * @reference ETSI TS 129 274 V9.13.0, clauses 7.1.3 */ testcase TC_S11_MME_PM_03() runs on Gtpv2CComponent system Gtpv2CSystemAdapter { // Local variables // Test control if (not (PICS_S11_IUT_IS_MME and PICS_VERSION_NOT_SUPPORTED)) { log("*** " & testcasename() & ": PICS_S11_IUT_IS_MME and PICS_VERSION_NOT_SUPPORTED required for executing the TC ***"); setverdict(inconc); stop; } // Test component configuration f_cf01_S11Up_MME(); // Start vc_gtpv2c_sgw.start(f_TC_S11_MME_PM_03()); // synchronize PTC on 1 sychronization point f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); // Postamble f_cf01_S11Down_MME(); } // End of testcase TC_S11_MME_PM_03 } // End of group pathManagement /** * @desc This group contains all test case for IUT acting as a MME * @see ETSI TS 103 202-2 V0.0.2 (2014-03), clause 5.2.2 */ group tunnelManagement { /** * @desc Validate the Create Session Request/Response and the Modify Bearer Request/Response Procedure between MME and S-GW as part of the ATTACH Procedure *
            * Pics Selection: PICS_S11_IUT_IS_MME and PICS_MME_CREATE_SESSION_REQUEST and PICS_MME_CREATE_BEARER_RESPONSE and PICS_MME_MODIFY_BEARER_REQUEST
            * Config Id: CF01
            * Initial conditions:
            *  with {
            *      EPC, RAN, and one UE are available.
            *      MME is configured the GTP Tunnel Parameter.
            *      S-GW is configured with the GTP Tunnel Parameter.
            *      Verify IP connectivity between the two nodes.
            *  }
            * Expected behaviour:
            *  ensure that {
            *      when {
            *          UE registers with and attaches to the network to receive services that require registration
            *          A default EPS bearer is setup as result of attachment
            *          This forces the Create Session and Modify Bearer ProcedureTrigger MME (or simulator) initiates the Echo Request Procedure with an error
            *      }
            *      then {
            *          Verify that the MME sends Create Session Request and receives the Create Session Response
            *          and, verify that the MME sends the Modify Bearer Request and receives the Modify Bearer Response as part of the Attach procedure
            *      }
            *  }
            * 
* @verdict pass on success, inconc on timeout, fail otherwise * * @see ETSI TS 103 202-2 V0.0.2 (2014-03), TP_TM_01 * @reference ETSI TS 129 274 V9.13.0, clauses 7.2.1, 7.2.2, 7.2.7, 7.2.8 */ testcase TC_S11_MME_TM_01() runs on Gtpv2CComponent system Gtpv2CSystemAdapter { // Local variables // Test control if (not (PICS_S11_IUT_IS_MME and PICS_MME_CREATE_SESSION_REQUEST and PICS_MME_CREATE_BEARER_RESPONSE and PICS_MME_MODIFY_BEARER_REQUEST)) { log("*** " & testcasename() & ": PICS_S11_IUT_IS_MME and PICS_MME_CREATE_SESSION_REQUEST and PICS_MME_CREATE_BEARER_RESPONSE and PICS_MME_MODIFY_BEARER_REQUEST required for executing the TC ***"); setverdict(inconc); stop; } // Test component configuration f_cf02_S11Up_MME(); // Start vc_gtpv2c_s1mme.start(f_TC_S1_MME_TM_01()); vc_gtpv2c_sgw.start(f_TC_S11_MME_TM_01()); // synchronize PTC on 2 sychronization points f_serverSyncNClientsAndStop(2, {c_prDone, c_tbDone, c_poDone}); // Postamble f_cf02_S11Down_MME(); } // End of testcase TC_S11_MME_TM_01 } // End of group tunnelManagement } // End of group mmeRole /** * @desc This group contains all test case for IUT acting as a S-GW */ group sgwRole { /** * @desc This group contains all test case for IUT acting as a MME * @see ETSI TS 103 202-2 V0.0.2 (2014-03), clause 5.2.1 */ group pathManagement { /** * @desc Verify the successful answering of Echo Request with Echo Response *
            * Pics Selection: PICS_S11_IUT_IS_SGW and PICS_ECHO_REQUEST and PICS_ECHO_REPLY
            * Config Id: CF01
            * Initial conditions:
            *  with {
            *      EPC and RAN network available
            *      MME is configured with the GTP Tunnel Parameter.
            *      S-GW is configured with the GTP Tunnel Parameter.
            *      Verify IP connectivity between the two nodes.
            *      Power on the MME and S-GW
            *  }
            * Expected behaviour:
            *  ensure that {
            *      when {
            *          Trigger MME to initiate the Echo Request Procedure
            *      }
            *      then {
            *          GTP Echo Request is sent which contains the Recovery Information Element (IE)
            *          and, the Recovery IE is either incorrect or has the wrong format.
            *          and, the Echo Response contains the Restart counter and a negative Cause value
            *      }
            *  }
            * 
* @verdict pass on success, inconc on timeout, fail otherwise * * @see ETSI TS 103 202-2 V0.0.2 (2014-03), TP_PM_01 * @reference ETSI TS 129 274 V9.13.0, clauses 7.1.1 & 7.1.2 */ testcase TC_S11_SGW_PM_01() runs on Gtpv2CComponent system Gtpv2CSystemAdapter { // Local variables // Test control if (not (PICS_S11_IUT_IS_SGW and PICS_ECHO_REQUEST and PICS_ECHO_REPLY)) { log("*** " & testcasename() & ": PICS_S11_IUT_IS_SGW and PICS_ECHO_REQUEST and PICS_ECHO_REPLY required for executing the TC ***"); setverdict(inconc); stop; } // Test component configuration f_cf01_S11Up_SGW(); // Start vc_gtpv2c_mme.start(f_TC_S11_SGW_PM_01()); // synchronize PTC on 1 sychronization point f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); // Postamble f_cf01_S11Down_SGW(); } // End of testcase TC_S11_SGW_PM_01 /** * @desc Verify the successful answering of Echo Request with Echo Response with a negative cause value *
            * Pics Selection: PICS_S11_IUT_IS_SGW and PICS_ECHO_REQUEST and PICS_ECHO_REPLY
            * Config Id: CF01
            * Initial conditions:
            *  with {
            *      EPC and RAN network available
            *      MME is configured with the GTP Tunnel Parameter.
            *      S-GW is configured with the GTP Tunnel Parameter.
            *      Verify IP connectivity between the two nodes.
            *      Power on the MME and S-GW
            *  }
            * Expected behaviour:
            *  ensure that {
            *      when {
            *          Trigger MME (or simulator) initiates the Echo Request Procedure with an error
            *      }
            *      then {
            *          GTP Echo Request is sent which contains the Recovery Information Element (IE)
            *          and, the Recovery IE is either incorrect or has the wrong format
            *          and, the Echo Response contains the Restart counter and a negative Cause value
            *      }
            *  }
            * 
* @verdict pass on success, inconc on timeout, fail otherwise * * @see ETSI TS 103 202-2 V0.0.2 (2014-03), TP_PM_02 * @reference ETSI TS 129 274 V9.13.0, clauses 7.1.1 & 7.1.2 */ testcase TC_S11_SGW_PM_02() runs on Gtpv2CComponent system Gtpv2CSystemAdapter { // Local variables // Test control if (not (PICS_S11_IUT_IS_SGW and PICS_ECHO_REQUEST and PICS_ECHO_REPLY)) { log("*** " & testcasename() & ": PICS_S11_IUT_IS_SGW and PICS_ECHO_REQUEST and PICS_ECHO_REPLY required for executing the TC ***"); setverdict(inconc); stop; } // Test component configuration f_cf01_S11Up_SGW(); // Start vc_gtpv2c_mme.start(f_TC_S11_SGW_PM_02()); // synchronize PTC on 1 sychronization point f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); // Postamble f_cf01_S11Down_SGW(); } // End of testcase TC_S11_SGW_PM_02 /** * @desc Verify the GTP version that the sending entity supports. If a GTP network element receives a message of unsupported GTP version, verify that the network element returns a Version Not Supported Indication message and that it discards the received message *
            * Pics Selection: PICS_S11_IUT_IS_SGW and PICS_VERSION_NOT_SUPPORTED
            * Config Id: CF01
            * Initial conditions:
            *  with {
            *      EPC and RAN network available
            *      Network should be configured as show in Figure 3 above.
            *      MME is configured with the GTP Tunnel Parameter.
            *      S-GW is configured with the GTP Tunnel Parameter.
            *      Verify IP connectivity between the two nodes.
            *      Power on the MME and S-GW
            *  }
            * Expected behaviour:
            *  ensure that {
            *      when {
            *          MME (or simulator) initiates the Version Not supported Procedure by sending a GTP message which contains a version higher than the latest version
            *      }
            *      then {
            *          Verify that any given GTP message (e.g. Echo Request) contains a version that is higher than the latest supported version.
            *          and, verify that the Version not Supported Indication contains the GTP version the network element  currently supports
            *      }
            *  }
            * 
* @verdict pass on success, inconc on timeout, fail otherwise * * @see ETSI TS 103 202-2 V0.0.2 (2014-03), TP_PM_03 * @reference ETSI TS 129 274 V9.13.0, clauses 7.1.3 */ testcase TC_S11_SGW_PM_03() runs on Gtpv2CComponent system Gtpv2CSystemAdapter { // Local variables // Test control if (not (PICS_S11_IUT_IS_SGW and PICS_VERSION_NOT_SUPPORTED)) { log("*** " & testcasename() & ": PICS_S11_IUT_IS_SGW and PICS_VERSION_NOT_SUPPORTED required for executing the TC ***"); setverdict(inconc); stop; } // Test component configuration f_cf01_S11Up_SGW(); // Start vc_gtpv2c_mme.start(f_TC_S11_SGW_PM_03()); // synchronize PTC on 1 sychronization point f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); // Postamble f_cf01_S11Down_SGW(); } // End of testcase TC_S11_SGW_PM_03 } // End of group pathManagement /** * @desc This group contains all test case for IUT acting as a SGW * @see ETSI TS 103 202-2 V0.0.2 (2014-03), clause 5.2.2 */ group tunnelManagement { /** * @desc Validate the Create Session Request/Response and the Modify Bearer Request/Response Procedure between MME and S-GW as part of the ATTACH Procedure *
            * Pics Selection: PICS_S11_IUT_IS_SGW and PICS_SGW_CREATE_SESSION_RESPONSE and PICS_MME_CREATE_BEARER_REQUEST and PICS_MME_BEARER_RESOURCE_FAILURE_INDICATION and PICS_MME_MODIFY_BEARER_RESPONSE
            * Config Id: CF01
            * Initial conditions:
            *  with {
            *      EPC, RAN, and one UE are available.
            *      MME is configured the GTP Tunnel Parameter.
            *      S-GW is configured with the GTP Tunnel Parameter.
            *      Verify IP connectivity between the two nodes.
            *  }
            * Expected behaviour:
            *  ensure that {
            *      when {
            *          UE registers with and attaches to the network to receive services that require registration
            *          A default EPS bearer is setup as result of attachment
            *          This forces the Create Session and Modify Bearer ProcedureTrigger MME (or simulator) initiates the Echo Request Procedure with an error
            *      }
            *      then {
            *          Verify that the MME sends Create Session Request and receives the Create Session Response
            *          and, verify that the MME sends the Modify Bearer Request and receives the Modify Bearer Response as part of the Attach procedure
            *      }
            *  }
            * 
* @verdict pass on success, inconc on timeout, fail otherwise * * @see ETSI TS 103 202-2 V0.0.2 (2014-03), TP_TM_01 * @reference ETSI TS 129 274 V9.13.0, clauses 7.2.1, 7.2.2, 7.2.7, 7.2.8 */ testcase TC_S11_SGW_TM_01() runs on Gtpv2CComponent system Gtpv2CSystemAdapter { // Local variables // Test control if (not (PICS_S11_IUT_IS_SGW and PICS_SGW_CREATE_SESSION_RESPONSE and PICS_MME_CREATE_BEARER_REQUEST and PICS_MME_BEARER_RESOURCE_FAILURE_INDICATION and PICS_MME_MODIFY_BEARER_RESPONSE)) { log("*** " & testcasename() & ": PICS_S11_IUT_IS_SGW and PICS_MME_CREATE_SESSION_REQUEST and PICS_SGW_CREATE_SESSION_RESPONSE and PICS_MME_CREATE_BEARER_REQUEST and PICS_MME_BEARER_RESOURCE_FAILURE_INDICATION and PICS_MME_MODIFY_BEARER_RESPONSE required for executing the TC ***"); setverdict(inconc); stop; } // Test component configuration f_cf01_S11Up_SGW(); // Start vc_gtpv2c_mme.start(f_TC_S11_SGW_TM_01()); // synchronize PTC on 1 sychronization point f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); // Postamble f_cf01_S11Down_SGW(); } // End of testcase TC_S11_SGW_TM_01 } // End of group tunnelManagement } // End of group sgwRole } // End of module AtsGtpv2C_TestCases