/** * @author STF 370 * @version $Id: $ * @desc This module provides common functions which describes behavior for each TP reference. */ module AtsImsIot_Behavior { import from AtsImsIot_TestSystem { type ImsInterfaceMonitor, ImsTestCoordinator; } import from LibIot_PIXITS {modulepar PX_MAX_MSG_WAIT;} import from AtsImsIot_Templates {template all;} import from AtsImsIot_TypesAndValues { type SipMessage, SipMessageList, SkipType; } import from LibIms_UpperTester {type ImsUserInfo;} import from LibIot_TypesAndValues {type SetFilterReq, SetFilterRsp;} import from LibIot_Functions { function f_setConformanceVerdict, f_setIotVerdictFAIL; } import from LibSip_SIPTypesAndValues all; import from LibSip_Templates all; import from AtsImsIot_Functions all; import from LibIot_PIXITS {modulepar PX_EUT_A, PX_EUT_B;} group checks { group checksTC_IMS_MESS_0001{ /** * @desc * TP_IMS_4002_01 in CFW step 3 (MESSAGE)
ensure that {
* when { UE_A sends a MESSAGE to UE_B containing a Message_Body * greater than 1300 bytes }
then { IMS_B receives the MESSAGE * containing the Message_Body greater than 1300 bytes }
} */ function f_mtc_check_TP_IMS_4002_01_gm(ImsInterfaceMonitor p_monitorCompRef) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_4002_01(?))},//? CallId can be checked {mw_SipRequest(mw_MESSAGE_Request_Base(?))}, {0,omit}, "TP_IMS_4002_01_gm", false, false ) ); p_monitorCompRef.done; } function f_mtc_check_TP_IMS_4002_01_ic(ImsInterfaceMonitor p_monitorCompRef) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_4002_01(?))},//? CallId can be checked {mw_SipRequest(mw_MESSAGE_Request_Base(?))}, {0, omit}, "TP_IMS_4002_01_ic", false, false ) ); p_monitorCompRef.done; } } // group group checksTC_IMS_REG_0001 { /** * @desc Starts monitor component behavior for TP_IMS_5011_01 * the on Gm-interface * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5011_01_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5011_01_gm)}, {mw_SipRequest(mw_REGISTER_Request_Base)}, {0, omit}, "TP_IMS_5011_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5011_01 * on the Mw-interface * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5011_01_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { var charstring v_EUT_A_Addr := f_GetEUTPcscfAddress(PX_EUT_A); p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5011_01p_ic(v_EUT_A_Addr))}, { mw_SipRequest(mdw_TP_IMS_5011_01f_ic), mw_SipRequest(mw_REGISTER_Request_Base) }, {0, omit}, "TP_IMS_5011_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5089_01 (gm) * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5089_01_gm_when ( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_REGISTER_Request_Base)}, {}, {0, omit}, "TP_IMS_5089_01_gm_when", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5011_02 (gm) * the on Gm-interface * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5011_02_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5011_02_gm)}, {mw_SipRequest(mw_REGISTER_Request_Base)}, {0, omit}, "TP_IMS_5011_02_gm", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5011_02 (mw) * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5011_02_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { var charstring v_EUT_A_Addr := f_GetEUTPcscfAddress(PX_EUT_A); p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5011_02p_ic(v_EUT_A_Addr))}, {mw_SipRequest(mdw_TP_IMS_5011_02f_ic), mw_SipRequest(mw_REGISTER_Request_Base)}, {0, omit}, "TP_IMS_5011_02", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5089_01 (when) * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5089_01_ic_when( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5089_01_ic_when)}, {mw_SipRequest(mw_REGISTER_Request_Base)}, {0, omit}, "TP_IMS_5089_01 (when)", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5089_01 (then) * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5089_01_ic_then( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_TP_IMS_5089_01_ic)}, {mw_SipResponse (mw_401Unauthorized_Base)}, {0, omit}, "TP_IMS_5089_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5092_01 (gm) * the on Gm-interface * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5092_01_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5011_02_gm)}, {mw_SipRequest(mw_REGISTER_Request_Base)}, {0, omit}, "TP_IMS_5092_01_gm", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5092_01 (when) * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5092_01_ic_when( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5092_01_ic_when)}, {mw_SipRequest(mw_REGISTER_Request_Base)}, {0, omit}, "TP_IMS_5092_01 (when)", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5092_01 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5092_01_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { var charstring v_EUT_A_Addr := f_GetEUTPcscfAddress(PX_EUT_A); var template SipUrl v_eutBUri := mw_SipUrl_Host(f_GetEUTScscfAddress(PX_EUT_B)); p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_TP_IMS_5092_01_ic(v_EUT_A_Addr, v_eutBUri))}, {mw_SipResponse (mw_200OK_Base)}, {0, omit}, "TP_IMS_5092_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5044_01 (when) * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5044_01_ic_when( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator return Response { var template SipUrl v_eutBUri := mw_SipUrl_Host(f_GetEUTScscfAddress(PX_EUT_B)); var SipMessage v_sip := {response := valueof(m_Response_Dummy)}; p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mw_200OK_Base)}, {}, {0, omit}, "TP_IMS_5044_01 (when)", true, p_checkMessage ) ); p_monitorCompRef.done; f_getSipMsgFromMonitor(p_monitorCompRef, v_sip); return v_sip.response; } /** * @desc Starts monitor component behavior for TP_IMS_5044_01 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5044_01_ic( ImsInterfaceMonitor p_monitorCompRef, Response p_200OK, boolean p_checkMessage ) runs on ImsTestCoordinator { var charstring v_UEB_PublicId := f_GetUEPublicId(PX_EUT_B); var template SipUrl v_eutAUri := mw_SipUrl_Host(f_GetEUTPcscfAddress(PX_EUT_A)); var SipMessage v_sip := {request := valueof(m_INVITE_Dummy)}; var charstring v_Epires200OK; var charstring v_EpiresSubscribe; p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5044_01_ic(?, v_eutAUri, v_UEB_PublicId))}, {mw_SipRequest(mw_SUBSCRIBE_Request_Base)}, {0, omit}, "TP_IMS_5044_01", true, p_checkMessage ) ); p_monitorCompRef.done; f_getSipMsgFromMonitor(p_monitorCompRef, v_sip); // Check that the expires header is set to "a value greater than the one // in the Expires_header of the 200_response" if(ispresent(p_200OK.msgHeader.expires)) { v_Epires200OK := p_200OK.msgHeader.expires.deltaSec; v_EpiresSubscribe := v_sip.request.msgHeader.expires.deltaSec; if (str2int(v_EpiresSubscribe) > str2int(v_Epires200OK)) { f_setIotVerdictFAIL("TP_IMS_5044_01 - Expires_header of subscribe is NOT greater than the Expires_header of 200_response."); } } } /** * @desc Starts monitor component behavior for TP_IMS_5096_01 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5096_01_ic_when( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator return Request { var SipMessage v_sip := {request := valueof(m_INVITE_Dummy)}; p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5096_01_ic_when)}, {mw_SipRequest(mw_SUBSCRIBE_Request_Base)}, {0, omit}, "TP_IMS_5096_01 (when)", true, p_checkMessage ) ); p_monitorCompRef.done; f_getSipMsgFromMonitor(p_monitorCompRef, v_sip); return v_sip.request; } /** * @desc Starts monitor component behavior for TP_IMS_5096_01 */ function f_mtc_check_TP_IMS_5096_01_ic( ImsInterfaceMonitor p_monitorCompRef, Request p_Subscribe, boolean p_checkMessage ) runs on ImsTestCoordinator { var SipMessage v_sip := {request := valueof(m_INVITE_Dummy)}; var charstring v_Epires200OK; var charstring v_EpiresSubscribe; p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mw_200OK_Base), mw_SipResponse(mw_202Accepted_Base)}, {}, {0, omit}, "TP_IMS_5096_01", true, p_checkMessage ) ); p_monitorCompRef.done; f_getSipMsgFromMonitor(p_monitorCompRef, v_sip); if(ispresent(v_sip.response.msgHeader.expires)) { // Check that the message contains "Expires_header indicating the same or // lower expiry time than specified in the initial SUBSCRIBE" v_Epires200OK := v_sip.response.msgHeader.expires.deltaSec; v_EpiresSubscribe := p_Subscribe.msgHeader.expires.deltaSec; if (str2int(v_Epires200OK) <= str2int(v_EpiresSubscribe)) { f_setIotVerdictFAIL("TP_IMS_5096_01 - - Expires_header Expires_header of 200_response is NOT the same or lower than the Expires_header of subscribe."); } } } } // group group checksTC_IMS_REG_0002{ /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5203_01_gm( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { // Check that the UE sends any register p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_REGISTER_Request_Base)}, {}, {0, omit}, "TP_IMS_5203_01", false, false ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5203_01_ic( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator return Request { var SipMessage v_sip := {request := valueof(m_INVITE_Dummy)}; //Get first Register //var charstring v_EUT_A_Addr := f_GetEUTAddress(PX_EUT_A); var Request v_RegisterStep4, v_RegisterStep2; p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_REGISTER_Request_Base)}, {}, {0, omit}, "TP_IMS_5203_01 first register", true, false ) ); p_monitorCompRef.done; f_getSipMsgFromMonitor(p_monitorCompRef, v_sip); v_RegisterStep2 := v_sip.request; //Get second Register p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_REGISTER_Request_Base)}, {}, {0, omit}, "TP_IMS_5203_01 second register", true, false ) ); p_monitorCompRef.done; f_getSipMsgFromMonitor(p_monitorCompRef, v_sip); // TODO: Currently we don't check anything, just that IMS-A sent 2 consecutive Registers v_RegisterStep4 := v_sip.request; return v_RegisterStep4; } } // group group checksTC_IMS_REG_0002H{ /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5402_01_gm( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { // Check that the UE sends any register p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_REGISTER_Request_Base)}, {}, {0, omit}, "TP_IMS_5203_01", false, false ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5402_01_ic( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator return Request { var SipMessage v_sip := {request := valueof(m_INVITE_Dummy)}; //Get first Register //var charstring v_EUT_A_Addr := f_GetEUTAddress(PX_EUT_A); var Request v_RegisterStep4, v_RegisterStep2; p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_REGISTER_Request_Base)}, {}, {0, omit}, "TP_IMS_5203_01 first register", true, false ) ); p_monitorCompRef.done; f_getSipMsgFromMonitor(p_monitorCompRef, v_sip); v_RegisterStep2 := v_sip.request; //Get second Register p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_REGISTER_Request_Base)}, {}, {0, omit}, "TP_IMS_5203_01 second register", true, false ) ); p_monitorCompRef.done; f_getSipMsgFromMonitor(p_monitorCompRef, v_sip); v_RegisterStep4 := v_sip.request; // Check that IMS_A sends the original Register to // another entrypoint of IMS-B if (not (match (v_RegisterStep4.msgHeader, v_RegisterStep2.msgHeader))){ // Headers differ f_setIotVerdictFAIL("TP_IMS_5203_01"); } if (match (v_RegisterStep4.requestLine, v_RegisterStep4.requestLine)){ // IMS-A used same entrypoint f_setIotVerdictFAIL("TP_IMS_5203_01"); } return v_RegisterStep4; } } // group group checksTC_IMS_REG_0003{ /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5129_01_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { // Check that the UE sends any register p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_REGISTER_Request_Base)}, {}, {0, omit}, "TP_IMS_5129_01 (gm)", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5129_01_ic_when( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { // Check that the IMS_A forwards register from UE_B p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_REGISTER_Request_Base)}, {}, {0, omit}, "TP_IMS_5129_01 (mw-when)", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5129_01_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { var SipMessage v_sip := {request := valueof(m_INVITE_Dummy)}; p_monitorCompRef.start( // Check that IMS_B responds with 403 forbidden f_imsIot_receive( {mw_SipResponse(mw_403Forbidden_Base)}, {}, {0, omit}, "TP_IMS_5129_01 (mw)", true, p_checkMessage ) ); p_monitorCompRef.done; } } // group group checksTC_IMS_REG_0003H{ /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5411_01_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { // Check that the UE sends any register p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_REGISTER_Request_Base)}, {}, {0, omit}, "TP_IMS_5411_01 (gm)", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5411_01_ic_when( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { // Check that the IMS_A forwards register from UE_B p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_REGISTER_Request_Base)}, {}, {0, omit}, "TP_IMS_5411_01 (mw-when)", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5411_01_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mw_403Forbidden_Base)}, {}, {0, omit}, "TP_IMS_5411_01 (mw)", true, p_checkMessage ) ); p_monitorCompRef.done; } } // group group checksTC_IMS_REG_0004 { /** * @desc Starts monitor component behavior for TP_IMS_5088_01 (gm) * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5088_01_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5088_01_gm)}, {mw_SipRequest(mw_REGISTER_Request_Base)}, {0, omit}, "TP_IMS_5088_01 (gm)", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5088_01 (mw) * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5088_01_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { var template SipUrl v_eutAUri := mw_SipUrl_Host(f_GetEUTPcscfAddress(PX_EUT_A)); p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5088_01_ic(?, v_eutAUri))}, {mw_SipRequest(mw_NOTIFY_Request_Base(*))}, {0, omit}, "TP_IMS_5088_01_ic", false, p_checkMessage ) ); } } // group group checksTC_IMS_REG_0005{ /** * @desc Starts monitor component behavior for TP_IMS_5093_01 (mw) * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5093_01_UE_ic( ImsInterfaceMonitor p_monitorCompRef, ImsUserInfo v_anyValidUser, boolean p_checkMessage ) runs on ImsTestCoordinator { var template SipUrl v_request_uri := mw_SipUrl_Number(v_anyValidUser.publicId); p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5093_01_UE_ic(?, v_request_uri))}, {mw_SipRequest(mw_NOTIFY_Request_Base(?))}, {0, omit}, "TP_IMS_5093_01_ic", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5093_01 (mw) * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5093_01_IMS_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { var template SipUrl v_request_uri := mw_SipUrl_Host(f_GetEUTPcscfAddress(PX_EUT_A)); p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5093_01_IMS_ic(?, v_request_uri))}, {mw_SipRequest(mw_NOTIFY_Request_Base(?))}, {0, omit}, "TP_IMS_5093_01_ic", false, p_checkMessage ) ); p_monitorCompRef.done; } } // end group group checksTC_IMS_REG_0006{ /** * @desc Starts monitor component behavior for TP_IMS_5094_01 (mw) * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5094_01_UE( ImsInterfaceMonitor p_monitorCompRef, ImsUserInfo v_anyValidUser, boolean p_checkMessage ) runs on ImsTestCoordinator { var template SipUrl v_request_uri := mw_SipUrl_Number(v_anyValidUser.publicId); p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5094_01_UE(?, v_request_uri))}, {mw_SipRequest(mw_NOTIFY_Request_Base(?))}, {0, omit}, "TP_IMS_5094_01_ic", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5094_01 (mw) * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5094_01_IMS( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { var template SipUrl v_request_uri := mw_SipUrl_Host(f_GetEUTPcscfAddress(PX_EUT_A)); p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5094_01_IMS_ic(?, v_request_uri))}, {mw_SipRequest(mw_NOTIFY_Request_Base(?))}, {0, omit}, "TP_IMS_5094_01_ic", false, p_checkMessage ) ); p_monitorCompRef.done; } } // end group group checksTC_IMS_REG_0007 { /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5134_01_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_REGISTER_Request_Base)}, {}, {0, omit}, "TP_IMS_5134_01 (gm)", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5134_01_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { var charstring v_IBPC := f_GetEUTIbcfAddress(PX_EUT_A); p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5134_01_ic(v_IBPC))}, {mw_SipRequest(mw_REGISTER_Request_Base)}, {0, omit}, "TP_IMS_5134_01", false, p_checkMessage ) ); p_monitorCompRef.done; // fetch second register p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5134_01_ic(v_IBPC))}, {mw_SipRequest(mw_REGISTER_Request_Base)}, {0, omit}, "TP_IMS_5134_01", true, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5405_01_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_SUBSCRIBE_Request_Base)}, {}, {0, omit}, "TP_IMS_5405_01 (gm)", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5405_01_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { // check 1st SUBSCRIBE (step 10) p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5405_01_ic)}, {mw_SipRequest(mw_SUBSCRIBE_Request_Base)}, {0, omit}, "TP_IMS_5405_01", false, p_checkMessage ) ); p_monitorCompRef.done; // check 2nd SUBSCRIBE (step 15) p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5405_01_ic)}, {mw_SipRequest(mw_SUBSCRIBE_Request_Base)}, {0, omit}, "TP_IMS_5405_01", false, p_checkMessage ) ); p_monitorCompRef.done; } } // group group checksTC_IMS_CALL_0001 { /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5097_01_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_INVITE_Request_Base)}, {}, {0, omit}, "TP_IMS_5097_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5097_01_ic( 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_01_ic((mw_SipUrl_Host(v_EUT_A_Addr), mw_SipUrl_Host(f_GetEUTScscfIpAddress(PX_EUT_A))) ))}, {}, {0, omit}, "TP_IMS_5097_01", true, p_checkMessage ) ); p_monitorCompRef.done; } //function /** * @desc Starts monitor component behavior for TP_IMS_5097_02 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5097_02_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_INVITE_Request_Base)}, {}, {0, omit}, "TP_IMS_5097_02", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5097_02 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5097_02_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5097_02_ic(mw_SIP_URI_Base, mw_TEL_URI_Base))}, {mw_SipRequest(mw_INVITE_Request_Base)}, {0, omit}, "TP_IMS_5097_02", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5097_04 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5097_04_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5097_04_gm(mw_TEL_URI_Base))},//TODO check TEL_URI of UE_B {mw_SipRequest(mw_INVITE_Request_Base)}, {0, omit}, "TP_IMS_5097_04", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5097_04 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5097_04_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5097_04_ic(mw_SIP_URI_Base))},//TODO check SIP_URI of UE_B {mw_SipRequest(mw_INVITE_Request_Base)}, {0, omit}, "TP_IMS_5097_04", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5107_02_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_ACK_Request_Base(?))}, {}, {0, omit}, "TP_IMS_5107_02", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5107_02_ic( 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_5107_02_ic(?, mw_SipUrl_Host(v_EUT_A_Addr)))}, {}, {0, omit}, "TP_IMS_5107_02", false, p_checkMessage ) ); p_monitorCompRef.done; } //function /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5107_01_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_BYE_Request_Base(?))}, {}, {0, omit}, "TP_IMS_5107_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5107_01_ic( 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_5107_01_ic(?, mw_SipUrl_Host(v_EUT_A_Addr)))}, {}, {0, omit}, "TP_IMS_5107_01", false, p_checkMessage ) ); p_monitorCompRef.done; } //function /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5115_01_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mw_180Ringing_Base)}, {}, {0, omit}, "TP_IMS_5115_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5115_01_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_TP_IMS_5115_01_ic)}, {mw_SipResponse(mw_180Ringing_Base)}, {0, omit}, "TP_IMS_5115_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5115_02_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_5115_02", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5115_02_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_TP_IMS_5115_02_ic)}, {mw_SipResponse(mw_200OK_Base)}, {0, omit}, "TP_IMS_5115_02", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5115_03_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mw_180Ringing_Base)}, {}, {0, omit}, "TP_IMS_5115_03", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5115_03_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_TP_IMS_5115_03_ic(mw_SIP_URI_Base, mw_TEL_URI_Base))}, {mw_SipResponse(mw_180Ringing_Base)}, {0, omit}, "TP_IMS_5115_03", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5115_04_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_5115_04", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5115_04_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_TP_IMS_5115_04_ic(mw_SIP_URI_Base, mw_TEL_URI_Base))}, {mw_SipResponse(mw_200OK_Base)}, {0, omit}, "TP_IMS_5115_04", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5131_01_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mw_180Ringing_Base)}, {}, {0, omit}, "TP_IMS_5131_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5131_01_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_TP_IMS_5131_01_ic)}, {mw_SipResponse(mw_180Ringing_Base)}, {0, omit}, "TP_IMS_5131_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5131_02_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_5131_02", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5131_02_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_TP_IMS_5131_02_ic)}, {mw_SipResponse(mw_200OK_Base)}, {0, omit}, "TP_IMS_5131_02", false, p_checkMessage ) ); p_monitorCompRef.done; } } // group group checksTC_IMS_CALL_0001F { /*functions already used in test TC_IMS_CALL_0001 * f_mtc_check_TP_IMS_5097_01_gm * f_mtc_check_TP_IMS_5097_01_ic * f_mtc_check_TP_IMS_5107_01_gm * f_mtc_check_TP_IMS_5107_01_ic * f_mtc_check_TP_IMS_5107_02_gm * f_mtc_check_TP_IMS_5107_02_ic * f_mtc_check_TP_IMS_5115_01_gm * f_mtc_check_TP_IMS_5115_01_ic * f_mtc_check_TP_IMS_5115_02_gm * f_mtc_check_TP_IMS_5115_02_ic * f_mtc_check_TP_IMS_5131_01_gm * f_mtc_check_TP_IMS_5131_01_ic * f_mtc_check_TP_IMS_5131_02_gm * f_mtc_check_TP_IMS_5131_02_ic * */ } // group group checksTC_IMS_CALL_0002 { /*functions already used in test TC_IMS_CALL_0001 * f_mtc_check_TP_IMS_5097_01_gm * f_mtc_check_TP_IMS_5097_01_ic * f_mtc_check_TP_IMS_5097_02_gm * f_mtc_check_TP_IMS_5097_02_ic * f_mtc_check_TP_IMS_5107_01_gm * f_mtc_check_TP_IMS_5107_01_ic * f_mtc_check_TP_IMS_5107_02_gm * f_mtc_check_TP_IMS_5107_02_ic * f_mtc_check_TP_IMS_5115_01_gm * f_mtc_check_TP_IMS_5115_01_ic * f_mtc_check_TP_IMS_5115_02_gm * f_mtc_check_TP_IMS_5115_02_ic * f_mtc_check_TP_IMS_5115_03_gm * f_mtc_check_TP_IMS_5115_03_ic * f_mtc_check_TP_IMS_5115_04_gm * f_mtc_check_TP_IMS_5115_04_ic * f_mtc_check_TP_IMS_5131_01_gm * f_mtc_check_TP_IMS_5131_01_ic * f_mtc_check_TP_IMS_5131_02_gm * f_mtc_check_TP_IMS_5131_02_ic * */ } // group group checksTC_IMS_CALL_0003 { /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5108_05_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_INVITE_Request_Base)}, {}, {0, omit}, "TP_IMS_5108_05", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5108_05_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_INVITE_Request_Base)}, {}, {0, omit}, "TP_IMS_5108_05", false, p_checkMessage ) ); p_monitorCompRef.done; p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mw_404NotFound_Base)}, {}, {0, omit}, "TP_IMS_5108_05", false, false ) ); p_monitorCompRef.done; } //function } // group group checksTC_IMS_CALL_0004 { /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5132_01_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_INVITE_Request_Base)}, {}, {0, omit}, "TP_IMS_5132_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5132_01_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_INVITE_Request_Base)}, {}, {0, omit}, "TP_IMS_5132_01", false, p_checkMessage ) ); p_monitorCompRef.done; p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_404Or604NotFound_Base)}, {}, {0, omit}, "TP_IMS_5132_01", false, false ) ); p_monitorCompRef.done; } //function } // group group checksTC_IMS_CALL_0005 { /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5133_01_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_INVITE_Request_Base)}, {}, {0, omit}, "TP_IMS_5133_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5133_01_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_INVITE_Request_Base)}, {}, {0, omit}, "TP_IMS_5133_01", false, p_checkMessage ) ); p_monitorCompRef.done; p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_4XX_Base)}, {}, {0, omit}, "TP_IMS_5133_01", false, false ) ); p_monitorCompRef.done; } //function } // group group checksTC_IMS_CALL_0006 { /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5109_01_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_INVITE_Request_Base)}, {}, {0, omit}, "TP_IMS_5109_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5109_01_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_INVITE_Request_Base)}, {}, {0, omit}, "TP_IMS_5109_01", false, p_checkMessage ) ); p_monitorCompRef.done; p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_408Or5XX_Base)}, {}, {0, omit}, "TP_IMS_5109_01", false, false ) ); p_monitorCompRef.done; } //function } // group group checksTC_IMS_CALL_0007 { /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5055_01_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mw_180Ringing_Base)}, {}, {0, omit}, "TP_IMS_5055_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5055_01_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { var template SipUrl v_pcscfEutAUrl := mw_SipUrl_Host(f_GetEUTPcscfAddress(PX_EUT_A)); var ImsUserInfo v_user := f_getAnyValidUser(PX_EUT_A); var template SipUrl v_UserEutAUrl := mw_SipUrl_Host(v_user.domain); p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_TP_IMS_5055_01_ic(v_pcscfEutAUrl, v_UserEutAUrl))}, {mw_SipResponse(mw_180Ringing_Base)}, {0, omit}, "TP_IMS_5055_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5055_02_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_5055_02", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5055_02_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { var template SipUrl v_pcscfEutAUrl := mw_SipUrl_Host(f_GetEUTPcscfAddress(PX_EUT_A)); var ImsUserInfo v_user := f_getAnyValidUser(PX_EUT_A); var template SipUrl v_UserEutAUrl := mw_SipUrl_Host(v_user.domain); p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_TP_IMS_5055_02_ic(v_pcscfEutAUrl, v_UserEutAUrl))}, {mw_SipResponse(mw_200OK_Base)}, {0, omit}, "TP_IMS_5055_02", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5067_01_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_INVITE_Request_Base)}, {}, {0, omit}, "TP_IMS_5067_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5067_01_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5067_01_ic)}, {mw_SipRequest(mw_INVITE_Request_Base)}, {0, omit}, "TP_IMS_5067_01", true, //NOTE: later check in 5108_01 of same icid value p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5070_01 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5070_01_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_INVITE_Request_Base)}, {}, {0, omit}, "TP_IMS_5070_01", false, p_checkMessage ) ); p_monitorCompRef.done; p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mw_100Trying_Base)}, {}, {0, omit}, "TP_IMS_5070_01", false, false ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5108_01 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5108_01_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { 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 := {request := valueof(m_INVITE_Dummy)}; f_getSipMsgFromMonitor(p_monitorCompRef, v_sip); //NOTE: icid value from 5067_01 log("### f_mtc_check_TP_IMS_5108_01_ic: v_sip=", v_sip.request.msgHeader.pChargingVector); if(ispresent(v_sip.request.msgHeader.pChargingVector)) { if(ispresent(v_sip.request.msgHeader.pChargingVector.chargeParams)) { log("### f_mtc_check_TP_IMS_5108_01_ic: then"); p_paramList := v_sip.request.msgHeader.pChargingVector.chargeParams; log("### f_mtc_check_TP_IMS_5108_01_ic: p_paramList=", p_paramList); for(var integer i := 0; i < lengthof(p_paramList); i:= i+1) { if(p_paramList[i].id == "icid-value") { log("### f_mtc_check_TP_IMS_5108_01_ic: find param=", p_paramList[i]); p_param := p_paramList[i]; break; } } } } log("### f_mtc_check_TP_IMS_5108_01_ic: start"); p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5108_01_ic(v_SCSCF_IMS_B, p_param))},//pass criteria { mw_SipRequest(mdw_TP_IMS_5108_01_f_ic), //fail criteria mw_SipRequest(mw_INVITE_Request_Base) //fail criteria }, {0, omit}, "TP_IMS_5108_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5301_01_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_BYE_Request_Base(*))}, {}, {0, omit}, "TP_IMS_5301_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5301_01_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { var template SipUrl v_SCSCF_IMS_A := mw_SipUrl_Host(f_GetEUTScscfAddress(PX_EUT_A)); p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5301_01_ic(?, v_SCSCF_IMS_A))}, {mw_SipRequest(mw_BYE_Request_Base(?))}, {0, omit}, "TP_IMS_5301_01", false, p_checkMessage ) ); p_monitorCompRef.done; } } // group group checksTC_IMS_CALL_0008 { /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5081_01_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_INVITE_Request_Base)}, {}, {0, omit}, "TP_IMS_5081_01", false, p_checkMessage ) ); p_monitorCompRef.done; p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mw_100Trying_Base)}, {}, {0, omit}, "TP_IMS_5081_01", false, false ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5082_01_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage, integer p_skipCount ) runs on ImsTestCoordinator { var template SkipType v_skip := {0, omit}; if(p_skipCount > 0) { v_skip := {1, mw_SipResponse(mw_200OK_Base)}; } p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mw_200OK_Base)}, {}, v_skip, "TP_IMS_5082_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5082_01_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage, integer p_skipCount ) runs on ImsTestCoordinator { var template SkipType v_skip := {0, omit}; if(p_skipCount > 0) { v_skip := {p_skipCount, mw_SipResponse(mw_200OK_Base)}; } p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_TP_IMS_5082_01_ic)},//TODO check updated access-network-charging-info {mw_SipResponse(mw_200OK_Base)}, v_skip, "TP_IMS_5082_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5120_01_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage, integer p_skipCount ) runs on ImsTestCoordinator { var template SkipType v_skip := {0, omit}; if(p_skipCount > 0) { v_skip := {1, mw_SipRequest(mw_INVITE_Request_Base)}; } p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_INVITE_Request_Base)}, {}, v_skip, "TP_IMS_5120_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5120_01_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage, integer p_skipCount ) runs on ImsTestCoordinator { var template SipUrl v_scscfEutBUrl := mw_SipUrl_Host(f_GetEUTScscfAddress(PX_EUT_B)); var template SkipType v_skip := {0, omit}; if(p_skipCount > 0) { v_skip := {p_skipCount, mw_SipRequest(mw_INVITE_Request_Base)}; } //INVITE from IMS_A to IMS_B p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_INVITE_Request_Base)}, {}, v_skip, "TP_IMS_5120_01", false, false ) ); p_monitorCompRef.done; // 100 Trying from IMS_B to IMS_A p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mw_100Trying_Base)}, {}, {0, omit}, "TP_IMS_5120_01", false, false ) ); p_monitorCompRef.done; // INVITE from IMS_B to IMS_A p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5120_01_ic(v_scscfEutBUrl))}, {}, {0, omit}, "TP_IMS_5120_01", false, p_checkMessage ) ); p_monitorCompRef.done; } } // group group checksTC_IMS_CALL_0009 { /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5052_01_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_BYE_Request_Base(*))}, {}, {0, omit}, "TP_IMS_5052_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5052_01_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { var template SipUrl v_PCSCF_IMS_A := mw_SipUrl_Host(f_GetEUTPcscfAddress(PX_EUT_A)); var template RecordRoute p_recordRoute := omit; var SipMessage v_sip := {request := valueof(m_ACK_Dummy)}; p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_ACK_Request_Base(?))}, {}, {1, mw_SipRequest(mw_ACK_Request_Base(?))}, "TP_IMS_5052_01", true, false ) ); p_monitorCompRef.done; // get Record-route header from prev ACK f_getSipMsgFromMonitor(p_monitorCompRef, v_sip); if(ispresent(v_sip.request.msgHeader.recordRoute)){ p_recordRoute := v_sip.request.msgHeader.recordRoute; } p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5052_01_p_ic(?,p_recordRoute))}, { mw_SipRequest(mdw_TP_IMS_5052_01_f_ic(?, v_PCSCF_IMS_A)), mw_SipRequest(mw_BYE_Request_Base(?)) }, {0, omit}, "TP_IMS_5052_01", false, p_checkMessage ) ); p_monitorCompRef.done; } } // group group checksTC_IMS_CALL_0010 { /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5048_01_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage, integer p_skipCount ) runs on ImsTestCoordinator { var template SkipType v_skip := {0, omit}; if(p_skipCount > 0) { v_skip := {1, mw_SipRequest(mw_INVITE_Request_Base)}; } p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_INVITE_Request_Base)}, {}, v_skip, "TP_IMS_5048_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5048_01_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage, integer p_skipCount ) runs on ImsTestCoordinator { var template SipUrl v_pcscfEutAUrl := (mw_SipUrl_Host(f_GetEUTPcscfAddress(PX_EUT_A)), mw_SipUrl_Host(f_GetEUTPcscfIpAddress(PX_EUT_A))); var template SkipType v_skip := {0, omit}; if(p_skipCount > 0) { v_skip := {p_skipCount, mw_SipRequest(mw_INVITE_Request_Base)}; } // INVITE from IMS_A to IMS_B p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5048_01_ic(v_pcscfEutAUrl))}, {}, v_skip, "TP_IMS_5048_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5080_01_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { // INVITE from IMS_A to IMS_B p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5080_01_ic)}, {}, {0, omit}, "TP_IMS_5080_01", false, p_checkMessage ) ); p_monitorCompRef.done; } } // group group checksTC_IMS_CALL_0013 { /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5072_02_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5072_02_gm(?))}, {}, {0, omit}, "TP_IMS_5072_02", false, p_checkMessage ) ); p_monitorCompRef.done; } //function } // group group checksTC_IMS_CALL_0014 { /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5107_03_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_CANCEL_Request_Base(?))}, {}, {0, omit}, "TP_IMS_5107_03", false, p_checkMessage ) ); p_monitorCompRef.done; } //function /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5107_03_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { var template SipUrl v_scscfImsAUrl := mw_SipUrl_Host(f_GetEUTScscfAddress(PX_EUT_A)); p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5107_03_ic(?, v_scscfImsAUrl))}, {}, {0, omit}, "TP_IMS_5107_03", false, p_checkMessage ) ); p_monitorCompRef.done; } //function } // group group checksTC_IMS_CALL_0016 { /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5139_01_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { var template SipUrl v_scscfImsAUrl := mw_SipUrl_Host(f_GetEUTScscfAddress(PX_EUT_A)); var SipMessage v_sip := {request := valueof(m_INVITE_Dummy)}; var SipUrl v_UE_URI; var To v_to; var From v_from; var CallId v_callId; var CSeq v_cSeq; var Route v_route; p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_INVITE_Request_Base)}, {}, {0, omit}, "TP_IMS_5139_01", true, p_checkMessage ) ); p_monitorCompRef.done; f_getSipMsgFromMonitor(p_monitorCompRef, v_sip); // Get Contact Header from INVITE if(ischosen(v_sip.request)) { v_from := valueof(v_sip.request.msgHeader.fromField); v_callId := valueof(v_sip.request.msgHeader.callId); } p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mw_200OK_Base)}, {}, {0, omit}, "TP_IMS_5139_01", true, p_checkMessage ) ); p_monitorCompRef.done; f_getSipMsgFromMonitor(p_monitorCompRef, v_sip); // Get Contact Header from 200-OK response if(ischosen(v_sip.response)) { if(ispresent(v_sip.response.msgHeader.contact)) { v_UE_URI := f_getContactAddr(v_sip.response.msgHeader.contact); } v_to := valueof(v_sip.response.msgHeader.toField); } p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5139_01_ic(v_callId, v_UE_URI, v_to, v_from, ?, ?))}, {}, {0, omit}, "TP_IMS_5139_01", false, p_checkMessage ) ); p_monitorCompRef.done; } //function } // group group checksTC_IMS_CALL_0024 { /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5135_01_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_INVITE_Request_Base)}, {}, {0, omit}, "TP_IMS_5135_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5135_01_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { var template SipUrl v_ibcfEutAUrl := mw_SipUrl_Host(f_GetEUTIbcfAddress(PX_EUT_A)); p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5135_01_ic(v_ibcfEutAUrl))}, {}, {0, omit}, "TP_IMS_5135_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5137_01_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { var template SipUrl v_ibcfEutAUrl := mw_SipUrl_Host(f_GetEUTIbcfAddress(PX_EUT_A)); p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5137_01_ic(v_ibcfEutAUrl))}, {}, {0, omit}, "TP_IMS_5137_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5404_01_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5404_01_gm)}, {}, {0, omit}, "TP_IMS_5404_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5404_01_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5404_01_ic)}, {}, {0, omit}, "TP_IMS_5404_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5414_01 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5414_01_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_INVITE_Request_Base)}, {}, {0, omit}, "TP_IMS_5414_01", false, p_checkMessage ) ); p_monitorCompRef.done; p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mw_100Trying_Base)}, {}, {0, omit}, "TP_IMS_5414_01", false, false ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5137_02_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mw_180Ringing_Base)}, {}, {0, omit}, "TP_IMS_5137_02", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5137_02_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_TP_IMS_5137_02_ic)}, {}, {0, omit}, "TP_IMS_5137_02", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5137_03_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_5137_03", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5137_03_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_TP_IMS_5137_03_ic)}, {}, {0, omit}, "TP_IMS_5137_03", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5408_01_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_ACK_Request_Base(?))}, {}, {0, omit}, "TP_IMS_5408_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5408_01_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { var template SipUrl v_ibcfEutAUrl := mw_SipUrl_Host(f_GetEUTIbcfAddress(PX_EUT_A)); p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5408_01_ic(?, v_ibcfEutAUrl))}, {}, {0, omit}, "TP_IMS_5408_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5408_03_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_BYE_Request_Base(*))}, {}, {0, omit}, "TP_IMS_5408_03", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5408_03_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { var template SipUrl v_ibcfEutAUrl := mw_SipUrl_Host(f_GetEUTIbcfAddress(PX_EUT_A)); p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5408_03_ic(?, v_ibcfEutAUrl))}, {}, {0, omit}, "TP_IMS_5408_03", false, p_checkMessage ) ); p_monitorCompRef.done; } } // group group checksTC_IMS_CALL_0025 { /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5408_02_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_CANCEL_Request_Base(*))}, {}, {0, omit}, "TP_IMS_5408_02", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5408_02_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { var template SipUrl v_ibcfEutAUrl := mw_SipUrl_Host(f_GetEUTIbcfAddress(PX_EUT_A)); p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5408_02_ic(?, v_ibcfEutAUrl))}, {}, {0, omit}, "TP_IMS_5408_02", false, p_checkMessage ) ); p_monitorCompRef.done; } } // group group checksTC_IMS_CALL_0026 { /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5408_04_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage, integer p_skipCount ) runs on ImsTestCoordinator { var template SkipType v_skip := {0, omit}; if(p_skipCount > 0) { v_skip := {p_skipCount, mw_SipRequest(mw_INVITE_Request_Base)}; } p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_INVITE_Request_Base)}, {}, v_skip, "TP_IMS_5408_04", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5408_04_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage, integer p_skipCount ) runs on ImsTestCoordinator { var template SipUrl v_ibcfEutAUrl := mw_SipUrl_Host(f_GetEUTIbcfAddress(PX_EUT_A)); var template SkipType v_skip := {0, omit}; if(p_skipCount > 0) { v_skip := {p_skipCount, mw_SipRequest(mw_INVITE_Request_Base)}; } p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5408_04_ic(v_ibcfEutAUrl))}, {}, v_skip, "TP_IMS_5408_04", false, p_checkMessage ) ); p_monitorCompRef.done; } } // group group checksTC_IMS_SS_0001 { /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5310_01_gm( ImsInterfaceMonitor p_monitorCompRef, integer p_skipCount ) runs on ImsTestCoordinator { var template SkipType v_skip := {0, omit}; if(p_skipCount > 0) { v_skip := {p_skipCount, mw_SipRequest(mw_INVITE_Request_Base)}; } p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5310_01_gm)}, {}, v_skip, "TP_IMS_5310_01", false, false ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5310_01_isc( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5310_01_isc)}, {}, {0, omit}, "TP_IMS_5310_01", false, false ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5312_01_ic( ImsInterfaceMonitor p_monitorCompRef, integer p_skipCount ) runs on ImsTestCoordinator { var template SkipType v_skip := {0, omit}; if(p_skipCount > 0) { v_skip := {p_skipCount, mw_SipResponse(mw_Response_Base(c_statusLine200, ?, ?))}; } p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_TP_IMS_5312_01_ic)}, {}, v_skip, "mdw_TP_IMS_5312_01", false, false ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5312_01_isc( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_TP_IMS_5312_01_isc)}, {}, {0, omit}, "TP_IMS_5312_01", false, false ) ); p_monitorCompRef.done; } } // group group checksTC_IMS_SS_0002 { // f_mtc_check_TP_IMS_5310_01_gm already used in test TC_IMS_SS_0001 // f_mtc_check_TP_IMS_5310_01_isc already used in test TC_IMS_SS_0001 // f_mtc_check_TP_IMS_5312_01_ic already used in test TC_IMS_SS_0001 // f_mtc_check_TP_IMS_5312_01_isc already used in test TC_IMS_SS_0001 } group checksTC_IMS_SS_0003 { // f_mtc_check_TP_IMS_5097_02_gm already used in test TC_IMS_CALL_0001 // f_mtc_check_TP_IMS_5097_02_ic already used in test TC_IMS_CALL_0001 /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5108_03_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_INVITE_Request_Base)}, {}, {0, omit}, "TP_IMS_5108_03", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5108_03_isc( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { var template SipUrl v_AS_IMS_B := (mw_SipUrl_Host(f_GetEUTASServerAddress(PX_EUT_B)), mw_SipUrl_Host(f_GetEUTASServerIpAddress(PX_EUT_B))); var template SipUrl v_SCSCF_IMS_B := (mw_SipUrl_Host(f_GetEUTScscfAddress(PX_EUT_B)), mw_SipUrl_Host(f_GetEUTScscfIpAddress(PX_EUT_B))); p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5108_03_isc(v_AS_IMS_B, v_SCSCF_IMS_B))}, {mw_SipRequest(mdw_TP_IMS_5108_03_f_isc)}, {0, omit}, "TP_IMS_5108_03", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5115_08_isc( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mw_200OK_Base)},//check 200OK from ASB->IMSB {}, {1, mw_SipResponse(mw_200OK_Base)},//skip 200OK from IMSB->ASB "TP_IMS_5115_08", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5115_08_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage, integer p_skipCount ) runs on ImsTestCoordinator { var template SkipType v_skip := {0, omit}; if(p_skipCount > 0) { v_skip := {p_skipCount, mw_SipResponse(mw_Response_Base(c_statusLine200, ?, ?))}; } p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_TP_IMS_5115_08_ic)}, {}, v_skip, "TP_IMS_5115_08", false, p_checkMessage ) ); p_monitorCompRef.done; } } group checksTC_IMS_SS_0004 { // f_mtc_check_TP_IMS_5108_03_ic already used in test TC_IMS_SS_0003 // f_mtc_check_TP_IMS_5108_03_isc already used in test TC_IMS_SS_0003 // f_mtc_check_TP_IMS_5115_08_ic already used in test TC_IMS_SS_0003 // f_mtc_check_TP_IMS_5115_08_isc already used in test TC_IMS_SS_0003 } group checksTC_IMS_SS_0005 { // f_mtc_check_TP_IMS_5108_03_ic already used in test TC_IMS_SS_0003 // f_mtc_check_TP_IMS_5108_03_isc already used in test TC_IMS_SS_0003 /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5313_01_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_TP_IMS_5313_01_ic)}, {}, {0, omit}, "TP_IMS_5313_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5313_01_isc( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_TP_IMS_5313_01_isc)}, {}, {0, omit}, "TP_IMS_5313_01", false, p_checkMessage ) ); p_monitorCompRef.done; } }//end group checksTC_IMS_SS_0005 group checksTC_IMS_SS_0006 { /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5097_09_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_INVITE_Request_Base)}, {}, {0, omit}, "TP_IMS_5097_09", false, p_checkMessage ) ); p_monitorCompRef.done; } //function /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5097_09_isc( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { var template SipUrl v_AS_IMS_B := mw_SipUrl_Host(f_GetEUTASServerAddress(PX_EUT_B)); p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5097_09_isc(v_AS_IMS_B))}, {mw_SipRequest(mdw_TP_IMS_5097_09_f_isc)}, {0, omit}, "TP_IMS_5097_09", false, p_checkMessage ) ); p_monitorCompRef.done; } //function }//end group checksTC_IMS_SS_0006 group checksTC_IMS_SS_0007 { // f_mtc_check_TP_IMS_5097_01_gm already used in test TC_IMS_CALL_0001 // f_mtc_check_TP_IMS_5097_01_ic already used in test TC_IMS_CALL_0001 // f_mtc_check_TP_IMS_5108_03_ic already used in test TC_IMS_SS_0003 // f_mtc_check_TP_IMS_5108_03_isc already used in test TC_IMS_SS_0003 // f_mtc_check_TP_IMS_5115_08_ic already used in test TC_IMS_SS_0003 // f_mtc_check_TP_IMS_5115_08_isc already used in test TC_IMS_SS_0003 }//end group checksTC_IMS_SS_0007 group checksTC_IMS_SS_0008 { /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5046_01_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_INVITE_Request_Base)}, {}, {0, omit}, "TP_IMS_5046_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5046_01_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { var template SipUrl v_pcscfEutAUrl := mw_SipUrl_Host(f_GetEUTPcscfAddress(PX_EUT_A)); var template SipUrl v_pcscfEutAIpUrl := mw_SipUrl_Host(f_GetEUTPcscfIpAddress(PX_EUT_A)); var ImsUserInfo v_user := f_getAnyValidUser(PX_EUT_B); var template SipUrl v_UserEutBUrl := mw_SipUrl_Host(v_user.domain); var SipMessage v_sip := {request := valueof(m_INVITE_Dummy)}; var Route v_Route; var template Route vt_pcscfRoute := { fieldName := ROUTE_E, routeBody := ({mw_routeBody(v_pcscfEutAUrl), *}, {mw_routeBody(v_pcscfEutAIpUrl), *} ) }; var Via v_Via; var template Via vt_pcscfVia := { fieldName := VIA_E, viaBody := ({mw_ViaBody_interface(v_pcscfEutAUrl.hostPort), *}, {mw_ViaBody_interface(v_pcscfEutAIpUrl.hostPort), *} ) }; p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest((mdw_TP_IMS_5046_01_ic(v_pcscfEutAUrl, v_UserEutBUrl), mdw_TP_IMS_5046_01_ic(v_pcscfEutAIpUrl, v_UserEutBUrl)))}, {mw_SipRequest(mw_INVITE_Request_Base)}, {0, omit}, "TP_IMS_5046_01", true, p_checkMessage ) ); p_monitorCompRef.done; f_getSipMsgFromMonitor(p_monitorCompRef, v_sip); if(ispresent(v_sip.request.msgHeader.route)) { v_Route := v_sip.request.msgHeader.route; } //if(ispresent(v_sip.request.msgHeader.via)) { v_Via := v_sip.request.msgHeader.via; //} // Check Route header if (match(v_Route, vt_pcscfRoute)) { f_setIotVerdictFAIL("TP_IMS_5046_01"); } // Check Via header if (match(v_Via, vt_pcscfVia)) { } else { f_setIotVerdictFAIL("TP_IMS_5046_01"); } } /** * @desc Starts monitor component */ function f_mtc_check_TP_IMS_5110_01_isc( ImsInterfaceMonitor p_monitorCompRef) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mw_200OK_Base)}, {}, {1, mw_SipResponse(mw_200OK_Base)}, "TP_IMS_5110_01", false, false ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component */ function f_mtc_check_TP_IMS_5110_01_ic( ImsInterfaceMonitor p_monitorCompRef) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mw_200OK_Base)}, {}, {0, omit}, "TP_IMS_5110_01", false, false ) ); p_monitorCompRef.done; } } // group group checksTC_IMS_SS_0009 { }//end group checksTC_IMS_SS_0009 group checksTC_IMS_SS_0010 { /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5308_01_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_TP_IMS_5308_01_gm)}, {}, {0, omit}, "TP_IMS_5308_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5308_01_isc( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_TP_IMS_5308_01_isc)}, {mw_SipResponse(mw_180Ringing_Base)}, {0, omit}, "TP_IMS_5308_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5308_02_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_TP_IMS_5308_02_gm)}, {}, {0, omit}, "TP_IMS_5308_02", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5308_02_isc( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_TP_IMS_5308_02_isc)}, {mw_SipResponse(mw_200OK_Base)}, {0, omit}, "TP_IMS_5308_02", false, p_checkMessage ) ); p_monitorCompRef.done; } }//end group checksTC_IMS_SS_0010 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_ic( 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_p_ic(*)) }, { mw_SipRequest(mdw_TP_IMS_5097_05_f_ic(*)), mw_SipRequest(mdw_TP_IMS_5097_05_f2_ic(*,mw_SipUrl_Host(v_EUT_A_Addr))), mw_SipRequest(mw_MESSAGE_Request_Base(*)) }, {0, omit}, "TP_IMS_5097_05", false, true ) ); p_monitorCompRef.done; p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5097_05_p_ic(*))}, {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_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5097_07_ic(*,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_5097_08 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5097_08_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5097_08_gm(*))}, {mw_SipRequest(mw_MESSAGE_Request_Base(*))}, {0, omit}, "TP_IMS_5097_08", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5097_08 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5097_08_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5097_08_ic(*))}, {mw_SipRequest(mw_MESSAGE_Request_Base(*))}, {0, omit}, "TP_IMS_5097_08", 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_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mw_TP_IMS_5117_02_ic)}, {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_06 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5117_06_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_06", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5117_06 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5117_06_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mw_TP_IMS_5117_06_ic)}, {mw_SipResponse(mdw_2XX_Base)}, {0, omit}, "TP_IMS_5117_06", 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_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mw_TP_IMS_5118_01_ic)}, {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_5108_02 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5108_02_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_5108_02", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5108_02 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5108_02_ic( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { 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 := {request := valueof(m_INVITE_Dummy)}; p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5108_02a_ic(*))}, {mw_SipRequest(mw_MESSAGE_Request_Base(*))}, {0, omit}, "TP_IMS_5108_02", true, true ) ); p_monitorCompRef.done; f_getSipMsgFromMonitor(p_monitorCompRef, v_sip); p_paramList := v_sip.request.msgHeader.pChargingVector.chargeParams; for(var integer i := 0; i < lengthof(p_paramList); i:= i+1) { if(p_paramList[i].id == "icid-value") { p_param := p_paramList[i]; } } p_monitorCompRef.start( f_imsIot_receive( {}, { mw_SipRequest(mdw_TP_IMS_5108_02b_f_ic(*)), mw_SipRequest(mw_MESSAGE_Request_Base(*)) }, {0, omit}, "TP_IMS_5108_02", false, true ) ); p_monitorCompRef.done; p_monitorCompRef.start( f_imsIot_receive( {}, { mw_SipRequest(mdw_TP_IMS_5108_02b_p_ic(*, v_SCSCF_IMS_B, p_param)), mw_SipRequest(mw_MESSAGE_Request_Base(*)) }, {0, omit}, "TP_IMS_5108_02", false, false ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5050_01 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5050_01_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_5050_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5050_01 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5050_01_ic( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { var template SipUrl v_PCSCF_IMS_B := mw_SipUrl_Host(f_GetEUTPcscfAddress(PX_EUT_B)); var template SipUrl v_UE_A := mw_SipUrl_Host(f_GetEUTPublicId(PX_EUT_A)); p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5050_01_ic(*, v_PCSCF_IMS_B, v_UE_A))}, {mw_SipRequest(mw_MESSAGE_Request_Base(*))}, {0, omit}, "TP_IMS_5050_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5050_01 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5114_02_gm( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_MESSAGE_Request_Base(*))}, {}, {0, omit}, "TP_IMS_5114_02", false, false ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5050_01 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5114_02_ic( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_MESSAGE_Request_Base(*))}, {}, {0, omit}, "TP_IMS_5114_02", false, false ) ); p_monitorCompRef.done; p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_4XX_Base)}, {}, {0, omit}, "TP_IMS_5114_02", false, false ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5108_06 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5108_06_gm( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_MESSAGE_Request_Base(*))}, {}, {0, omit}, "TP_IMS_5108_06", false, false ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5108_06 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5108_06_ic( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_MESSAGE_Request_Base(*))}, {}, {0, omit}, "TP_IMS_5108_06", false, false ) ); p_monitorCompRef.done; p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mw_404NotFound_Base)}, {}, {0, omit}, "TP_IMS_5108_06", false, false ) ); p_monitorCompRef.done; } } group callChecks { /** * @desc Starts monitor component behavior for TP_IMS_5106_01 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5106_01_gm( ImsInterfaceMonitor p_monitorCompRef, integer p_skipCount ) runs on ImsTestCoordinator { var template SkipType v_skip := {0, omit}; if(p_skipCount > 0) { v_skip := {1, mw_SipRequest(mw_INVITE_Request_Base)}; } p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_INVITE_Request_Base)}, {}, v_skip, "TP_IMS_5106_01", false, false ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5106_01 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5106_01_ic( ImsInterfaceMonitor p_monitorCompRef, integer p_skipCount ) runs on ImsTestCoordinator { var template SipUrl v_SCSCF_A_Uri := (mw_SipUrl_Host(f_GetEUTScscfAddress(PX_EUT_A)), mw_SipUrl_Host(f_GetEUTScscfIpAddress(PX_EUT_A))); var template SkipType v_skip := {0, omit}; if(p_skipCount > 0) { v_skip := {1, mw_SipRequest(mw_INVITE_Request_Base)}; } p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5106_01_ic(v_SCSCF_A_Uri))}, {mw_SipRequest(mw_INVITE_Request_Base)}, v_skip, "TP_IMS_5106_01", false, false ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5106_02 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5106_02_gm( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_UPDATE_Request_Base(*))}, {}, {0, omit}, "TP_IMS_5106_02", false, false ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5106_02 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5106_02_ic( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { var template SipUrl v_SCSCF_A_Uri := mw_SipUrl_Host(f_GetEUTScscfAddress(PX_EUT_A)); p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5106_02_p_ic(*,v_SCSCF_A_Uri))}, { mw_SipRequest(mdw_TP_IMS_5106_02_f_ic(*,v_SCSCF_A_Uri)), mw_SipRequest(mw_UPDATE_Request_Base(*))}, {0, omit}, "TP_IMS_5106_02", false, false ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5121_02 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5121_02_gm( ImsInterfaceMonitor p_monitorCompRef, integer p_skipCount ) runs on ImsTestCoordinator { // TODO TP must be checked, currently only 2XX is checked var template SkipType v_skip := {0, omit}; if(p_skipCount > 0) { v_skip := {1, mw_SipResponse(mdw_2XX_Base)}; } p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_2XX_Base)}, {}, v_skip, "TP_IMS_5121_02", false, false ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5121_02 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5121_02_ic( ImsInterfaceMonitor p_monitorCompRef, integer p_skipCount ) runs on ImsTestCoordinator { var template SipUrl v_SCSCF_A_Uri := mw_SipUrl_Host(f_GetEUTScscfAddress(PX_EUT_A)); var template SkipType v_skip := {0, omit}; if(p_skipCount > 0) { v_skip := {1, mw_SipResponse(mdw_2XX_Base)}; } p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mw_TP_IMS_5121_02_ic)}, {mw_SipResponse(mdw_2XX_Base)}, v_skip, "TP_IMS_5121_02", false, false ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5074_01 * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5074_01_ic( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { var template SipUrl v_UE_A_Uri := f_getUeIpAddress(PX_EUT_A); p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5074_01_ic(*,v_UE_A_Uri))}, {mw_SipRequest(mw_BYE_Request_Base(*))}, {0, omit}, "TP_IMS_5074_01", false, false ) ); p_monitorCompRef.done; } } } // end group }// end module