Loading ttcn/AtsImsIot/AtsImsIot_TP_behavior_IC.ttcn 0 → 100644 +521 −0 Original line number Diff line number Diff line /* * @author STF 574 * @version $Id$ * @desc This module provides the TP behaviour functions at IC interface */ module AtsImsIot_TP_behavior_IC { 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, NAPTRmessage, EnumResponse, EnumQuery, SkipType; } import from LibIot_TestInterface { type EquipmentUser, IotEquipmentUser }; 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 LibSip_Common { type GenericParam, SemicolonParam_List } import from AtsImsIot_Functions all; import from LibIot_PIXITS {modulepar PX_EUT_A, PX_EUT_B;} // LibSip import from LibSip_SDPTypes { type SDP_media_desc_list }; // LibMsrp import from LibMsrp_TypesAndValues { type MsrpURI }; import from LibMsrp_Functions { function f_str2msrpUri }; import from LibMsrp_Templates { template m_msrpSend_Dummy, mw_msrpSEND_toPath_fromPath_contentType, m_msrpReport_Dummy, mw_msrpREPORT_success, m_msrpResponse_Dummy, mw_msrpResponse_toPath_fromPath, mw_toPath, mw_fromPath, mw_msrpResponse_toPath_fromPath_with_transferReports, m_msrpURIs_ToPath_Dummy, m_msrpURIs_FromPath_Dummy, mw_contentType }; import from DiameterS6a_Templates all; import from DiameterS6a_PIXITS all; import from DiameterGx_Templates all; // LibDiameter import from LibDiameter_Templates all; // import from DiameterRx_Templates all; import from AtsImsIot_Templates_IC all; group g_IBCF { group g_IBCF_INVITE { /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component * @remark source function f_mtc_check_TP_IMS_5097_01_ic */ function f_mtc_check_TP_IC_IBCF_INVITE_01( 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_IC_IBCF_INVITE_01((mw_SipUrl_Host(v_EUT_A_Addr), mw_SipUrl_Host(f_GetEUTScscfIpAddress(PX_EUT_A))) ))}, {}, {0, omit}, "TP_IC_IBCF_INVITE_01", true, p_checkMessage ) ); p_monitorCompRef.done; } //function /** * @desc Starts monitor component behavior for TP_IC_IBCF_INVITE_02 * @param p_monitorCompRef Reference to monitor component * @remark source function f_mtc_check_TP_IMS_5097_02_ic */ function f_mtc_check_TP_IC_IBCF_INVITE_02( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IC_IBCF_INVITE_02(mw_SIP_URI_Base, mw_TEL_URI_Base))}, {mw_SipRequest(mw_INVITE_Request_Base)}, {0, omit}, "TP_IC_IBCF_INVITE_02", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component * @remark source function f_mtc_check_TP_IMS_5046_01_ic */ function f_mtc_check_TP_IC_IBCF_INVITE_04( 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.components.sip.hostPort), *}, {mw_ViaBody_interface(v_pcscfEutAIpUrl.components.sip.hostPort), *} ) }; p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest((mdw_TP_IC_IBCF_INVITE_04(v_pcscfEutAUrl, v_UserEutBUrl), mdw_TP_IC_IBCF_INVITE_04(v_pcscfEutAIpUrl, v_UserEutBUrl)))}, {mw_SipRequest(mw_INVITE_Request_Base)}, {0, omit}, "TP_IC_IBCF_INVITE_04", 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_IC_IBCF_INVITE_04"); } // Check Via header if (match(v_Via, vt_pcscfVia)) { } else { f_setIotVerdictFAIL("TP_IC_IBCF_INVITE_04"); } } } // end group g_IBCF_INVITE group g_IBCF_REINVITE { /** * @desc Starts monitor component behavior for TP_IC_IBCF_REINVITE_01 * @param p_monitorCompRef Reference to monitor component * @remark source function f_mtc_check_TP_IMS_5106_01_ic */ function f_mtc_check_TP_IC_IBCF_REINVITE_01( 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_IC_IBCF_REINVITE_01(v_SCSCF_A_Uri))}, {mw_SipRequest(mw_INVITE_Request_Base)}, v_skip, "TP_IC_IBCF_REINVITE_01", false, false ) ); p_monitorCompRef.done; } } // end group g_IBCF_REINVITE group g_IBCF_100TRY { /** * @desc Starts monitor component behavior for TP_IMS_5070_01 * @param p_monitorCompRef Reference to monitor component * @remark source function f_mtc_check_TP_IMS_5070_01_ic */ function f_mtc_check_TP_IC_IBCF_100TRY_01( 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_IC_IBCF_100TRY_01", false, p_checkMessage ) ); p_monitorCompRef.done; p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mw_100Trying_Base)}, {}, v_skip, "TP_IC_IBCF_100TRY_01", false, false ) ); p_monitorCompRef.done; } } // end group g_IBCF_100TRY group g_IBCF_180RESP { /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component * @remark source function f_mtc_check_TP_IMS_5115_01_ic */ function f_mtc_check_TP_IC_IBCF_180RESP_01( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_TP_IBCF_180RESP_01)}, {mw_SipResponse(mw_180Ringing_Base)}, {0, omit}, "TP_IC_IBCF_180RESP_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component * @remark source function f_mtc_check_TP_IMS_5131_01_ic */ function f_mtc_check_TP_IC_IBCF_180RESP_02( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_TP_IC_IBCF_180RESP_02)}, {mw_SipResponse(mw_180Ringing_Base)}, {0, omit}, "TP_IC_IBCF_180RESP_02", false, p_checkMessage ) ); p_monitorCompRef.done; } } // end group g_IBCF_180RESP group g_IBCF_1XXRESP { /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component * @remark source function f_mtc_check_TP_IMS_5115_03_ic */ function f_mtc_check_TP_IC_IBCF_1XXRESP_01( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_TP_IC_IBCF_1XXRESP_01(mw_SIP_URI_Base, mw_TEL_URI_Base))}, {mw_SipResponse(mw_180Ringing_Base)}, {0, omit}, "TP_IC_IBCF_1XXRESP_01", false, p_checkMessage ) ); p_monitorCompRef.done; } } // end group g_IBCF_1XXRESP group g_IBCF_2XXRESP { /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component * @remark source function f_mtc_check_TP_IMS_5115_02_ic */ function f_mtc_check_TP_IC_IBCF_2XXRESP_01( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_TP_IC_IBCF_2XXRESP_01)}, {mw_SipResponse(mw_200OK_Base)}, {0, omit}, "TP_IC_IBCF_2XXRESP_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component * @remark source function f_mtc_check_TP_IMS_5131_02_ic */ function f_mtc_check_TP_IC_IBCF_2XXRESP_03( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_TP_IC_IBCF_2XXRESP_03)}, {mw_SipResponse(mw_200OK_Base)}, {0, omit}, "TP_IC_IBCF_2XXRESP_03", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component * @remark source function f_mtc_check_TP_IMS_5115_04_ic */ function f_mtc_check_TP_IC_IBCF_2XXRESP_02( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_TP_IC_IBCF_2XXRESP_02(mw_SIP_URI_Base, mw_TEL_URI_Base))}, {mw_SipResponse(mw_200OK_Base)}, {0, omit}, "TP_IC_IBCF_2XXRESP_02", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5121_02 * @param p_monitorCompRef Reference to monitor component * @remark source function f_mtc_check_TP_IMS_5121_02_ic */ function f_mtc_check_TP_IC_IBCF_2XXRESP_04( 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_IC_IBCF_2XXRESP_04)}, {mw_SipResponse(mdw_2XX_Base)}, v_skip, "TP_IC_IBCF_2XXRESP_04", false, false ) ); p_monitorCompRef.done; } } // end group g_IBCF_2XXRESP group g_IBCF_ACK { /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component * @remark source function f_mtc_check_TP_IMS_5107_02_ic */ function f_mtc_check_TP_IC_IBCF_ACK_01( 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_IC_IBCF_ACK_01(?, mw_SipUrl_Host(v_EUT_A_Addr)))}, {}, {0, omit}, "TP_IC_IBCF_ACK_01", false, p_checkMessage ) ); p_monitorCompRef.done; } //function } // end group g_IBCF_ACK group g_IBCF_BYE { /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component * @remark source function f_mtc_check_TP_IMS_5107_01_ic */ function f_mtc_check_TP_IC_IBCF_BYE_01( 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_IC_IBCF_BYE_01", false, p_checkMessage ) ); p_monitorCompRef.done; } //function } // end group g_IBCF_BYE } // end group g_IBCF group g_SCSCF { group g_SCSCF_INVITE { /** * @desc Starts monitor component behavior for TP_IC_SCSCF_INVITE_03 * @param p_monitorCompRef Reference to monitor component * @remark source function f_mtc_check_TP_IMS_5097_04_ic */ function f_mtc_check_TP_IC_SCSCF_INVITE_03( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { var template SipUrl v_eutBUri := mw_SipUrl_Host(f_GetEUTScscfAddress(PX_EUT_B)); p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5097_04_ic(v_eutBUri))}, {mw_SipRequest(mw_INVITE_Request_Base)}, {0, omit}, "TP_IC_SCSCF_INVITE_03", false, p_checkMessage ) ); p_monitorCompRef.done; } } // end group g_SCSCF_INVITE } // end group g_SCSCF } // end module AtsImsIot_TP_behavior_IC No newline at end of file ttcn/AtsImsIot/AtsImsIot_TP_behavior_RX.ttcn 0 → 100644 +216 −0 Original line number Diff line number Diff line /* * @author STF 574 * @version $Id$ * @desc This module provides the TP behaviour functions at RX interface */ module AtsImsIot_TP_behavior_RX { 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, NAPTRmessage, EnumResponse, EnumQuery, SkipType; } import from LibIot_TestInterface { type EquipmentUser, IotEquipmentUser }; 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 LibSip_Common { type GenericParam, SemicolonParam_List } import from AtsImsIot_Functions all; import from LibIot_PIXITS {modulepar PX_EUT_A, PX_EUT_B;} // LibSip import from LibSip_SDPTypes { type SDP_media_desc_list }; // LibMsrp import from LibMsrp_TypesAndValues { type MsrpURI }; import from LibMsrp_Functions { function f_str2msrpUri }; import from LibMsrp_Templates { template m_msrpSend_Dummy, mw_msrpSEND_toPath_fromPath_contentType, m_msrpReport_Dummy, mw_msrpREPORT_success, m_msrpResponse_Dummy, mw_msrpResponse_toPath_fromPath, mw_toPath, mw_fromPath, mw_msrpResponse_toPath_fromPath_with_transferReports, m_msrpURIs_ToPath_Dummy, m_msrpURIs_FromPath_Dummy, mw_contentType }; import from DiameterS6a_Templates all; import from DiameterS6a_PIXITS all; import from DiameterGx_Templates all; // LibDiameter import from LibDiameter_Templates all; // import from DiameterRx_Templates all; group g_PCRF { group g_PCRF_ASA { /** * Starts monitor component behavior for TP_RX_PCRF_ASA_01 * @param p_monitorCompRef Reference to monitor component * @param p_checkMessage indicate if the incomming message should only be checked (port.check) or consumed (port.receive). * The check operation allows read access to the top element of incoming port queues without removing the top element from the queue. * <pre> * ensure that { * when { * EPC_PCRF triggers_termination of SIP_session * } * then { * EPC_PCRF sends Abort-Session-Request to IMS_P-CSCF containing * Session-Id_AVP indicating session of SIP_session * Abort-Cause_AVP indicating BEARER_RELEASED (0) * } * } * </pre> * @see TS 103 029 V3.1.1 clause 7.1.2 * @remark source function f_mtc_check_TP_EPC_6005_01 */ function f_mtc_check_TP_RX_PCRF_ASA_01( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { p_monitorCompRef.start ( f_receiveDiameterMsg ( { aSR_MSG := mw_ASR_dummy } , "TP_RX_PCRF_ASA_01", true ) ); p_monitorCompRef.done; } // End of function f_mtc_check_TP_RX_PCRF_ASA_01 } // end group g_PCRF_ASA group g_PCRF_AAA { /** * Starts monitor component behavior for TP_RX_PCRF_AAA_01 * @param p_monitorCompRef Reference to monitor component * @param p_checkMessage indicate if the incomming message should only be checked (port.check) or consumed (port.receive). * The check operation allows read access to the top element of incoming port queues without removing the top element from the queue. * @remark source function f_mtc_check_TP_EPC_6014_01 */ function f_mtc_check_TP_RX_PCRF_AAA_01( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { p_monitorCompRef.start ( f_receiveDiameterMsg ( { aAA_MSG := mw_AAA_dummy } , "TP_RX_PCRF_AAA_01", true ) ); p_monitorCompRef.done; } // End of function f_mtc_check_TP_RX_PCRF_AAA_01 } // end group g_PCRF_AAA } // end group g_PCRF group g_PCSCF { group g_PCSCF_AAR { /** * Starts monitor component behavior for TP_RX_PCSCF_AAR_01 * @param p_monitorCompRef Reference to monitor component * @param p_checkMessage indicate if the incomming message should only be checked (port.check) or consumed (port.receive). * The check operation allows read access to the top element of incoming port queues without removing the top element from the queue. * <pre> * ensure that { * when { * IMS_P-CSCF receives 2xx_Response on REGISTER from IMS_SCSCF * } * then { * IMS_P-CSCF sends AA-Request to EPC_PCRF containing * a framed IPv4_Address AVP indicating IPv4_Address of UE_A * or a framed IPv6_Address AVP indicating IPv6_Address of UE_A * and one or more Media-Component-Description_AVP containing * Media-Component-Number_AVP indicating value 0 * and Flow-Description_AVP indicating * indicating permit_in_ip from (UE_A-IP_address and UE_A_port_number) to (P-CSCF-IP_address and P-CSCF_port_number) * or permit_in_udp from (UE_A-IP_address and UE_A_port_number) to (P-CSCF-IP_address and P-CSCF_port_number) * or permit_in_tcp from (UE_A-IP_address and UE_A_port_number) to (P-CSCF-IP_address and P-CSCF_port_number) * and Flow-Description_AVP indicating * permit_out_ip from (P-CSCF-IP_address PCSCF_port_number) to UE_A-IP_address * or permit_out_udp from (P-CSCF-IP_address PCSCF_port_number) to UE_A-IP_address * or permit_out_tcp from (P-CSCF-IP_address PCSCF_port_number) to UE_A-IP_address * and Flow-Usage_AVP indicating AF_SIGNALING(0) * and Flow-Status_AVP indicating ENABLED(2) * and AF-Signalling-Protocol_AVP indicating SIP(1) * } * } * </pre> * @see TS 103 029 V3.1.1 clause 7.2.1.1 * @remark source function f_mtc_check_TP_EPC_6013_01 */ function f_mtc_check_TP_RX_PCSCF_AAR_01( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { p_monitorCompRef.start ( f_receiveDiameterMsg ( { aAR_MSG := mw_AAR_dummy } , "TP_RX_PCSCF_AAR_01", true ) ); p_monitorCompRef.done; } // End of function f_mtc_check_TP_RX_PCSCF_AAR_01 } // end group g_PCSCF_AAR group g_PCSCF_STR { /** * Starts monitor component behavior for TP_RX_PCSCF_STR_03 * @param p_monitorCompRef Reference to monitor component * @param p_checkMessage indicate if the incomming message should only be checked (port.check) or consumed (port.receive). * The check operation allows read access to the top element of incoming port queues without removing the top element from the queue. * @remark source function f_mtc_check_TP_EPC_6034_02 */ function f_mtc_check_TP_RX_PCSCF_STR_03( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( { mw_SipRequest ( mw_CANCEL_Request_Base ( ? ) ) }, { }, { 0, omit }, "TP_RX_PCSCF_STR_03", false, false ) ); p_monitorCompRef.done; } // End of function f_mtc_check_TP_RX_PCSCF_STR_03 /** * Starts monitor component behavior for TP_RX_PCSCF_STR_06 * @param p_monitorCompRef Reference to monitor component * @param p_checkMessage indicate if the incomming message should only be checked (port.check) or consumed (port.receive). * The check operation allows read access to the top element of incoming port queues without removing the top element from the queue. * @remark source function f_mtc_check_TP_EPC_6034_04 */ function f_mtc_check_TP_RX_PCSCF_STR_06( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( { mw_SipResponse ( mw_Response_Base ( c_statusLine486, ?, ? ) ) }, { }, { 0, omit }, "TP_RX_PCSCF_STR_06", false, false ) ); p_monitorCompRef.done; } // End of function f_mtc_check_TP_RX_PCSCF_STR_06 /** * Starts monitor component behavior for TP_RX_PCSCF_STR_07 * @param p_monitorCompRef Reference to monitor component * @param p_checkMessage indicate if the incomming message should only be checked (port.check) or consumed (port.receive). * The check operation allows read access to the top element of incoming port queues without removing the top element from the queue. * @remark source function f_mtc_check_TP_EPC_6012_02 */ function f_mtc_check_TP_RX_PCSCF_STR_07( ImsInterfaceMonitor p_monitorCompRef, ImsInterfaceMonitor p_monitorCompRef_B ) runs on ImsTestCoordinator { // f_mtc_check_TP_EPC_6012_01 ( p_monitorCompRef, false ); // f_mtc_check_TP_EPC_6022_01 ( p_monitorCompRef ); // f_mtc_check_TP_EPC_6009_01 ( p_monitorCompRef ); } // End of function f_mtc_check_TP_RX_PCSCF_STR_07 } // end group g_PCSCF_STR } // end group g_PCSCF } // end module AtsImsIot_TP_behavior_RX No newline at end of file ttcn/AtsImsIot/AtsImsIot_Templates_IC.ttcn 0 → 100644 +430 −0 File added.Preview size limit exceeded, changes collapsed. Show changes LibSip @ 2acb7ee6 Compare 3fbdde74 to 2acb7ee6 Original line number Diff line number Diff line Subproject commit 3fbdde74a0593590270318e1bd033ad65d974393 Subproject commit 2acb7ee656b6be066139a050b072e0d345c10022 Loading
ttcn/AtsImsIot/AtsImsIot_TP_behavior_IC.ttcn 0 → 100644 +521 −0 Original line number Diff line number Diff line /* * @author STF 574 * @version $Id$ * @desc This module provides the TP behaviour functions at IC interface */ module AtsImsIot_TP_behavior_IC { 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, NAPTRmessage, EnumResponse, EnumQuery, SkipType; } import from LibIot_TestInterface { type EquipmentUser, IotEquipmentUser }; 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 LibSip_Common { type GenericParam, SemicolonParam_List } import from AtsImsIot_Functions all; import from LibIot_PIXITS {modulepar PX_EUT_A, PX_EUT_B;} // LibSip import from LibSip_SDPTypes { type SDP_media_desc_list }; // LibMsrp import from LibMsrp_TypesAndValues { type MsrpURI }; import from LibMsrp_Functions { function f_str2msrpUri }; import from LibMsrp_Templates { template m_msrpSend_Dummy, mw_msrpSEND_toPath_fromPath_contentType, m_msrpReport_Dummy, mw_msrpREPORT_success, m_msrpResponse_Dummy, mw_msrpResponse_toPath_fromPath, mw_toPath, mw_fromPath, mw_msrpResponse_toPath_fromPath_with_transferReports, m_msrpURIs_ToPath_Dummy, m_msrpURIs_FromPath_Dummy, mw_contentType }; import from DiameterS6a_Templates all; import from DiameterS6a_PIXITS all; import from DiameterGx_Templates all; // LibDiameter import from LibDiameter_Templates all; // import from DiameterRx_Templates all; import from AtsImsIot_Templates_IC all; group g_IBCF { group g_IBCF_INVITE { /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component * @remark source function f_mtc_check_TP_IMS_5097_01_ic */ function f_mtc_check_TP_IC_IBCF_INVITE_01( 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_IC_IBCF_INVITE_01((mw_SipUrl_Host(v_EUT_A_Addr), mw_SipUrl_Host(f_GetEUTScscfIpAddress(PX_EUT_A))) ))}, {}, {0, omit}, "TP_IC_IBCF_INVITE_01", true, p_checkMessage ) ); p_monitorCompRef.done; } //function /** * @desc Starts monitor component behavior for TP_IC_IBCF_INVITE_02 * @param p_monitorCompRef Reference to monitor component * @remark source function f_mtc_check_TP_IMS_5097_02_ic */ function f_mtc_check_TP_IC_IBCF_INVITE_02( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IC_IBCF_INVITE_02(mw_SIP_URI_Base, mw_TEL_URI_Base))}, {mw_SipRequest(mw_INVITE_Request_Base)}, {0, omit}, "TP_IC_IBCF_INVITE_02", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component * @remark source function f_mtc_check_TP_IMS_5046_01_ic */ function f_mtc_check_TP_IC_IBCF_INVITE_04( 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.components.sip.hostPort), *}, {mw_ViaBody_interface(v_pcscfEutAIpUrl.components.sip.hostPort), *} ) }; p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest((mdw_TP_IC_IBCF_INVITE_04(v_pcscfEutAUrl, v_UserEutBUrl), mdw_TP_IC_IBCF_INVITE_04(v_pcscfEutAIpUrl, v_UserEutBUrl)))}, {mw_SipRequest(mw_INVITE_Request_Base)}, {0, omit}, "TP_IC_IBCF_INVITE_04", 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_IC_IBCF_INVITE_04"); } // Check Via header if (match(v_Via, vt_pcscfVia)) { } else { f_setIotVerdictFAIL("TP_IC_IBCF_INVITE_04"); } } } // end group g_IBCF_INVITE group g_IBCF_REINVITE { /** * @desc Starts monitor component behavior for TP_IC_IBCF_REINVITE_01 * @param p_monitorCompRef Reference to monitor component * @remark source function f_mtc_check_TP_IMS_5106_01_ic */ function f_mtc_check_TP_IC_IBCF_REINVITE_01( 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_IC_IBCF_REINVITE_01(v_SCSCF_A_Uri))}, {mw_SipRequest(mw_INVITE_Request_Base)}, v_skip, "TP_IC_IBCF_REINVITE_01", false, false ) ); p_monitorCompRef.done; } } // end group g_IBCF_REINVITE group g_IBCF_100TRY { /** * @desc Starts monitor component behavior for TP_IMS_5070_01 * @param p_monitorCompRef Reference to monitor component * @remark source function f_mtc_check_TP_IMS_5070_01_ic */ function f_mtc_check_TP_IC_IBCF_100TRY_01( 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_IC_IBCF_100TRY_01", false, p_checkMessage ) ); p_monitorCompRef.done; p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mw_100Trying_Base)}, {}, v_skip, "TP_IC_IBCF_100TRY_01", false, false ) ); p_monitorCompRef.done; } } // end group g_IBCF_100TRY group g_IBCF_180RESP { /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component * @remark source function f_mtc_check_TP_IMS_5115_01_ic */ function f_mtc_check_TP_IC_IBCF_180RESP_01( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_TP_IBCF_180RESP_01)}, {mw_SipResponse(mw_180Ringing_Base)}, {0, omit}, "TP_IC_IBCF_180RESP_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component * @remark source function f_mtc_check_TP_IMS_5131_01_ic */ function f_mtc_check_TP_IC_IBCF_180RESP_02( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_TP_IC_IBCF_180RESP_02)}, {mw_SipResponse(mw_180Ringing_Base)}, {0, omit}, "TP_IC_IBCF_180RESP_02", false, p_checkMessage ) ); p_monitorCompRef.done; } } // end group g_IBCF_180RESP group g_IBCF_1XXRESP { /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component * @remark source function f_mtc_check_TP_IMS_5115_03_ic */ function f_mtc_check_TP_IC_IBCF_1XXRESP_01( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_TP_IC_IBCF_1XXRESP_01(mw_SIP_URI_Base, mw_TEL_URI_Base))}, {mw_SipResponse(mw_180Ringing_Base)}, {0, omit}, "TP_IC_IBCF_1XXRESP_01", false, p_checkMessage ) ); p_monitorCompRef.done; } } // end group g_IBCF_1XXRESP group g_IBCF_2XXRESP { /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component * @remark source function f_mtc_check_TP_IMS_5115_02_ic */ function f_mtc_check_TP_IC_IBCF_2XXRESP_01( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_TP_IC_IBCF_2XXRESP_01)}, {mw_SipResponse(mw_200OK_Base)}, {0, omit}, "TP_IC_IBCF_2XXRESP_01", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component * @remark source function f_mtc_check_TP_IMS_5131_02_ic */ function f_mtc_check_TP_IC_IBCF_2XXRESP_03( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_TP_IC_IBCF_2XXRESP_03)}, {mw_SipResponse(mw_200OK_Base)}, {0, omit}, "TP_IC_IBCF_2XXRESP_03", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component * @remark source function f_mtc_check_TP_IMS_5115_04_ic */ function f_mtc_check_TP_IC_IBCF_2XXRESP_02( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipResponse(mdw_TP_IC_IBCF_2XXRESP_02(mw_SIP_URI_Base, mw_TEL_URI_Base))}, {mw_SipResponse(mw_200OK_Base)}, {0, omit}, "TP_IC_IBCF_2XXRESP_02", false, p_checkMessage ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5121_02 * @param p_monitorCompRef Reference to monitor component * @remark source function f_mtc_check_TP_IMS_5121_02_ic */ function f_mtc_check_TP_IC_IBCF_2XXRESP_04( 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_IC_IBCF_2XXRESP_04)}, {mw_SipResponse(mdw_2XX_Base)}, v_skip, "TP_IC_IBCF_2XXRESP_04", false, false ) ); p_monitorCompRef.done; } } // end group g_IBCF_2XXRESP group g_IBCF_ACK { /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component * @remark source function f_mtc_check_TP_IMS_5107_02_ic */ function f_mtc_check_TP_IC_IBCF_ACK_01( 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_IC_IBCF_ACK_01(?, mw_SipUrl_Host(v_EUT_A_Addr)))}, {}, {0, omit}, "TP_IC_IBCF_ACK_01", false, p_checkMessage ) ); p_monitorCompRef.done; } //function } // end group g_IBCF_ACK group g_IBCF_BYE { /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component * @remark source function f_mtc_check_TP_IMS_5107_01_ic */ function f_mtc_check_TP_IC_IBCF_BYE_01( 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_IC_IBCF_BYE_01", false, p_checkMessage ) ); p_monitorCompRef.done; } //function } // end group g_IBCF_BYE } // end group g_IBCF group g_SCSCF { group g_SCSCF_INVITE { /** * @desc Starts monitor component behavior for TP_IC_SCSCF_INVITE_03 * @param p_monitorCompRef Reference to monitor component * @remark source function f_mtc_check_TP_IMS_5097_04_ic */ function f_mtc_check_TP_IC_SCSCF_INVITE_03( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { var template SipUrl v_eutBUri := mw_SipUrl_Host(f_GetEUTScscfAddress(PX_EUT_B)); p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5097_04_ic(v_eutBUri))}, {mw_SipRequest(mw_INVITE_Request_Base)}, {0, omit}, "TP_IC_SCSCF_INVITE_03", false, p_checkMessage ) ); p_monitorCompRef.done; } } // end group g_SCSCF_INVITE } // end group g_SCSCF } // end module AtsImsIot_TP_behavior_IC No newline at end of file
ttcn/AtsImsIot/AtsImsIot_TP_behavior_RX.ttcn 0 → 100644 +216 −0 Original line number Diff line number Diff line /* * @author STF 574 * @version $Id$ * @desc This module provides the TP behaviour functions at RX interface */ module AtsImsIot_TP_behavior_RX { 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, NAPTRmessage, EnumResponse, EnumQuery, SkipType; } import from LibIot_TestInterface { type EquipmentUser, IotEquipmentUser }; 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 LibSip_Common { type GenericParam, SemicolonParam_List } import from AtsImsIot_Functions all; import from LibIot_PIXITS {modulepar PX_EUT_A, PX_EUT_B;} // LibSip import from LibSip_SDPTypes { type SDP_media_desc_list }; // LibMsrp import from LibMsrp_TypesAndValues { type MsrpURI }; import from LibMsrp_Functions { function f_str2msrpUri }; import from LibMsrp_Templates { template m_msrpSend_Dummy, mw_msrpSEND_toPath_fromPath_contentType, m_msrpReport_Dummy, mw_msrpREPORT_success, m_msrpResponse_Dummy, mw_msrpResponse_toPath_fromPath, mw_toPath, mw_fromPath, mw_msrpResponse_toPath_fromPath_with_transferReports, m_msrpURIs_ToPath_Dummy, m_msrpURIs_FromPath_Dummy, mw_contentType }; import from DiameterS6a_Templates all; import from DiameterS6a_PIXITS all; import from DiameterGx_Templates all; // LibDiameter import from LibDiameter_Templates all; // import from DiameterRx_Templates all; group g_PCRF { group g_PCRF_ASA { /** * Starts monitor component behavior for TP_RX_PCRF_ASA_01 * @param p_monitorCompRef Reference to monitor component * @param p_checkMessage indicate if the incomming message should only be checked (port.check) or consumed (port.receive). * The check operation allows read access to the top element of incoming port queues without removing the top element from the queue. * <pre> * ensure that { * when { * EPC_PCRF triggers_termination of SIP_session * } * then { * EPC_PCRF sends Abort-Session-Request to IMS_P-CSCF containing * Session-Id_AVP indicating session of SIP_session * Abort-Cause_AVP indicating BEARER_RELEASED (0) * } * } * </pre> * @see TS 103 029 V3.1.1 clause 7.1.2 * @remark source function f_mtc_check_TP_EPC_6005_01 */ function f_mtc_check_TP_RX_PCRF_ASA_01( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { p_monitorCompRef.start ( f_receiveDiameterMsg ( { aSR_MSG := mw_ASR_dummy } , "TP_RX_PCRF_ASA_01", true ) ); p_monitorCompRef.done; } // End of function f_mtc_check_TP_RX_PCRF_ASA_01 } // end group g_PCRF_ASA group g_PCRF_AAA { /** * Starts monitor component behavior for TP_RX_PCRF_AAA_01 * @param p_monitorCompRef Reference to monitor component * @param p_checkMessage indicate if the incomming message should only be checked (port.check) or consumed (port.receive). * The check operation allows read access to the top element of incoming port queues without removing the top element from the queue. * @remark source function f_mtc_check_TP_EPC_6014_01 */ function f_mtc_check_TP_RX_PCRF_AAA_01( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { p_monitorCompRef.start ( f_receiveDiameterMsg ( { aAA_MSG := mw_AAA_dummy } , "TP_RX_PCRF_AAA_01", true ) ); p_monitorCompRef.done; } // End of function f_mtc_check_TP_RX_PCRF_AAA_01 } // end group g_PCRF_AAA } // end group g_PCRF group g_PCSCF { group g_PCSCF_AAR { /** * Starts monitor component behavior for TP_RX_PCSCF_AAR_01 * @param p_monitorCompRef Reference to monitor component * @param p_checkMessage indicate if the incomming message should only be checked (port.check) or consumed (port.receive). * The check operation allows read access to the top element of incoming port queues without removing the top element from the queue. * <pre> * ensure that { * when { * IMS_P-CSCF receives 2xx_Response on REGISTER from IMS_SCSCF * } * then { * IMS_P-CSCF sends AA-Request to EPC_PCRF containing * a framed IPv4_Address AVP indicating IPv4_Address of UE_A * or a framed IPv6_Address AVP indicating IPv6_Address of UE_A * and one or more Media-Component-Description_AVP containing * Media-Component-Number_AVP indicating value 0 * and Flow-Description_AVP indicating * indicating permit_in_ip from (UE_A-IP_address and UE_A_port_number) to (P-CSCF-IP_address and P-CSCF_port_number) * or permit_in_udp from (UE_A-IP_address and UE_A_port_number) to (P-CSCF-IP_address and P-CSCF_port_number) * or permit_in_tcp from (UE_A-IP_address and UE_A_port_number) to (P-CSCF-IP_address and P-CSCF_port_number) * and Flow-Description_AVP indicating * permit_out_ip from (P-CSCF-IP_address PCSCF_port_number) to UE_A-IP_address * or permit_out_udp from (P-CSCF-IP_address PCSCF_port_number) to UE_A-IP_address * or permit_out_tcp from (P-CSCF-IP_address PCSCF_port_number) to UE_A-IP_address * and Flow-Usage_AVP indicating AF_SIGNALING(0) * and Flow-Status_AVP indicating ENABLED(2) * and AF-Signalling-Protocol_AVP indicating SIP(1) * } * } * </pre> * @see TS 103 029 V3.1.1 clause 7.2.1.1 * @remark source function f_mtc_check_TP_EPC_6013_01 */ function f_mtc_check_TP_RX_PCSCF_AAR_01( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { p_monitorCompRef.start ( f_receiveDiameterMsg ( { aAR_MSG := mw_AAR_dummy } , "TP_RX_PCSCF_AAR_01", true ) ); p_monitorCompRef.done; } // End of function f_mtc_check_TP_RX_PCSCF_AAR_01 } // end group g_PCSCF_AAR group g_PCSCF_STR { /** * Starts monitor component behavior for TP_RX_PCSCF_STR_03 * @param p_monitorCompRef Reference to monitor component * @param p_checkMessage indicate if the incomming message should only be checked (port.check) or consumed (port.receive). * The check operation allows read access to the top element of incoming port queues without removing the top element from the queue. * @remark source function f_mtc_check_TP_EPC_6034_02 */ function f_mtc_check_TP_RX_PCSCF_STR_03( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( { mw_SipRequest ( mw_CANCEL_Request_Base ( ? ) ) }, { }, { 0, omit }, "TP_RX_PCSCF_STR_03", false, false ) ); p_monitorCompRef.done; } // End of function f_mtc_check_TP_RX_PCSCF_STR_03 /** * Starts monitor component behavior for TP_RX_PCSCF_STR_06 * @param p_monitorCompRef Reference to monitor component * @param p_checkMessage indicate if the incomming message should only be checked (port.check) or consumed (port.receive). * The check operation allows read access to the top element of incoming port queues without removing the top element from the queue. * @remark source function f_mtc_check_TP_EPC_6034_04 */ function f_mtc_check_TP_RX_PCSCF_STR_06( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( { mw_SipResponse ( mw_Response_Base ( c_statusLine486, ?, ? ) ) }, { }, { 0, omit }, "TP_RX_PCSCF_STR_06", false, false ) ); p_monitorCompRef.done; } // End of function f_mtc_check_TP_RX_PCSCF_STR_06 /** * Starts monitor component behavior for TP_RX_PCSCF_STR_07 * @param p_monitorCompRef Reference to monitor component * @param p_checkMessage indicate if the incomming message should only be checked (port.check) or consumed (port.receive). * The check operation allows read access to the top element of incoming port queues without removing the top element from the queue. * @remark source function f_mtc_check_TP_EPC_6012_02 */ function f_mtc_check_TP_RX_PCSCF_STR_07( ImsInterfaceMonitor p_monitorCompRef, ImsInterfaceMonitor p_monitorCompRef_B ) runs on ImsTestCoordinator { // f_mtc_check_TP_EPC_6012_01 ( p_monitorCompRef, false ); // f_mtc_check_TP_EPC_6022_01 ( p_monitorCompRef ); // f_mtc_check_TP_EPC_6009_01 ( p_monitorCompRef ); } // End of function f_mtc_check_TP_RX_PCSCF_STR_07 } // end group g_PCSCF_STR } // end group g_PCSCF } // end module AtsImsIot_TP_behavior_RX No newline at end of file
ttcn/AtsImsIot/AtsImsIot_Templates_IC.ttcn 0 → 100644 +430 −0 File added.Preview size limit exceeded, changes collapsed. Show changes
LibSip @ 2acb7ee6 Compare 3fbdde74 to 2acb7ee6 Original line number Diff line number Diff line Subproject commit 3fbdde74a0593590270318e1bd033ad65d974393 Subproject commit 2acb7ee656b6be066139a050b072e0d345c10022