Loading AtsImsIot/AtsImsIot_Behavior.ttcn +1 −1 Original line number Diff line number Diff line Loading @@ -2218,7 +2218,7 @@ group checksTC_IMS_SS_0007 { var template SipUrl v_SCSCF_IMS_B := mw_SipUrl_Host(f_GetEUTScscfAddress(PX_EUT_B)); var SemicolonParam_List p_paramList; var GenericParam p_param; var SipMessage v_sip; var SipMessage v_sip := {request := valueof(m_INVITE_Dummy)}; p_monitorCompRef.start( f_imsIot_receive( Loading AtsImsIot/AtsImsIot_Functions.ttcn +21 −0 Original line number Diff line number Diff line Loading @@ -660,4 +660,25 @@ module AtsImsIot_Functions { } } group misc { /** * @desc * This function generate a charstring with a given length used as * message body. * @param p_length length of the message body * @return message body (charstring) */ function f_getMessageBody(in integer p_length) return charstring { var charstring v_rtn := ""; for(var integer i := 0; i < p_length; i:=i+1) { v_rtn := v_rtn & "a"; } return v_rtn; } } } No newline at end of file AtsImsIot/AtsImsIot_TestCases_MESS.ttcn +16 −37 Original line number Diff line number Diff line Loading @@ -48,15 +48,15 @@ module AtsImsIot_TestCases_MESS { // 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_mw); f_cf_int_call_up({v_gmA, v_mw, omit}); // preamble f_PR_user_home_registration(v_ueA, f_getAnyValidUser(PX_EUT_A)); f_PR_user_home_registration(v_ueB, f_getAnyValidUser(PX_EUT_B)); // test body f_mtc_userSendMessage(v_ueA, "body>1300Bytes"); // TODO add body here f_mtc_userSendMessage(v_ueA, f_getMessageBody(1301)); f_mtc_check_TP_IMS_4002_01_gm(v_gmA); f_mtc_check_TP_IMS_4002_01_mw(v_mw); f_mtc_userCheckMessageReceipt(v_ueB); Loading @@ -68,8 +68,7 @@ module AtsImsIot_TestCases_MESS { //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_mw); f_cf_int_call_down({v_gmA, v_mw, omit}); } Loading @@ -90,9 +89,7 @@ module AtsImsIot_TestCases_MESS { // 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); f_cf_int_call_up({v_gmA, v_mw, v_gmB}); // preamble f_PR_user_home_registration(v_ueA, f_getSipUserId(PX_EUT_A)); Loading Loading @@ -120,9 +117,7 @@ module AtsImsIot_TestCases_MESS { //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); f_cf_int_call_down({v_gmA, v_mw, v_gmB}); } Loading @@ -142,9 +137,7 @@ module AtsImsIot_TestCases_MESS { // 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); f_cf_int_call_up({v_gmA, v_mw, v_gmB}); // preamble f_PR_user_home_registration(v_ueA, f_getTelUserId(PX_EUT_A)); Loading Loading @@ -172,9 +165,7 @@ module AtsImsIot_TestCases_MESS { //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); f_cf_int_call_down({v_gmA, v_mw, v_gmB}); } /** Loading @@ -193,9 +184,7 @@ module AtsImsIot_TestCases_MESS { // 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); f_cf_int_call_up({v_gmA, v_mw, v_gmB}); // preamble f_PR_user_home_registration(v_ueA, f_getTelUserId(PX_EUT_A)); Loading @@ -221,9 +210,7 @@ module AtsImsIot_TestCases_MESS { //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); f_cf_int_call_down({v_gmA, v_mw, v_gmB}); } Loading @@ -244,9 +231,7 @@ module AtsImsIot_TestCases_MESS { // 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); f_cf_roam_call_up(v_gmA, v_mw, v_gmB); // preamble f_PR_user_home_registration(v_ueA, f_getAnyValidUser(PX_EUT_A)); Loading @@ -271,9 +256,7 @@ module AtsImsIot_TestCases_MESS { //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); f_cf_roam_call_down(v_gmA, v_mw, v_gmB); } /** Loading @@ -289,8 +272,7 @@ module AtsImsIot_TestCases_MESS { // map/connect component ports f_cf_user_up(v_ueA); f_cf_monitor_up(v_gmA); f_cf_monitor_up(v_mw); f_cf_int_call_up({v_gmA, v_mw, omit}); // preamble f_PR_user_home_registration(v_ueA, f_getAnyValidUser(PX_EUT_A)); Loading @@ -308,8 +290,7 @@ module AtsImsIot_TestCases_MESS { //unmap/disconnet component ports f_cf_user_down(v_ueA); f_cf_monitor_down(v_gmA); f_cf_monitor_down(v_mw); f_cf_int_call_down({v_gmA, v_mw, omit}); } Loading @@ -328,8 +309,7 @@ module AtsImsIot_TestCases_MESS { // 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_mw); f_cf_int_call_up({v_gmA, v_mw, omit}); // preamble f_PR_user_home_registration(v_ueA, f_getAnyValidUser(PX_EUT_A)); Loading @@ -350,7 +330,6 @@ module AtsImsIot_TestCases_MESS { //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_mw); f_cf_int_call_down({v_gmA, v_mw, omit}); } } No newline at end of file AtsImsIot/AtsImsIot_TestConfiguration.ttcn +130 −23 Original line number Diff line number Diff line Loading @@ -9,6 +9,8 @@ module AtsImsIot_TestConfiguration { import from AtsImsIot_TypesAndValues {type CF_INT_CALL;} import from LibIot_PIXITS {modulepar PX_EUT_A, PX_EUT_B, PX_PRODUCTS;} import from LibIot_Functions { Loading Loading @@ -200,13 +202,10 @@ module AtsImsIot_TestConfiguration { * @param p_Gm Gm interface monitor component * @param p_Mw Mw interface monitor component */ function f_cf_roam_reg( function f_cf_roam_reg_up( inout ImsInterfaceMonitor p_Gm, inout ImsInterfaceMonitor p_Mw ) runs on ImsTestCoordinator { p_Gm := f_cf_create_monitor(c_gm_A); p_Mw := f_cf_create_monitor(c_mw); f_cf_monitor_up(p_Gm); f_cf_monitor_up(p_Mw); Loading @@ -228,21 +227,111 @@ module AtsImsIot_TestConfiguration { p_Mw.done; } function f_cf_int_call( inout ImsInterfaceMonitor p_GmA, inout ImsInterfaceMonitor p_Mw, inout ImsInterfaceMonitor p_GmB, in boolean p_useGmB /** * @desc * Test configuration function for roaming registration szenario. * More information can be found in ETSI TS 186 011-2 V2.3.1 Cause * 4.3.4. * @param p_Gm Gm interface monitor component * @param p_Mw Mw interface monitor component */ function f_cf_roam_reg_down( inout ImsInterfaceMonitor p_Gm, inout ImsInterfaceMonitor p_Mw ) runs on ImsTestCoordinator { f_cf_monitor_down(p_Gm); f_cf_monitor_down(p_Mw); } /** * @desc * Interworking Call test configuration. Mapps/connects all related * ports and initialize the test adapter. * More information can be found in ETSI TS 186 011-2 V2.3.1 Cause * 4.3.4. * @param p_GmA Gm A Interface Monitor component * @param p_Mw Mw Interface Monitor component * @param p_GmB * Gm B Interface Monitor component (optional, can be omitted) */ function f_cf_int_call_up( inout CF_INT_CALL p_config ) runs on ImsTestCoordinator { p_GmA := f_cf_create_monitor(c_gm_A); p_Mw := f_cf_create_monitor(c_mw); if(p_useGmB) { p_GmB := f_cf_create_monitor(c_gm_B); f_cf_monitor_up(valueof(p_GmB)); if(isvalue(p_config.gmB)) { f_cf_monitor_up(p_config.gmB); } f_cf_monitor_up(p_config.gmA); f_cf_monitor_up(p_config.mw); // TODO UE IP address and port is missing p_config.gmA.start(f_cf_setFilter( valueof (m_SetFilterReq( e_sip, {f_getInterfaceInfo("Gm", PX_PRODUCTS[PX_EUT_A])} ) ))); p_config.gmA.done; p_config.mw.start(f_cf_setFilter( valueof(m_SetFilterReq( e_sip, f_getInterfaceInfoList("Mw", PX_EUT_A, PX_EUT_B) ) ))); p_config.mw.done; if(isvalue(p_config.gmB)) { p_config.gmB.start(f_cf_setFilter( valueof (m_SetFilterReq( e_sip, {f_getInterfaceInfo("Gm", PX_PRODUCTS[PX_EUT_B])} ) ))); p_config.gmB.done; } } /** * @desc * Interworking Call test configuration. Ummaps/disconnect the * related component ports. More information can be found in ETSI TS * 186 011-2 V2.3.1 Cause 4.3.4. * @param p_GmA Gm A Interface Monitor component * @param p_Mw Mw Interface Monitor component * @param p_GmB * Gm B Interface Monitor component (optional, can be omitted) */ function f_cf_int_call_down( inout CF_INT_CALL p_config ) runs on ImsTestCoordinator { f_cf_monitor_down(p_config.gmA); f_cf_monitor_down(p_config.mw); if(isvalue(p_config.gmB)) { f_cf_monitor_down(p_config.gmB); } } /** * @desc * Roaming Call test configuration. Mapps/connects all related * ports and initialize the test adapter. * More information can be found in ETSI TS 186 011-2 V2.3.1 Cause * 4.3.4. * @param p_GmA Gm A Interface Monitor component * @param p_Mw Mw Interface Monitor component * @param p_GmB * Gm B Interface Monitor component (optional, can be omitted) */ function f_cf_roam_call_up( inout ImsInterfaceMonitor p_GmA, inout ImsInterfaceMonitor p_Mw, inout ImsInterfaceMonitor p_GmB ) runs on ImsTestCoordinator { f_cf_monitor_up(p_GmA); f_cf_monitor_up(p_Mw); f_cf_monitor_up(p_GmB); // TODO UE IP address and port is missing Loading @@ -262,7 +351,6 @@ module AtsImsIot_TestConfiguration { ))); p_Mw.done; if(p_useGmB) { p_GmB.start(f_cf_setFilter( valueof (m_SetFilterReq( e_sip, Loading @@ -271,6 +359,25 @@ module AtsImsIot_TestConfiguration { ))); p_GmB.done; } /** * @desc * Roaming Call test configuration. Ummaps/disconnect the * related component ports. More information can be found in ETSI TS * 186 011-2 V2.3.1 Cause 4.3.4. * @param p_GmA Gm A Interface Monitor component * @param p_Mw Mw Interface Monitor component * @param p_GmB * Gm B Interface Monitor component (optional, can be omitted) */ function f_cf_roam_call_down( inout ImsInterfaceMonitor p_GmA, inout ImsInterfaceMonitor p_Mw, inout template(omit) ImsInterfaceMonitor p_GmB ) runs on ImsTestCoordinator { f_cf_monitor_down(p_GmA); f_cf_monitor_down(p_Mw); f_cf_monitor_down(p_GmB); } } Loading AtsImsIot/AtsImsIot_TypesAndValues.ttcn +7 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,8 @@ module AtsImsIot_TypesAndValues { import from AtsImsIot_TestSystem {type ImsInterfaceMonitor;} import from LibSip_SIPTypesAndValues {type Request, Response;} group SIPmessageTypes { Loading @@ -30,4 +32,9 @@ module AtsImsIot_TypesAndValues { } } type record CF_INT_CALL { ImsInterfaceMonitor gmA, ImsInterfaceMonitor mw, ImsInterfaceMonitor gmB optional } }//end module Loading
AtsImsIot/AtsImsIot_Behavior.ttcn +1 −1 Original line number Diff line number Diff line Loading @@ -2218,7 +2218,7 @@ group checksTC_IMS_SS_0007 { var template SipUrl v_SCSCF_IMS_B := mw_SipUrl_Host(f_GetEUTScscfAddress(PX_EUT_B)); var SemicolonParam_List p_paramList; var GenericParam p_param; var SipMessage v_sip; var SipMessage v_sip := {request := valueof(m_INVITE_Dummy)}; p_monitorCompRef.start( f_imsIot_receive( Loading
AtsImsIot/AtsImsIot_Functions.ttcn +21 −0 Original line number Diff line number Diff line Loading @@ -660,4 +660,25 @@ module AtsImsIot_Functions { } } group misc { /** * @desc * This function generate a charstring with a given length used as * message body. * @param p_length length of the message body * @return message body (charstring) */ function f_getMessageBody(in integer p_length) return charstring { var charstring v_rtn := ""; for(var integer i := 0; i < p_length; i:=i+1) { v_rtn := v_rtn & "a"; } return v_rtn; } } } No newline at end of file
AtsImsIot/AtsImsIot_TestCases_MESS.ttcn +16 −37 Original line number Diff line number Diff line Loading @@ -48,15 +48,15 @@ module AtsImsIot_TestCases_MESS { // 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_mw); f_cf_int_call_up({v_gmA, v_mw, omit}); // preamble f_PR_user_home_registration(v_ueA, f_getAnyValidUser(PX_EUT_A)); f_PR_user_home_registration(v_ueB, f_getAnyValidUser(PX_EUT_B)); // test body f_mtc_userSendMessage(v_ueA, "body>1300Bytes"); // TODO add body here f_mtc_userSendMessage(v_ueA, f_getMessageBody(1301)); f_mtc_check_TP_IMS_4002_01_gm(v_gmA); f_mtc_check_TP_IMS_4002_01_mw(v_mw); f_mtc_userCheckMessageReceipt(v_ueB); Loading @@ -68,8 +68,7 @@ module AtsImsIot_TestCases_MESS { //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_mw); f_cf_int_call_down({v_gmA, v_mw, omit}); } Loading @@ -90,9 +89,7 @@ module AtsImsIot_TestCases_MESS { // 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); f_cf_int_call_up({v_gmA, v_mw, v_gmB}); // preamble f_PR_user_home_registration(v_ueA, f_getSipUserId(PX_EUT_A)); Loading Loading @@ -120,9 +117,7 @@ module AtsImsIot_TestCases_MESS { //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); f_cf_int_call_down({v_gmA, v_mw, v_gmB}); } Loading @@ -142,9 +137,7 @@ module AtsImsIot_TestCases_MESS { // 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); f_cf_int_call_up({v_gmA, v_mw, v_gmB}); // preamble f_PR_user_home_registration(v_ueA, f_getTelUserId(PX_EUT_A)); Loading Loading @@ -172,9 +165,7 @@ module AtsImsIot_TestCases_MESS { //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); f_cf_int_call_down({v_gmA, v_mw, v_gmB}); } /** Loading @@ -193,9 +184,7 @@ module AtsImsIot_TestCases_MESS { // 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); f_cf_int_call_up({v_gmA, v_mw, v_gmB}); // preamble f_PR_user_home_registration(v_ueA, f_getTelUserId(PX_EUT_A)); Loading @@ -221,9 +210,7 @@ module AtsImsIot_TestCases_MESS { //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); f_cf_int_call_down({v_gmA, v_mw, v_gmB}); } Loading @@ -244,9 +231,7 @@ module AtsImsIot_TestCases_MESS { // 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); f_cf_roam_call_up(v_gmA, v_mw, v_gmB); // preamble f_PR_user_home_registration(v_ueA, f_getAnyValidUser(PX_EUT_A)); Loading @@ -271,9 +256,7 @@ module AtsImsIot_TestCases_MESS { //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); f_cf_roam_call_down(v_gmA, v_mw, v_gmB); } /** Loading @@ -289,8 +272,7 @@ module AtsImsIot_TestCases_MESS { // map/connect component ports f_cf_user_up(v_ueA); f_cf_monitor_up(v_gmA); f_cf_monitor_up(v_mw); f_cf_int_call_up({v_gmA, v_mw, omit}); // preamble f_PR_user_home_registration(v_ueA, f_getAnyValidUser(PX_EUT_A)); Loading @@ -308,8 +290,7 @@ module AtsImsIot_TestCases_MESS { //unmap/disconnet component ports f_cf_user_down(v_ueA); f_cf_monitor_down(v_gmA); f_cf_monitor_down(v_mw); f_cf_int_call_down({v_gmA, v_mw, omit}); } Loading @@ -328,8 +309,7 @@ module AtsImsIot_TestCases_MESS { // 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_mw); f_cf_int_call_up({v_gmA, v_mw, omit}); // preamble f_PR_user_home_registration(v_ueA, f_getAnyValidUser(PX_EUT_A)); Loading @@ -350,7 +330,6 @@ module AtsImsIot_TestCases_MESS { //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_mw); f_cf_int_call_down({v_gmA, v_mw, omit}); } } No newline at end of file
AtsImsIot/AtsImsIot_TestConfiguration.ttcn +130 −23 Original line number Diff line number Diff line Loading @@ -9,6 +9,8 @@ module AtsImsIot_TestConfiguration { import from AtsImsIot_TypesAndValues {type CF_INT_CALL;} import from LibIot_PIXITS {modulepar PX_EUT_A, PX_EUT_B, PX_PRODUCTS;} import from LibIot_Functions { Loading Loading @@ -200,13 +202,10 @@ module AtsImsIot_TestConfiguration { * @param p_Gm Gm interface monitor component * @param p_Mw Mw interface monitor component */ function f_cf_roam_reg( function f_cf_roam_reg_up( inout ImsInterfaceMonitor p_Gm, inout ImsInterfaceMonitor p_Mw ) runs on ImsTestCoordinator { p_Gm := f_cf_create_monitor(c_gm_A); p_Mw := f_cf_create_monitor(c_mw); f_cf_monitor_up(p_Gm); f_cf_monitor_up(p_Mw); Loading @@ -228,21 +227,111 @@ module AtsImsIot_TestConfiguration { p_Mw.done; } function f_cf_int_call( inout ImsInterfaceMonitor p_GmA, inout ImsInterfaceMonitor p_Mw, inout ImsInterfaceMonitor p_GmB, in boolean p_useGmB /** * @desc * Test configuration function for roaming registration szenario. * More information can be found in ETSI TS 186 011-2 V2.3.1 Cause * 4.3.4. * @param p_Gm Gm interface monitor component * @param p_Mw Mw interface monitor component */ function f_cf_roam_reg_down( inout ImsInterfaceMonitor p_Gm, inout ImsInterfaceMonitor p_Mw ) runs on ImsTestCoordinator { f_cf_monitor_down(p_Gm); f_cf_monitor_down(p_Mw); } /** * @desc * Interworking Call test configuration. Mapps/connects all related * ports and initialize the test adapter. * More information can be found in ETSI TS 186 011-2 V2.3.1 Cause * 4.3.4. * @param p_GmA Gm A Interface Monitor component * @param p_Mw Mw Interface Monitor component * @param p_GmB * Gm B Interface Monitor component (optional, can be omitted) */ function f_cf_int_call_up( inout CF_INT_CALL p_config ) runs on ImsTestCoordinator { p_GmA := f_cf_create_monitor(c_gm_A); p_Mw := f_cf_create_monitor(c_mw); if(p_useGmB) { p_GmB := f_cf_create_monitor(c_gm_B); f_cf_monitor_up(valueof(p_GmB)); if(isvalue(p_config.gmB)) { f_cf_monitor_up(p_config.gmB); } f_cf_monitor_up(p_config.gmA); f_cf_monitor_up(p_config.mw); // TODO UE IP address and port is missing p_config.gmA.start(f_cf_setFilter( valueof (m_SetFilterReq( e_sip, {f_getInterfaceInfo("Gm", PX_PRODUCTS[PX_EUT_A])} ) ))); p_config.gmA.done; p_config.mw.start(f_cf_setFilter( valueof(m_SetFilterReq( e_sip, f_getInterfaceInfoList("Mw", PX_EUT_A, PX_EUT_B) ) ))); p_config.mw.done; if(isvalue(p_config.gmB)) { p_config.gmB.start(f_cf_setFilter( valueof (m_SetFilterReq( e_sip, {f_getInterfaceInfo("Gm", PX_PRODUCTS[PX_EUT_B])} ) ))); p_config.gmB.done; } } /** * @desc * Interworking Call test configuration. Ummaps/disconnect the * related component ports. More information can be found in ETSI TS * 186 011-2 V2.3.1 Cause 4.3.4. * @param p_GmA Gm A Interface Monitor component * @param p_Mw Mw Interface Monitor component * @param p_GmB * Gm B Interface Monitor component (optional, can be omitted) */ function f_cf_int_call_down( inout CF_INT_CALL p_config ) runs on ImsTestCoordinator { f_cf_monitor_down(p_config.gmA); f_cf_monitor_down(p_config.mw); if(isvalue(p_config.gmB)) { f_cf_monitor_down(p_config.gmB); } } /** * @desc * Roaming Call test configuration. Mapps/connects all related * ports and initialize the test adapter. * More information can be found in ETSI TS 186 011-2 V2.3.1 Cause * 4.3.4. * @param p_GmA Gm A Interface Monitor component * @param p_Mw Mw Interface Monitor component * @param p_GmB * Gm B Interface Monitor component (optional, can be omitted) */ function f_cf_roam_call_up( inout ImsInterfaceMonitor p_GmA, inout ImsInterfaceMonitor p_Mw, inout ImsInterfaceMonitor p_GmB ) runs on ImsTestCoordinator { f_cf_monitor_up(p_GmA); f_cf_monitor_up(p_Mw); f_cf_monitor_up(p_GmB); // TODO UE IP address and port is missing Loading @@ -262,7 +351,6 @@ module AtsImsIot_TestConfiguration { ))); p_Mw.done; if(p_useGmB) { p_GmB.start(f_cf_setFilter( valueof (m_SetFilterReq( e_sip, Loading @@ -271,6 +359,25 @@ module AtsImsIot_TestConfiguration { ))); p_GmB.done; } /** * @desc * Roaming Call test configuration. Ummaps/disconnect the * related component ports. More information can be found in ETSI TS * 186 011-2 V2.3.1 Cause 4.3.4. * @param p_GmA Gm A Interface Monitor component * @param p_Mw Mw Interface Monitor component * @param p_GmB * Gm B Interface Monitor component (optional, can be omitted) */ function f_cf_roam_call_down( inout ImsInterfaceMonitor p_GmA, inout ImsInterfaceMonitor p_Mw, inout template(omit) ImsInterfaceMonitor p_GmB ) runs on ImsTestCoordinator { f_cf_monitor_down(p_GmA); f_cf_monitor_down(p_Mw); f_cf_monitor_down(p_GmB); } } Loading
AtsImsIot/AtsImsIot_TypesAndValues.ttcn +7 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,8 @@ module AtsImsIot_TypesAndValues { import from AtsImsIot_TestSystem {type ImsInterfaceMonitor;} import from LibSip_SIPTypesAndValues {type Request, Response;} group SIPmessageTypes { Loading @@ -30,4 +32,9 @@ module AtsImsIot_TypesAndValues { } } type record CF_INT_CALL { ImsInterfaceMonitor gmA, ImsInterfaceMonitor mw, ImsInterfaceMonitor gmB optional } }//end module