Commit 7dbc07b7 authored by pintar's avatar pintar
Browse files

Changes due to validation regarding introduction of second PTC(MME2)

parent 576c5125
Loading
Loading
Loading
Loading
+11 −20
Original line number Diff line number Diff line
@@ -17,14 +17,15 @@ module DiameterS6a_HSS_TCFunctions {
    
    // LibDiameter 
    import from LibDiameter_TypesAndValues {
        type DIAMETER_MSG
        type DIAMETER_MSG;
        const c_sync1, c_sync2, c_sync3;
    };
    import from LibDiameter_Steps {
        function f_getVerdict, f_IPAdress, 
        f_send_ULR, f_send_PUER, f_send_AIR, f_send_NOR,
        f_awaiting_ULA, f_awaiting_PUEA, f_awaiting_AIA, f_awaiting_NOA, 
        f_awaiting_CLR, f_awaiting_IDR, f_awaiting_DSR, f_awaiting_RSR,
        f_send_CLA, f_send_IDA, f_send_DSA, f_send_RSA
        f_send_CLA, f_send_IDA, f_send_DSA, f_send_RSA, f_wait
    };
    import from LibDiameter_Types_Base_AVPs  {
       type all
@@ -34,7 +35,8 @@ module DiameterS6a_HSS_TCFunctions {
    };
    import from LibDiameter_Templates  {
        template    
        m_originHost, m_originRealm, m_sessionId, m_destinationHost, m_destinationRealm, m_userName
        m_originHost, m_originRealm, m_sessionId, m_destinationHost, m_destinationRealm, m_userName, 
        mw_resultCode
    };
    import from LibDiameter_Interface {
        type 
@@ -42,15 +44,11 @@ module DiameterS6a_HSS_TCFunctions {
    };
    
    // DiameterS6a
//    import from DiameterS6a_TypesAndValues {
//        type 
//            DIAMETER_S6a_HSS_Initiated_Message
//    };
    import from DiameterS6a_Templates all; 
    import from DiameterS6a_PIXITS all;
    import from DiameterS6a_Steps {
        function 
            f_preamble_HSS, f_preamble_HSS2, f_postamble_HSS, f_init_sendULR_awaitULA; 
            f_preamble_HSS, f_preamble_HSS2, f_postamble_HSS, f_postamble_HSS2, f_init_sendULR_awaitULA; 
        altstep a_hss_default
    };
    
@@ -465,10 +463,6 @@ module DiameterS6a_HSS_TCFunctions {
         */
        function f_TC_HSS_UL_08() runs on DiameterComponent {
            
            // Local variables
            const charstring c_sync1 := "sync1";
            const charstring c_sync2 := "sync2";

            // Preamble
            f_preamble_HSS();
            f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
@@ -507,7 +501,6 @@ module DiameterS6a_HSS_TCFunctions {
                                                                                    //     indicating MME_UPDATE_PROCEDURE
            ))); 
            
            f_selfOrClientSyncAndVerdict(c_sync2, f_getVerdict());
            log("*** " & __SCOPE__ & ": INFO: Trigger  CL-Answer. ***");
            f_send_CLA(
                md_CLA( 
@@ -516,6 +509,8 @@ module DiameterS6a_HSS_TCFunctions {
                ) // End of md_CLA
            );
            
            f_selfOrClientSyncAndVerdict(c_sync2, f_getVerdict());
            
            f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
        
            // Postamble
@@ -529,10 +524,6 @@ module DiameterS6a_HSS_TCFunctions {
         */
        function f_TC_HSS_UL_08_NewMME() runs on DiameterComponent {

            // Local variables
			const charstring c_sync1 := "sync1";
            const charstring c_sync2 := "sync2";

            // Preamble
            f_preamble_HSS2();
            f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
@@ -564,11 +555,11 @@ module DiameterS6a_HSS_TCFunctions {
            f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
            
            // Postamble
            f_postamble_HSS();
            f_postamble_HSS2();
            f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
            log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
            
        } // End of TC function f_TC_HSS_UL_08_OldMME
        } // End of TC function f_TC_HSS_UL_08_NewMME
        
        /**
         * @desc    Verify that the IUT when UL Request is received over S6a shall send CL Request to the previous old SGSN
+9 −10
Original line number Diff line number Diff line
@@ -32,12 +32,14 @@ module DiameterS6a_MME_TCFunctions {
    import from LibDiameter_Types_S6a_AVPs  {
       type all
    };
	import from LibDiameter_TypesAndValues all;
//    import from LibDiameter_TypesAndValues {
//       type DIAMETER_MSG;
//    };
	//import from LibDiameter_TypesAndValues all;
    import from LibDiameter_TypesAndValues {
       type DIAMETER_MSG, PUER_MSG;
       const c_sync1, c_sync2, c_sync3;
    };
    import from LibDiameter_Templates  {
        template m_resultCode_diameterSuccess, m_resultCode, m_supportedFeatures, m_featureList, m_featureListId, m_userName
        template m_resultCode_diameterSuccess, m_resultCode, m_supportedFeatures, m_featureList, m_featureListId, m_userName,
                 mw_resultCode
    };
    import from LibDiameter_Interface {
        type 
@@ -45,9 +47,6 @@ module DiameterS6a_MME_TCFunctions {
    };
    
    // DiameterS6a
    import from DiameterS6a_TypesAndValues {
        const c_sync1
    };
    import from DiameterS6a_PICS {
        modulepar PX_MME_IUT_SUPPORT_NAS_PROTOCOL
    };
@@ -249,7 +248,7 @@ module DiameterS6a_MME_TCFunctions {
            // Clause 'then'
            f_init_awaitULR_sendULA();
            
            f_selfOrClientSyncAndVerdict(DiameterS6a_TypesAndValues.c_sync1, e_success);
            f_selfOrClientSyncAndVerdict(c_sync1, e_success);
            
            //awaiting second ULR
            f_awaiting_ULR( mdw_ULR( 
@@ -1908,7 +1907,7 @@ module DiameterS6a_MME_TCFunctions {
            } else {
                action("the IUT is requested to indicate additional request for update location information");
            }
            f_selfOrClientSyncAndVerdict(DiameterS6a_TypesAndValues.c_sync1, e_success);
            f_selfOrClientSyncAndVerdict(c_sync1, e_success);
            
            // Clause 'then': Nothing to do
            f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
+8 −2
Original line number Diff line number Diff line
@@ -42,7 +42,7 @@ module DiameterS6a_PIXITS {
        /**
         * @desc second IP address of the test system
         */
        modulepar charstring PX_DIAMETER_S6a_ETS_IPADDR2 := "192.168.42.3";
        modulepar charstring PX_DIAMETER_S6a2_ETS_IPADDR := "192.168.42.3";
        
        /**
         * @desc IP address of the system under test
@@ -59,7 +59,7 @@ module DiameterS6a_PIXITS {
        /**
         * @desc Second Port number of the test system
         */
        modulepar integer PX_DIAMETER_S6a_ETS_PORT2 := 1302;
        modulepar integer PX_DIAMETER_S6a2_ETS_PORT := 1302;
        
        /**
         * @desc Port number of the system under test
@@ -125,6 +125,12 @@ module DiameterS6a_PIXITS {
         */
        modulepar Diameter_Identity PX_ORIGIN_HOST := "orgHost";
        
        /**
         * @desc The Origin-Host identifying the endpoint that originates the Diameter messages
         * @see  ETSI DTS/INT-094-1 V0.0.3 (2013-11) A.7/6 
         */
        modulepar Diameter_Identity PX_ORIGIN_HOST2 := "orgHost2";
        
        /**
         * @desc The Origin-Realm identifying the Realm of the originator of any Diameter messages
         * @see  ETSI DTS/INT-094-1 V0.0.3 (2013-11) A.7/7 
+21 −3
Original line number Diff line number Diff line
@@ -41,9 +41,9 @@
        runs on DiameterComponent {

			vc_ETS_address := PX_DIAMETER_S6a_ETS_IPADDR;
            vc_ETS_address2 := PX_DIAMETER_S6a_ETS_IPADDR2;
            vc_ETS_address2 := PX_DIAMETER_S6a2_ETS_IPADDR;
			vc_ETS_port    := PX_DIAMETER_S6a_ETS_PORT;
            vc_ETS_port2    := PX_DIAMETER_S6a_ETS_PORT2;
            vc_ETS_port2    := PX_DIAMETER_S6a2_ETS_PORT;
            vc_SUT_address := PX_DIAMETER_S6a_SUT_IPADDR;
            vc_SUT_port    := PX_DIAMETER_S6a_SUT_PORT;
            
@@ -51,6 +51,7 @@
			vc_sessionId := m_sessionId(PX_SESSION_ID);
            vc_sessionId2 := m_sessionId(PX_SESSION_ID2);
            vc_originHost := m_originHost(PX_ORIGIN_HOST);
            vc_originHost2 := m_originHost(PX_ORIGIN_HOST2);
            vc_originRealm := m_originRealm(PX_ORIGIN_REALM); 
            
            vc_originHost_IUT := m_originHost(PX_DESTINATION_HOST);
@@ -64,7 +65,7 @@
            
            
			vc_hostIPAddress := valueof(f_IPV4or6_String2Address (PX_DIAMETER_S6a_ETS_IPADDR));
            vc_hostIPAddress2 := valueof(f_IPV4or6_String2Address (PX_DIAMETER_S6a_ETS_IPADDR2));
            vc_hostIPAddress2 := valueof(f_IPV4or6_String2Address (PX_DIAMETER_S6a2_ETS_IPADDR));

            vc_send_hopid:= 4; //hex2int('00000100'H);
            vc_send_endid:= 1048575; //hex2int('01000000'H);
@@ -194,6 +195,10 @@
			 * @desc Preamble for New MME
			 */
			function f_preamble_HSS2() runs on DiameterComponent {

                // Delay timer is used for 2nd PTC component to avoid problem with other component in the validation time 
                f_wait(1.0);
			    
				// Connect client sync port
				f_connect4SelfOrClientSync();
                
@@ -247,6 +252,19 @@
                deactivate;
            } // End of function f_postamble_HSS
            
            /**
             * @desc Postamble for HSS2 IUT role
             */
            function f_postamble_HSS2() runs on DiameterComponent {
                // Delay timer is used for 2nd PTC component to avoid problem with other component in the validation time 
                f_wait(1.0);
                
                f_send_DPR(m_DPR_basic(vc_originHost2, vc_originRealm));
                f_awaiting_DPA(mw_DPA_dummy);
                // Deactivate defaults
                deactivate;
            } // End of function f_postamble_HSS2
        
        } // End of group hssRole
        
    } // End of group Postambles
+6 −10
Original line number Diff line number Diff line
@@ -6,7 +6,12 @@
 *            Note that any changes made to the definitions in this module
 *            may be overwritten by future releases of this library
 *            End users are encouraged to contact the distributers of this
 *            module regarding their modifications or additions
 *            module regarding their modifications or additions.
 *            Note that usage of encvalue command (codec function) returns bitstring 
 *            length of the message or AVP with padding bytes. Therefore this function 
 *            is not used on the first level where length of one single AVP can be 
 *            calculated with lengthof function. It shall be used only on message level 
 *            or in case where one AVP is group of other AVPs.
 *  @remark   Any additions to the templates shall follow the design rules
 *            and always modify base templates only;
 */
@@ -1390,15 +1395,6 @@ module DiameterS6a_Templates {
            /** AVPs basic templates for receive */
            group awaitingTemplatesForAVPs{
                
                /**
                 * @desc Result-Code AVP receive message
                 * @param p_avpData Expected status code
                 */
                template (present) Result_Code_AVP mw_resultCode(template (present) Result_Code_Type p_avpData) := {
                    aVP_Header := mw_aVP_Header_Vbit0Mbit1 (c_result_Code_AVP_Code),
                    aVP_Data := p_avpData
                } // End of template mw_resultCode
                
                /**
                 * @desc Experimental-Code AVP receive message 
                 * @param p_experimental_Result_Code Expected sExperimental-Result-Code AVP 
Loading