Commit f119acff authored by wattelet's avatar wattelet
Browse files

TC_VPCRF_VPQ_02 corrected

parent f565e903
Loading
Loading
Loading
Loading
+16 −15
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@ module DiameterS9_S9_TCFunctions {
    import from LibCommon_VerdictControl all ;

    // LibDiameter
	import from LibDiameter_Types_Gx_AVPs all;
    import from LibDiameter_Types_S9_AVPs all;
    import from LibDiameter_TypesAndValues all;
    import from LibDiameter_Templates all;
@@ -2655,6 +2656,20 @@ module DiameterS9_S9_TCFunctions {
            */
            function f_TC_VPCRF_VPQ_02()
            runs on DiameterComponent {
				var template Experimental_Result_AVP v_expResult := mw_experimentalResult ( mw_expResultCode ( DIAMETER_ERROR_SUBSESSION_E ) );
            	var template Experimental_Result_AVP v_expResult_subsess := mw_experimentalResult ( mw_expResultCode ( DIAMETER_PCC_RULE_EVENT_E ) );
				var template Result_Code_AVP v_result := mw_resultCode ( DIAMETER_ERROR_SUBSESSION_E );
				var template Subsession_Id_AVP v_subId :=  mw_subsessionId_dummy ( ? );
            	var template QoS_Information_AVP v_qOSinf :=  mw_qoS_Information_dummy;
				var template QoS_Rule_Name_AVP v_qoSRuleName := mw_qoSRuleName_dummy ( PX_QOS_RULE_NAME_NOT_ACCEPTABLE );
				var template Rule_Failure_Code_AVP v_ruleFailureCode := mw_ruleFailureCode_dummy ( UNSUCCESSFUL_QOS_VALIDATION_E );
            	var template QoS_Rule_Report_AVP v_qoSRuleReport :=  mw_qoSRuleReport_RuleName_FailureCode ( { v_qoSRuleName }, v_ruleFailureCode );
            	var template Subses_Enforcement_Info_AVP v_subsesEnfInfo := mw_subsesEnforcementInfo_qosInfo_ExpResult (
																				v_subId, v_qOSinf, { v_qoSRuleReport }, v_expResult_subsess );
            	var template RAA_MSG v_RAA1 := mw_RAA_ExpResult_SubsessEnfInfo (
            												vc_sessionId, +vc_originHost_IUT, vc_originRealm_IUT, v_expResult, { v_subsesEnfInfo } );
            	var template RAA_MSG v_RAA2 := mw_RAA_Result_SubsessEnfInfo (
															vc_sessionId, +vc_originHost_IUT, vc_originRealm_IUT, v_result, { v_subsesEnfInfo } );

                f_preamble_HPCRF();

@@ -2671,21 +2686,7 @@ module DiameterS9_S9_TCFunctions {
                                                                                    m_qosRuleInstall_RuleName(m_qoSRuleName_dummy(PX_QOS_RULE_NAME_NOT_ACCEPTABLE)))
                                               ));

                f_awaiting_RAA(mw_RAA_ExpResult_QoSRuleReport_QosInfo_SubsessEnfInfo
                                (vc_sessionId,
                                 vc_originHost_IUT,
                                 vc_originRealm_IUT,
                                 mw_experimentalResult(mw_expResultCode(DIAMETER_ERROR_SUBSESSION_E)),//experimental_result
                                 *,//qoS_Information within subsesEnforcementInfo
                                 *,//qoS_Rule_Report within subsesEnforcementInfo
                                 {mw_subsesEnforcementInfo_qosInfo_ExpResult
                                     (mw_subsessionId_dummy(?),
                                      mw_qoS_Information_dummy,//await QoS Information indicating acceptable Qos
                                      {mw_qoSRuleReport_RuleName_FailureCode({mw_qoSRuleName_dummy(PX_QOS_RULE_NAME_NOT_ACCEPTABLE)},
                                                                              mw_ruleFailureCode_dummy(UNSUCCESSFUL_QOS_VALIDATION_E))},
                                      mw_experimentalResult(mw_expResultCode(DIAMETER_PCC_RULE_EVENT_E))
                                      )}//subsesion_Enforcement_Info
                                 )); 
				f_awaiting_2RAA ( v_RAA1, v_RAA2 );

                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync

+37 −0
Original line number Diff line number Diff line
@@ -717,6 +717,17 @@ module DiameterS9_Templates {
                    qoS_Rule_Install := {p_qoS_Rule_Install}
                }

                template Subses_Decision_Info_AVP m_SubsesDecisionInfo_ChargingRuleInstall ( 	template Subsession_Id_AVP p_subsessionId,
                                                                                      			template Charging_Rule_Install_AVP p_charging_Rule_Install  )
                    modifies m_SubsesDecisionInfo_dummy := {
                    aVP_Header       := m_aVP_HeaderVid_Mbit1 (c_subsession_Decision_Info_AVP_Code,
                                                               lengthof ( encvalue ( p_subsessionId ) ) / 8 +
                                                               lengthof ( encvalue ( p_charging_Rule_Install ) ) / 8,
                                                               c_vendId3gpp ),
                    subsession_Id    := p_subsessionId,
					charging_Rule_Install := {p_charging_Rule_Install}
                }

                template Subses_Decision_Info_AVP m_SubsesDecisionInfo_SessRelCause(template Subsession_Id_AVP p_subsessionId,
                                                                                      template Subses_Decision_Info_AVP.session_Release_Cause p_session_Release_Cause  )
                    modifies m_SubsesDecisionInfo_dummy := {
@@ -1829,6 +1840,32 @@ module DiameterS9_Templates {
                    }
                }

                template RAA_MSG mw_RAA_ExpResult_SubsessEnfInfo
                  (template (present) Session_Id_AVP    p_sessionId,
                   template (present) Origin_Host_AVP   p_originHost,
                   template (present) Origin_Realm_AVP  p_originRealm,
                   template RAA_MSG.rAA_Body.experimental_Result p_experimental_result,
                   template RAA_MSG.rAA_Body.subsesion_Enforcement_Info p_subsesion_Enforcement_Info )
                modifies mw_RAA_basic := {
                    rAA_Body := {
                        experimental_Result           := p_experimental_result,
                        subsesion_Enforcement_Info    := p_subsesion_Enforcement_Info
                    }
                }

                template RAA_MSG mw_RAA_Result_SubsessEnfInfo
                  (template (present) Session_Id_AVP    p_sessionId,
                   template (present) Origin_Host_AVP   p_originHost,
                   template (present) Origin_Realm_AVP  p_originRealm,
                   template RAA_MSG.rAA_Body.result_Code p_result,
                   template RAA_MSG.rAA_Body.subsesion_Enforcement_Info p_subsesion_Enforcement_Info )
                modifies mw_RAA_basic := {
                    rAA_Body := {
						result_Code			          := p_result,
                        subsesion_Enforcement_Info    := p_subsesion_Enforcement_Info
                    }
                }

        	} // end group S9modified_answer_templates_receive
    	} //end group S9modified_templates
	} //end group S9MessageTemplates