S1AP_TestCases.ttcn 186 KB
Newer Older
garciay's avatar
garciay committed
             *         sends an an INITIAL_CONTEXT_SETUP_FAILURE
             *             containing an MME_UE_S1AP_ID
             *             containing an eNB_UE_S1AP_ID
             *             containing a Cause
             *                 indicating appropriate Protocol Cause
             *             containing a Criticality_Diagnostics
             *                 containing an Information Element Criticality_Diagnostics
             *                     containing an IE_Criticality
             *                     containing an IE_ID
             *                     containing an IE_Type_of_Error.
             * </pre>
             * 
             * @see       ETSI TS 103 497-2 TP_S1AP_ENB_ERR_02
             * @reference ETSI TS 136 413 V13.4.0 Clause 10.3.4.2¶3(1st dashed line) and 13
             */
            testcase TC_S1AP_ENB_ERR_02() runs on S1AP system TestAdapter { 
                // Local variables
                var S1AP v_s1ap_enb; 
                
                // Test control
                if (not (PICS_S1AP_eNB_IUT and PICS_S1AP_eNB_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE)) {
                    log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT and PICS_S1AP_eNB_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE' shall be set to true for executing the TC. ***"); 
                    stop;
                }
                
                // Test component configuration
                f_cf_S1AP_eNB_Up(v_s1ap_enb);
                
                // Start
                v_s1ap_enb.start(f_TC_S1AP_ENB_ERR_02()); 
                
                // synchronize PTC on 1 sychronization points
                f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
                f_cf_Down();
                
            } // End of testcase TC_S1AP_ENB_ERR_02
            
            /**
             * @desc Verify that the IUT rejects the procedure using Error Indication Procedure if message contains different types of received 
             *       criticality information of the Procedure Code IE and include Procedure Code IE, Triggering Message IE and 
             *       Procedure Criticality IE in the Criticality Diagnostics IE within ERROR_INDICATION.
             * <pre>
garciay's avatar
garciay committed
             * Pics Selection: A.3/2.1 and A.3/6.2.2 and A.3/17.2
garciay's avatar
garciay committed
             * Configuration: CF_S1-MME
             *     Ensure that the IUT
             *         on receipt of an INITIAL_CONTEXT_SETUP_REQUEST,
             *         with Criticality set to value from the Table 4
             *             containing an MME UE_S1AP_ID
             *             containing an eNB_UE_S1AP_ID
             *             containing an Unknown_ID
             *                 containing Criticality
             *                     indicating Reject or Ignore and Notify Sender
             *             containing a UE_Aggregate_Maximum_Bit_Rate
             *             containing an E-RAB_to_be_Setup_List
             *                 containing an E-RAB_to_be_Setup Item 1
             *                     containing an E-RAB_ID
             *                     containing an E-RAB_Level_QoS_Parameters
             *                     containing a Transport_Layer_Address
             *                     containing a GTP-TEID
             *                     containing a NAS-PDU
             *             containing a UE_Security_Capabilities
             *                 containing an Encription_Algorithms
             *                     indicating not supported algoithm
             *                 containing an Integrity_Protection_Algorithms
             *             containing a Security_Key
             *         sends an ERROR_INDICATION
             *             containing a Criticality_Diagnostics
             *                 containing a Procedure_Code
             *                 containing a Triggering_Message
             *                 containing a Procedure_Criticality
             *                 containing an Information Element Criticality_Diagnostics
             *                     containing an IE_Criticality
             *                     containing an IE_ID
             *                     containing an IE_Type_of_Error.
             * </pre>
             * 
             * @see       ETSI TS 103 497-2 TP_S1AP_ENB_ERR_03
             * @reference ETSI TS 136 413 V13.4.0 Clause 10.3.4.2¶4(2nd dashed line) and 14
             */
            testcase TC_S1AP_ENB_ERR_03() runs on S1AP system TestAdapter { 
                // Local variables
                var S1AP v_s1ap_enb; 
                
                // Test control
                if (not (PICS_S1AP_eNB_IUT and PICS_S1AP_eNB_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE)) {
                    log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT and PICS_S1AP_eNB_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE' shall be set to true for executing the TC. ***"); 
                    stop;
                }
                
                // Test component configuration
                f_cf_S1AP_eNB_Up(v_s1ap_enb);
                
                // Start
                v_s1ap_enb.start(f_TC_S1AP_ENB_ERR_03()); 
                
                // synchronize PTC on 1 sychronization points
                f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
                f_cf_Down();
                
            } // End of testcase TC_S1AP_ENB_ERR_03
            
            /**
             * @desc Verify that the IUT rejects the procedure if message not contains mandatory IEs/IE groups and 
             *       include Information Element Criticality Diagnostics IE in the Criticality Diagnostics IE for each 
             *       reported IEs/IE groups within response message for this procedure.
             * <pre>
garciay's avatar
garciay committed
             * Pics Selection: A.3/2.1 and A.3/6.2.2 and A.3/17.2
garciay's avatar
garciay committed
             * Configuration: CF_S1-MME
             *     Ensure that the IUT
             *         on receipt of an INITIAL_CONTEXT_SETUP_REQUEST,
             *         with Criticality set to value from the Table 4
             *             containing an MME UE_S1AP_ID
             *             not containing an eNB_UE_S1AP_ID
             *             containing an Unknown_ID
             *                 containing Criticality
             *                     indicating Reject or Ignore and Notify Sender
             *             containing a UE_Aggregate_Maximum_Bit_Rate
             *             containing an E-RAB_to_be_Setup_List
             *                 containing an E-RAB_to_be_Setup Item 1
             *                     containing an E-RAB_ID
             *                     containing an E-RAB_Level_QoS_Parameters
             *                     containing a Transport_Layer_Address
             *                     containing a GTP-TEID
             *                     containing a NAS-PDU
             *             containing a UE_Security_Capabilities
             *                 containing an Encription_Algorithms
             *                     indicating not supported algoithm
             *                 containing an Integrity_Protection_Algorithms
             *             containing a Security_Key
             *         sends an ERROR_INDICATION
             *             containing a Criticality_Diagnostics
             *                 containing a Procedure_Code
             *                 containing a Triggering_Message
             *                 containing a Procedure_Criticality
             *                 containing an Information Element Criticality_Diagnostics
             *                     containing an IE_Criticality
             *                     containing an IE_ID
             *                     containing an IE_Type_of_Error.
             * </pre>
             * 
             * @see       ETSI TS 103 497-2 TP_S1AP_ENB_ERR_04
             * @reference ETSI TS 136 413 V13.4.0 Clause 10.3.5¶3(1st dashed line) and 13
             */
            testcase TC_S1AP_ENB_ERR_04() runs on S1AP system TestAdapter { 
                // Local variables
                var S1AP v_s1ap_enb; 
                
                // Test control
                if (not (PICS_S1AP_eNB_IUT and PICS_S1AP_eNB_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE)) {
                    log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT and PICS_S1AP_eNB_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE' shall be set to true for executing the TC. ***"); 
                    stop;
                }
                
                // Test component configuration
                f_cf_S1AP_eNB_Up(v_s1ap_enb);
                
                // Start
                v_s1ap_enb.start(f_TC_S1AP_ENB_ERR_04()); 
                
                // synchronize PTC on 1 sychronization points
                f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
                f_cf_Down();
                
            } // End of testcase TC_S1AP_ENB_ERR_04
            
            /**
             * @desc Verify that the IUT rejects the procedure using Error Indication Procedure if message not contains mandatory IEs/IE groups and 
             *       include Procedure Code IE, Triggering Message IE and Procedure Criticality IE and Information Element Criticality Diagnostics IE 
             *       in the Criticality Diagnostics IE for each reported IEs/IE groups within ERROR_INDICATION.
             * <pre>
garciay's avatar
garciay committed
             * Pics Selection: A.3/2.1 and A.3/6.2.2 and A.3/17.2
garciay's avatar
garciay committed
             * Configuration: CF_S1-MME
             *     Ensure that the IUT
             *         on receipt of an E-RAB_SETUP_REQUEST,
             *             containing an MME UE_S1AP_ID
             *             not containing an eNB_UE_S1AP_ID
             *             containing a UE_Aggregate_Maximum_Bit_Rate
             *             containing an E-RAB_to_be_Setup_List
             *                 containing an E-RAB_to_be_Setup Item 1
             *                     containing an E-RAB_ID
             *                     containing an E-RAB_Level_QoS_Parameters
             *                         containing QCI
             *                             indicating value 5
             *                     containing a Transport_Layer_Address
             *                     containing a GTP-TEID
             *                     containing a NAS-PDU
             *         sends an ERROR_INDICATION
             *             containing a Criticality_Diagnostics
             *                 containing a Procedure_Code
             *                 containing a Triggering_Message
             *                 containing a Procedure_Criticality
             *                 containing an Information Element Criticality_Diagnostics
             *                     containing an IE_Criticality
             *                     containing an IE_ID
             *                     containing an IE_Type_of_Error.
             * </pre>
             * 
             * @see       ETSI TS 103 497-2 TP_S1AP_ENB_ERR_05
             * @reference ETSI TS 136 413 V13.4.0 Clause 10.3.5¶4(2nd dashed line) and 14
             */
            testcase TC_S1AP_ENB_ERR_05() runs on S1AP system TestAdapter { 
                // Local variables
                var S1AP v_s1ap_enb; 
                
                // Test control
                if (not (PICS_S1AP_eNB_IUT and PICS_S1AP_eNB_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE)) {
                    log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT and PICS_S1AP_eNB_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE' shall be set to true for executing the TC. ***"); 
                    stop;
                }
                
                // Test component configuration
                f_cf_S1AP_eNB_Up(v_s1ap_enb);
                
                // Start
                v_s1ap_enb.start(f_TC_S1AP_ENB_ERR_05()); 
                
                // synchronize PTC on 1 sychronization points
                f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
                f_cf_Down();
                
            } // End of testcase TC_S1AP_ENB_ERR_05
            
            /**
             * @desc Verify that the IUT rejects the procedure if message contains too many occurrances of the same IEs/IE groups with 
             *       response message for this procedure and report the cause value ‘Abstract Syntax Error(Falsely Constructed Message)’.
             * <pre>
garciay's avatar
garciay committed
             * Pics Selection: A.3/2.1 and A.3/6.2.2 and A.3/17.2
garciay's avatar
garciay committed
             * Configuration: CF_S1-MME
             *     Ensure that the IUT
             *         on receipt of an INITIAL_CONTEXT_SETUP_REQUEST,
             *             containing an MME UE_S1AP_ID
             *             containing an eNB_UE_S1AP_ID
             *             containing an eNB_UE_S1AP_ID(same IE as already present)
             *             containing a UE_Aggregate_Maximum_Bit_Rate
             *             containing an E-RAB_to_be_Setup_List
             *                 containing an E-RAB_to_be_Setup Item 1
             *                     containing an E-RAB_ID
             *                     containing an E-RAB_Level_QoS_Parameters
             *                     containing a Transport_Layer_Address
             *                     containing a GTP-TEID
             *                     containing a NAS-PDU
             *             containing a UE_Security_Capabilities
             *                 containing an Encription_Algorithms
             *                     indicating not supported algoithm
             *                 containing an Integrity_Protection_Algorithms
             *             containing a Security_Key
             *         sends an ERROR_INDICATION
             *             containing a Criticality_Diagnostics
             *                 containing a Procedure_Code
             *                 containing a Triggering_Message
             *                 containing a Procedure_Criticality
             *                 containing an Information Element Criticality_Diagnostics
             *                     containing an IE_Criticality
             *                     containing an IE_ID
             *                     containing an IE_Type_of_Error.
             * </pre>
             * 
             * @see       ETSI TS 103 497-2 TP_S1AP_ENB_ERR_06
             * @reference ETSI TS 136 413 V13.4.0 Clause 10.3.6¶2(1st dashed line)
             */
            testcase TC_S1AP_ENB_ERR_06() runs on S1AP system TestAdapter { 
                // Local variables
                var S1AP v_s1ap_enb; 
                
                // Test control
                if (not (PICS_S1AP_eNB_IUT and PICS_S1AP_eNB_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE)) {
                    log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT and PICS_S1AP_eNB_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE' shall be set to true for executing the TC. ***"); 
                    stop;
                }
                
                // Test component configuration
                f_cf_S1AP_eNB_Up(v_s1ap_enb);
                
                // Start
                v_s1ap_enb.start(f_TC_S1AP_ENB_ERR_06()); 
                
                // synchronize PTC on 1 sychronization points
                f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
                f_cf_Down();
                
            } // End of testcase TC_S1AP_ENB_ERR_06
            
            /**
             * @desc Verify that the IUT terminate the procedure that does not have message to report unsuccessful outcome and message contains 
             *       too many occurrances of the same IEs/IE groups and initiate Error Indication Procedure with cause value 
             *       ‘Abstract Syntax Error(Falsely Constructed Message)’.
             * <pre>
garciay's avatar
garciay committed
             * Pics Selection: A.3/2.1 and A.3/6.2.2 and A.3/17.2
garciay's avatar
garciay committed
             * Configuration: CF_S1-MME
             *     Ensure that the IUT
             *         on receipt of an E-RAB_SETUP_REQUEST,
             *             containing an MME UE_S1AP_ID
             *             containing an eNB_UE_S1AP_ID
             *             containing an eNB_UE_S1AP_ID(same IE as already present)
             *             containing a UE_Aggregate_Maximum_Bit_Rate
             *             containing an E-RAB_to_be_Setup_List
             *                 containing an E-RAB_to_be_Setup Item 1
             *                     containing an E-RAB_ID
             *                     containing an E-RAB_Level_QoS_Parameters
             *                         containing QCI
             *                             indicating value 5
             *                     containing a Transport_Layer_Address
             *                     containing a GTP-TEID
             *                     containing a NAS-PDU
             *         sends an ERROR_INDICATION
             *             containing a Cause
             *                 indicating ‘Abstract Syntax Error(Falsely Constructed Message)’.
             * </pre>
             * 
             * @see       ETSI TS 103 497-2 TP_S1AP_ENB_ERR_07
             * @reference ETSI TS 136 413 V13.4.0 Clause 10.3.5¶3(2nd dashed line)
             */
            testcase TC_S1AP_ENB_ERR_07() runs on S1AP system TestAdapter { 
                // Local variables
                var S1AP v_s1ap_enb; 
                
                // Test control
                if (not (PICS_S1AP_eNB_IUT and PICS_S1AP_eNB_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE)) {
                    log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT and PICS_S1AP_eNB_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE' shall be set to true for executing the TC. ***"); 
                    stop;
                }
                
                // Test component configuration
                f_cf_S1AP_eNB_Up(v_s1ap_enb);
                
                // Start
                v_s1ap_enb.start(f_TC_S1AP_ENB_ERR_07()); 
                
                // synchronize PTC on 1 sychronization points
                f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
                f_cf_Down();
                
            } // End of testcase TC_S1AP_ENB_ERR_07
            
            /**
             * @desc Verify that the IUT initiate an Error Indication procedure with inclusion of only the previousy received AP ID from the peer node 
             *       and appropriate cause value in case if AP ID has been stored previously for another UE-associated logical connection for same 
             *       peer node.
             * <pre>
garciay's avatar
garciay committed
             * Pics Selection: A.3/2.1 and A.3/6.2.2 and A.3/17.2
garciay's avatar
garciay committed
             * Configuration: CF_S1-MME
             *     Ensure that the IUT
             *         on receipt of an E-RAB_SETUP_REQUEST,
             *             containing an MME UE_S1AP_ID
             *                 indicating already used AP ID
             *             containing an eNB_UE_S1AP_ID
             *                 indicating already used AP ID
             *             containing a UE_Aggregate_Maximum_Bit_Rate
             *             containing an E-RAB_to_be_Setup_List
             *                 containing an E-RAB_to_be_Setup Item 1
             *                     containing an E-RAB_ID
             *                     containing an E-RAB_Level_QoS_Parameters
             *                         containing QCI
             *                             indicating value 5
             *                     containing a Transport_Layer_Address
             *                     containing a GTP-TEID
             *                     containing a NAS-PDU
             *         sends an ERROR_INDICATION
             *             containing an eNB_UE_S1AP_ID
             *             containing a Cause
             *                 indicating ‘Unknown or already allocated eNB UE S1AP ID’.
             * </pre>
             * 
             * @see       ETSI TS 103 497-2 TP_S1AP_ENB_ERR_08
             * @reference ETSI TS 136 413 V13.4.0 Clause 10.3.5¶3(2nd dashed line)
             */
            testcase TC_S1AP_ENB_ERR_08() runs on S1AP system TestAdapter { 
                // Local variables
                var S1AP v_s1ap_enb; 
                
                // Test control
                if (not (PICS_S1AP_eNB_IUT and PICS_S1AP_eNB_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE)) {
                    log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT and PICS_S1AP_eNB_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE' shall be set to true for executing the TC. ***"); 
                    stop;
                }
                
                // Test component configuration
                f_cf_S1AP_eNB_Up(v_s1ap_enb);
                
                // Start
                v_s1ap_enb.start(f_TC_S1AP_ENB_ERR_08()); 
                
                // synchronize PTC on 1 sychronization points
                f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
                f_cf_Down();
                
            } // End of testcase TC_S1AP_ENB_ERR_08
            
        } // End of group Unknown_unforseen_errorneous_group
        
garciay's avatar
garciay committed
    } // End of group eNB_Role
    
garciay's avatar
garciay committed
    group MME_Role { 
         * @see ETSI TS 103 497-2 Clause 5.2.2.2.2   E-RAB management group
garciay's avatar
garciay committed
        group ERAB_management_group { 
            
            /**
             * @desc Verify that the IUT can send an E-RAB_SETUP_REQUEST with at least one E-RAB IE to indicate an E-RAB Setup procedure.
             * <pre>
garciay's avatar
garciay committed
             * Pics Selection: A.4/1.1
             * Configuration: CF_S1-MME
             *     Ensure that the IUT
             *         to indicate an E-RAB Setup procedure,
             *         sends an E-RAB_SETUP_REQUEST
             *             containing an MME_UE_S1AP_ID
             *             containing an eNB_UE_S1AP_ID
             *             containing an E-RAB_to_be_Setup_List
             *                 containing an E-RAB_to_be_Setup Item 1
             *                     containing an E-RAB_ID
             *                     containing an E-RAB_Level_QoS_Parameters
             *                     containing a Transport_Layer_Address
             *                     containing a GTP-TEID
             *                     containing a NAS-PDU.
             * </pre>
             * 
             * @see       ETSI TS 103 497-2 TP_S1AP_eNB_RAB_01
garciay's avatar
garciay committed
             * @reference ETSI TS 136 413 V13.4.0 Clause 8.2.1.2 and 9.1.3.1
             */
            testcase TC_S1AP_MME_RAB_01() runs on S1AP system TestAdapter { 
               // Local variables
garciay's avatar
garciay committed
               var S1AP v_s1ap_mme; 
               
               // Test control
               if (not PICS_S1AP_MME_IUT) {
                   log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***"); 
                   stop;
               }
garciay's avatar
garciay committed
               
               // Test component configuration
garciay's avatar
garciay committed
               f_cf_S1AP_MME_Up(v_s1ap_mme);
               
               v_s1ap_mme.start(f_TC_S1AP_MME_RAB_01());
garciay's avatar
garciay committed
               
               // synchronize PTC on 1 sychronization points
               f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
garciay's avatar
garciay committed
               
               f_cf_Down();
               
            } // End of testcase TC_S1AP_MME_RAB_01
garciay's avatar
garciay committed
            
        } // End of group ERAB_management_group

        group Context_Management_group {
garciay's avatar
garciay committed
            
            testcase TC_S1AP_MME_CMP_01() runs on S1AP system TestAdapter { 
               // Local variables
               var S1AP v_s1ap_mme; 
               
               // Test control
               if (not PICS_S1AP_MME_IUT) {
                   log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***"); 
                   stop;
               }
               
               // Test component configuration
               f_cf_S1AP_MME_Up(v_s1ap_mme);
               
               // Start
               v_s1ap_mme.start(f_TC_S1AP_mME_CMP_01());
               
               // synchronize PTC on 1 sychronization points
               f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
               
               f_cf_Down();
               
            } // End of testcase TC_S1AP_MME_CMP_01
            
            testcase TC_S1AP_MME_CMP_02() runs on S1AP system TestAdapter { 
               // Local variables
               var S1AP v_s1ap_mme; 
               
               // Test control
               if (not PICS_S1AP_MME_IUT) {
                   log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***"); 
                   stop;
               }
               
               // Test component configuration
               f_cf_S1AP_MME_Up(v_s1ap_mme);
               
               // Start
               v_s1ap_mme.start(f_TC_S1AP_mME_CMP_02());
               
               // synchronize PTC on 1 sychronization points
               f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
               
               f_cf_Down();
               
            } // End of testcase TC_S1AP_MME_CMP_02
garciay's avatar
garciay committed

rennoch's avatar
rennoch committed
            testcase TC_S1AP_MME_CMP_03() runs on S1AP system TestAdapter { 
               // Local variables
               var S1AP v_s1ap_mme; 
               
               // Test control
               if (not PICS_S1AP_MME_IUT) {
                   log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***"); 
                   stop;
               }
               
               // Test component configuration
               f_cf_S1AP_MME_Up(v_s1ap_mme);
               
               // Start
               v_s1ap_mme.start(f_TC_S1AP_mME_CMP_03());
               
               // synchronize PTC on 1 sychronization points
               f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
               
               f_cf_Down();
               
            } // End of testcase TC_S1AP_MME_CMP_03
            
            testcase TC_S1AP_MME_CMP_04() runs on S1AP system TestAdapter { 
               // Local variables
               var S1AP v_s1ap_mme; 
               
               // Test control
               if (not PICS_S1AP_MME_IUT) {
                   log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***"); 
                   stop;
               }
               
               // Test component configuration
               f_cf_S1AP_MME_Up(v_s1ap_mme);
               
               // Start
               v_s1ap_mme.start(f_TC_S1AP_mME_CMP_04());
               
               // synchronize PTC on 1 sychronization points
               f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
               
               f_cf_Down();
               
            } // End of testcase TC_S1AP_MME_CMP_04
            
            testcase TC_S1AP_MME_CMP_05() runs on S1AP system TestAdapter { 
               // Local variables
               var S1AP v_s1ap_mme; 
               
               // Test control
               if (not PICS_S1AP_MME_IUT) {
                   log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***"); 
                   stop;
               }
               
               // Test component configuration
               f_cf_S1AP_MME_Up(v_s1ap_mme);
               
               // Start
               v_s1ap_mme.start(f_TC_S1AP_mME_CMP_05());
               
               // synchronize PTC on 1 sychronization points
               f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
               
               f_cf_Down();
               
            } // End of testcase TC_S1AP_MME_CMP_05
            
            testcase TC_S1AP_MME_CMP_06() runs on S1AP system TestAdapter { 
               // Local variables
               var S1AP v_s1ap_mme; 
               
               // Test control
               if (not PICS_S1AP_MME_IUT) {
                   log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***"); 
                   stop;
               }
               
               // Test component configuration
               f_cf_S1AP_MME_Up(v_s1ap_mme);
               
               // Start
               v_s1ap_mme.start(f_TC_S1AP_mME_CMP_06());
               
               // synchronize PTC on 1 sychronization points
               f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
               
               f_cf_Down();
               
            } // End of testcase TC_S1AP_MME_CMP_06
            
            testcase TC_S1AP_MME_CMP_07() runs on S1AP system TestAdapter { 
               // Local variables
               var S1AP v_s1ap_mme; 
               
               // Test control
               if (not PICS_S1AP_MME_IUT) {
                   log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***"); 
                   stop;
               }
               
               // Test component configuration
               f_cf_S1AP_MME_Up(v_s1ap_mme);
               
               // Start
               v_s1ap_mme.start(f_TC_S1AP_mME_CMP_07());
               
               // synchronize PTC on 1 sychronization points
               f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
               
               f_cf_Down();
               
            } // End of testcase TC_S1AP_MME_CMP_07
            
            testcase TC_S1AP_MME_CMP_08() runs on S1AP system TestAdapter { 
               // Local variables
               var S1AP v_s1ap_mme; 
               
               // Test control
               if (not PICS_S1AP_MME_IUT) {
                   log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***"); 
                   stop;
               }
               
               // Test component configuration
               f_cf_S1AP_MME_Up(v_s1ap_mme);
               
               // Start
               v_s1ap_mme.start(f_TC_S1AP_mME_CMP_08());
               
               // synchronize PTC on 1 sychronization points
               f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
               
               f_cf_Down();
               
            } // End of testcase TC_S1AP_MME_CMP_08
            
            testcase TC_S1AP_MME_CMP_09() runs on S1AP system TestAdapter { 
               // Local variables
               var S1AP v_s1ap_mme; 
               
               // Test control
               if (not PICS_S1AP_MME_IUT) {
                   log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***"); 
                   stop;
               }
               
               // Test component configuration
               f_cf_S1AP_MME_Up(v_s1ap_mme);
               
               // Start
               v_s1ap_mme.start(f_TC_S1AP_mME_CMP_09());
               
               // synchronize PTC on 1 sychronization points
               f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
               
               f_cf_Down();
               
            } // End of testcase TC_S1AP_MME_CMP_09
            
            testcase TC_S1AP_MME_CMP_10() runs on S1AP system TestAdapter { 
               // Local variables
               var S1AP v_s1ap_mme; 
               
               // Test control
               if (not PICS_S1AP_MME_IUT) {
                   log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***"); 
                   stop;
               }
               
               // Test component configuration
               f_cf_S1AP_MME_Up(v_s1ap_mme);
               
               // Start
               v_s1ap_mme.start(f_TC_S1AP_mME_CMP_10());
               
               // synchronize PTC on 1 sychronization points
               f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
               
               f_cf_Down();
               
            } // End of testcase TC_S1AP_MME_CMP_10
            
            testcase TC_S1AP_MME_CMP_11() runs on S1AP system TestAdapter { 
               // Local variables
               var S1AP v_s1ap_mme; 
               
               // Test control
               if (not PICS_S1AP_MME_IUT) {
                   log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***"); 
                   stop;
               }
               
               // Test component configuration
               f_cf_S1AP_MME_Up(v_s1ap_mme);
               
               // Start
               v_s1ap_mme.start(f_TC_S1AP_mME_CMP_11());
               
               // synchronize PTC on 1 sychronization points
               f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
               
               f_cf_Down();
               
            } // End of testcase TC_S1AP_MME_CMP_11
            
        } // End of group Context_Management_group
         * @desc Paging group
         * @see ETSI TS 103 497-2 Clause 5.2.2.2.5  Paging group
         */
        group Pagin_group {
            
            /**
             * @desc Verify that the IUT can send a PAGING to indicate a Paging procedure.
             * <pre>
             * Pics Selection: A.4/4.4
             * Configuration: CF_S1-MME
             *     Ensure that the IUT
             *         to indicate a Paging  procedure
             *         sends a PAGING
             *             containing a UE_Identity_Index_value
             *             containing a UE_Paging_Identity
             *                 containing a S-TMSI
             *                 containing an IMSI
             *             containing a CN_Domain.
             * </pre>
             * 
             * @see       ETSI TS 103 497-2 TP_S1AP_MME_PAG_01
             * @reference ETSI TS 136 413 V13.4.0 Clause 8.5.2¶1 and 9.1.6
             */
            testcase TC_S1AP_MME_PAG_01() runs on S1AP system TestAdapter { 
                // Local variables
                var S1AP v_s1ap_mme; 
                
                // Test control
                if (not PICS_S1AP_MME_IUT) {
                    log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***"); 
                    stop;
                }
                
                // Test component direct information
                f_cf_S1AP_MME_Up(v_s1ap_mme);
                
                // Start
                v_s1ap_mme.start(f_TC_S1AP_MME_PAG_01()); 
                
                // synchronize PTC on 1 sychronization points
                f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
                f_cf_Down();
                
            } // End of testcase TC_S1AP_MME_PAG_01
            
        } // End of group Pagin_group
         * @desc NAS_transport_group
         * @see ETSI TS 103 497-2 Clause 5.2.2.1.6   NAS transport group
         */
        group NAS_transport_group {
            
            /**
             * @desc Verify that the IUT can send a DOWNLINK_NAS_TRANSPORT to indicate an ongoing NAS Transport procedure.
             * <pre>
             * Pics Selection: A.4/5.2
             * Configuration: CF_S1-MME
             *     Ensure that the IUT
             *         to indicate an ongoing NAS Transport procedure
             *         sends a DOWNLINK_NAS_TRANSPORT
             *             containing an MME UE S1AP ID
             *             containing an eNB_UE_S1AP_ID
             *             containing a NAS-PDU.
             * </pre>
             * 
             * @see       ETSI TS 103 497-2 TP_S1AP_MME_NAS_01
             * @reference ETSI TS 136 413 V13.4.0 Clause 8.6.2.2¶1 and 9.1.7.2
             */
            testcase TC_S1AP_MME_NAS_01() runs on S1AP system TestAdapter { 
                // Local variables
                var S1AP v_s1ap_mme; 
                
                // Test control
                if (not PICS_S1AP_MME_IUT) {
                    log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***"); 
                    stop;
                }
                
                // Test component direct information
                f_cf_S1AP_MME_Up(v_s1ap_mme);
                
                // Start
                v_s1ap_mme.start(f_TC_S1AP_MME_NAS_01()); 
                
                // synchronize PTC on 1 sychronization points
                f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
                f_cf_Down();
                
            } // End of testcase TC_S1AP_MME_NAS_01
            
            /**
             * @desc Verify that the IUT can send a REROUTE_NAS_REQUEST to indicate a Reroute NAS Request procedure.
             * <pre>
             * Pics Selection: A.4/5.5
             * Configuration: CF_S1-MME
             *     Ensure that the IUT
             *         to indicate a Reroute NAS Request procedure
             *         sends a REROUTE_NAS_REQUEST
             *             containing an MME UE S1AP ID
             *             containing a S1_Message
             *             containing an MME_Group_ID.
             * </pre>
             * 
             * @see       ETSI TS 103 497-2 TP_S1AP_MME_NAS_02
             * @reference ETSI TS 136 413 V13.4.0 Clause 8.6.2.2¶1 and 9.1.7.2
             */
            testcase TC_S1AP_MME_NAS_02() runs on S1AP system TestAdapter { 
                // Local variables
                var S1AP v_s1ap_mme; 
                
                // Test control
                if (not PICS_S1AP_MME_IUT) {
                    log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***"); 
                    stop;
                }
                
                // Test component direct information
                f_cf_S1AP_MME_Up(v_s1ap_mme);
                
                // Start
                v_s1ap_mme.start(f_TC_S1AP_MME_NAS_02()); 
                
                // synchronize PTC on 1 sychronization points
                f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
                f_cf_Down();
                
            } // End of testcase TC_S1AP_MME_NAS_02
            
        } // End of group NAS_transport_group
        
        /**
         * @desc Management group
         * @see ETSI TS 103 497-2 Clause 5.2.2.2.7 Management group
         */
        group Management_group {
            
            /**
             * @desc Verify that the IUT can send a RESET to indicate a Reset procedure initiated from the MME.
             * <pre>
             * Pics Selection: A.4/6.1.2
garciay's avatar
garciay committed
             * Configuration: CF_S1-MME
             *     Ensure that the IUT
             *         to indicate a Reset procedure initiated from the MME
             *         sends a RESET
             *             containing a Cause
             *                 indicating an appropriate cause value
             *             containing a Reset_Type
             *                 containing a S1_Interface
             *                     indicating a value ‘Reset_all’.
             * </pre>
             * 
             * @see       ETSI TS 103 497-2 TP_S1AP_MME_MNP_01
             * @reference ETSI TS 136 413 V13.4.0 Clause 8.7.1.2.1¶2 and 9.1.8.1 and 9.1.8.2
             */
            testcase TC_S1AP_MME_MNP_01() runs on S1AP system TestAdapter { 
                // Local variables
                var S1AP v_s1ap_mme; 
                
                // Test control
                if (not PICS_S1AP_MME_IUT) {
                    log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***"); 
                    stop;
                }
                
                // Test component direct information
                f_cf_S1AP_MME_Up(v_s1ap_mme);
                
                // Start
                v_s1ap_mme.start(f_TC_S1AP_MME_MNP_01()); 
                
                // synchronize PTC on 1 sychronization points
                f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
                f_cf_Down();
                
            } // End of testcase TC_S1AP_MME_MNP_01
            
            /**
             * @desc Verify that the IUT can send process successfully all mandatory IEs in a RESET and sends a RESET_ACKNOWLEDGE 
garciay's avatar
garciay committed
             *       due to a Reset procedure initiated from the E-UTRAN.
             * <pre>
             * Pics Selection: A.4/6.1.1
garciay's avatar
garciay committed
             * Configuration: CF_S1-MME
             *     Ensure that the IUT
             *         on receipt of a RESET
             *             containing a Cause
             *                 indicating an appropriate cause value
             *             containing a Reset_Type
             *             containing an S1_Interface
             *                 indicating value ‘Reset_all’
             *         sends a RESET_ACKNOWLEDGE
             *             containing a UE-associated_logical_S1-connection_list.
             * </pre>
             * 
             * @see       ETSI TS 103 497-2 TP_S1AP_MME_MNP_02
garciay's avatar
garciay committed
             * @reference ETSI TS 136 413 V13.4.0 Clause 8.7.1.2.1¶2 and 9.1.8.1 and 9.1.8.2
             */
            testcase TC_S1AP_MME_MNP_02() runs on S1AP system TestAdapter { 
                // Local variables
                var S1AP v_s1ap_mme; 
                
                // Test control
                if (not PICS_S1AP_MME_IUT) {
                    log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***"); 
                    stop;
                }
                
                // Test component direct information
                f_cf_S1AP_MME_Up(v_s1ap_mme);
                
                // Start
                v_s1ap_mme.start(f_TC_S1AP_MME_MNP_02()); 
                
                // synchronize PTC on 1 sychronization points
                f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
                f_cf_Down();
                
            } // End of testcase TC_S1AP_MME_MNP_02
            
garciay's avatar
garciay committed
            /**
             * @desc Verify that the IUT can successfully all mandatory IEs in a RESET and sends a RESET_ACKNOWLEDGE 
garciay's avatar
garciay committed
             *       due to a Reset procedure in case of Abnormal Condition at the EPC.
             * <pre>
             * Pics Selection: A.4/6.1.1
             * Configuration: CF_S1-MME
             *     Ensure that the IUT
             *         on receipt of a RESET
             *             containing a Cause
             *                 indicating an appropriate cause value
             *             containing a Reset_Type
             *             containing a Part_of_S1_interface
             *                 indicating an empty ‘UE-associated_logical_S1-connection’
             *         sends a RESET_ACKNOWLEDGE
             *             containing a UE-associated_logical_S1-connection_list
             *                 indicating an empty ‘UE-associated_logical_S1-connection’.
             * </pre>
             * 
             * @see       ETSI TS 103 497-2 TP_S1AP_MME_MNP_03
garciay's avatar
garciay committed
             * @reference ETSI TS 136 413 V13.4.0 Clause 8.7.1.3.2¶1 and 9.1.8.1 and 9.1.8.2
             */
            testcase TC_S1AP_MME_MNP_03() runs on S1AP system TestAdapter { 
                // Local variables
                var S1AP v_s1ap_mme; 
                
                // Test control
                if (not PICS_S1AP_MME_IUT) {
                    log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***"); 
                    stop;
                }
                
                // Test component direct information
                f_cf_S1AP_MME_Up(v_s1ap_mme);
                
                // Start
                v_s1ap_mme.start(f_TC_S1AP_MME_MNP_03()); 
                
                // synchronize PTC on 1 sychronization points
                f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
                f_cf_Down();
                
            } // End of testcase TC_S1AP_MME_MNP_03
            
            /**
             * @desc Verify that the IUT can send a RESET to indicate a Reset procedure initiated from the eNB.
             * <pre>
             * Pics Selection: A.4/6.2.2
             * Configuration: CF_S1-MME
             *     Ensure that the IUT
             *         to indicate an Error Indication procedure
             *         sends an ERROR_INDICATION
             *             (containing a Cause
             *             or containing a Criticality_Diagnostics).
             * </pre>
             * 
             * @see       ETSI TS 103 497-2 TP_S1AP_MME_MNP_04
garciay's avatar
garciay committed
             * @reference ETSI TS 136 413 V13.4.0 Clause 8.7.1.2.1¶2 and 9.1.8.1 and 9.1.8.2
             */
            testcase TC_S1AP_MME_MNP_04() runs on S1AP system TestAdapter { 
                // Local variables
                var S1AP v_s1ap_mme; 
                
                // Test control