AtsImsIot_TestSystem.ttcn 6.79 KB
Newer Older
Bostjan Pintar's avatar
Bostjan Pintar committed
module AtsImsIot_TestSystem {

    import from LibSip_SIPTypesAndValues  all;
    import from LibMsrp_TypesAndValues all;
    import from AtsImsIot_TypesAndValues all;
    import from LibIot_TestInterface  all;
    import from LibIot_TestInterface all;
    import from LibIot_TypesAndValues  all;
    import from LibDiameter_TypesAndValues all;
    /**
    * @desc     interfaces to the SUT
    */    
    type component IotSystemInterface {
        port DataPort dPort;
        port SipPort sipPort;
        port DiameterPort diameterPort;
        port SgiPort sgiPort;
        port EquipmentAccessPort eaPort;
        port AdapterConfigPort acPort;
    }
    /**
    * @desc
    *     providing monitoring functionality of involved interfaces. Used as
    *     PTC.
    */
    type component ImsInterfaceMonitor extends InterfaceMonitor {
            port    DataPort                dPort;
            port    NaptrPort                naptrPort;
            port    DiameterPort            rxPort;
            port    SgiPort                    sgiPort;
            port    ImsCoordinationPort        icpPort;
    }
    
    type component SipInterfaceMonitor extends InterfaceMonitor {
            port    SipPort                    sipPort;              
            port    ImsCoordinationPort        icpPort;
    }
    type component DiameterInterfaceMonitor extends InterfaceMonitor {
            port    DiameterPort            diameterPort;
            port    ImsCoordinationPort        icpPort;
    }
    type component NaptrInterfaceMonitor extends InterfaceMonitor {
            port    NaptrPort                naptrPort; 
            port    ImsCoordinationPort        icpPort;
    }
    type component SgiInterfaceMonitor extends InterfaceMonitor {
            port    SgiPort                    sgiPort;
            port    ImsCoordinationPort        icpPort;
    }
    
    /**
    * @desc
    *     used to coordinate the behavior of other components. It is in charge
    *     of controlling the overall execution, manangement of testing phases,
    *     test verdicts collection and synchronization. Used as MTC.
    */
    type component ImsTestCoordinator extends TestCoordinator {
            port ImsCoordinationPort icpPort;
            var     VxLTEMonitorInterfaceList vc_MonIntfList;
            var  CF_VXLTE_Interfaces vc_vxlte_monitor_components;
    }
        
       group portDefinitions {
         type port ImsCoordinationPort message {
             inout SipMessage, DIAMETER_MSG; 
        }
        type port DataPort message {
            in  Request, Response, SEND_request, RECEIVE_response; // SIP
        }
        type port SipPort message {                                           //type port SipPort message
            in  Request, Response, SEND_request, RECEIVE_response; // SIP
        }
Bostjan Pintar's avatar
Bostjan Pintar committed
        type port NaptrPort message {
            in NAPTRmessage; 
        }
        type port DiameterPort message {
            in DIAMETER_MSG;
        }
        type port SgiPort message {
              in charstring;
        }
    }
    
    type record CF_INT_CALL {
        ImsInterfaceMonitor gmA,
Bostjan Pintar's avatar
Bostjan Pintar committed
        ImsInterfaceMonitor mxA,
        ImsInterfaceMonitor ici,
        ImsInterfaceMonitor mxB,    
        ImsInterfaceMonitor gmB optional,
Bostjan Pintar's avatar
Bostjan Pintar committed
        ImsInterfaceMonitor naptr optional
    }
    type record CF_INT_AS {
Bostjan Pintar's avatar
Bostjan Pintar committed
        ImsInterfaceMonitor gmA,
        ImsInterfaceMonitor ici,
        ImsInterfaceMonitor mxA,    
Bostjan Pintar's avatar
Bostjan Pintar committed
        ImsInterfaceMonitor gmB,
        ImsInterfaceMonitor mxB,
        ImsInterfaceMonitor iscA optional,
        ImsInterfaceMonitor iscB optional        
    }
    type record CF_ROAM_AS {
        ImsInterfaceMonitor gmA,
Bostjan Pintar's avatar
Bostjan Pintar committed
        ImsInterfaceMonitor mxA,
        ImsInterfaceMonitor ici,
        ImsInterfaceMonitor mxB,    
        ImsInterfaceMonitor gmB,
        ImsInterfaceMonitor iscA optional,
        ImsInterfaceMonitor iscB optional        
    }
    type record CF_EPC_CALL {
        ImsInterfaceMonitor gmA,    // See ETSI TS 103 029 V3.1.1 clause 5.4.1.1
        ImsInterfaceMonitor rx,        // See ETSI TS 103 029 V3.1.1 clause 5.4.2
        ImsInterfaceMonitor mxA,    
        ImsInterfaceMonitor mw,    
        ImsInterfaceMonitor sgi,    
        ImsInterfaceMonitor gmB        // See ETSI TS 103 029 V3.1.1 clause 5.4.1.1
    }
    group g_release15 {
        
        type record CF_VXLTE_Interfaces{
            SipInterfaceMonitor gmA     optional,
            SipInterfaceMonitor gmB     optional,
            SipInterfaceMonitor mmB_PSAP  optional,// MmMx interface at IBCF to PSAP
            SipInterfaceMonitor mwEB      optional,// Mw interface at E-CSCF/IBCF or E-CSCF/BGCF
            SipInterfaceMonitor mlE_LRF   optional,// Ml interface at E-CSCF/LRF
            SipInterfaceMonitor mwS_PSAP  optional,// MwMmMx interface at E,SCSCF to PSAP
            SipInterfaceMonitor ic      optional,
            SipInterfaceMonitor mwPI    optional,// Mw interface at P-CSCF/I-CSCF or P-CSCF/S-CSCF if I-CSCF not used
            SipInterfaceMonitor mwPS    optional,
            SipInterfaceMonitor mwPE    optional,// Mw interface at P-CSCF to E-CSCF
            SipInterfaceMonitor mwIS    optional,// Mw interface at I-CSCF/S-CSCF
            SipInterfaceMonitor mwIE    optional,// Mw interface at I-CSCF/S-CSCF to E-CSCF
            SipInterfaceMonitor mwPB    optional,// Mw interface at P-CSCF/IBCF    
            SipInterfaceMonitor mwIB    optional,// Mw interface at I-CSCF/IBCF 
            SipInterfaceMonitor isc     optional, 
            DiameterInterfaceMonitor cxIH   optional, 
            DiameterInterfaceMonitor cxSH   optional,
            DiameterInterfaceMonitor gx     optional,
            DiameterInterfaceMonitor rx     optional,
            DiameterInterfaceMonitor s6a    optional,
            DiameterInterfaceMonitor s9     optional,
            DiameterInterfaceMonitor sh     optional        
        }
        type record CF_ATT_old {
            ImsInterfaceMonitor gmA,
Bostjan Pintar's avatar
Bostjan Pintar committed
            ImsInterfaceMonitor rx,
            ImsInterfaceMonitor s6a,
Bostjan Pintar's avatar
Bostjan Pintar committed
            ImsInterfaceMonitor gx,
            ImsInterfaceMonitor mxA,    
            ImsInterfaceMonitor mwPS, // Mw interface at P-CSCF/I-CSCF or P-CSCF/S-CSCF if I-CSCF not used
            ImsInterfaceMonitor mwIS, // Mw interface at I-CSCF/S-CSCF
            ImsInterfaceMonitor mwSI, // Mw interface at S-CSCF/IBCF
            ImsInterfaceMonitor sgi,    
            ImsInterfaceMonitor gmB
        }
        
        type record CF_ATT {
            SipInterfaceMonitor         gmA,
            DiameterInterfaceMonitor     rx,
            DiameterInterfaceMonitor     s6a,
            DiameterInterfaceMonitor    gx,
            SipInterfaceMonitor         mxA,    
            SipInterfaceMonitor         mw, 
            SgiInterfaceMonitor         sgi,    
            SipInterfaceMonitor         gmB
        }
    } // end of g_release15