Commit 6d553d67 authored by wattelet's avatar wattelet
Browse files

EPC attach modification + detach very first draft

parent 56852963
Loading
Loading
Loading
Loading
+24 −41
Original line number Diff line number Diff line
@@ -5354,51 +5354,34 @@ group checksTC_IMS_SHARE_0009 {
        function f_mtc_check_TP_EPC_6003_01(
            in EquipmentUser p_ueRef_A, 
            in ImsInterfaceMonitor p_monitorCompRef_A,
            in ImsUserInfo p_compRef_A,
            in EquipmentUser p_ueRef_B, 
            in ImsInterfaceMonitor p_monitorCompRef_B,
            in ImsUserInfo p_compRef_B,
            in boolean p_checkMessage
            in ImsInterfaceMonitor p_monitorCompRef_B
        ) runs on ImsTestCoordinator {
            // A sends an INVITE to B and check for failure 
            f_mtc_userInitiateCall(p_ueRef_A, p_compRef_B);
            p_monitorCompRef_A.start (
                f_imsIot_receive( 
                    { 
                        mw_SipRequest(mw_INVITE_Request_Base) // Send an INVITE request message
                    }, 
                    { 
                        mw_SipResponse(mw_200OK_Base) // Fail if INVITE request message succeed
                    }, 
                    {0, omit}, 
                    "TP_EPC_6003_01_A_TO_B", 
                    false, 
                    p_checkMessage 
                ) 
				f_check_ExistingDedicatedBearer	( p_ueRef_A )
			); 
			p_monitorCompRef_A.done;
           f_mtc_userCheckCallEnded(p_ueRef_A);
           
            // B sends an INVITE to A and check for failure 
            f_mtc_userInitiateCall(p_ueRef_B, p_compRef_A);
			p_monitorCompRef_B.start (
                f_imsIot_receive( 
                    { 
                        mw_SipRequest(mw_INVITE_Request_Base) // Send an INVITE request message
                    }, 
                    { 
                        mw_SipResponse(mw_200OK_Base) // Fail if INVITE request message succeed
                    }, 
                    {0, omit}, 
                    "TP_EPC_6003_01_B_TO_A", 
                    false, 
                    p_checkMessage 
                ) 
            	f_check_ExistingDedicatedBearer	( p_ueRef_B )
			); 
			p_monitorCompRef_B.done;
           f_mtc_userCheckCallEnded(p_ueRef_B);
        } // End of function f_mtc_check_TP_EPC_6003_01
         
        /**
        * Checks for existing bearer
        * @param p_ueRef_A Reference to IMS UE user component A
        * @param p_monitorCompRef_A Reference to monitor component A
        * @param p_ueRef_B Reference to IMS UE user component B
        * @param p_monitorCompRef_B Reference to monitor component B
        * @param p_checkMessage indicate if the incomming message should only be checked (port.check) or consumed (port.receive). 
        * @see TS 103 029 V3.1.1 clause 7.1.1
        */
		function f_check_ExistingDedicatedBearer (
            in EquipmentUser p_ueRef 
        ) runs on ImsInterfaceMonitor {
            // External function TODO
		} // End of function f_check_ExistingDedicatedBearer
        
        /**
         * Starts monitor component behavior for TP_EPC_6003_02
         * @param p_monitorCompRef Reference to monitor component
+52 −37
Original line number Diff line number Diff line
@@ -52,14 +52,14 @@ module AtsImsIot_TestCases_EPC {
         * @see TS 103 029 V3.1.1 clause 7.1.1
         */
        testcase TC_IMSEPC_Network_Attachment_0001 ( ) runs on ImsTestCoordinator system IotSystemInterface {
			var CF_EPC_CALL v_config;
            var IotEquipmentUser v_ueA	:= f_cf_create_IotEquipmentUser ( c_userUE_A );
            var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_A);
            var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A);
            var ImsInterfaceMonitor v_gmB := f_cf_create_monitor(c_gm_B);
            var ImsInterfaceMonitor v_rx := f_cf_create_monitor(c_rx);
            var IotEquipmentUser v_ueB	:= f_cf_create_IotEquipmentUser ( c_userUE_B );
            var ImsUserInfo v_userInfoA	:= f_getImUser ( PX_EUT_A );
            var ImsUserInfo v_userInfoB	:= f_getImUser ( PX_EUT_B ); 
            var CF_EPC_CALL v_config := { v_gmA, v_rx, v_gmB };
            v_config.gmA				:= f_cf_create_monitor ( c_gm_A );
            v_config.gmB				:= f_cf_create_monitor ( c_gm_B );
            v_config.rx					:= f_cf_create_monitor ( c_rx );
            
            // map/connect component ports
            f_cf_adapter_up ( );
@@ -74,10 +74,9 @@ module AtsImsIot_TestCases_EPC {
            // test body
            // Check that user A can register to IMS A
            f_mtc_userRegistration ( v_ueA, v_userInfoA ); // Send REGISTER request message
            f_mtc_check_TP_EPC_6002_01(v_gmA, false); // Check
            f_mtc_check_TP_EPC_6002_01 ( v_config.gmA, false ); // Check
            f_mtc_userCheckRegistration ( v_ueA, f_getAnyValidUser ( PX_EUT_A ) ); 
            
            f_mtc_check_TP_EPC_6003_01(v_ueA, v_gmA, v_userInfoA, v_ueB, v_gmB, v_userInfoB, false); // Test sequence #4-5
            f_mtc_check_TP_EPC_6003_01 ( v_ueA, v_config.gmA, v_ueB, v_config.gmB ); // Test sequence #4-5
            
            // postamble
            f_PO_user_home_deregistration ( v_ueB );
@@ -98,34 +97,50 @@ module AtsImsIot_TestCases_EPC {
         * @see TS 103 029 V3.1.1 clause 7.1.2
         */
        testcase TC_IMSEPC_Network_Detachment_0002 ( ) runs on ImsTestCoordinator system IotSystemInterface {
            var CF_EPC_CALL v_config;
            var IotEquipmentUser v_ueA	:= f_cf_create_IotEquipmentUser ( c_userUE_A );
            var IotEquipmentUser v_ueB	:= f_cf_create_IotEquipmentUser ( c_userUE_B );
            var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A);
            var ImsInterfaceMonitor v_gmB := f_cf_create_monitor(c_gm_B);
            var ImsInterfaceMonitor v_rx := f_cf_create_monitor(c_rx);
            var ImsUserInfo v_userInfoA	:= f_getImUser ( PX_EUT_A );
            var ImsUserInfo v_userInfoB	:= f_getImUser ( PX_EUT_B ); 
            var CF_EPC_CALL v_config := { v_gmA, v_rx, v_gmB };
            v_config.gmA				:= f_cf_create_monitor ( c_gm_A );
            v_config.gmB				:= f_cf_create_monitor ( c_gm_B );
            v_config.rx					:= f_cf_create_monitor ( c_rx );
            
            // map/connect component ports
            f_cf_adapter_up ( );
            f_cf_user_up ( v_ueA );
            f_cf_user_up ( v_ueB );
            f_cf_user_up ( v_ueA );
            f_cf_epc_call_up ( v_config );
            
            // preamble
            f_mtc_userRadioEnabled ( v_ueA, true, true ); // UA-A trigger an initial network_attachment by enabling radio interface of its mobile
            f_mtc_userRegistration ( v_ueA, v_userInfoA );
            f_mtc_userRegistration ( v_ueB, v_userInfoB );
			f_mtc_userInitiateCall ( v_ueA, v_userInfoB );
			f_mtc_userCheckCallEstablished ( v_ueA );
			f_mtc_userCheckCallEstablished ( v_ueB );
            
            // test body
			f_mtc_check_TP_EPC_6004_01 ( v_config.gmA, false );
			f_mtc_check_TP_EPC_6005_01 ( v_config.gmA, false );
			f_mtc_check_TP_EPC_6006_01 ( v_config.gmA, false );
			f_mtc_check_TP_EPC_6005_02 ( v_config.gmA, false );
			f_mtc_check_TP_EPC_6006_02 ( v_config.gmA, false );
			f_mtc_check_TP_EPC_6009_01 ( v_config.gmA, false );
			f_mtc_check_TP_EPC_6010_01 ( v_config.gmA, false );
			f_mtc_check_TP_EPC_6011_01 ( v_config.gmA, false );
			f_mtc_check_TP_EPC_6003_02 ( v_config.gmA, false );
            
            // postamble
            f_PO_user_home_deregistration ( v_ueB );
            f_mtc_userRadioEnabled ( v_ueA, false, true );

            //unmap/disconnet component ports
            f_cf_user_down(v_ueA);
            f_cf_user_down ( v_ueB );
            f_cf_user_down ( v_ueA );
            f_cf_epc_call_down ( v_config );
            f_cf_adapter_down ( );
        } // End of TC TC_IMSEPC_Network_Detachment_0002
        
    } // End of group networkAttachmentAndDefaultBearer
    
    group imsRegistrationAndAFSignallingBearer {