AtsImsIot_TestSystem.ttcn 5.77 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 mmB_PSAP  optional,// MmMx interface at IBCF to PSAP
			SipInterfaceMonitor mwEB      optional,// Mw interface at E-CSCF/IBCF 
			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        
Bostjan Pintar's avatar
Bostjan Pintar committed
		}

		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