/* * @author STF 574 * @version $Id$ * @desc This module provides the TP behaviour functions at GX interface */ module AtsImsIot_TP_behavior_GX { import from AtsImsIot_TestSystem all; import from LibIot_PIXITS all; import from AtsImsIot_Templates all; import from AtsImsIot_TypesAndValues all; import from LibIot_TestInterface all; import from LibIot_TypesAndValues all; import from LibIot_Functions all; import from AtsImsIot_Functions all; import from LibIot_PIXITS all; import from AtsImsIot_Diameter_Templates all; // LibDiameter import from LibDiameter_Templates all; import from LibDiameter_TypesAndValues all; group g_PGW { /** * Starts monitor component behavior for TP_GX_PGW_CCR_01 * @param p_monitorCompRef Reference to monitor component *
* Test objective "Verify that when IUT is invoked with a create session request the CC-Request is sent towards PCRF." * ** * Config Id CF_VxLTE_RMI * * Initial conditions with { * the UE_A entity isNotAttachedTo the EPC_B and * the UE_A entity isNotRegisteredTo the IMS_A * } * * ensure that { * when { * the EPC_PGW_A entity invokes create_session_request * } * then { * the EPC_PGW_B entity sends an CCR containing * CC_Request_Type_AVP * indicating value INITIAL_REQUEST * Subscription_Id_AVP containing * Subscription_Id_Type_AVP * indicating value END_USER_IMSI * ;, * IP_CAN_Type_AVP * RAT_Type_AVP * Called_Station_Id_AVP * PDN_Connection_Id_AVP * Framed_IP_Address_AVP * "or" Framed_IP6_IP_Address_AVP * Bearer_Usage_AVP * indicating value IMS_SIGNALLING * QoS_Information_AVP * APN_Aggregate_Max_Requested_Bandwidth_UL_AVP * APN_Aggregate_Max_Requested_Bandwidth_DL_AVP * Bearer_Identifier_AVP * Default_EPS_Bearer_QoS_AVP containing * QoS_Class_Identifier_AVP * indicating value '5' * Allocation_Retention_Priority_AVP containing * Priority_Level_AVP * Pre_emption_Capablity_AVP * Pre_emption_Vulnerability_AVP * ; * ; * ; * to the EPC_PCRF_A entity * } * } ** @see TS 103 653-1 clause 7.7 */ function f_mtc_check_TP_GX_PGW_CCR_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 := { cCR_MSG := mw_CCR_SubscriberIMSI_qosInformation_class5(INITIAL_REQUEST_E) }; var template DIAMETER_MSG mw_diameter_msg_fail := { cCR_MSG := mw_CCR_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PGW_CCR_01 - CCR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_GX_PGW_CCR_01 /** * Starts monitor component behavior for TP_GX_PGW_CCR_02 * @param p_monitorCompRef Reference to monitor component ** Test objective "Verify that when IUT is invoked with a delete session request the CC-Request is sent towards PCRF." * ** * Config Id CF_VxLTE_RMI * * Initial conditions with { * the UE_A entity isAttachedTo the EPC_B and * the UE_A entity isNotRegisteredTo the IMS_A * } * * ensure that { * when { * the EPC_PGW_A entity invokes delete_session_request * } * then { * the EPC_PGW_B entity sends an CCR containing * CC_Request_Type_AVP * indicating value TERMINATION_REQUEST * ; * to the EPC_PCRF_B entity * } * } * } ** @see TS 103 653-1 clause 7.7 */ function f_mtc_check_TP_GX_PGW_CCR_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 := { cCR_MSG := mw_CCR_RequestType(TERMINATION_REQUEST_E) }; var template DIAMETER_MSG mw_diameter_msg_fail := { cCR_MSG := mw_CCR_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PGW_CCR_02 - CCR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_GX_PGW_CCR_02 /** * Starts monitor component behavior for TP_GX_PGW_RAA_01 * @param p_monitorCompRef Reference to monitor component ** Test objective "IUT successfully processes all mandatory AVPs in an RA-Request received due provision of PCC rules and sends RA-Answer." * ** * Config Id CF_VxLTE_INT * * Initial conditions with { * the UE_A entity isNotRegisteredTo the IMS_A * } * * ensure that { * when { * the EPC_PCRF_A entity sends an RAR containing * Charging_Rule_Install_AVP containing * Charging_Rule_Definition_AVP containing * Charging_Rule_Name_AVP containing * Flows_AVP containing * Media_Component_Number_AVP * indicating value 0 * , * Flow_Status_AVP * indicating value ENABLED * ; * ; * ; * ; * ; * to the EPC_PGW_A entity * } * then { * the EPC_PGW_A entity sends the RAA containing * Result_Code_AVP * indicating value DIAMETER_SUCCESS * ; * to the EPC_PCRF_A entity * } * } ** @see TS 103 653-1 clause 7.7 */ function f_mtc_check_TP_GX_PGW_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_ChargingRuleInstall(mw_chrgRuleInstall) }; var template DIAMETER_MSG mw_diameter_msg_fail := { cCR_MSG := mw_CCR_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PGW_RAA_01 - RAR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; mw_diameter_msg_pass := { rAA_MSG := mw_RAA_resultCode }; mw_diameter_msg_fail := { rAA_MSG := mw_RAA_Gx_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PGW_RAA_01 - RAA", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_GX_PGW_RAA_01 /** * Starts monitor component behavior for TP_GX_PGW_RAA_02 * @param p_monitorCompRef Reference to monitor component ** Test objective "IUT successfully processes an RA-Request received due to the Session Bearer procedure and sends RA-Answer with Result_Code_AVP." * ** * 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 EPC_PCRF_A entity sends an RAR * to the EPC_PGW_A entity * } * then { * the EPC_PGW_A entity sends the RAA containing * Result_Code_AVP * indicating value DIAMETER_SUCCESS * ; * to the EPC_PCRF_A entity * } * } ** @see TS 103 653-1 clause 7.7 */ function f_mtc_check_TP_GX_PGW_RAA_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 := { rAR_MSG := mw_RAR_Gx_basic }; var template DIAMETER_MSG mw_diameter_msg_fail := { rAR_MSG := mw_RAR_dummy }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PGW_RAA_02 - RAR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; mw_diameter_msg_pass := { rAA_MSG := mw_RAA_resultCode }; mw_diameter_msg_fail := { rAA_MSG := mw_RAA_Gx_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PGW_RAA_02 - RAA", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_GX_PGW_RAA_02 /** * Starts monitor component behavior for TP_GX_PGW_RAA_03 * @param p_monitorCompRef Reference to monitor component ** Test objective "IUT successfully processes an RA-Request received due to the Session Bearer procedure and sends RA-Answer with Result_Code_AVP." * ** * 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 EPC_PCRF_A entity sends an RAR * to the EPC_PGW_A entity * } * then { * the EPC_PGW_A entity sends the RAA containing * Result_Code_AVP * indicating value DIAMETER_SUCCESS * ; * to the EPC_PCRF_A entity * } ** @see TS 103 653-1 clause 7.7 */ function f_mtc_check_TP_GX_PGW_RAA_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 := { rAR_MSG := mw_RAR_Gx_basic }; var template DIAMETER_MSG mw_diameter_msg_fail := { rAR_MSG := mw_RAR_dummy }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PGW_RAA_03 - RAR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; mw_diameter_msg_pass := { rAA_MSG := mw_RAA_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_PGW_RAA_03 - RAA", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_GX_PGW_RAA_03 /** * Starts monitor component behavior for TP_GX_PGW_RAA_04 * @param p_monitorCompRef Reference to monitor component ** Test objective "IUT successfully processes an RA-Request received due to removal of Session Bearer procedure and sends RA-Answer with Result_Code_AVP." * ** * 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 EPC_PCRF_A entity sends an RAR containing * Charging_Rule_Remove_AVP containing * Charging_Rule_Name_AVP * ;; * to the EPC_PGW_A entity * } * then { * the EPC_PGW_A entity sends the RAA containing * Result_Code_AVP * indicating value DIAMETER_SUCCESS * ; * to the EPC_PCRF_A entity * } ** @see TS 103 653-1 clause 7.7 */ function f_mtc_check_TP_GX_PGW_RAA_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 := { rAR_MSG := mw_RAR_ChargingRuleRemove }; var template DIAMETER_MSG mw_diameter_msg_fail := { rAR_MSG := mw_RAR_Gx_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PGW_RAA_04 - RAR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; mw_diameter_msg_pass := { rAA_MSG := mw_RAA_resultCode }; mw_diameter_msg_fail := { rAA_MSG := mw_RAA_Gx_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PGW_RAA_04 - RAA", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_GX_PGW_RAA_04 group ES{ } //end group ES } // end group g_PGW group g_PCRF { /** * Starts monitor component behavior for TP_GX_PCRF_CCA_01 * @param p_monitorCompRef Reference to monitor component ** Test objective "Verify that IUT when receives CC-Request for PCC Rules sends a CC-Answer in case of attachment procedure." * ** * 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_PGW_A entity sends an CCR containing * CC_Request_Type_AVP * indicating value INITIAL_REQUEST * Subscription_Id_AVP containing * Subscription_Id_Type_AVP * indicating value END_USER_IMSI * ;, * IP_CAN_Type_AVP * RAT_Type_AVP * Called_Station_Id_AVP * PDN_Connection_Id_AVP * Framed_IP_Address_AVP * "or" Framed_IP6_IP_Address_AVP * Bearer_Usage_AVP * indicating value IMS_SIGNALLING * QoS_Information_AVP * APN_Aggregate_Max_Requested_Bandwidth_UL_AVP * APN_Aggregate_Max_Requested_Bandwidth_DL_AVP * Bearer_Identifier_AVP * Default_EPS_Bearer_QoS_AVP containing * QoS_Class_Identifier_AVP * indicating value '5' * Allocation_Retention_Priority_AVP containing * Priority_Level_AVP * Pre_emption_Capablity_AVP * Pre_emption_Vulnerability_AVP * ; * ; * ; * to the EPC_PCRF_A entity * } * then { * the EPC_PCRF_A entity sends the CCA containing * Result_Code_AVP * indicating value DIAMETER_SUCCESS * to the EPC_PGW_A entity * } * } ** @see TS 103 653-1 clause 7.7 */ function f_mtc_check_TP_GX_PCRF_CCA_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 := { cCR_MSG := mw_CCR_SubscriberIMSI_qosInformation_class5(INITIAL_REQUEST_E) }; var template DIAMETER_MSG mw_diameter_msg_fail := { cCR_MSG := mw_CCR_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCRF_CCA_01 - CCR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; mw_diameter_msg_pass := { cCA_MSG := mw_CCA_resultCode }; mw_diameter_msg_fail := { cCA_MSG := mw_CCA_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCRF_CCA_01 - CCA", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_GX_PCRF_CCA_01 /** * Starts monitor component behavior for TP_GX_PCRF_CCA_02 * @param p_monitorCompRef Reference to monitor component ** Test objective "Verify that IUT when receives CC-Request for PCC Rules sends a CC-Answer in case of detachment procedure." * ** * 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_PGW_A entity sends an CCR containing * CC_Request_Type_AVP * indicating value TERMINATION_REQUEST * ; * to the EPC_PCRF_A entity * } * then { * the EPC_PCRF_A entity sends the CCA containing * Result_Code_AVP * indicating value DIAMETER_SUCCESS * ; * to the EPC_PGW_A entity * } * } ** @see TS 103 653-1 clause 7.7 */ function f_mtc_check_TP_GX_PCRF_CCA_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 := { cCR_MSG := mw_CCR_RequestType(TERMINATION_REQUEST_E) }; var template DIAMETER_MSG mw_diameter_msg_fail := { cCR_MSG := mw_CCR_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCRF_CCA_02 - CCR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; mw_diameter_msg_pass := { cCA_MSG := mw_CCA_resultCode }; mw_diameter_msg_fail := { cCA_MSG := mw_CCA_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCRF_CCA_02 - CCA", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_GX_PCRF_CCA_02 /** * Starts monitor component behavior for TP_GX_PCRF_CCA_03 * @param p_monitorCompRef Reference to monitor component ** Test objective "Verify that IUT when receives CC-Request for PCC Rules sends a CC-Answer in case of detachment procedure." ** * 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 EPC_PGW_A entity sends an CCR containing * CC_Request_Type_AVP * indicating value TERMINATION_REQUEST * ; * to the EPC_PCRF_A entity * } * then { * the EPC_PCRF_A entity sends the CCA containing * Result_Code_AVP * indicating value DIAMETER_SUCCESS * ; * to the EPC_PGW_A entity * } * } ** @see TS 103 653-1 clause 7.7 */ function f_mtc_check_TP_GX_PCRF_CCA_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 := { cCR_MSG := mw_CCR_RequestType(TERMINATION_REQUEST_E) }; var template DIAMETER_MSG mw_diameter_msg_fail := { cCR_MSG := mw_CCR_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCRF_CCA_03 - CCR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; mw_diameter_msg_pass := { cCA_MSG := mw_CCA_resultCode }; mw_diameter_msg_fail := { cCA_MSG := mw_CCA_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCRF_CCA_03 - CCA", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_GX_PCRF_CCA_03 /** * Starts monitor component behavior for TP_GX_PCRF_CCA_04 * @param p_monitorCompRef Reference to monitor component ** Test objective "Verify that IUT receives CC-Answer from home PCRF and it sends CC-Answer towards home P-GW." * * Reference "TS 129 212 (V15.3.0) [9], clauses 4.5.1 (item 1) and 4a.5.1 (item 1)" * * Config Id CF_VxLTE_RMI * * Initial conditions with { * the UE_A entity isNotAttachedTo the EPC_B and * the UE_A entity isNotRegisteredTo the IMS_A * } * * ensure that { * when { * the EPC_PCRF_A entity sends an CCA * to the EPC_PCRF_B entity * } * then { * the EPC_PCRF_B entity sends the CCA containing * Result_Code_AVP * indicating value DIAMETER_SUCCESS * QoS_Information_AVP containing * APN_Aggregate_Max_Requested_Bandwidth_UL_AVP * APN_Aggregate_Max_Requested_Bandwidth_DL_AVP * Bearer_Identifier_AVP;, * Default_EPS_Bearer_QoS_AVP containing * QoS_Class_Identifier_AVP * indicating value '5' * Allocation_Retention_Priority_AVP containing * Priority_Level_AVP * Pre_emption_Capablity_AVP * Pre_emption_Vulnerability_AVP * ; * ; * ; * to the EPC_PGW_B entity * } * } ** @see TS 103 653-1 clause 7.7 */ function f_mtc_check_TP_GX_PCRF_CCA_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 := { cCA_MSG := mw_CCA_qosInformation_class5 }; var template DIAMETER_MSG mw_diameter_msg_fail := { cCA_MSG := mw_CCA_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCRF_CCA_04 - CCA", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_GX_PCRF_CCA_04 /** * Starts monitor component behavior for TP_GX_PCRF_CCA_04 * @param p_monitorCompRef Reference to monitor component ** Test objective "Verify that IUT receives CC-Answer from home PCRF and it sends CC-Answer towards home P-GW." * * Reference "TS 129 212 (V15.3.0) [9], clauses 4.5.1 (item 1) and 4a.5.1 (item 1)" * * Config Id CF_VxLTE_RMI * * Initial conditions with { * the UE_A entity isAttachedTo the EPC_B and * the UE_A entity isNotRegisteredTo the IMS_A * } * * ensure that { * when { * the EPC_PCRF_A entity sends an CCA * to the EPC_PCRF_B entity * } * then { * the EPC_PCRF_B entity sends the CCA containing * Result_Code_AVP * indicating value DIAMETER_SUCCESS * ; * to the EPC_PGW_B entity * } * } ** @see TS 103 653-1 clause 7.7 */ function f_mtc_check_TP_GX_PCRF_CCA_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 := { cCA_MSG := mw_CCA_resultCode }; var template DIAMETER_MSG mw_diameter_msg_fail := { cCA_MSG := mw_CCA_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCRF_CCA_05 - CCA", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_GX_PCRF_CCA_05 /** * Starts monitor component behavior for TP_GX_PCRF_RAR_01 * @param p_monitorCompRef Reference to monitor component ** Test objective "When IUT receives AA-Request from P-CSCF successfully sends an RA-Request due to the Session Bearer procedure" * ** * 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 sends an AAR * to the EPC_PCRF_A entity * } * then { * the EPC_PCRF_A entity sends the RAR containing * Charging_Rule_Install_AVP containing * Charging_Rule_Definition_AVP containing * Charging_Rule_Name_AVP * Flow_Information_AVP containing * Flow_Description_AVP * Flow_Status_AVP * Flows_AVP containing * Media_Component_Number_AVP * ;, * QOS_Information_AVP containing * QOS_Class_Identifier_AVP * indicating value * "QCI_1 for voice or * QCI_2 for video";, * Max_Requested_Bandwidth_UL_AVP * Max_Requested_Bandwidth_DL_AVP * Guaranteed_Bitrate_UL_AVP * Guaranteed_Bitrate_DL_AVP * Allocation_Retention_Priority_AVP * ; * ; * ; * ; * to the EPC_PGW_A entity * } * } ** @see TS 103 653-1 clause 7.7 */ function f_mtc_check_TP_GX_PCRF_RAR_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_ChargingRuleInstall(mw_chrgRuleInstall_Qos) }; var template DIAMETER_MSG mw_diameter_msg_fail := { rAR_MSG := mw_RAR_Gx_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCRF_RAR_01 - RAR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_GX_PCRF_RAR_01 /** * Starts monitor component behavior for TP_GX_PCRF_RAR_02 * @param p_monitorCompRef Reference to monitor component ** Test objective "When IUT receives ST-Request from P-CSCF to remove all relevant previously created bearers then IUT sends an RA-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 and * the UE_A entity previouslyEstablishedCallWith the UE_B * } * * 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 RAR containing * Charging_Rule_Remove_AVP containing * Charging_Rule_Name_AVP * ; * ; * to the EPC_PGW_A entity * } * } ** @see TS 103 653-1 clause 7.7 */ function f_mtc_check_TP_GX_PCRF_RAR_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 := { rAR_MSG := mw_RAR_ChargingRuleRemove }; var template DIAMETER_MSG mw_diameter_msg_fail := { rAR_MSG := mw_RAR_Gx_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCRF_RAR_02 - RAR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_GX_PCRF_RAR_02 /** * Starts monitor component behavior for TP_GX_PCRF_RAR_03 * @param p_monitorCompRef Reference to monitor component ** Test objective "When IUT receives AA-Answer from home PCRF then IUT sends an RA-Request due to the Session Bearer procedure" * ** * 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 { * the EPC_PCRF_A entity sends an AAA * to the EPC_PCRF_B entity * } * then { * the EPC_PCRF_B entity sends the RAR containing * Charging_Rule_Install_AVP containing * Charging_Rule_Definition_AVP containing * Charging_Rule_Name_AVP * Flow_Information_AVP containing * Flow_Description_AVP * Flow_Status_AVP * Flows_AVP containing * Media_Component_Number_AVP * ;, * QOS_Information_AVP containing * QOS_Class_Identifier_AVP * indicating value * "QCI_1 for voice or * QCI_2 for video";, * Max_Requested_Bandwidth_UL_AVP * Max_Requested_Bandwidth_DL_AVP * Guaranteed_Bitrate_UL_AVP * Guaranteed_Bitrate_DL_AVP * Allocation_Retention_Priority_AVP * ; * ; * ; * ; * to the EPC_PGW_A entity * } * } ** @see TS 103 653-1 clause 7.7 */ function f_mtc_check_TP_GX_PCRF_RAR_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 := { rAR_MSG := mw_RAR_ChargingRuleInstall(mw_chrgRuleInstall_Qos) }; //During validation some additions may be required var template DIAMETER_MSG mw_diameter_msg_fail := { rAR_MSG := mw_RAR_Gx_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCRF_RAR_03 - RAR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_GX_PCRF_RAR_03 /** * Starts monitor component behavior for TP_GX_PCRF_RAR_04 * @param p_monitorCompRef Reference to monitor component ** Test objective "When IUT receives ST-Answer from home PCRF then IUT sends an RA-Request." * ** * 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 an STA * to the EPC_PCRF_B entity * } * then { * the EPC_PCRF_B entity sends the RAR containing * Charging_Rule_Remove_AVP containing * Charging_Rule_Name_AVP * ; * ; * to the EPC_PGW_A entity * } * } ** @see TS 103 653-1 clause 7.7 */ function f_mtc_check_TP_GX_PCRF_RAR_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 := { rAR_MSG := mw_RAR_ChargingRuleRemove }; //During validation some additions may be required var template DIAMETER_MSG mw_diameter_msg_fail := { rAR_MSG := mw_RAR_Gx_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCRF_RAR_04 - RAR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_GX_PCRF_RAR_04 group ES{ /** * Starts monitor component behavior for TP_GX_PCRF_ECO_CCA_01 * @param p_monitorCompRef Reference to monitor component *Test objective "Verify that IUT when receives CC-Request for PCC Rules containing IMSI for emergency services sends a CC-Answer in case of attachment procedure." Reference "TS 129 212 [9], clauses 4.5.15.2.1" Config Id CF_VoLTE_INT_ES PICS Selection NONE Initial conditions with { the UE_A entity isNotAttachedTo the EPC_A and the UE_A entity isNotRegisteredTo the IMS_A } Expected behaviour ensure that { when { the EPC_PGW_A entity sends an CCR containing CC_Request_Type_AVP indicating value INITIAL_REQUEST Subscription_Id_AVP containing Subscription_Id_Type_AVP indicating value END_USER_IMSI;, IP_CAN_Type_AVP indicating value RestrictedToEmergencyServices, RAT_Type_AVP, Called_Station_Id_AVP indicating value "Emergency_APN" Framed_IP_Address_AVP "or" Framed_IP6_IP_Address_AVP QoS_Information_AVP Default_EPS_Bearer_QoS_AVP containing QoS_Class_Identifier_AVP indicating value '5' Allocation_Retention_Priority_AVP containing Priority_Level_AVP Pre_emption_Capablity_AVP Pre_emption_Vulnerability_AVP;;; to the EPC_PCRF_A entity } then { the EPC_PCRF_A entity sends the CCA containing Result_Code_AVP indicating value DIAMETER_SUCCESS; to the EPC_PGW_A entity } } ** @see TS 103 653-1 clause 7.7 */ function f_mtc_check_TP_GX_PCRF_ECO_CCA_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 := { cCR_MSG := mw_CCR_SubscriberIMSI_qosInformation_class5_ES(INITIAL_REQUEST_E) }; var template DIAMETER_MSG mw_diameter_msg_fail := { cCR_MSG := mw_CCR_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCRF_ECO_CCA_01 - CCR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; mw_diameter_msg_pass := { cCA_MSG := mw_CCA_resultCode }; mw_diameter_msg_fail := { cCA_MSG := mw_CCA_basic}; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCRF_ECO_CCA_01 - CCA", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_GX_PCRF_ECO_CCA_01 function f_mtc_check_TP_GX_PCRF_ECO_CCA_02( // FIXME To be reviewd 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 := { cCR_MSG := mw_CCR_SubscriberIMSI_qosInformation_class5_ES(INITIAL_REQUEST_E) }; var template DIAMETER_MSG mw_diameter_msg_fail := { cCR_MSG := mw_CCR_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCRF_ECO_CCA_02 - CCR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; mw_diameter_msg_pass := { cCA_MSG := mw_CCA_resultCode }; mw_diameter_msg_fail := { cCA_MSG := mw_CCA_basic}; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCRF_ECO_CCA_01 - CCA", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_GX_PCRF_ECO_CCA_02 /** * Starts monitor component behavior for TP_GX_PCRF_ECO_CCA_02 * @param p_monitorCompRef Reference to monitor component *Test objective "Verify that IUT when receives CC-Request for PCC Rules containing IMEI for emergency services sends a CC-Answer in case of attachment procedure." Reference "TS 129 212 [9], clauses 4.5.15.2.1" Config Id CF_VxLTE_INT PICS Selection NONE Initial conditions with { the UE_A entity isNotAttachedTo the EPC_A and the UE_A entity isNotRegisteredTo the IMS_A } Expected behaviour ensure that { when { the EPC_PGW_A entity sends an CCR containing CC_Request_Type_AVP indicating value INITIAL_REQUEST, User_Equipment_Info_AVP containing User_Equipment_Info_Type_AVP indicating value IMEISV User_Equipment_Info_Value_AVP;, IP_CAN_Type_AVP indicating value RestrictedToEmergencyServices, RAT_Type_AVP, Called_Station_Id_AVP indicating value "Emergency_APN" Framed_IP_Address_AVP "or" Framed_IP6_IP_Address_AVP QoS_Information_AVP Default_EPS_Bearer_QoS_AVP containing QoS_Class_Identifier_AVP indicating value '5' Allocation_Retention_Priority_AVP containing Priority_Level_AVP Pre_emption_Capablity_AVP Pre_emption_Vulnerability_AVP;;; to the EPC_PCRF_A entity } then { the EPC_PCRF_A entity sends the CCA containing Result_Code_AVP indicating value DIAMETER_SUCCESS; to the EPC_PGW_A entity } } ** @see TS 103 653-1 clause 7.7 */ function f_mtc_check_TP_GX_PCRF_EMC_CCA_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 := { cCR_MSG := mw_CCR_SubscriberIMEI_qosInformation_class5_ES(INITIAL_REQUEST_E) }; var template DIAMETER_MSG mw_diameter_msg_fail := { cCR_MSG := mw_CCR_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCRF_ECO_CCA_02 - CCR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; mw_diameter_msg_pass := { cCA_MSG := mw_CCA_resultCode }; mw_diameter_msg_fail := { cCA_MSG := mw_CCA_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCRF_ECO_CCA_02 - CCA", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_GX_PCRF_EMC_CCA_01 } //end group ES } // end group g_PCRF } // end module AtsImsIot_TP_behavior_GX