/* * @author STF 574, TTF006 * @version $Id$ * @desc This module provides the TP behaviour functions at RX interface */ module AtsImsIot_TP_behavior_RX { // LibIot import from LibIot_PIXITS all; import from LibIot_VxLTE_PIXITS all; import from LibIot_TestInterface all; import from LibIot_TypesAndValues all; import from LibIot_Functions all; // AtsImsIot import from AtsImsIot_Templates all; import from AtsImsIot_TypesAndValues all; import from AtsImsIot_Functions all; import from AtsImsIot_Diameter_Templates all; import from AtsImsIot_TestSystem all; // LibDiameter import from LibDiameter_Templates all; import from LibDiameter_TypesAndValues all; import from LibDiameter_Steps 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 *
* Test objective "Verify that IUT sends AA-Answer after RAA is received from PGW." * ** * Config Id CF_VxLTE_INT * * Initial conditions with { * the UE_A entity isNotAttachedTo the EPC_A and * the UE_A entity isNotRegisteredTo the IMS_A * } * * ensure that { * when { * the IMS_P_CSCF_A entity sends a ASR containing * Abort_Cause_AVP * indicating value BEARER_RELEASED '(0)' * ; * to the EPC_PCRF_A entity * } * then { * the EPC_PCRF_A entity sends the ASA containing * Result_Code_AVP * indicating value DIAMETER_SUCCESS "(2001)" * ; * to the IMS_P_CSCF_A entity * } ** @see TS 103 653-1 clause 7.6 */ function f_mtc_check_TP_RX_PCRF_ASA_01( DiameterInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in boolean p_forward_to_mtc := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ var template DIAMETER_MSG mw_diameter_msg_pass := { aSR_MSG := mw_ASR_abortCause(BEARER_RELEASED_E) }; var template DIAMETER_MSG mw_diameter_msg_fail := { aSR_MSG := mw_ASR_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCRF_ASA_01 - ASR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; mw_diameter_msg_pass := { aSA_MSG := mw_ASA_resultCode }; mw_diameter_msg_fail := { aSA_MSG := mw_ASA_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCRF_ASA_01 - ASA", p_forward_to_mtc, p_checkMessage ) ); 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 ** Test objective "Verify that IUT after AA-Request is received due to provisioning of AF Signalling flow sends AA-Answer." * ensure that { * when { * the IMS_P_CSCF_A entity sends an AAR * to the EPC_PCRF_A entity * } * then { * the EPC_PCRF_A entity sends the AAA containing * Result_Code_AVP * indicating value DIAMETER_SUCCESS, * Acceptable_Service_Info_AVP containing * "one or more" Media_Component_Description_AVP containing * Media_Component_Number_AVP * indicating value 0, * Media_Sub_Component_AVP containing * Flow_Description_AVP * Flow_Usage_AVP * indicating value AF_SIGNALING, * Flow_Status_AVP * indicating value ENABLED, * AF_Signalling_Protocol_AVP * indicating value SIP * ; * ; * ;, * IP_CAN_AVP * RAT_Type_AVP * ; * to the IMS_P_CSCF_A entity * } * } ** @see TS 103 653-1 clause 7.6 */ function f_mtc_check_TP_RX_PCRF_AAA_01( DiameterInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in boolean p_forward_to_mtc := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ var template DIAMETER_MSG mw_diameter_msg_pass := { aAR_MSG := mw_AAR_basic }; var template DIAMETER_MSG mw_diameter_msg_fail := { aAR_MSG := mw_AAR_dummy }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCRF_AAA_01 - AAR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; mw_diameter_msg_pass := { aAA_MSG := mw_AAA_resultCode/*mw_AAA_AcceptableService*/ }; mw_diameter_msg_fail := { aAA_MSG := mw_AAA_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCRF_AAA_01 - AAA", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_RX_PCRF_AAA_01 /** * Starts monitor component behavior for TP_RX_PCRF_AAA_02 * @param p_monitorCompRef Reference to monitor component ** Test objective "Verify that IUT sends AA-Answer after RAA is received from PGW." * ensure that { * when { * the EPC_PGW_A entity sends a RAA * to the EPC_PCRF_A entity * } * then { * the EPC_PCRF_A entity sends the AAA containing * Result_Code_AVP * indicating value DIAMETER_SUCCESS "(2001)" * ; * ; * to the IMS_P_CSCF_A entity * } ** @see TS 103 653-1 clause 7.6 */ function f_mtc_check_TP_RX_PCRF_AAA_02( DiameterInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in boolean p_forward_to_mtc := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ var template DIAMETER_MSG mw_diameter_msg_pass := { aAA_MSG := mw_AAA_resultCode }; var template DIAMETER_MSG mw_diameter_msg_fail := { aAA_MSG := mw_AAA_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCRF_AAA_02 - AAA", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_RX_PCRF_AAA_02 /** * Starts monitor component behavior for TP_RX_PCRF_AAA_02 * @param p_monitorCompRef Reference to monitor component ** Test objective "Verify that IUT receives AA-Request from home PCRF and sends AA-Answer towards visited P-CSCF." * ** * Config Id CF_VxLTE_INT * * Initial conditions with { * the UE_A entity isNotAttachedTo the EPC_A and * the UE_A entity isNotRegisteredTo the IMS_A * } * * ensure that { * when { * the EPC_PCRF_A entity sends a AAA * to the EPC_PCRF_B entity * } * then { * the EPC_PCRF_B entity sends the AAA * to the IMS_P_CSCF_B entity * } * } ** @see TS 103 653-1 clause 7.6 */ function f_mtc_check_TP_RX_PCRF_AAA_03( DiameterInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in boolean p_forward_to_mtc := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ var template DIAMETER_MSG mw_diameter_msg_pass := { aAA_MSG := mw_AAA_resultCode }; var template DIAMETER_MSG mw_diameter_msg_fail := { aAA_MSG := mw_AAA_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCRF_AAA_03 - AAA", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_RX_PCRF_AAA_03 } // end group g_PCRF_AAA group g_PCRF_STA { /** * Starts monitor component behavior for TP_RX_PCRF_STA_01 * @param p_monitorCompRef Reference to monitor component ** Test objective "Verify that IUT after reception of RA-Request sends ST-Answer." * ** * Config Id CF_VxLTE_INT * * Initial conditions with { * the UE_A entity isNotAttachedTo the EPC_A and * the UE_A entity isNotRegisteredTo the IMS_A and * the UE_A entity previouslyEstablishedCallWith the UE_B * } * * ensure that { * when { * the EPC_PGW_A entity sends an RAA * to the EPC_PCRF_A entity * } * then { * the EPC_PCRF_A entity sends the STA containing * Result_Code_AVP * indicating value DIAMETER_SUCCESS * ; * to the IMS_P_CSCF_A entity * } ** @see TS 103 653-1 clause 7.6 */ function f_mtc_check_TP_RX_PCRF_STA_01( DiameterInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in boolean p_forward_to_mtc := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ var template DIAMETER_MSG mw_diameter_msg_pass := { sTA_MSG := mw_STA_diamSuccess }; var template DIAMETER_MSG mw_diameter_msg_fail := { sTA_MSG := mw_STA_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCRF_STA_01 - STA", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_RX_PCRF_STA_01 /** * Starts monitor component behavior for TP_RX_PCRF_STA_02 * @param p_monitorCompRef Reference to monitor component ** Test objective "Verify that IUT after reception of ST-Request sends ST-Answer." * ** * Config Id CF_VxLTE_INT * * Initial conditions with { * the UE_A entity isNotAttachedTo the EPC_A and * the UE_A entity isNotRegisteredTo the IMS_A * } * * ensure that { * when { * the IMS_P_CSCF_A entity sends an STR * to the EPC_PCRF_A entity * } * then { * the EPC_PCRF_A entity sends the STA containing * Result_Code_AVP * indicating value DIAMETER_SUCCESS * ; * to the IMS_P_CSCF_A entity * } ** @see TS 103 653-1 clause 7.6 */ function f_mtc_check_TP_RX_PCRF_STA_02( DiameterInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in boolean p_forward_to_mtc := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ var template DIAMETER_MSG mw_diameter_msg_pass := { sTR_MSG := mw_STR_basic }; var template DIAMETER_MSG mw_diameter_msg_fail := { sTR_MSG := mw_STR_dummy }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCRF_STA_02 - STR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; mw_diameter_msg_pass := { sTA_MSG := mw_STA_diamSuccess }; mw_diameter_msg_fail := { sTA_MSG := mw_STA_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCRF_STA_02 - STA", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_RX_PCRF_STA_02 } // end group g_PCRF_STA } // end group g_PCRF group g_PCSCF { group g_PCSCF_ASR { /** * Starts monitor component behavior for TP_RX_PCSCF_ASR_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. ** Test objective "Verify that IUT receives AS-Request from home PCRF and it sends AS-Request towards visited P-CSCF." * ** * Config Id CF_VxLTE_RMI * * Initial conditions with { * the UE_A entity isAttachedTo the EPC_B and * the UE_A entity isRegisteredTo the IMS_A * } * * ensure that { * when { * the EPC_PCRF_A entity sends a ASR * to the EPC_PCRF_B entity * } * then { * the EPC_PCRF_B entity sends the ASR containing * Session_Id_AVP * Abort_Cause_AVP * indicating value BEARER_RELEASED * ; * to the IMS_P_CSCF_B entity * } * } ** @see TS 103 653-1 clause 7.6 */ function f_mtc_check_TP_RX_PCSCF_ASR_01( DiameterInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in boolean p_forward_to_mtc := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ var template DIAMETER_MSG mw_diameter_msg_pass := { aSR_MSG := mw_ASR_abortCause(BEARER_RELEASED_E) }; var template DIAMETER_MSG mw_diameter_msg_fail := { aSR_MSG := mw_ASR_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCSCF_ASR_01 - ASR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_RX_PCSCF_ASR_01 } //end group g_PCSCF_ASR { 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. ** Test objective "Verify that IUT after 2XX_Response on REGISTER sends an AA-Request due to provisioning of AF Signalling flow." * ** * Config Id CF_VxLTE_INT * * Initial conditions with { * the UE_A entity isNotAttachedTo the EPC_A and * the UE_A entity isNotRegisteredTo the IMS_A * } * * ensure that { * when { * the IMS_S_CSCF_A entity sends a 200_Response_REGISTER * to the IMS_P_CSCF_A entity * } * then { * the IMS_P_CSCF_A entity sends an AAR containing * Framed_IPv4_Address_AVP * indicating value "IPv4_Address of UE_A", * "or" Framed_IPv6_Address_AVP * indicating value "IPv6_Address of UE_A", * Specific_Action_AVP * indicating value INDICATION_OF_LOSS_OF_BEARER, * "one or more" Media_Component_Description_AVP containing * Media_Component_Number_AVP * indicating value 0, * Media_Sub_Component_AVP containing * Flow_Description_AVP * Flow_Usage_AVP * indicating value AF_SIGNALLING, * Flow_Status_AVP * indicating value ENABLED, * AF_Signalling_Protocol_AVP * indicating value SIP * ; * ; * ; * to the EPC_PCRF_A entity * } * } ** @see TS 103 653-1 clause 7.6 * @remark source function f_mtc_check_TP_EPC_6013_01 */ function f_mtc_check_TP_RX_PCSCF_AAR_01( DiameterInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in boolean p_forward_to_mtc := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ var template DIAMETER_MSG mw_diameter_msg_pass := { aAR_MSG := mw_AAR_MediaComponent_specificActionLossOfBearer }; var template DIAMETER_MSG mw_diameter_msg_fail := { aAR_MSG := mw_AAR_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCSCF_AAR_01 - AAR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_RX_PCSCF_AAR_01 /** * Starts monitor component behavior for TP_RX_PCSCF_AAR_02 * @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. ** Test objective "IUT does not send AA-Request if 4XX_Response REGISTER is received." * ** * Config Id CF_VxLTE_INT * * Initial conditions with { * the UE_A entity isAttachedTo the EPC_A and * the UE_A entity isNotRegisteredTo the IMS_A * } * * ensure that { * when { * the IMS_P_CSCF_A entity receives an 4XX_Response_REGISTER * from the IMS_S_CSCF_A entity * } * then { * the IMS_P_CSCF_A entity not sends the AAR * to the EPC_PCRF_A entity * } * } ** @see TS 103 653-1 clause 7.6 */ function f_mtc_check_TP_RX_PCSCF_AAR_02( DiameterInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in boolean p_forward_to_mtc := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ var boolean v_noDiameterMessageExpected := true; var template DIAMETER_MSG mw_diameter_msg_fail := { aAR_MSG := mw_AAR_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { //check if nothing received }, { mw_diameter_msg_fail //Fail criteria: check if AAR is sent }, {0, omit}, "TP_RX_PCSCF_AAR_02 - AAR", p_forward_to_mtc, p_checkMessage, v_noDiameterMessageExpected ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_RX_PCSCF_AAR_02 /** * Starts monitor component behavior for TP_RX_PCSCF_AAR_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. ** Test objective "Verify that IUT send AA-Request in case of session establishment for originating side after INVITE is received." * ** * Config Id CF_VxLTE_INT * * Initial conditions with { * the UE_A entity isAttachedTo the EPC_A and * the UE_A entity isRegisteredTo the IMS_A * } * * ensure that { * when { * the IMS_P_CSCF_A entity receives an INVITE_Request_with_SDP_offer * from the UE_A entity * } * then { * the IMS_P_CSCF_A entity sends the AAR containing * Framed_IPv4_Address_AVP * indicating value "IPv4_Address of UE_A", * "or" Framed_IPv6_Address_AVP * indicating value "IPv6_Address of UE_A", * "one or more" Media_Component_Description_AVP containing * Media_Component_Number_AVP * Media_Type_AVP * Flow_Status_AVP * indicating value DISABLED '(3)' * Max_Requested_Bandwidth_DL_AVP * RR_Bandwidth_AVP * Codec_Data_AVP * "one or more" Media_Subcomponent_Description_AVP containing * Flow_Number_AVP * Flow_Description_AVP * ; * ; * to the EPC_PCRF_A entity * } * } ** @see TS 103 653-1 clause 7.6 */ function f_mtc_check_TP_RX_PCSCF_AAR_03( DiameterInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in boolean p_forward_to_mtc := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ var template DIAMETER_MSG mw_diameter_msg_pass := { aAR_MSG := mw_AAR_RequestType_ServiceInfoStatus_FramedIPv4( mw_rxRequestType(INITIAL_REQUEST_E), mw_serviceInfoStatus(PRELIMINARY_SERVICE_INFORMATION_E), mw_framedIPAddress(f_IPV4_Address2oct(PX_SIP_GMA_UE_IPADDR))) }; var template DIAMETER_MSG mw_diameter_msg_fail := { aAR_MSG := mw_AAR_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCSCF_AAR_03 - AAR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_RX_PCSCF_AAR_03 /** * Starts monitor component behavior for TP_RX_PCSCF_AAR_04 * @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. ** Test objective "Verify that IUT send AA-Request in case of session establishment for originating side after 180 Ringing with SDP is received." * ** * Config Id CF_VxLTE_INT * * Initial conditions with { * the UE_A entity isAttachedTo the EPC_A and * the UE_A entity isRegisteredTo the IMS_A * } * * ensure that { * when { * the IMS_P_CSCF_A entity receives a 180_Response_INVITE_with_SDP_offer * from the IMS_S_CSCF_A entity * } * then { * the IMS_P_CSCF_A entity sends the AAR containing * Framed_IPv4_Address_AVP * indicating value "IPv4_Address of UE_A", * "or" Framed_IPv6_Address_AVP * indicating value "IPv6_Address of UE_A", * "one or more" Media_Component_Description_AVP containing * Media_Component_Number_AVP * Media_Type_AVP * Flow_Status_AVP * indicating value ENABLED_DOWNLINK '(1)' * Max_Requested_Bandwidth_DL_AVP * Max_Requested_Bandwidth_UL_AVP * RR_Bandwidth_AVP * RS_Bandwidth_AVP * Codec_Data_AVP * "one or more" Media_Subcomponent_Description_AVP containing * Flow_Number_AVP * Flow_Description_AVP * ; * ; * to the EPC_PCRF_A entity * } * } ** @see TS 103 653-1 clause 7.6 */ function f_mtc_check_TP_RX_PCSCF_AAR_04( DiameterInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in boolean p_forward_to_mtc := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ var template DIAMETER_MSG mw_diameter_msg_pass := { aAR_MSG := mw_AAR_RequestType_ServiceInfoStatus_FramedIPv4( mw_rxRequestType(UPDATE_REQUEST_E), mw_serviceInfoStatus(FINAL_SERVICE_INFORMATION_E), mw_framedIPAddress(f_IPV4_Address2oct(PX_SIP_GMA_UE_IPADDR))) }; var template DIAMETER_MSG mw_diameter_msg_fail := { aAR_MSG := mw_AAR_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCSCF_AAR_04 - AAR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_RX_PCSCF_AAR_04 /** * Starts monitor component behavior for TP_RX_PCSCF_AAR_05 * @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. ** Test objective "Verify that IUT send AA-Request in case of session establishment for originating side after 200 OK with SDP is received." * ** * Config Id CF_VxLTE_INT * * Initial conditions with { * the UE_A entity isAttachedTo the EPC_A and * the UE_A entity isRegisteredTo the IMS_A * } * * ensure that { * when { * the IMS_P_CSCF_A entity receives a 200_Response_INVITE_with_SDP_offer * from the IMS_S_CSCF_A entity * } * then { * the IMS_P_CSCF_A entity sends the AAR containing * Framed_IPv4_Address_AVP * indicating value "IPv4_Address of UE_A", * "or" Framed_IPv6_Address_AVP * indicating value "IPv6_Address of UE_A", * "one or more" Media_Component_Description_AVP containing * Media_Component_Number_AVP * Media_Type_AVP * Flow_Status_AVP * indicating value ENABLED '(2)' * Max_Requested_Bandwidth_DL_AVP * Max_Requested_Bandwidth_UL_AVP * RR_Bandwidth_AVP * RS_Bandwidth_AVP * Codec_Data_AVP * "one or more" Media_Subcomponent_Description_AVP containing * Flow_Number_AVP * Flow_Description_AVP * ; * ; * ; * to the EPC_PCRF_A entity * } * } ** @see TS 103 653-1 clause 7.6 */ function f_mtc_check_TP_RX_PCSCF_AAR_05( DiameterInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in boolean p_forward_to_mtc := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ var template DIAMETER_MSG mw_diameter_msg_pass := { aAR_MSG := mw_AAR_RequestType_ServiceInfoStatus_FramedIPv4( mw_rxRequestType(UPDATE_REQUEST_E), mw_serviceInfoStatus(PRELIMINARY_SERVICE_INFORMATION_E), mw_framedIPAddress(f_IPV4_Address2oct(PX_SIP_GMA_UE_IPADDR))) }; var template DIAMETER_MSG mw_diameter_msg_fail := { aAR_MSG := mw_AAR_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCSCF_AAR_05 - AAR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_RX_PCSCF_AAR_05 /** * Starts monitor component behavior for TP_RX_PCSCF_AAR_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. ** Test objective "Verify that IUT send AA-Request in case of session establishment for terminating side after INVITE is received." * ** * Config Id CF_VxLTE_INT * * Initial conditions with { * the UE_A entity isAttachedTo the EPC_A and * the UE_A entity isRegisteredTo the IMS_A * } * * ensure that { * when { * the IMS_P_CSCF_A entity receives an INVITE_Request_with_SDP_offer * from the IMS_S_CSCF_A entity * } * then { * the IMS_P_CSCF_A entity sends the AAR containing * Framed_IPv4_Address_AVP * indicating value "IPv4_Address of UE_A", * "or" Framed_IPv6_Address_AVP * indicating value "IPv6_Address of UE_A", * "one or more" Media_Component_Description_AVP containing * Media_Component_Number_AVP * Media_Type_AVP * Flow_Status_AVP * indicating value DISABLED '(3)' * Max_Requested_Bandwidth_DL_AVP * RR_Bandwidth_AVP * Codec_Data_AVP * "one or more" Media_Subcomponent_Description_AVP containing * Flow_Number_AVP * Flow_Description_AVP * ; * ; * ; * to the EPC_PCRF_A entity * } * } ** @see TS 103 653-1 clause 7.6 */ function f_mtc_check_TP_RX_PCSCF_AAR_06( DiameterInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in boolean p_forward_to_mtc := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ var template DIAMETER_MSG mw_diameter_msg_pass := { aAR_MSG := mw_AAR_RequestType_ServiceInfoStatus_FramedIPv4( mw_rxRequestType(INITIAL_REQUEST_E), mw_serviceInfoStatus(PRELIMINARY_SERVICE_INFORMATION_E), mw_framedIPAddress(f_IPV4_Address2oct(PX_SIP_GMA_UE_IPADDR))) }; var template DIAMETER_MSG mw_diameter_msg_fail := { aAR_MSG := mw_AAR_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCSCF_AAR_06 - AAR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_RX_PCSCF_AAR_06 /** * Starts monitor component behavior for TP_RX_PCSCF_AAR_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. ** Test objective "Verify that IUT send AA-Request in case of session establishment for terminating side after 180 Ringing with SDP is received." * ** * Config Id CF_VxLTE_INT * * Initial conditions with { * the UE_A entity isAttachedTo the EPC_A and * the UE_A entity isRegisteredTo the IMS_A * } * * ensure that { * when { * the IMS_P_CSCF_A entity receives a 180_Response_INVITE_with_SDP_offer * from the UE_B entity * } * then { * the IMS_P_CSCF_A entity sends the AAR containing * Framed_IPv4_Address_AVP * indicating value "IPv4_Address of UE_A", * "or" Framed_IPv6_Address_AVP * indicating value "IPv6_Address of UE_A", * "one or more" Media_Component_Description_AVP containing * Media_Component_Number_AVP * Media_Type_AVP * Flow_Status_AVP * indicating value ENABLED_UPLINK '(0)' * Max_Requested_Bandwidth_DL_AVP * Max_Requested_Bandwidth_UL_AVP * RR_Bandwidth_AVP * RS_Bandwidth_AVP * Codec_Data_AVP * "one or more" Media_Subcomponent_Description_AVP containing * Flow_Number_AVP * Flow_Description_AVP * ; * ; * ; * to the EPC_PCRF_A entity * } * } ** @see TS 103 653-1 clause 7.6 */ function f_mtc_check_TP_RX_PCSCF_AAR_07( DiameterInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in boolean p_forward_to_mtc := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ var template DIAMETER_MSG mw_diameter_msg_pass := { aAR_MSG := mw_AAR_RequestType_ServiceInfoStatus_FramedIPv4( mw_rxRequestType(UPDATE_REQUEST_E), mw_serviceInfoStatus(FINAL_SERVICE_INFORMATION_E), mw_framedIPAddress(f_IPV4_Address2oct(PX_SIP_GMA_UE_IPADDR))) }; var template DIAMETER_MSG mw_diameter_msg_fail := { aAR_MSG := mw_AAR_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCSCF_AAR_07 - AAR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_RX_PCSCF_AAR_07 /** * Starts monitor component behavior for TP_RX_PCSCF_AAR_08 * @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. ** Test objective "Verify that IUT send AA-Request in case of session establishment for terminating side after 200 OK with SDP is received." * ** * Config Id CF_VxLTE_INT * * Initial conditions with { * the UE_A entity isAttachedTo the EPC_A and * the UE_A entity isRegisteredTo the IMS_A * } * * ensure that { * when { * the IMS_P_CSCF_A entity receives a 200_Response_INVITE_with_SDP_offer * from the UE_B entity * } * then { * the IMS_P_CSCF_A entity sends the AAR containing * Framed_IPv4_Address_AVP * indicating value "IPv4_Address of UE_A", * "or" Framed_IPv6_Address_AVP * indicating value "IPv6_Address of UE_A", * "one or more" Media_Component_Description_AVP containing * Media_Component_Number_AVP * Media_Type_AVP * Flow_Status_AVP * indicating value ENABLED '(2)' * Max_Requested_Bandwidth_DL_AVP * Max_Requested_Bandwidth_UL_AVP * RR_Bandwidth_AVP * RS_Bandwidth_AVP * Codec_Data_AVP * "one or more" Media_Subcomponent_Description_AVP containing * Flow_Number_AVP * Flow_Description_AVP * ; * ; * ; * to the EPC_PCRF_A entity * } * } ** @see TS 103 653-1 clause 7.6 */ function f_mtc_check_TP_RX_PCSCF_AAR_08( DiameterInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in boolean p_forward_to_mtc := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ var template DIAMETER_MSG mw_diameter_msg_pass := { aAR_MSG := mw_AAR_RequestType_ServiceInfoStatus_FramedIPv4( mw_rxRequestType(UPDATE_REQUEST_E), mw_serviceInfoStatus(PRELIMINARY_SERVICE_INFORMATION_E), mw_framedIPAddress(f_IPV4_Address2oct(PX_SIP_GMA_UE_IPADDR))) }; var template DIAMETER_MSG mw_diameter_msg_fail := { aAR_MSG := mw_AAR_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCSCF_AAR_08 - AAR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_RX_PCSCF_AAR_08 /** * Starts monitor component behavior for TP_RX_PCSCF_AAR_09 * @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. ** Test objective "Verify that IUT send AA-Request in case of session modification for originating side after 200 OK on re-INVITE is received." * ** * Config Id CF_VxLTE_INT * * Initial conditions with { * the UE_A entity isAttachedTo the EPC_A and * the UE_A entity isRegisteredTo the IMS_A * } * * ensure that { * when { * the IMS_P_CSCF_A entity receives a 200_Response_INVITE_with_SDP_offer * from the IMS_S_CSCF_A entity * } * then { * the IMS_P_CSCF_A entity sends the AAR containing * Framed_IPv4_Address_AVP * indicating value "IPv4_Address of UE_A", * "or" Framed_IPv6_Address_AVP * indicating value "IPv6_Address of UE_A", * "one or more" Media_Component_Description_AVP containing * Media_Component_Number_AVP * Media_Type_AVP * Flow_Status_AVP * indicating value ENABLED_UPLINK '(0)' * Max_Requested_Bandwidth_DL_AVP * Max_Requested_Bandwidth_UL_AVP * RR_Bandwidth_AVP * RS_Bandwidth_AVP * Codec_Data_AVP * "one or more" Media_Subcomponent_Description_AVP containing * Flow_Number_AVP * Flow_Description_AVP * ; * ; * ; * to the EPC_PCRF_A entity * } * } ** @see TS 103 653-1 clause 7.6 */ function f_mtc_check_TP_RX_PCSCF_AAR_09( DiameterInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in boolean p_forward_to_mtc := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ var template DIAMETER_MSG mw_diameter_msg_pass := { aAR_MSG := mw_AAR_RequestType_ServiceInfoStatus_FramedIPv4( mw_rxRequestType(UPDATE_REQUEST_E), mw_serviceInfoStatus(FINAL_SERVICE_INFORMATION_E), mw_framedIPAddress(f_IPV4_Address2oct(PX_SIP_GMA_UE_IPADDR))) }; var template DIAMETER_MSG mw_diameter_msg_fail := { aAR_MSG := mw_AAR_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCSCF_AAR_09 - AAR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_RX_PCSCF_AAR_09 /** * Starts monitor component behavior for TP_RX_PCSCF_AAR_10 * @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. ** Test objective "Verify that IUT send AA-Request in case of session modification for terminating side after 200 OK on re-INVITE is received." * ** * Config Id CF_VxLTE_INT * * Initial conditions with { * the UE_A entity isAttachedTo the EPC_A and * the UE_A entity isRegisteredTo the IMS_A * } * * ensure that { * when { * the IMS_P_CSCF_A entity receives a 200_Response_INVITE_with_SDP_offer * from the UE_B entity * } * then { * the IMS_P_CSCF_A entity sends the AAR containing * Framed_IPv4_Address_AVP * indicating value "IPv4_Address of UE_A", * "or" Framed_IPv6_Address_AVP * indicating value "IPv6_Address of UE_A", * "one or more" Media_Component_Description_AVP containing * Media_Component_Number_AVP * Media_Type_AVP * Flow_Status_AVP * indicating value ENABLED_DOWNLINK '(1)' * Max_Requested_Bandwidth_DL_AVP * Max_Requested_Bandwidth_UL_AVP * RR_Bandwidth_AVP * RS_Bandwidth_AVP * Codec_Data_AVP * "one or more" Media_Subcomponent_Description_AVP containing * Flow_Number_AVP * Flow_Description_AVP * ; * ; * to the EPC_PCRF_A entity * } * } ** @see TS 103 653-1 clause 7.6 */ function f_mtc_check_TP_RX_PCSCF_AAR_10( DiameterInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in boolean p_forward_to_mtc := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ var template DIAMETER_MSG mw_diameter_msg_pass := { aAR_MSG := mw_AAR_RequestType_ServiceInfoStatus_FramedIPv4( mw_rxRequestType(UPDATE_REQUEST_E), mw_serviceInfoStatus(FINAL_SERVICE_INFORMATION_E), mw_framedIPAddress(f_IPV4_Address2oct(PX_SIP_GMA_UE_IPADDR))) }; var template DIAMETER_MSG mw_diameter_msg_fail := { aAR_MSG := mw_AAR_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCSCF_AAR_10 - AAR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_RX_PCSCF_AAR_10 } // end group g_PCSCF_AAR group g_PCSCF_RAA { /**TODO update TP description * Starts monitor component behavior for TP_RX_PCSCF_RAA_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. ** Test objective "Verify that IUT send AA-Request in case of session establishment for originating side after 200 OK with SDP is received." * ** * Config Id CF_VxLTE_INT * * Initial conditions with { * the UE_A entity isAttachedTo the EPC_A and * the UE_A entity isRegisteredTo the IMS_A * } * * ensure that { * when { * the IMS_P_CSCF_A entity receives a 200_Response_INVITE_with_SDP_offer * from the IMS_S_CSCF_A entity * } * then { * the IMS_P_CSCF_A entity sends the AAR containing * Framed_IPv4_Address_AVP * indicating value "IPv4_Address of UE_A", * "or" Framed_IPv6_Address_AVP * indicating value "IPv6_Address of UE_A", * "one or more" Media_Component_Description_AVP containing * Media_Component_Number_AVP * Media_Type_AVP * Flow_Status_AVP * indicating value ENABLED '(2)' * Max_Requested_Bandwidth_DL_AVP * Max_Requested_Bandwidth_UL_AVP * RR_Bandwidth_AVP * RS_Bandwidth_AVP * Codec_Data_AVP * "one or more" Media_Subcomponent_Description_AVP containing * Flow_Number_AVP * Flow_Description_AVP * ; * ; * ; * to the EPC_PCRF_A entity * } * } ** @see TS 103 653-1 clause 7.6 */ function f_mtc_check_TP_RX_PCSCF_RAA_01( DiameterInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in boolean p_forward_to_mtc := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ var template DIAMETER_MSG mw_diameter_msg_pass := { rAR_MSG := mw_RAR_SpecificAction }; var template DIAMETER_MSG mw_diameter_msg_fail := { rAR_MSG := mw_RAR_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCSCF_RAA_01 - RAR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; mw_diameter_msg_pass := { rAA_MSG := mw_RAA_Rx_resultCode }; mw_diameter_msg_fail := { rAA_MSG := mw_RAA_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCSCF_RAA_01 - RAA", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_RX_PCSCF_RAA_01 }//end group g_PCSCF_RAA group g_PCSCF_STR { /** * Starts monitor component behavior for TP_RX_PCSCF_STR_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. ** Test objective "Verify that IUT after reception of BYE sends an ST-Request at originating leg." * ** * Config Id CF_VxLTE_INT * * Initial conditions with { * the UE_A entity isAttachedTo the EPC_A and * the UE_A entity isRegisteredTo the IMS_A and * the UE_A entity previouslyEstablishedCallWith the UE_B * } * * ensure that { * when { * the IMS_P_CSCF_A entity receives a BYE * from the UE_A entity * } * then { * the IMS_P_CSCF_A entity sends the STR containing * Session_Id_AVP; * to the EPC_PCRF_A entity * } * } ** @see TS 103 653-1 clause 7.6 */ function f_mtc_check_TP_RX_PCSCF_STR_01( DiameterInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in boolean p_forward_to_mtc := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ var template DIAMETER_MSG mw_diameter_msg_pass := { sTR_MSG := mw_STR_basic }; var template DIAMETER_MSG mw_diameter_msg_fail := { sTR_MSG := mw_STR_dummy }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCSCF_STR_01 - STR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_RX_PCSCF_STR_01 /** * Starts monitor component behavior for TP_RX_PCSCF_STR_02 * @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. ** Test objective "Verify that IUT after reception of BYE sends an ST-Request at terminating leg. * ** * Config Id CF_VxLTE_INT * * Initial conditions with { * the UE_B entity isAttachedTo the EPC_B and * the UE_B entity isRegisteredTo the IMS_B and * the UE_B entity previouslyEstablishedCallWith the UE_A * } * * ensure that { * when { * the IMS_P_CSCF_B entity receives a BYE * from the IMS_S_CSCF_B entity * } * then { * the IMS_P_CSCF_B entity sends the STR containing * Session_Id_AVP; * to the EPC_PCRF_B entity * } * } ** @see TS 103 653-1 clause 7.6 */ function f_mtc_check_TP_RX_PCSCF_STR_02( DiameterInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in boolean p_forward_to_mtc := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ var template DIAMETER_MSG mw_diameter_msg_pass := { sTR_MSG := mw_STR_basic }; var template DIAMETER_MSG mw_diameter_msg_fail := { sTR_MSG := mw_STR_dummy }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCSCF_STR_02 - STR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_RX_PCSCF_STR_02 /** * 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. ** Test objective "Verify that IUT after reception of CANCEL sends an ST-Request at originating leg." * ** * Config Id CF_VxLTE_INT * * Initial conditions with { * the UE_A entity isAttachedTo the EPC_A and * the UE_A entity isRegisteredTo the IMS_A * } * * ensure that { * when { * the IMS_P_CSCF_A entity receives a CANCEL * from the UE_A entity * } * then { * the IMS_P_CSCF_A entity sends the STR containing * Session_Id_AVP; * to the EPC_PCRF_A entity * } * } ** @see TS 103 653-1 clause 7.6 */ function f_mtc_check_TP_RX_PCSCF_STR_03( DiameterInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in boolean p_forward_to_mtc := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ var template DIAMETER_MSG mw_diameter_msg_pass := { sTR_MSG := mw_STR_basic }; var template DIAMETER_MSG mw_diameter_msg_fail := { sTR_MSG := mw_STR_dummy }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCSCF_STR_03 - STR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_RX_PCSCF_STR_03 /** * Starts monitor component behavior for TP_RX_PCSCF_STR_04 * @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. ** Test objective "Verify that IUT after reception of CANCEL sends an ST-Request at terminating leg." * ** * Config Id CF_VxLTE_INT * * Initial conditions with { * the UE_B entity isAttachedTo the EPC_B and * the UE_B entity isRegisteredTo the IMS_B * } * * ensure that { * when { * the IMS_P_CSCF_B entity receives a CANCEL * from the IMS_S_CSCF_B entity * } * then { * the IMS_P_CSCF_B entity sends the STR containing * Session_Id_AVP; * to the EPC_PCRF_B entity * } * } ** @see TS 103 653-1 clause 7.6 */ function f_mtc_check_TP_RX_PCSCF_STR_04( DiameterInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in boolean p_forward_to_mtc := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ var template DIAMETER_MSG mw_diameter_msg_pass := { sTR_MSG := mw_STR_basic }; var template DIAMETER_MSG mw_diameter_msg_fail := { sTR_MSG := mw_STR_dummy }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCSCF_STR_04 - STR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_RX_PCSCF_STR_04 /** * Starts monitor component behavior for TP_RX_PCSCF_STR_05 * @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. ** Test objective "Verify that IUT after reception of 486 response sends an ST-Request at originating leg." * ** * Config Id CF_VxLTE_INT * * Initial conditions with { * the UE_A entity isAttachedTo the EPC_A and * the UE_A entity isRegisteredTo the IMS_A * } * * ensure that { * when { * the IMS_P_CSCF_A entity receives a 486_Response_INVITE * from the IMS_S_CSCF_A entity * } * then { * the IMS_P_CSCF_A entity sends the STR containing * Session_Id_AVP; * to the EPC_PCRF_A entity * } * } ** @see TS 103 653-1 clause 7.6 */ function f_mtc_check_TP_RX_PCSCF_STR_05( DiameterInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in boolean p_forward_to_mtc := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ var template DIAMETER_MSG mw_diameter_msg_pass := { sTR_MSG := mw_STR_basic }; var template DIAMETER_MSG mw_diameter_msg_fail := { sTR_MSG := mw_STR_dummy }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCSCF_STR_05 - STR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_RX_PCSCF_STR_05 /** * 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. ** Test objective "Verify that IUT after reception of 486 response sends an ST-Request at terminating leg." * ** * Config Id CF_VxLTE_INT * * Initial conditions with { * the UE_B entity isAttachedTo the EPC_B and * the UE_B entity isRegisteredTo the IMS_B * } * * ensure that { * when { * the IMS_P_CSCF_B entity receives a 486_Response_INVITE * from the IMS_S_CSCF_B entity * } * then { * the IMS_P_CSCF_B entity sends the STR containing * Session_Id_AVP; * to the EPC_PCRF_B entity * } * } ** @see TS 103 653-1 clause 7.6 */ function f_mtc_check_TP_RX_PCSCF_STR_06( DiameterInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in boolean p_forward_to_mtc := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ var template DIAMETER_MSG mw_diameter_msg_pass := { sTR_MSG := mw_STR_basic }; var template DIAMETER_MSG mw_diameter_msg_fail := { sTR_MSG := mw_STR_dummy }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCSCF_STR_06 - STR", p_forward_to_mtc, p_checkMessage ) ); 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. ** Test objective "Verify that IUT after reception of 200 response REGISTER sends an ST-Request." * ** * Config Id CF_VxLTE_INT * * Initial conditions with { * the UE_A entity isAttachedTo the EPC_A and * the UE_A entity isRegisteredTo the IMS_A * } * * ensure that { * when { * the IMS_P_CSCF_A entity receives a 200_Response_REGISTER * from the IMS_S_CSCF_A entity * } * then { * the IMS_P_CSCF_A entity sends the STR containing * Session_Id_AVP; * to the EPC_PCRF_A entity * } * } ** @see TS 103 653-1 clause 7.6 */ function f_mtc_check_TP_RX_PCSCF_STR_07( DiameterInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in boolean p_forward_to_mtc := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ var template DIAMETER_MSG mw_diameter_msg_pass := { sTR_MSG := mw_STR_basic }; var template DIAMETER_MSG mw_diameter_msg_fail := { sTR_MSG := mw_STR_dummy }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCSCF_STR_07 - STR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_RX_PCSCF_STR_07 /** * Starts monitor component behavior for TP_RX_PCSCF_STR_08 * @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. ** Test objective "Verify that IUT after reception of NOTIFY during administrative de-registration sends an ST-Request." * ** * Config Id CF_VxLTE_INT * * Initial conditions with { * the UE_A entity isAttachedTo the EPC_A and * the UE_A entity isRegisteredTo the IMS_A * } * * ensure that { * when { * the IMS_P_CSCF_A entity receives a NOTIFY * from the IMS_S_CSCF_A entity * } * then { * the IMS_P_CSCF_A entity sends the STR containing * Session_Id_AVP; * to the EPC_PCRF_A entity * } * } ** @see TS 103 653-1 clause 7.6 */ function f_mtc_check_TP_RX_PCSCF_STR_08( DiameterInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in boolean p_forward_to_mtc := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ var template DIAMETER_MSG mw_diameter_msg_pass := { sTR_MSG := mw_STR_basic }; var template DIAMETER_MSG mw_diameter_msg_fail := { sTR_MSG := mw_STR_dummy }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCSCF_STR_08 - STR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_RX_PCSCF_STR_08 } // end group g_PCSCF_STR } // end group g_PCSCF } // end module AtsImsIot_TP_behavior_RX