NGAP_TCFunctions.ttcn 4.98 KB
Newer Older
Yann Garcia's avatar
Yann Garcia committed
/**
 *    @author   ETSI / 
 *    @version  $URL$
 *              $Id$
 *    @desc     This module provides RfRo test functions used by the test cases.
 *    @copyright   ETSI Copyright Notification
 *                 No part may be reproduced except as authorized by written permission.
 *                 The copyright and the foregoing restriction extend to reproduction in all media.
 *                 All rights reserved.
 *    @see      ETSI TS  / 3GPP TS 
 */
module NGAP_TCFunctions {
    
    // LibCommon
    import from LibCommon_Sync all;
    import from LibCommon_VerdictControl all;
    import from LibCommon_Time {function f_sleepIgnoreDef;}

    // LibNGAP
    import from NGAP_IEs language "ASN.1:2002" all;
    import from NGAP_Constants language "ASN.1:2002" all;

    import from LibNGAP_Pixits all;
    import from LibNGAP_Templates all;
    import from LibNGAP_Interface all;
    import from LibNGAP_Steps all;

    // NGAP_Ats
    import from NGAP_Steps all;
    import from NGAP_Pixits all;
    
    group gNB_Role {
        
        /**
         * @desc E-RAB management group
         * @see ETSI DTS/INT-00135-2 Clause 5.2.2.1.2  E-RAB management group
         */
        group ERAB_management_group {
            
            /**
             * @desc Testcase function for TC_NGAP_eNB_RAB_01
             */
            function f_TC_NGAP_gNB_SetupRequest_01() runs on NGAPComponent { 
                // Local variables
                
                // Preamble
                f_NGAP_gnb_init();
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
                /*f_send_E_RABSetupRequest(m_E_RABSetupReqIEs(
                    vc_MME_UE_ID,
                    vc_eNB_UE_ID,
                    {m_E_RABToBeSetupItemBearerSUReq (
                        -,
                        m_e_RABlevelQoSParameters
                        (5)
                    )}
                ));

                f_recv_E_RABSetupResponse(mw_E_RABSetupResIEs(
                    vc_MME_UE_ID,
                    vc_eNB_UE_ID,
                    {
                        mw_E_RABSetupItemBearerSURes
                    }
                ));
                */
                //if (not (isvalue(m_global_gNB_ID_IE(m_granID) )))  { log (m_global_gNB_ID_IE(m_granID))}
                //else{log("template error")} 
                log(m_global_gNB_ID_IE(m_granID));
                var bitstring m_out:= encvalue(m_global_gNB_ID_IE(m_granID));
                log("Send ...", m_out);
                log(m_initiatingMessage(id_NGSetup));
                f_send_NGAP_PDU(m_initiatingMessage(id_NGSetup));
                log("Receive ...");
                f_recv_NGAP_PDU(?);
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); 
                
                f_postamble_NGAP_gNB();
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                
            } // End of function f_TC_NGAP_eNB_RAB_01
            
            
        } // End of group Unknown_unforseen_errorneous_group
        
    } // End of group gNB_Role
    
    group AMF_Role {
        
        /**
         * @desc E-RAB management group
         * @see ETSI DTS/INT-00135-2 Clause 5.2.2.1.2  E-RAB management group
         */
        group ERAB_management_group { 
            
            /**
             * @desc Testcase function for TC_NGAP_eNB_RAB_01
             */
            function f_TC_NGAP_MME_RAB_01() runs on NGAPComponent { 
                // Local variables
                
                // Preamble
                f_NGAP_amf_init();
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                         
                // Test body
                action("trigger an Initial E-RAB Setup procedure");
              
                /*f_recv_E_RABSetupRequest(mw_E_RABSetupReqIEs(
                    vc_MME_UE_ID,
                    vc_eNB_UE_ID,
                    { mw_E_RABToBeSetupItemBearerSUReq(?,?,?,?,?) }
                ));
                */
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); 

                // Postamble                                
               /* f_send_E_RABSetupResponse(m_E_RABSetupResIEs(
                    vc_MME_UE_ID,
                    vc_eNB_UE_ID,
                    {m_E_RABSetupItemBearerSURes}
                ));  */
                f_postamble_NGAP_AMF();
                
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                
            } // End of function f_TC_NGAP_MME_RAB_01

                        
        } // End of group Unknown_unforseen_errorneous_group
        
    } // End of group AMF_Role
    
} // End of module NGAP_TCFunctions