S1AP_TCFunctions.ttcn 303 KB
Newer Older
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); 
                
                f_postamble_S1AP_MME();
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                
            } // End of function f_TC_S1AP_eNB_CMP_07  
rennoch's avatar
rennoch committed


            /**
             * @desc Testcase function for TC_S1AP_mME_CMP_08
             */
            function f_TC_S1AP_mME_CMP_08() runs on S1APComponent { 
                // Local variables
                var template(value) Cause v_cause;
                                
                // Preamble
                f_S1AP_mme_init();
                
                f_rABSetupRequest();
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
                // Test body

                f_send_UE_Context_Suspend_Request(m_UeContextSuspendRequestIEs(
                    vc_MME_UE_ID,
                    vc_eNB_UE_ID
                    ));
                    
                f_recv_Ue_Context_Suspend_Response(mw_UeContextSuspendResponseIEs);                
rennoch's avatar
rennoch committed
                
                // Postamble
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); 
                
                f_postamble_S1AP_MME();
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                
            } // End of function f_TC_S1AP_eNB_CMP_08
garciay's avatar
garciay committed
              
            
rennoch's avatar
rennoch committed
            /**
             * @desc Testcase function for TC_S1AP_mME_CMP_09
             */
            function f_TC_S1AP_mME_CMP_09() runs on S1APComponent { 
                // Local variables
                var template(value) Cause v_cause;
                                
                // Preamble
                f_S1AP_mme_init();
                
                f_rABSetupRequest();
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
                // Test body

garciay's avatar
garciay committed
                f_send_Ue_Context_Resume_Request(m_UeContextResumeRequestIEs(
rennoch's avatar
rennoch committed
                    vc_MME_UE_ID,
                    vc_eNB_UE_ID
garciay's avatar
garciay committed
                ));
rennoch's avatar
rennoch committed
                    
                f_recv_Ue_Context_Resume_Response(mw_UeContextResumeResponseIEs);                
rennoch's avatar
rennoch committed
                
                // Postamble
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); 
                
                f_postamble_S1AP_MME();
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                
            } // End of function f_TC_S1AP_eNB_CMP_09              
rennoch's avatar
rennoch committed


            /**
             * @desc Testcase function for TC_S1AP_mME_CMP_10
             */
            function f_TC_S1AP_mME_CMP_10() runs on S1APComponent { 
                // Local variables
                var template(value) Cause v_cause;
rennoch's avatar
rennoch committed
                const E_RAB_ID c_E_RAB_ID_A := 0;
rennoch's avatar
rennoch committed
                                
                // Preamble
                f_S1AP_mme_init();
                
                f_rABSetupRequest();
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
                // Test body
garciay's avatar
garciay committed

                f_send_Ue_Context_Resume_Request(
                    m_UeContextResumeRequestIEs_RABFailedToResumeItem(
garciay's avatar
garciay committed
                    vc_MME_UE_ID,
                        vc_eNB_UE_ID,
garciay's avatar
garciay committed
                        {
                            m_E_RABFailedToResumeItemResumeReq(
                                c_E_RAB_ID_A,
                                m_cause_ran(user_inactivity)
                            )
                        }
garciay's avatar
garciay committed
                    
rennoch's avatar
rennoch committed
                f_recv_Ue_Context_Resume_Failure(mw_UeContextResumeFailureIEs);                
                
                // Postamble
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); 
                
                f_postamble_S1AP_MME();
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                
            } // End of function f_TC_S1AP_eNB_CMP_10 
garciay's avatar
garciay committed
            
            /**
             * @desc Testcase function for TC_S1AP_mME_CMP_11
             */
            function f_TC_S1AP_mME_CMP_11() runs on S1APComponent { 
                // Local variables
                var template(value) Cause v_cause;
                                
                // Preamble
                f_S1AP_mme_init();
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
                // Test body                    
                action("trigger a Connection establishment indication");
                f_recv_Connection_Establishment_Indication(mw_ConnectionEstablishmentIndicationIEs);                
                
                // Postamble
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); 
                
                f_postamble_S1AP_MME();
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                
            } // End of function f_TC_S1AP_eNB_CMP_11
garciay's avatar
garciay committed
            
        } // End of group Context_management_group
        /**
         * @desc Handover signalling group
         * @see ETSI DTS/INT-00135-2 Clause 5.2.2.2.4  Handover signalling group
         */
        group Handover_signalling_group {
            /**
             * @desc Testcase function for TC_S1AP_MME_HAS_01
             */
            function f_TC_S1AP_MME_HAS_01() runs on S1APComponent { 
                // Local variables
                
                // Preamble
                f_S1AP_mme_init();
                // Preamble action: E-RAB Setup is exchanged.
                //f_rABSetup...;
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
                // Test body
                // sends a HANDOVER_REQUIRED
                f_send_HandoverRequired(
                    m_HandoverRequiredIEs(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        intralte,
                        m_cause_ran(unspecified),
                        m_TargeteNB_ID(m_Global_ENB_ID(PX_PLMN_IDENTITY,//'000001'O,
                                                       m_ENB_ID_macro),
                                       m_TAI(PX_PLMN_IDENTITY,
                                             PX_TAC)),
                        PX_SOURCE_TO_TARGET_TANSPARENT_CONTAINER
                ));
                 
                f_recv_HandoverCommand(
                    mw_HandoverCommandIEs(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        intralte,//handover_Type
                        PX_TARGET_TO_SOURCE_TANSPARENT_CONTAINER//TargetToSourceTransparentContainer
                ));
                
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                
                // Postamble
                //f_rABSetupRelease...;
                f_postamble_S1AP_eNB();
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                
            } // End of function f_TC_S1AP_MME_HAS_01

            /**
             * @desc Testcase function for TC_S1AP_MME_HAS_02
             */
            function f_TC_S1AP_MME_HAS_02() runs on S1APComponent { 
                // Local variables
                const SourceRNC_ToTargetRNC_TransparentContainer c_sourceRNC_ToTargetRNC_TransparentContainer := '12121212'O;
                const TargetRNC_ToSourceRNC_TransparentContainer c_targetRNC_ToSourceRNC_TransparentContainer := '12121212'O;
                
                // Preamble
                f_S1AP_mme_init();
                // Preamble action: E-RAB Setup is exchanged.
                //f_rABSetup...;
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
                // Test body
                // sends a HANDOVER_REQUIRED
                f_send_HandoverRequired(
                    m_HandoverRequiredIEs(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        ltetoutran,
                        m_cause_ran(unspecified),
                        m_TargetRNC_ID(m_LAI('000001'O, //plmn id
                                             '0001'O),  //lac
                                       m_rNC_Id),
                        c_sourceRNC_ToTargetRNC_TransparentContainer
                ));
                 
                f_recv_HandoverCommand(
                    mw_HandoverCommandIEs_NASSecurity(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        ltetoutran,//handover_Type
                        c_targetRNC_ToSourceRNC_TransparentContainer,//TargetToSourceTransparentContainer
                        -
                ));
                
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                
                // Postamble
                //f_rABSetupRelease...;
                f_postamble_S1AP_eNB();
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                
            } // End of function f_TC_S1AP_MME_HAS_02

            /**
             * @desc Testcase function for TC_S1AP_MME_HAS_03
             */
            function f_TC_S1AP_MME_HAS_03() runs on S1APComponent { 
                // Local variables
                const SourceBSS_ToTargetBSS_TransparentContainer c_sourceBSS_ToTargetBSS_TransparentContainer := '12121212'O;
                const TargetBSS_ToSourceBSS_TransparentContainer c_targetBSS_ToSourceBSS_TransparentContainer := '12121212'O;
                
                // Preamble
                f_S1AP_mme_init();
                // Preamble action: E-RAB Setup is exchanged.
                //f_rABSetup...;
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
                // Test body
                // sends a HANDOVER_REQUIRED
                f_send_HandoverRequired(
                    m_HandoverRequiredIEs(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        ltetogeran,
                        m_cause_ran(unspecified),
                        m_Target_CGI('000001'O, //plmn id
                                     '0001'O,//lac
                                     '0001'O //ci
                                    ),
                        c_sourceBSS_ToTargetBSS_TransparentContainer
                ));
                 
                f_recv_HandoverCommand(
                    mw_HandoverCommandIEs_NASSecurity(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        ltetogeran,//handover_Type
                        c_targetBSS_ToSourceBSS_TransparentContainer,//TargetToSourceTransparentContainer
                        -
                ));
                
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                
                // Postamble
                //f_rABSetupRelease...;
                f_postamble_S1AP_eNB();
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                
            } // End of function f_TC_S1AP_MME_HAS_03
            
            /**
             * @desc Testcase function for TC_S1AP_MME_HAS_04_ENB1
             */
            function f_TC_S1AP_MME_HAS_04_ENB1() runs on S1APComponent { 
                // Local variables
                
                // Preamble
                f_S1AP_mme_init();
                // Preamble action: E-RAB Setup is exchanged.
                //f_rABSetup...;
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
                // Test body
                // sends a HANDOVER_REQUIRED
                f_send_HandoverRequired(
                    m_HandoverRequiredIEs_CSGID_CellAccessMode(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        intralte,
                        m_cause_ran(unspecified),
                        m_TargeteNB_ID(m_Global_ENB_ID(PX_PLMN_IDENTITY,//'000001'O,
                                                       m_ENB_ID_macro),
                                       m_TAI(PX_PLMN_IDENTITY,
                                             PX_TAC)),
                        PX_SOURCE_TO_TARGET_TANSPARENT_CONTAINER,
                        PX_CSG_ID,
                        hybrid
                ));
                 
                f_recv_HandoverCommand(
                    mw_HandoverCommandIEs(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        intralte,//handover_Type
                        PX_TARGET_TO_SOURCE_TANSPARENT_CONTAINER//TargetToSourceTransparentContainer
                ));
                
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                
                // Postamble
                //f_rABSetupRelease...;
                f_postamble_S1AP_eNB();
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                
            } // End of function f_TC_S1AP_MME_HAS_04_ENB1
            /**
             * @desc Testcase function for TC_S1AP_MME_HAS_04_ENB2
             */
            function f_TC_S1AP_MME_HAS_04_ENB2() runs on S1APComponent { 
                // Local variables
                
                // Preamble
                f_S1AP_mme_init();
                // Preamble action: E-RAB Setup is exchanged.
                //f_rABSetup...;
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
                // Test body
                // sends a HANDOVER_REQUIRED
                f_recv_HandoverRequest(
                    mw_HandoverRequestIEs_CSGID_CellAccessMode(
                        -,
                        -,
                        -,
                        -,
                        {?},//E_RabsToBeSetupItem
                        -,
                        -,
                        -,
                        -,
                        -
                ));
                
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                
                //send HandoverRequestAck
                
                // Postamble
                //f_rABSetupRelease...;
                f_postamble_S1AP_eNB();
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                
            } // End of function f_TC_S1AP_MME_HAS_04_ENB2

            /**
             * @desc Testcase function for TC_S1AP_MME_HAS_05
             */
            function f_TC_S1AP_MME_HAS_05() runs on S1APComponent { 
                // Local variables
                const SourceBSS_ToTargetBSS_TransparentContainer c_sourceBSS_ToTargetBSS_TransparentContainer := '12121212'O;
                const TargetBSS_ToSourceBSS_TransparentContainer c_targetBSS_ToSourceBSS_TransparentContainer := '12121212'O;
                
                // Preamble
                f_S1AP_mme_init();
                // Preamble action: E-RAB Setup is exchanged.
                //f_rABSetup...;
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
                // Test body
                // sends a HANDOVER_REQUIRED
                f_send_HandoverRequired(
                    m_HandoverRequiredIEs_SRVCCHOIndication(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        ltetogeran,
                        m_cause_ran(unspecified),
                        m_Target_CGI('000001'O, //plmn id
                                     '0001'O,//lac
                                     '0001'O //ci
                                    ),
                        c_sourceBSS_ToTargetBSS_TransparentContainer,
                        cSonly //SRVCCHOIndication
                ));
                 
                f_recv_HandoverCommand(
                    mw_HandoverCommandIEs_NASSecurity(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        ltetogeran,//handover_Type
                        c_targetBSS_ToSourceBSS_TransparentContainer,//TargetToSourceTransparentContainer
                        -
                ));
                
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                
                // Postamble
                //f_rABSetupRelease...;
                f_postamble_S1AP_eNB();
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                
            } // End of function f_TC_S1AP_MME_HAS_05

            /**
             * @desc Testcase function for TC_S1AP_MME_HAS_06
             */
            function f_TC_S1AP_MME_HAS_06() runs on S1APComponent { 
                // Local variables
                const SourceRNC_ToTargetRNC_TransparentContainer c_sourceRNC_ToTargetRNC_TransparentContainer := '12121212'O;
                const TargetRNC_ToSourceRNC_TransparentContainer c_targetRNC_ToSourceRNC_TransparentContainer := '12121212'O;
                
                // Preamble
                f_S1AP_mme_init();
                // Preamble action: E-RAB Setup is exchanged.
                //f_rABSetup...;
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
                // Test body
                // sends a HANDOVER_REQUIRED
                f_send_HandoverRequired(
                    m_HandoverRequiredIEs_SRVCCHOIndication(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        ltetoutran,
                        m_cause_ran(unspecified),
                        m_TargetRNC_ID(m_LAI('000001'O, //plmn id
                                             '0001'O),  //lac
                                       m_rNC_Id),
                        c_sourceRNC_ToTargetRNC_TransparentContainer,
                        cSonly //SRVCCHOIndication
                ));
                 
                f_recv_HandoverCommand(
                    mw_HandoverCommandIEs_NASSecurity(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        ltetoutran,//handover_Type
                        c_targetRNC_ToSourceRNC_TransparentContainer,//TargetToSourceTransparentContainer
                        -
                ));
                
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                
                // Postamble
                //f_rABSetupRelease...;
                f_postamble_S1AP_eNB();
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                
            } // End of function f_TC_S1AP_MME_HAS_06

            /**
             * @desc Testcase function for TC_S1AP_MME_HAS_07
             */
            function f_TC_S1AP_MME_HAS_07() runs on S1APComponent { 
                // Local variables
                const SourceBSS_ToTargetBSS_TransparentContainer c_sourceBSS_ToTargetBSS_TransparentContainer := '12121212'O;
                const SourceBSS_ToTargetBSS_TransparentContainer c_sourceBSS_ToTargetBSS_TransparentContainer_2nd := '12121212'O;
                
                const TargetBSS_ToSourceBSS_TransparentContainer c_targetBSS_ToSourceBSS_TransparentContainer := '12121212'O;
                const TargetBSS_ToSourceBSS_TransparentContainer c_targetBSS_ToSourceBSS_TransparentContainer_2nd := '12121212'O;
                
                // Preamble
                f_S1AP_mme_init();
                // Preamble action: E-RAB Setup is exchanged.
                //f_rABSetup...;
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
                // Test body
                // sends a HANDOVER_REQUIRED
                f_send_HandoverRequired(
                    m_HandoverRequiredIEs_SRVCCHOInd_S2TTransCont2nd_MSClassmark23(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        ltetogeran,
                        m_cause_ran(unspecified),
                        m_Target_CGI('000001'O, //plmn id
                                     '0001'O,//lac
                                     '0001'O //ci
                                    ),
                        c_sourceBSS_ToTargetBSS_TransparentContainer,
                        c_sourceBSS_ToTargetBSS_TransparentContainer_2nd,
                        pSandCS, //SRVCCHOIndication
                        '0000'O, //MSclassmark2 need to be coded due to 9.2.1.64 and ts 48.008
                        '0000'O  //MSclassmark3 need to be coded due to 9.2.1.65 and ts 48.008
                ));
                 
                f_recv_HandoverCommand(
                mw_HandoverCommandIEs_T2STransCont2nd_NASSecurity(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        ltetogeran,//handover_Type
                        c_targetBSS_ToSourceBSS_TransparentContainer,//TargetToSourceTransparentContainer
                        c_targetBSS_ToSourceBSS_TransparentContainer_2nd,//TargetToSourceTransparentContainer
                        -
                ));
                
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                
                // Postamble
                //f_rABSetupRelease...;
                f_postamble_S1AP_eNB();
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                
            } // End of function f_TC_S1AP_MME_HAS_07

            /**
             * @desc Testcase function for TC_S1AP_MME_HAS_08
             */
            function f_TC_S1AP_MME_HAS_08() runs on S1APComponent { 
                // Local variables
                const SourceRNC_ToTargetRNC_TransparentContainer c_sourceRNC_ToTargetRNC_TransparentContainer := '12121212'O;
                const TargetRNC_ToSourceRNC_TransparentContainer c_targetRNC_ToSourceRNC_TransparentContainer := '12121212'O;
                
                // Preamble
                f_S1AP_mme_init();
                // Preamble action: E-RAB Setup is exchanged.
                //f_rABSetup...;
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
                // Test body
                // sends a HANDOVER_REQUIRED
                f_send_HandoverRequired(
                    m_HandoverRequiredIEs_SRVCCHOIndication(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        ltetoutran,
                        m_cause_ran(unspecified),
                        m_TargetRNC_ID(m_LAI('000001'O, //plmn id
                                             '0001'O),  //lac
                                       m_rNC_Id),
                        c_sourceRNC_ToTargetRNC_TransparentContainer,
                        pSandCS
                ));
                 
                f_recv_HandoverCommand(
                    mw_HandoverCommandIEs_NASSecurity(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        ltetoutran,//handover_Type
                        c_targetRNC_ToSourceRNC_TransparentContainer,//TargetToSourceTransparentContainer
                        -
                ));
                
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                
                // Postamble
                //f_rABSetupRelease...;
                f_postamble_S1AP_eNB();
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                
            } // End of function f_TC_S1AP_MME_HAS_08
            
            /**
             * @desc Testcase function for TC_S1AP_MME_HAS_09
             */
            function f_TC_S1AP_MME_HAS_09() runs on S1APComponent { 
                // Local variables
                
                // Preamble
                f_S1AP_mme_init();
                // Preamble action: E-RAB Setup is exchanged.
                //f_rABSetup...;
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
                // Test body
                // sends a HANDOVER_REQUIRED
                f_send_HandoverRequired(
                    m_HandoverRequiredIEs_CSGID(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        intralte,
                        m_cause_ran(unspecified),
                        m_TargeteNB_ID(m_Global_ENB_ID(PX_PLMN_IDENTITY,//'000001'O,
                                                       m_ENB_ID_macro),
                                       m_TAI(PX_PLMN_IDENTITY,
                                             PX_TAC)),
                        PX_SOURCE_TO_TARGET_TANSPARENT_CONTAINER,
                        PX_CSG_ID
                ));
                 
                f_recv_HandoverPreparationFailure(
                    mw_HandoverPreparationFailureIEs(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        -//cause
                ));
                
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                
                // Postamble
                //f_rABSetupRelease...;
                f_postamble_S1AP_eNB();
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                
            } // End of function f_TC_S1AP_MME_HAS_09
            
            /**
             * @desc Testcase function for TC_S1AP_MME_HAS_10
             */
            function f_TC_S1AP_MME_HAS_10() runs on S1APComponent { 
                // Local variables
                
                // Preamble
                f_S1AP_mme_init();
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
                // Test body
                action("trigger an Handover request");
              
                f_recv_HandoverRequest(
                    mw_HandoverRequestIEs(
                        -,
                        -,
                        -,
                        -,
                        {?},//E_RabsToBeSetupItem
                        -,
                        -,
                        -
                ));
                
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                
                //send HandoverRequestAck
                
                // Postamble
                //f_rABSetupRelease...;
                f_postamble_S1AP_eNB();
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                
            } // End of function f_TC_S1AP_MME_HAS_10
            
            /**
             * @desc Testcase function for TC_S1AP_MME_HAS_11
             */
            function f_TC_S1AP_MME_HAS_11() runs on S1APComponent { 
                // Local variables
                
                // Preamble
                f_S1AP_mme_init();
                // Preamble action: E-RAB Setup is exchanged.
                //f_rABSetup...;
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
                // Test body
                // sends a HANDOVER_REQUIRED
                f_send_PathSwitchRequest(
                    m_PathSwitchRequestIEs(
                    vc_eNB_UE_ID,
                    {m_E_RABToBeSwitchedDLItem(1,-,-,-)},
                    vc_MME_UE_ID,
                    m_eUTRAN_CGI(PX_PLMN_IDENTITY,//plmn id
                                 PX_CELL_ID ),//cell id
                    m_TAI(PX_PLMN_IDENTITY,
                          PX_TAC),
                    m_UESecurityCapabilities(PX_ENCRYPTION_ALGORITHM,
                                             PX_INTEGRITY_PROTECTION_ALGORITHM)
                ));
                 
                f_recv_PathSwitchRequestAck(
                    mw_PathSwitchRequestAckIEs(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        -//security context
                ));
                
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                
                // Postamble
                //f_rABSetupRelease...;
                f_postamble_S1AP_eNB();
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                
            } // End of function f_TC_S1AP_MME_HAS_11

            /**
             * @desc Testcase function for TC_S1AP_MME_HAS_12
             */
            function f_TC_S1AP_MME_HAS_12() runs on S1APComponent { 
                // Local variables
                
                // Preamble
                f_S1AP_mme_init();
                // Preamble action: E-RAB Setup is exchanged.
                //f_rABSetup...;
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
                // Test body
                // sends a HANDOVER_REQUIRED
                f_send_PathSwitchRequest(
                    m_PathSwitchRequestIEs(
                    vc_eNB_UE_ID,
                    {m_E_RABToBeSwitchedDLItem(1,-,-,-)},
                    vc_MME_UE_ID,
                    m_eUTRAN_CGI(PX_PLMN_IDENTITY,//plmn id
                                 PX_CELL_ID ),//cell id
                    m_TAI(PX_PLMN_IDENTITY,
                          PX_TAC),
                    m_UESecurityCapabilities(PX_ENCRYPTION_ALGORITHM,
                                             PX_INTEGRITY_PROTECTION_ALGORITHM)
                ));
                 
                f_recv_PathSwitchRequestFailure(
                    mw_PathSwitchRequestFailureIEs(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        -//cause
                ));
                
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                
                // Postamble
                //f_rABSetupRelease...;
                f_postamble_S1AP_eNB();
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                
            } // End of function f_TC_S1AP_MME_HAS_12

            /**
             * @desc Testcase function for TC_S1AP_MME_HAS_13
             */
            function f_TC_S1AP_MME_HAS_13() runs on S1APComponent { 
                // Local variables
                
                // Preamble
                f_S1AP_mme_init();
                // Preamble action: E-RAB Setup is exchanged.
                //f_rABSetup...;
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
                // Test body
                // sends a HANDOVER_REQUIRED
                f_send_PathSwitchRequest(
                    m_PathSwitchRequestIEs(
                    vc_eNB_UE_ID,
                    {    m_E_RABToBeSwitchedDLItem(1,-,-,-),
                         m_E_RABToBeSwitchedDLItem(1,-,-,-)
                    },
                    vc_MME_UE_ID,
                    m_eUTRAN_CGI(PX_PLMN_IDENTITY,//plmn id
                                 PX_CELL_ID ),//cell id
                    m_TAI(PX_PLMN_IDENTITY,
                          PX_TAC),
                    m_UESecurityCapabilities(PX_ENCRYPTION_ALGORITHM,
                                             PX_INTEGRITY_PROTECTION_ALGORITHM)
                ));
                 
                f_recv_PathSwitchRequestFailure(
                    mw_PathSwitchRequestFailureIEs(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        -//cause
                ));
                
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                
                // Postamble
                //f_rABSetupRelease...;
                f_postamble_S1AP_eNB();
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                
            } // End of function f_TC_S1AP_MME_HAS_13

            /**
             * @desc Testcase function for TC_S1AP_MME_HAS_14
             */
            function f_TC_S1AP_MME_HAS_14() runs on S1APComponent { 
                // Local variables
                
                // Preamble
                f_S1AP_mme_init();
                // Preamble action: E-RAB Setup is exchanged.
                //f_rABSetup...;
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
                // Test body
                // sends a HANDOVER_REQUIRED
                f_send_PathSwitchRequest(
                    m_PathSwitchRequestIEs(
                    vc_eNB_UE_ID,
                    {m_E_RABToBeSwitchedDLItem(1,-,-,-)},
                    vc_MME_UE_ID,
                    m_eUTRAN_CGI(PX_PLMN_IDENTITY,//plmn id
                                 PX_CELL_ID ),//cell id
                    m_TAI(PX_PLMN_IDENTITY,
                          PX_TAC),
                    m_UESecurityCapabilities(PX_ENCRYPTION_ALGORITHM,
                                             PX_INTEGRITY_PROTECTION_ALGORITHM)
                ));
                 
                f_recv_PathSwitchRequestFailure(
                    mw_PathSwitchRequestFailureIEs(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        -//cause
                ));
                
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                
                // Postamble
                //f_rABSetupRelease...;
                f_postamble_S1AP_eNB();
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                
            } // End of function f_TC_S1AP_MME_HAS_14
            
            /**
             * @desc Testcase function for TC_S1AP_MME_HAS_15
             */
            function f_TC_S1AP_MME_HAS_15() runs on S1APComponent { 
                // Local variables
                
                // Preamble
                f_S1AP_mme_init();
                // Preamble action: E-RAB Setup is exchanged.
                //f_rABSetup...;
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
                // Test body
                // sends a HANDOVER_REQUIRED
                f_send_HandoverRequired(
                    m_HandoverRequiredIEs(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        intralte,
                        m_cause_ran(unspecified),
                        m_TargeteNB_ID(m_Global_ENB_ID(PX_PLMN_IDENTITY,//'000001'O,
                                                       m_ENB_ID_macro),
                                       m_TAI(PX_PLMN_IDENTITY,
                                             PX_TAC)),
                        PX_SOURCE_TO_TARGET_TANSPARENT_CONTAINER
                ));
                 
                f_recv_HandoverCommand(
                    mw_HandoverCommandIEs(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        intralte,//handover_Type
                        PX_TARGET_TO_SOURCE_TANSPARENT_CONTAINER//TargetToSourceTransparentContainer
                ));
                
                f_send_HandoverCancel(
                    m_HandoverCancelIEs(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        m_cause_ran(unspecified)
                ));
                
                f_recv_HandoverCancelAck(
                    mw_HandoverCancelAckIEs(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID
                ));
                
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                
                // Postamble
                //f_rABSetupRelease...;
                f_postamble_S1AP_eNB();
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                
            } // End of function f_TC_S1AP_MME_HAS_15
            
            /**
             * @desc Testcase function for TC_S1AP_MME_HAS_16
             */
            function f_TC_S1AP_MME_HAS_16() runs on S1APComponent { 
                // Local variables
                
                // Preamble
                f_S1AP_mme_init();
                // Preamble action: E-RAB Setup is exchanged.
                //f_rABSetup...;
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
                // Test body
                // sends a HANDOVER_REQUIRED
                f_send_HandoverRequired(
                    m_HandoverRequiredIEs(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        intralte,
                        m_cause_ran(unspecified),
                        m_TargeteNB_ID(m_Global_ENB_ID(PX_PLMN_IDENTITY,//'000001'O,
                                                       m_ENB_ID_macro),
                                       m_TAI(PX_PLMN_IDENTITY,
                                             PX_TAC)),
                        PX_SOURCE_TO_TARGET_TANSPARENT_CONTAINER
                f_recv_HandoverCommand(
                    mw_HandoverCommandIEs(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        intralte,//handover_Type
                        PX_TARGET_TO_SOURCE_TANSPARENT_CONTAINER//TargetToSourceTransparentContainer
                ));
                
                f_send_eNB_Status_Transfer(
                    m_eNB_Status_TransferIEs(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        m_eNBStatusTransferTransparentContainer(
                          {{id:=89,//S1AP_Constants.id_Bearers_SubjectToStatusTransfer_Item,
                            criticality:=ignore,
                            value_:= {Bearers_SubjectToStatusTransfer_Item := valueof(
                                                 m_Bearers_SubjectToStatusTransfer_Item(1,
                                                                       m_COUNTvalue(0,0),
                                                                       m_COUNTvalue(0,0)))}
                           }
                          }
                        )
                ));
                
                f_recv_Mme_Status_Transfer(
                    mw_Mme_Status_TransferIEs(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        -
                ));
                
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                
                // Postamble
                //f_rABSetupRelease...;
                f_postamble_S1AP_eNB();
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                
            } // End of function f_TC_S1AP_MME_HAS_16