Commit 06e68530 authored by Bostjan Pintar's avatar Bostjan Pintar
Browse files

Changes done during week 15

parent c1a2b702
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
log4j.rootLogger=error, stdout, R
log4j.rootLogger=debug, stdout, R

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+25.1 KiB (48.2 KiB)

File changed.

No diff preview for this file type.

+77 −40
Original line number Diff line number Diff line
/**
 *    @author     STF 370
 *    @author     STF 370, TTF006;
 *  @version    $Id: $
 *    @desc        This module provides common function for TestCoordinator component.
 */
module AtsImsIot_Functions {

     import from AtsImsIot_Templates { template mw_EnumQuery_Base, mw_EnumResponse_Base, mw_SIP_URI_Base; }
     import from AtsImsIot_TestSystem all;
    //LibDiameter
    import from LibDiameter_TypesAndValues {type DIAMETER_MSG;}
    
    //LibSip
    import from LibSip_SIPTypesAndValues all;
     import from AtsImsIot_TestSystem { type ImsTestCoordinator, ImsInterfaceMonitor; }
    
    //LibIms
    import from LibIms_UpperTester all;
    
    //LibIot
    import from LibIot_PIXITS { modulepar PX_MAX_MSG_WAIT, PX_PRODUCTS, PX_AVAILABLE_INTERFACES; }
    import from LibIot_Functions { function f_setConformanceVerdict, f_sendEquipmentCmd; }
     import from AtsImsIot_TypesAndValues { type SipMessage, SipMessageList, NAPTRmessage, EnumMessage, SkipType, DiameterMessageList, SkipTypeDiameter;}
    import from LibIms_UpperTester all;
     import from LibUpperTester all;
    import from LibIot_TestInterface { type InterfaceMonitor, TestCoordinator, EquipmentUser; }
    import from LibIot_Functions { function f_getE2EVerdict; }
    import from LibIot_TypesAndValues { type DefaultList, MonitorInterfaceInfo; }
    import from LibDiameter_TypesAndValues {type DIAMETER_MSG;}
    
    import from LibIot_VxLTE_Functions {function f_SipMonitorInterface_available,f_DiameterMonitorInterface_available;}
    
    //LibUpperTester
    import from LibUpperTester all;
    
    //AtsImsIot
    import from AtsImsIot_Templates { template mw_EnumQuery_Base, mw_EnumResponse_Base, mw_SIP_URI_Base; }
    import from AtsImsIot_TestSystem all;
    import from AtsImsIot_TestSystem { type ImsTestCoordinator, ImsInterfaceMonitor; }
    import from AtsImsIot_TypesAndValues { type SipMessage, SipMessageList, NAPTRmessage, EnumMessage, SkipType, DiameterMessageList, SkipTypeDiameter;}
     
     
     group ue {
         
         /**
@@ -2632,8 +2643,29 @@ module AtsImsIot_Functions {
                    }
                }
               }
        }  //end f_receiveDiameterMsg
        
        /**
         * @desc
         *     This function returns correct cx interface monitor in case of single Cx interface connection or 
         *     set cxIH Interface monitor in case of two Cx interface connections. 
         *     If single is set to true then only CxSH monitor is enabled. If single is set to false this monitor is set to CxIH monitor.
         * @param p_singleCxInterface true - only one interface Cx with IH-SH/false - two separate interfaces one for SH(S-CSCF HSS) and another for IH(I-CSCF HSS) 
         */
         function f_getCxInterface(boolean p_singleCxInterface) runs on ImsTestCoordinator system IotSystemInterface return DiameterInterfaceMonitor {
           var DiameterInterfaceMonitor v_diameterInterfaceMonitor;
           if (p_singleCxInterface)
           { 
               v_diameterInterfaceMonitor := vc_vxlte_monitor_components.cxSH
           }
           else
           {
               v_diameterInterfaceMonitor := vc_vxlte_monitor_components.cxIH
           }
           return v_diameterInterfaceMonitor;
         }
        
    }  //end group diameterComponent

     group sgiComponent {
         /**
@@ -2690,6 +2722,26 @@ module AtsImsIot_Functions {
                }
            }
        }    
         /**
        * @desc
        *     This function waits for a Diameter message send from a given monitor
        *     component to mtc.
        * @param p_monitor Reference of Interface Monitor component
        * @param p_msg The Diameter message
        */
         function f_getDiameterMsgFromMonitor(InterfaceMonitor p_monitor, out DIAMETER_MSG p_msg) runs on ImsTestCoordinator {
            timer t_local := PX_MAX_MSG_WAIT;
            t_local.start;            
            alt {
                []icpPort.receive (DIAMETER_MSG:?) /*from p_monitor*/ -> value p_msg {
                   t_local.stop;
                   setverdict(pass, self, "***f_getDiameterMsgFromMonitor: DIAMETER message received***");    
                }
                []t_local.timeout {
                       setverdict(fail, self, "***f_getDiameterMsgFromMonitor: DIAMETER message not received***");    
                }
            }
        }    
     }
     
    group altsteps {
@@ -2977,7 +3029,7 @@ module AtsImsIot_Functions {
         *     allows read access to the top element of incoming port queues
         *     without removing the top element from the queue.
         */     
        function f_imsIot_receive( 
        function f_imsIot_receive( // FIXME To be removed
          in template SipMessageList p_passCriteria,
          in template SipMessageList p_failCriteria,
          in template SkipType p_skip,
@@ -3021,7 +3073,7 @@ log ("### f_imsIot_receive: failCriteria=", p_failCriteria);
         * @param p_tpId The Test Purpose identifier
         * @param p_skipCount Indicate how many messages should be skipped prior to checking
         */     
        function f_gen_receive( 
        function f_gen_receive( // FIXME To be removed
          in charstring p_tpId,
          in template SkipType p_skip
        ) runs on ImsInterfaceMonitor {
@@ -3122,7 +3174,7 @@ log ("### f_imsIot_receive: failCriteria=", p_failCriteria);
                           any of the expcted messages 
        * @param p_tpId Test Purpose identifir
        */
        function f_activateImsSipDefaults(
        function f_activateImsSipDefaults( // FIXME To be removed
            inout DefaultList p_default,
            in integer p_startIdx,
            in template SipMessageList p_list,
@@ -3174,10 +3226,12 @@ log ("### f_imsIot_receive: failCriteria=", p_failCriteria);

            for (var integer i := 0; i < v_size; i := i + 1) {
                if (ischosen(p_list[i].request)) {
                    //log ("### f_activateImsSipDefaults: Adding ", p_list[i].request);
                    p_default[v_idx] := activate(
                        a_receive_sip_Request(p_list[i].request,p_verdict, p_tpId, p_forwardMtc, p_checkMessage)
                    );
                } else {
                    //log ("### f_activateImsSipDefaults: Adding ", p_list[i].response);
                    p_default[v_idx] := activate(
                        a_receive_sip_Response(p_list[i].response,p_verdict, p_tpId, p_forwardMtc, p_checkMessage)
                    );
@@ -3286,8 +3340,8 @@ log ("### f_imsIot_receive: failCriteria=", p_failCriteria);
           var integer i := 0;
           var integer v_size_ai := lengthof(PX_AVAILABLE_INTERFACES);

           log ("### f_Iot_Sip_receive: passCriteria=", p_passCriteria);
           log ("### f_Iot_Sip_receive: failCriteria=", p_failCriteria);
           //log ("### f_Iot_Sip_receive: passCriteria=", p_passCriteria);
           //log ("### f_Iot_Sip_receive: failCriteria=", p_failCriteria);
            
           // check if interface is available
           if(not((isvalue(vc_Interface))  /*and (vc_interfaceName=="")*/)){
@@ -3304,23 +3358,6 @@ log ("### f_imsIot_receive: failCriteria=", p_failCriteria);
            
           }
            
//           for(i := 0; i < v_size_ai; i := i+1) {
//               if (PX_AVAILABLE_INTERFACES[i].interfaceName == vc_interfaceName) {
//                   if (PX_AVAILABLE_INTERFACES[i].available == false) {
//                       setverdict(inconc, self, "******f_imsIot_receive: Interface " & PX_AVAILABLE_INTERFACES[i].interfaceName & " not available and is not evaluated******" );
//                   } else { // Interface is available
//                       v_defaultArray[0] := activate(a_default(p_tpId));
//                       f_activateImsSipDefaults(v_defaultArray, 1, p_failCriteria, fail, p_tpId, p_forwardMtc, p_checkMessage);
//                       f_activateImsSipDefaults(v_defaultArray, v_size + 1, p_passCriteria, pass, p_tpId, p_forwardMtc, p_checkMessage);
//                       f_gen_receive(p_tpId, p_skip);
//    
//                       for (i := 0; i < lengthof(v_defaultArray); i := i + 1) {
//                           deactivate(v_defaultArray[i]);
//                       }
//                   }
//                   break; // Exit loop
//               }    
//           } // 'for' loop           
       }
       
        /**
+35 −30
Original line number Diff line number Diff line
@@ -46,7 +46,7 @@ module AtsImsIot_TD_REG{
            testcase TC_VxLTE_INT_REG_01 ( ) runs on ImsTestCoordinator system IotSystemInterface {
                
                var IotEquipmentUser v_ueA    := f_cf_create_IotEquipmentUser ( c_userUE_A );
                var ImsUserInfo v_userInfoA    := f_getImUser ( PX_EUT_A );
                var ImsUserInfo v_userInfoA   := f_getSipUserId ( PX_EUT_A );
                
                f_setVxLteMonIterfacesAvailability();
                //Check required monitor interfaces due to TD
@@ -70,21 +70,26 @@ module AtsImsIot_TD_REG{
                    
                    // Test body
                    f_mtc_check_TP_GM_PCSCF_REGISTER_01(vc_vxlte_monitor_components.gmA, false); // Events 1, 10
                    f_mtc_check_TP_MW_PCSCF_REGISTER_01(vc_vxlte_monitor_components.mwPS, false); // Event 2, 9
                    f_mtc_check_TP_MW_ICSCF_REGISTER_01(vc_vxlte_monitor_components.mwIS, false); // Event 5, 8
                    f_mtc_check_TP_MW_PCSCF_REGISTER_01(vc_vxlte_monitor_components.mwPI, false); // Event 2, 9
                    f_mtc_check_TP_MW_SCSCF_REGISTER_01(vc_vxlte_monitor_components.mwPS, false); // Event 2, 9
                    // FIXME Not on the PCAP traces
                    // FIXME f_mtc_check_TP_MW_ICSCF_REGISTER_01(vc_vxlte_monitor_components.mwIS, true); // Event 5, 8
                    
                    f_mtc_check_TP_CX_HSS_UAA_01(vc_vxlte_monitor_components.cxIH, false);// Event 3, 4
                    f_mtc_check_TP_CX_HSS_UAA_01(f_getCxInterface(PX_DIAMETER_CX_SINGLE_INTERFACE), false);// Event 3, 4
                    f_mtc_check_TP_CX_HSS_MAA_01(vc_vxlte_monitor_components.cxSH, false);// Event 6, 7
                    
                    f_mtc_check_TP_GM_PCSCF_REGISTER_02(vc_vxlte_monitor_components.gmA, false); // Events 11, 20
                    f_mtc_check_TP_MW_PCSCF_REGISTER_02(vc_vxlte_monitor_components.mwPS, false); // Events 12, 19
                    f_mtc_check_TP_MW_ICSCF_REGISTER_02(vc_vxlte_monitor_components.mwIS, false); // Event 15, 18
                    f_mtc_check_TP_MW_PCSCF_REGISTER_02(vc_vxlte_monitor_components.mwPI, false); // Events 12, 19
                    f_mtc_check_TP_MW_SCSCF_REGISTER_02(vc_vxlte_monitor_components.mwPS, false); // Event 2, 9
                    // FIXME Not on the PCAP traces
                    // FIXME f_mtc_check_TP_MW_ICSCF_REGISTER_02(vc_vxlte_monitor_components.mwIS, true); // Event 15, 18
                    
                    f_mtc_check_TP_CX_HSS_UAA_02(vc_vxlte_monitor_components.cxIH, false);// Event 13, 14
                    f_mtc_check_TP_CX_HSS_UAA_02(f_getCxInterface(PX_DIAMETER_CX_SINGLE_INTERFACE), false);// Event 13, 14
                    f_mtc_check_TP_CX_HSS_SAA_01(vc_vxlte_monitor_components.cxSH, false);// Event 16, 17
                    
                    f_mtc_check_TP_GM_PCSCF_SUBSCRIBE_01(vc_vxlte_monitor_components.gmA, false); // Events 21, 24
                    f_mtc_check_TP_MW_PCSCF_SUBSCRIBE_01(vc_vxlte_monitor_components.mwPS, false); // Events 22, 23
                    // FIXME TD_VxLTE_INT_REG_01 indictes a SUBSCRIBE, we have an INVITE in log, do we have to change the TD_VxLTE_INT_REG_01
                    //f_mtc_check_TP_GM_PCSCF_SUBSCRIBE_01(vc_vxlte_monitor_components.gmA, false); // Events 21, 24
                    //f_mtc_check_TP_MW_PCSCF_SUBSCRIBE_01(vc_vxlte_monitor_components.mwPS, false); // Events 22, 23

                    f_mtc_check_TP_RX_PCSCF_AAR_01(vc_vxlte_monitor_components.rx, false);// Event 25
                    f_mtc_check_TP_RX_PCRF_AAA_01(vc_vxlte_monitor_components.rx, false); // Event 26
@@ -112,7 +117,7 @@ module AtsImsIot_TD_REG{
            testcase TC_VxLTE_INT_REG_02 ( ) runs on ImsTestCoordinator system IotSystemInterface {
                
                var IotEquipmentUser v_ueA    := f_cf_create_IotEquipmentUser ( c_userUE_A );
                var ImsUserInfo v_userInfoA    := f_getImUser ( PX_EUT_A ); 
                var ImsUserInfo v_userInfoA    := f_getSipUserId ( PX_EUT_A ); 
    
                f_setVxLteMonIterfacesAvailability();
                //Check required monitor interfaces due to TD
@@ -138,7 +143,7 @@ module AtsImsIot_TD_REG{
                    f_mtc_check_TP_MW_PCSCF_REGISTER_03(vc_vxlte_monitor_components.mwPS, true); // Event 2, 5
                    f_mtc_check_TP_MW_ICSCF_REGISTER_01(vc_vxlte_monitor_components.mwIS, true); // Event 2, 5
                    
                    f_mtc_check_TP_CX_HSS_UAA_03(vc_vxlte_monitor_components.cxIH);// Event 3, 4
                    f_mtc_check_TP_CX_HSS_UAA_03(f_getCxInterface(PX_DIAMETER_CX_SINGLE_INTERFACE));// Event 3, 4
                    
                    f_mtc_check_TP_RX_PCSCF_AAR_02(vc_vxlte_monitor_components.rx);// Event 7

@@ -190,25 +195,25 @@ module AtsImsIot_TD_REG{
                    
                    // test body
                    
                    f_mtc_check_TP_GM_PCSCF_REGISTER_01(vc_vxlte_monitor_components.gmA, false); // Events 1, 10
                    f_mtc_check_TP_GM_PCSCF_REGISTER_01(vc_vxlte_monitor_components.gmA, true); // Events 1, 10
                    f_mtc_check_TP_MW_PCSCF_REGISTER_01(vc_vxlte_monitor_components.mwPS, true); // Event 2, 9
                    f_mtc_check_TP_MW_ICSCF_REGISTER_01(vc_vxlte_monitor_components.mwIS, true); // Event 5, 8
                    
                    f_mtc_check_TP_CX_HSS_UAA_01(vc_vxlte_monitor_components.cxIH);// Event 3, 4
                    f_mtc_check_TP_CX_HSS_UAA_01(f_getCxInterface(PX_DIAMETER_CX_SINGLE_INTERFACE));// Event 3, 4
                    f_mtc_check_TP_CX_HSS_MAA_01(vc_vxlte_monitor_components.cxSH);// Event 6, 7
                    
                    f_mtc_check_TP_GM_PCSCF_REGISTER_02(vc_vxlte_monitor_components.gmA, false); // Events 11, 24
                    f_mtc_check_TP_MW_PCSCF_REGISTER_02(vc_vxlte_monitor_components.mwPS, false); // Events 12, 23
                    f_mtc_check_TP_MW_ICSCF_REGISTER_02(vc_vxlte_monitor_components.mwIS, false); // Event 15, 22
                    f_mtc_check_TP_GM_PCSCF_REGISTER_02(vc_vxlte_monitor_components.gmA, true); // Events 11, 24
                    f_mtc_check_TP_MW_PCSCF_REGISTER_02(vc_vxlte_monitor_components.mwPS, true); // Events 12, 23
                    f_mtc_check_TP_MW_ICSCF_REGISTER_02(vc_vxlte_monitor_components.mwIS, true); // Event 15, 22
                    
                    f_mtc_check_TP_CX_HSS_UAA_02(vc_vxlte_monitor_components.cxIH);// Event 13, 14
                    f_mtc_check_TP_CX_HSS_UAA_02(f_getCxInterface(PX_DIAMETER_CX_SINGLE_INTERFACE));// Event 13, 14
                    f_mtc_check_TP_CX_HSS_SAA_01(vc_vxlte_monitor_components.cxSH);// Event 16, 17
                    
                    f_mtc_check_TP_SH_HSS_UDA_01(vc_vxlte_monitor_components.sh);// Event 16, 17
                    f_mtc_check_TP_ISC_SCSCF_REGISTER_01(vc_vxlte_monitor_components.isc, false); // Event 18, 21
                    f_mtc_check_TP_ISC_SCSCF_REGISTER_01(vc_vxlte_monitor_components.isc, true); // Event 18, 21
                    
                    f_mtc_check_TP_GM_PCSCF_SUBSCRIBE_01(vc_vxlte_monitor_components.gmA, false); // Events 25, 28
                    f_mtc_check_TP_MW_PCSCF_SUBSCRIBE_01(vc_vxlte_monitor_components.mwPS, false); // Events 26, 27
                    f_mtc_check_TP_GM_PCSCF_SUBSCRIBE_01(vc_vxlte_monitor_components.gmA, true); // Events 25, 28
                    f_mtc_check_TP_MW_PCSCF_SUBSCRIBE_01(vc_vxlte_monitor_components.mwPS, true); // Events 26, 27

                    f_mtc_check_TP_RX_PCSCF_AAR_01(vc_vxlte_monitor_components.rx);// Event 29
                    f_mtc_check_TP_RX_PCRF_AAA_01(vc_vxlte_monitor_components.rx); // Event 30
@@ -273,7 +278,7 @@ module AtsImsIot_TD_REG{
                    f_mtc_check_TP_IC_IBCF_REGISTER_01(vc_vxlte_monitor_components.ic, false); // Event 3, 12
                    f_mtc_check_TP_MW_ICSCF_REGISTER_04(vc_vxlte_monitor_components.mwIS, true); // Event 7, 10
                    
                    f_mtc_check_TP_CX_HSS_UAA_01(vc_vxlte_monitor_components.cxIH);// Event 5, 6//may be removed because in other network
                    f_mtc_check_TP_CX_HSS_UAA_01(f_getCxInterface(PX_DIAMETER_CX_SINGLE_INTERFACE));// Event 5, 6//may be removed because in other network
                    f_mtc_check_TP_CX_HSS_MAA_01(vc_vxlte_monitor_components.cxSH);// Event 8, 9//may be removed because in other network
                    
                    f_mtc_check_TP_GM_PCSCF_REGISTER_05(vc_vxlte_monitor_components.gmA, false); // Events 15, 28
@@ -281,7 +286,7 @@ module AtsImsIot_TD_REG{
                    f_mtc_check_TP_IC_IBCF_REGISTER_02(vc_vxlte_monitor_components.ic, false); // Event 17, 26
                    f_mtc_check_TP_MW_ICSCF_REGISTER_05(vc_vxlte_monitor_components.mwIS, true); // Event 21, 24
                    
                    f_mtc_check_TP_CX_HSS_UAA_02(vc_vxlte_monitor_components.cxIH);// Event 19, 20
                    f_mtc_check_TP_CX_HSS_UAA_02(f_getCxInterface(PX_DIAMETER_CX_SINGLE_INTERFACE));// Event 19, 20
                    f_mtc_check_TP_CX_HSS_SAA_01(vc_vxlte_monitor_components.cxSH);// Event 22, 23
                    
                    f_mtc_check_TP_GM_PCSCF_SUBSCRIBE_02(vc_vxlte_monitor_components.gmA, false); // Events 29, 36
@@ -344,7 +349,7 @@ module AtsImsIot_TD_REG{
                    //f_mtc_check_TP_IC_IBCF_REGISTER_0X(vc_vxlte_monitor_components.mwPS, false, true); // Event 2, 5 //Check during validation if TD and TP need to be written in TD document because Ic interface
                    f_mtc_check_TP_MW_ICSCF_REGISTER_01(vc_vxlte_monitor_components.mwIS, true); // Event 2, 5
                    
                    f_mtc_check_TP_CX_HSS_UAA_03(vc_vxlte_monitor_components.cxIH);// Event 3, 4
                    f_mtc_check_TP_CX_HSS_UAA_03(f_getCxInterface(PX_DIAMETER_CX_SINGLE_INTERFACE));// Event 3, 4
                    
                    f_mtc_check_TP_RX_PCSCF_AAR_02(vc_vxlte_monitor_components.rx);// Event 7
        
@@ -402,7 +407,7 @@ module AtsImsIot_TD_REG{
                    f_mtc_check_TP_IC_IBCF_REGISTER_01(vc_vxlte_monitor_components.ic, false); // Event 3, 12
                    f_mtc_check_TP_MW_ICSCF_REGISTER_01(vc_vxlte_monitor_components.mwIS, true); // Event 7, 10
                    
                    f_mtc_check_TP_CX_HSS_UAA_01(vc_vxlte_monitor_components.cxIH);// Event 5, 6
                    f_mtc_check_TP_CX_HSS_UAA_01(f_getCxInterface(PX_DIAMETER_CX_SINGLE_INTERFACE));// Event 5, 6
                    f_mtc_check_TP_CX_HSS_MAA_01(vc_vxlte_monitor_components.cxSH);// Event 8, 9
                    
                    f_mtc_check_TP_GM_PCSCF_REGISTER_05(vc_vxlte_monitor_components.gmA, false); // Events 15, 32
@@ -410,7 +415,7 @@ module AtsImsIot_TD_REG{
                    f_mtc_check_TP_IC_IBCF_REGISTER_02(vc_vxlte_monitor_components.ic, false); // Event 17, 30
                    f_mtc_check_TP_MW_ICSCF_REGISTER_05(vc_vxlte_monitor_components.mwIS, true); // Event 21, 28
                    
                    f_mtc_check_TP_CX_HSS_UAA_02(vc_vxlte_monitor_components.cxIH);// Event 19, 20
                    f_mtc_check_TP_CX_HSS_UAA_02(f_getCxInterface(PX_DIAMETER_CX_SINGLE_INTERFACE));// Event 19, 20
                    f_mtc_check_TP_CX_HSS_SAA_01(vc_vxlte_monitor_components.cxSH);// Event 22, 23
                    
                    f_mtc_check_TP_ISC_SCSCF_REGISTER_01(vc_vxlte_monitor_components.isc, false); // Event 24, 27
+12 −11
Original line number Diff line number Diff line
/*
 *  @author     STF 574
 *  @author     STF 574, TTF006
 *  @version    $Id$
 *  @desc       This module provides the TP behaviour functions at CX interface
 */
@@ -7,22 +7,23 @@
module AtsImsIot_TP_behavior_CX
{

    import from AtsImsIot_TestSystem { type DiameterInterfaceMonitor, ImsTestCoordinator; }
    // LibDiameter
    import from LibDiameter_Templates all;
    import from LibDiameter_TypesAndValues {type DIAMETER_MSG;};
    
    // LibIot
    import from LibIot_PIXITS {modulepar PX_MAX_MSG_WAIT;}
    import from AtsImsIot_Templates {template all;}
    import from AtsImsIot_TypesAndValues { type SipMessage, SipMessageList, NAPTRmessage, EnumResponse, EnumQuery, SkipType; }
    import from LibIot_TestInterface { type EquipmentUser, IotEquipmentUser };
    import from LibIot_TypesAndValues {type SetFilterReq, SetFilterRsp;}
    import from LibIot_Functions { function f_setConformanceVerdict, f_setIotVerdictFAIL; }
    import from LibIot_PIXITS {modulepar PX_EUT_A, PX_EUT_B;}
    
    // AtsImsIot
    import from AtsImsIot_Templates {template all;}
    import from AtsImsIot_TypesAndValues { type SipMessage, SipMessageList, NAPTRmessage, EnumResponse, EnumQuery, SkipType; }
    import from AtsImsIot_Functions all;
    import from LibIot_PIXITS {modulepar PX_EUT_A, PX_EUT_B;}
    import from AtsImsIot_Diameter_Templates all;
    
    // LibDiameter
    import from LibDiameter_Templates all;
	import from LibDiameter_TypesAndValues {type DIAMETER_MSG;};

    import from AtsImsIot_TestSystem { type DiameterInterfaceMonitor, ImsTestCoordinator; }

group g_HSS {
    
Loading