Loading AtsImsIot/AtsImsIot_Behavior.ttcn +179 −1 Original line number Diff line number Diff line Loading @@ -1570,6 +1570,184 @@ group checksTC_IMS_SS_0007 { } // group group messagingChecks { /** * @desc Starts monitor component behavior for TP_IMS_5097_05 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5097_05_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_MESSAGE_Request_Base(*))}, {}, {0, omit}, "TP_IMS_5097_05", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5097_05 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5097_05_mw( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { var charstring v_EUT_A_Addr := f_GetEUTScscfAddress(PX_EUT_A); p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5097_05_mw(*, mw_SipUrl_Host(v_EUT_A_Addr)))}, {mw_SipRequest(mw_MESSAGE_Request_Base(*))}, {0, omit}, "TP_IMS_5097_05", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5097_05 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5097_07_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_MESSAGE_Request_Base(*))}, {}, {0, omit}, "TP_IMS_5097_07", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5097_07 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5097_07_mw( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5097_07_mw(*,mw_SIP_URI_Base, mw_TEL_URI_Base))}, {mw_SipRequest(mw_MESSAGE_Request_Base(*))}, {0, omit}, "TP_IMS_5097_07", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5117_02 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5117_02_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_2XX_Base)}, {}, {0, omit}, "TP_IMS_5117_02", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5117_02 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5117_02_mw( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mw_TP_IMS_5117_02_mw)}, {mw_SipResponse(mdw_2XX_Base)}, {0, omit}, "TP_IMS_5117_02", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5118_01 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5118_01_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mw_200OK_Base)}, {}, {0, omit}, "TP_IMS_5118_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5118_01 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5118_01_mw( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mw_TP_IMS_5118_01_mw)}, {mw_SipResponse(mw_200OK_Base)}, {0, omit}, "TP_IMS_5118_01", false, p_checkMessage ) ); p_monitorCompRef.done; } } } // end group }// end module No newline at end of file AtsImsIot/AtsImsIot_Templates.ttcn +18 −16 Original line number Diff line number Diff line Loading @@ -394,6 +394,7 @@ module AtsImsIot_Templates { } template MESSAGE_Request mdw_TP_IMS_5097_05_mw( template CallId p_callId, template SipUrl p_SCSCF_SIP_URI ) modifies mw_MESSAGE_Request_Base := { msgHeader := { Loading Loading @@ -424,17 +425,18 @@ module AtsImsIot_Templates { } template Request mdw_TP_IMS_5097_07_mw( template CallId p_callId, template SipUrl p_SIP_URI, template SipUrl p_TEL_URI ) modifies mw_MESSAGE_Request_Base := { template SipUrl p_TEL_URI) modifies mw_MESSAGE_Request_Base := { msgHeader := { pAssertedId := { pAssertedID := { fieldName := P_ASSERTED_ID_E, nameAddrs := { pAssertedIDValueList := { *, mw_NameAddr(p_SIP_URI), { nameAddr := mw_NameAddr(p_SIP_URI)}, *, mw_NameAddr(p_TEL_URI), {nameAddr := mw_NameAddr(p_TEL_URI)}, * } } Loading @@ -454,7 +456,7 @@ module AtsImsIot_Templates { } } template Response mw_TP_IMS_5118_02_mw modifies mw_200OK_Base := { template Response mw_TP_IMS_5118_01_mw modifies mw_200OK_Base := { msgHeader := { pChargingVector := { fieldName := P_CHARGING_VECTOR_E, Loading Loading @@ -671,7 +673,7 @@ module AtsImsIot_Templates { addrSpec := p_URI } template SipUrl mw_SIP_URI := { template SipUrl mw_SIP_URI_Base := { scheme := "sip", // meaning "not tel" userInfo := ?, hostPort := ?, Loading @@ -679,7 +681,7 @@ module AtsImsIot_Templates { headers := * } template SipUrl mw_TEL_URI := { template SipUrl mw_TEL_URI_Base := { scheme := "tel", userInfo := ?, hostPort := *, Loading AtsImsIot/AtsImsIot_TestCases_MESS.ttcn +52 −0 Original line number Diff line number Diff line Loading @@ -72,4 +72,56 @@ module AtsImsIot_TestCases_MESS { f_cf_monitor_down(v_mw); } /** * @desc * IMS network handles messaging with SIP identity correctly without * topology hiding. (ETSI TS 186 011-2 V2.3.1 cause 4.5.4.1) */ testcase TC_IMS_MESS_0002() runs on ImsTestCoordinator system IotSystemInterface { // create components 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_mw := f_cf_create_monitor(c_mw); // map/connect component ports f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); f_cf_monitor_up(v_gmA); f_cf_monitor_up(v_gmB); f_cf_monitor_up(v_mw); // preamble f_PR_user_home_registration(v_ueA, f_getSipUserId(PX_EUT_A)); f_PR_user_home_registration(v_ueB, f_getAnyValidUser(PX_EUT_B)); // test body f_mtc_userSendMessage(v_ueA, "test"); f_mtc_check_TP_IMS_5097_05_gm(v_gmA, true); // message not removed from port queue f_mtc_check_TP_IMS_5097_07_gm(v_gmA, false); // message removed from port queue f_mtc_check_TP_IMS_5097_05_mw(v_mw, true);// message not removed from port queue f_mtc_check_TP_IMS_5097_07_mw(v_mw, false);// message removed from port queue f_mtc_userCheckMessageReceipt(v_ueB); f_mtc_check_TP_IMS_5117_02_gm(v_gmB, true);// message not removed from port queue f_mtc_check_TP_IMS_5118_01_gm(v_gmB, false);// message removed from port queue f_mtc_check_TP_IMS_5117_02_mw(v_mw, true);// message not removed from port queue f_mtc_check_TP_IMS_5118_01_mw(v_mw, false);// message removed from port queue // postabmle f_PO_user_home_deregistration(v_ueA); f_PO_user_home_deregistration(v_ueB); //unmap/disconnet component ports f_cf_user_down(v_ueA); f_cf_user_down(v_ueB); f_cf_monitor_down(v_gmA); f_cf_monitor_down(v_gmB); f_cf_monitor_down(v_mw); } } No newline at end of file Loading
AtsImsIot/AtsImsIot_Behavior.ttcn +179 −1 Original line number Diff line number Diff line Loading @@ -1570,6 +1570,184 @@ group checksTC_IMS_SS_0007 { } // group group messagingChecks { /** * @desc Starts monitor component behavior for TP_IMS_5097_05 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5097_05_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_MESSAGE_Request_Base(*))}, {}, {0, omit}, "TP_IMS_5097_05", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5097_05 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5097_05_mw( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { var charstring v_EUT_A_Addr := f_GetEUTScscfAddress(PX_EUT_A); p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5097_05_mw(*, mw_SipUrl_Host(v_EUT_A_Addr)))}, {mw_SipRequest(mw_MESSAGE_Request_Base(*))}, {0, omit}, "TP_IMS_5097_05", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5097_05 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5097_07_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_MESSAGE_Request_Base(*))}, {}, {0, omit}, "TP_IMS_5097_07", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5097_07 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5097_07_mw( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5097_07_mw(*,mw_SIP_URI_Base, mw_TEL_URI_Base))}, {mw_SipRequest(mw_MESSAGE_Request_Base(*))}, {0, omit}, "TP_IMS_5097_07", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5117_02 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5117_02_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_2XX_Base)}, {}, {0, omit}, "TP_IMS_5117_02", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5117_02 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5117_02_mw( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mw_TP_IMS_5117_02_mw)}, {mw_SipResponse(mdw_2XX_Base)}, {0, omit}, "TP_IMS_5117_02", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5118_01 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5118_01_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mw_200OK_Base)}, {}, {0, omit}, "TP_IMS_5118_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5118_01 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5118_01_mw( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mw_TP_IMS_5118_01_mw)}, {mw_SipResponse(mw_200OK_Base)}, {0, omit}, "TP_IMS_5118_01", false, p_checkMessage ) ); p_monitorCompRef.done; } } } // end group }// end module No newline at end of file
AtsImsIot/AtsImsIot_Templates.ttcn +18 −16 Original line number Diff line number Diff line Loading @@ -394,6 +394,7 @@ module AtsImsIot_Templates { } template MESSAGE_Request mdw_TP_IMS_5097_05_mw( template CallId p_callId, template SipUrl p_SCSCF_SIP_URI ) modifies mw_MESSAGE_Request_Base := { msgHeader := { Loading Loading @@ -424,17 +425,18 @@ module AtsImsIot_Templates { } template Request mdw_TP_IMS_5097_07_mw( template CallId p_callId, template SipUrl p_SIP_URI, template SipUrl p_TEL_URI ) modifies mw_MESSAGE_Request_Base := { template SipUrl p_TEL_URI) modifies mw_MESSAGE_Request_Base := { msgHeader := { pAssertedId := { pAssertedID := { fieldName := P_ASSERTED_ID_E, nameAddrs := { pAssertedIDValueList := { *, mw_NameAddr(p_SIP_URI), { nameAddr := mw_NameAddr(p_SIP_URI)}, *, mw_NameAddr(p_TEL_URI), {nameAddr := mw_NameAddr(p_TEL_URI)}, * } } Loading @@ -454,7 +456,7 @@ module AtsImsIot_Templates { } } template Response mw_TP_IMS_5118_02_mw modifies mw_200OK_Base := { template Response mw_TP_IMS_5118_01_mw modifies mw_200OK_Base := { msgHeader := { pChargingVector := { fieldName := P_CHARGING_VECTOR_E, Loading Loading @@ -671,7 +673,7 @@ module AtsImsIot_Templates { addrSpec := p_URI } template SipUrl mw_SIP_URI := { template SipUrl mw_SIP_URI_Base := { scheme := "sip", // meaning "not tel" userInfo := ?, hostPort := ?, Loading @@ -679,7 +681,7 @@ module AtsImsIot_Templates { headers := * } template SipUrl mw_TEL_URI := { template SipUrl mw_TEL_URI_Base := { scheme := "tel", userInfo := ?, hostPort := *, Loading
AtsImsIot/AtsImsIot_TestCases_MESS.ttcn +52 −0 Original line number Diff line number Diff line Loading @@ -72,4 +72,56 @@ module AtsImsIot_TestCases_MESS { f_cf_monitor_down(v_mw); } /** * @desc * IMS network handles messaging with SIP identity correctly without * topology hiding. (ETSI TS 186 011-2 V2.3.1 cause 4.5.4.1) */ testcase TC_IMS_MESS_0002() runs on ImsTestCoordinator system IotSystemInterface { // create components 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_mw := f_cf_create_monitor(c_mw); // map/connect component ports f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); f_cf_monitor_up(v_gmA); f_cf_monitor_up(v_gmB); f_cf_monitor_up(v_mw); // preamble f_PR_user_home_registration(v_ueA, f_getSipUserId(PX_EUT_A)); f_PR_user_home_registration(v_ueB, f_getAnyValidUser(PX_EUT_B)); // test body f_mtc_userSendMessage(v_ueA, "test"); f_mtc_check_TP_IMS_5097_05_gm(v_gmA, true); // message not removed from port queue f_mtc_check_TP_IMS_5097_07_gm(v_gmA, false); // message removed from port queue f_mtc_check_TP_IMS_5097_05_mw(v_mw, true);// message not removed from port queue f_mtc_check_TP_IMS_5097_07_mw(v_mw, false);// message removed from port queue f_mtc_userCheckMessageReceipt(v_ueB); f_mtc_check_TP_IMS_5117_02_gm(v_gmB, true);// message not removed from port queue f_mtc_check_TP_IMS_5118_01_gm(v_gmB, false);// message removed from port queue f_mtc_check_TP_IMS_5117_02_mw(v_mw, true);// message not removed from port queue f_mtc_check_TP_IMS_5118_01_mw(v_mw, false);// message removed from port queue // postabmle f_PO_user_home_deregistration(v_ueA); f_PO_user_home_deregistration(v_ueB); //unmap/disconnet component ports f_cf_user_down(v_ueA); f_cf_user_down(v_ueB); f_cf_monitor_down(v_gmA); f_cf_monitor_down(v_gmB); f_cf_monitor_down(v_mw); } } No newline at end of file