Loading ttcn/AtsImsIot/AtsImsIot_Behavior.ttcn +54 −5 Original line number Diff line number Diff line Loading @@ -17,6 +17,9 @@ module AtsImsIot_Behavior { type SipMessage, SipMessageList, NAPTRmessage, EnumResponse, EnumQuery, SkipType; } import from LibIot_TestInterface { type EquipmentUser }; import from LibIms_UpperTester {type ImsUserInfo;} Loading Loading @@ -5320,7 +5323,12 @@ group checksTC_IMS_SHARE_0009 { /** * Starts monitor component behavior for TP_EPC_6003_01 * @param p_monitorCompRef Reference to monitor component * @param p_ueRef_A Reference to IMS UE user component A * @param p_monitorCompRef_A Reference to monitor component which initiate the INVITE request message * @param p_compRef_A Reference originator user * @param p_ueRef_B Reference to IMS UE user component B * @param p_monitorCompRef_B Reference to monitor component which receive the INVITE request message * @param p_compRef_B Reference destination user * @param p_checkMessage indicate if the incomming message should only be checked (port.check) or consumed (port.receive). * The check operation allows read access to the top element of incoming port queues without removing the top element from the queue. * <pre> Loading @@ -5344,10 +5352,51 @@ group checksTC_IMS_SHARE_0009 { * @see TS 103 029 V3.1.1 clause 7.1.1 */ function f_mtc_check_TP_EPC_6003_01( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { // TODO Send a INVITE to user B and check for failure 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 ) 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 ) ); 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 ) ); p_monitorCompRef_B.done; f_mtc_userCheckCallEnded(p_ueRef_B); } // End of function f_mtc_check_TP_EPC_6003_01 /** Loading ttcn/AtsImsIot/AtsImsIot_TestCases_EPC.ttcn3 +9 −2 Original line number Diff line number Diff line Loading @@ -53,18 +53,23 @@ module AtsImsIot_TestCases_EPC { */ testcase TC_IMSEPC_Network_Attachment_0001 ( ) runs on ImsTestCoordinator system IotSystemInterface { 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 ImsUserInfo v_userInfoA := f_getImUser(PX_EUT_A); var CF_EPC_CALL v_config := { v_gmA, v_rx, omit }; var ImsUserInfo v_userInfoB := f_getImUser(PX_EUT_B); var CF_EPC_CALL v_config := { v_gmA, v_rx, v_gmB }; // map/connect component ports f_cf_adapter_up ( ); f_cf_user_up ( v_ueA ); 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_ueB, v_userInfoB); // test body // Check that user A can register to IMS A Loading @@ -72,13 +77,15 @@ module AtsImsIot_TestCases_EPC { f_mtc_check_TP_EPC_6002_01(v_gmA, false); // Check f_mtc_userCheckRegistration(v_ueA, f_getAnyValidUser(PX_EUT_A)); f_mtc_check_TP_EPC_6002_01(v_gmA, false); f_mtc_check_TP_EPC_6003_01(v_ueA, v_gmA, v_userInfoA, v_ueB, v_gmB, v_userInfoB, false); // Test sequence #4-5 // postamble f_PO_user_home_deregistration(v_ueB); f_PO_user_home_deregistration(v_ueA); f_mtc_userRadioEnabled(v_ueA, false, true); //unmap/disconnet component ports f_cf_user_down(v_ueB); f_cf_user_down(v_ueA); f_cf_epc_call_down(v_config); f_cf_adapter_down(); Loading Loading
ttcn/AtsImsIot/AtsImsIot_Behavior.ttcn +54 −5 Original line number Diff line number Diff line Loading @@ -17,6 +17,9 @@ module AtsImsIot_Behavior { type SipMessage, SipMessageList, NAPTRmessage, EnumResponse, EnumQuery, SkipType; } import from LibIot_TestInterface { type EquipmentUser }; import from LibIms_UpperTester {type ImsUserInfo;} Loading Loading @@ -5320,7 +5323,12 @@ group checksTC_IMS_SHARE_0009 { /** * Starts monitor component behavior for TP_EPC_6003_01 * @param p_monitorCompRef Reference to monitor component * @param p_ueRef_A Reference to IMS UE user component A * @param p_monitorCompRef_A Reference to monitor component which initiate the INVITE request message * @param p_compRef_A Reference originator user * @param p_ueRef_B Reference to IMS UE user component B * @param p_monitorCompRef_B Reference to monitor component which receive the INVITE request message * @param p_compRef_B Reference destination user * @param p_checkMessage indicate if the incomming message should only be checked (port.check) or consumed (port.receive). * The check operation allows read access to the top element of incoming port queues without removing the top element from the queue. * <pre> Loading @@ -5344,10 +5352,51 @@ group checksTC_IMS_SHARE_0009 { * @see TS 103 029 V3.1.1 clause 7.1.1 */ function f_mtc_check_TP_EPC_6003_01( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { // TODO Send a INVITE to user B and check for failure 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 ) 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 ) ); 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 ) ); p_monitorCompRef_B.done; f_mtc_userCheckCallEnded(p_ueRef_B); } // End of function f_mtc_check_TP_EPC_6003_01 /** Loading
ttcn/AtsImsIot/AtsImsIot_TestCases_EPC.ttcn3 +9 −2 Original line number Diff line number Diff line Loading @@ -53,18 +53,23 @@ module AtsImsIot_TestCases_EPC { */ testcase TC_IMSEPC_Network_Attachment_0001 ( ) runs on ImsTestCoordinator system IotSystemInterface { 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 ImsUserInfo v_userInfoA := f_getImUser(PX_EUT_A); var CF_EPC_CALL v_config := { v_gmA, v_rx, omit }; var ImsUserInfo v_userInfoB := f_getImUser(PX_EUT_B); var CF_EPC_CALL v_config := { v_gmA, v_rx, v_gmB }; // map/connect component ports f_cf_adapter_up ( ); f_cf_user_up ( v_ueA ); 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_ueB, v_userInfoB); // test body // Check that user A can register to IMS A Loading @@ -72,13 +77,15 @@ module AtsImsIot_TestCases_EPC { f_mtc_check_TP_EPC_6002_01(v_gmA, false); // Check f_mtc_userCheckRegistration(v_ueA, f_getAnyValidUser(PX_EUT_A)); f_mtc_check_TP_EPC_6002_01(v_gmA, false); f_mtc_check_TP_EPC_6003_01(v_ueA, v_gmA, v_userInfoA, v_ueB, v_gmB, v_userInfoB, false); // Test sequence #4-5 // postamble f_PO_user_home_deregistration(v_ueB); f_PO_user_home_deregistration(v_ueA); f_mtc_userRadioEnabled(v_ueA, false, true); //unmap/disconnet component ports f_cf_user_down(v_ueB); f_cf_user_down(v_ueA); f_cf_epc_call_down(v_config); f_cf_adapter_down(); Loading