/* * @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 := { cCR_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 := { cCR_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 := { rAR_MSG := mw_RAA_resultCode }; mw_diameter_msg_fail := { cCR_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 := { cCR_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 := { rAR_MSG := mw_RAA_resultCode }; mw_diameter_msg_fail := { cCR_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 := { cCR_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 := { rAR_MSG := mw_RAA_resultCode }; mw_diameter_msg_fail := { cCR_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 := { cCR_MSG := mw_CCA_resultCode }; mw_diameter_msg_fail := { cCR_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 := mw_CCA_resultCode; mw_diameter_msg_fail := { cCR_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 := { cCR_MSG := mw_CCA_resultCode }; mw_diameter_msg_fail := { cCR_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 /** * 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 := { cCR_MSG := mw_CCA_resultCode }; mw_diameter_msg_fail := { cCR_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_ECO_CCA_02 } //end group ES } // end group g_PCRF } // end module AtsImsIot_TP_behavior_GX