AtsImsIot_TestSystem.ttcn 5.77 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,// ISC interface at AS to S-CSCF 
			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