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

	import from LibSip_SIPTypesAndValues {type Request, Response;}
	import from LibMsrp_TypesAndValues {type SEND_request, RECEIVE_response;}
	import from AtsImsIot_TypesAndValues {type SipMessage, NAPTRmessage;}
	import from LibIot_TestInterface {type EquipmentAccessPort;}
	import from LibIot_TestInterface all;
	import from LibIot_TypesAndValues {type VxLTEMonitorInterfaceList;}
    import from LibDiameter_TypesAndValues {type DIAMETER_MSG;}

	/**
	* @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
		}
        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,
        ImsInterfaceMonitor mxA,
		ImsInterfaceMonitor ici,
        ImsInterfaceMonitor mxB,	
		ImsInterfaceMonitor gmB optional,
        ImsInterfaceMonitor naptr optional
	}
	type record CF_INT_AS {
        ImsInterfaceMonitor gmA,
        ImsInterfaceMonitor ici,
        ImsInterfaceMonitor mxA,	
        ImsInterfaceMonitor gmB,
        ImsInterfaceMonitor mxB,
		ImsInterfaceMonitor iscA optional,
		ImsInterfaceMonitor iscB optional        
	}
	type record CF_ROAM_AS {
		ImsInterfaceMonitor gmA,
        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 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 mwIS	optional,// Mw interface at I-CSCF/S-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,
            ImsInterfaceMonitor rx,
			ImsInterfaceMonitor s6a,
            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
}