Loading DiameterS9/ttcn/DiameterS9_S9_TCFunctions.ttcn3 +47 −2 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ module DiameterS9_S9_TCFunctions { import from LibDiameter_Templates all; import from LibDiameter_Interface all; import from LibDiameter_Steps all; import from LibDiameter_Types_Base_AVPs all; //DiameterS9 import from DiameterS9_Templates all; Loading Loading @@ -203,7 +204,10 @@ module DiameterS9_S9_TCFunctions { ) ); f_awaiting_CCA(mw_CCA_ResultCode_QosRuleInstall(vc_sessionId, vc_originHost_IUT, vc_originRealm_IUT, mw_resultCode(mw_resultCode_diameterSuccess),?)); f_awaiting_CCA(mw_CCA_ResultCode_SubsesDecInfo(vc_sessionId, vc_originHost_IUT, vc_originRealm_IUT, mw_resultCode(mw_resultCode_diameterSuccess), {mw_SubsesDecisionInfo_qosRuleInstall(mw_subsessionId_dummy(1),?)}) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync Loading @@ -217,6 +221,47 @@ module DiameterS9_S9_TCFunctions { } // end function TC_HPCRF_HSM_02 /* * @desc This is the test case function TC_PCRF_HA_03 * @param */ function f_TC_HPCRF_HSM_03() runs on DiameterComponent { f_preamble_VPCRF(); f_initiate_session_VPCRF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_UpdateRequest_SubSessEnfInf(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, {m_qoSRuleReport_dummy}, m_qoS_Information_dummy, // BBERF attributes TODO: to check more required AVPs {m_subsesEnforcementInfo_Operation(m_subsessionId_dummy(1), m_subsessionOperation_dummy(Subsession_Operation_Code:MODIFICATION_E))} ) ); f_awaiting_CCA(mw_CCA_ExpResult_SubsesDecInfo(vc_sessionId, vc_originHost_IUT, vc_originRealm_IUT, mw_experimentalResult(mw_expResultCode(DIAMETER_ERROR_SUBSESSION_E)), {(mw_SubsesDecisionInfo_resultCode(mw_subsessionId_dummy(1),?),mw_SubsesDecisionInfo_expResultCode(mw_subsessionId_dummy(1),?))} ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync //session termination f_terminate_session_VPCRF(); f_postamble_VPCRF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function TC_HPCRF_HSM_03 } // group TP_HPCRFRole_HSM } // group TP_HPCRFRole Loading DiameterS9/ttcn/DiameterS9_Templates.ttcn +41 −1 Original line number Diff line number Diff line Loading @@ -641,6 +641,33 @@ module DiameterS9_Templates { qoS_Rule_Install := p_qosRuleInstall } template Subses_Decision_Info_AVP mw_SubsesDecisionInfo_resultCode ( template (present) Subsession_Id_AVP p_subsessionId, template Result_Code_AVP p_resultCode) modifies mw_SubsesDecisionInfo_dummy := { result_Code := p_resultCode } template Subses_Decision_Info_AVP mw_SubsesDecisionInfo_expResultCode ( template (present) Subsession_Id_AVP p_subsessionId, template Experimental_Result_AVP p_experimentalResult) modifies mw_SubsesDecisionInfo_dummy := { experimental_Result := p_experimentalResult } template Experimental_Result_AVP mw_experimentalResult(template(present) Experimental_Result_Code_AVP p_ExperimentalResultCode) := { aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_experimental_Result_AVP_Code), vendor_Id := ?, experimental_Result_Code := p_ExperimentalResultCode } template Experimental_Result_Code_AVP mw_expResultCode(Experimental_Result_Type p_avpData) := { aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_experimental_Result_Code_AVP_Code), aVP_Data := p_avpData } }//end group awaitingTemplatesForAVPs } //end group SpecificAVPHeaders } //end group HeaderFieldTemplates Loading Loading @@ -944,6 +971,19 @@ module DiameterS9_Templates { } template CCA_MSG mw_CCA_ExpResult_SubsesDecInfo(template (present) Session_Id_AVP p_sessionId, template (present) Origin_Host_AVP p_originHost, template (present) Origin_Realm_AVP p_originRealm, template (present) Experimental_Result_AVP p_experimentalResult, template (present) CCA_MSG.cCA_Body.subsession_Decision_Info p_subsessionDecisionInfo ) modifies mw_CCA_basic := { cCA_Body := { experimental_Result := p_experimentalResult, subsession_Decision_Info := p_subsessionDecisionInfo } } } // end group S9modified_answer_templates_receive } //end group S9modified_templates Loading Loading
DiameterS9/ttcn/DiameterS9_S9_TCFunctions.ttcn3 +47 −2 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ module DiameterS9_S9_TCFunctions { import from LibDiameter_Templates all; import from LibDiameter_Interface all; import from LibDiameter_Steps all; import from LibDiameter_Types_Base_AVPs all; //DiameterS9 import from DiameterS9_Templates all; Loading Loading @@ -203,7 +204,10 @@ module DiameterS9_S9_TCFunctions { ) ); f_awaiting_CCA(mw_CCA_ResultCode_QosRuleInstall(vc_sessionId, vc_originHost_IUT, vc_originRealm_IUT, mw_resultCode(mw_resultCode_diameterSuccess),?)); f_awaiting_CCA(mw_CCA_ResultCode_SubsesDecInfo(vc_sessionId, vc_originHost_IUT, vc_originRealm_IUT, mw_resultCode(mw_resultCode_diameterSuccess), {mw_SubsesDecisionInfo_qosRuleInstall(mw_subsessionId_dummy(1),?)}) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync Loading @@ -217,6 +221,47 @@ module DiameterS9_S9_TCFunctions { } // end function TC_HPCRF_HSM_02 /* * @desc This is the test case function TC_PCRF_HA_03 * @param */ function f_TC_HPCRF_HSM_03() runs on DiameterComponent { f_preamble_VPCRF(); f_initiate_session_VPCRF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_UpdateRequest_SubSessEnfInf(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, {m_qoSRuleReport_dummy}, m_qoS_Information_dummy, // BBERF attributes TODO: to check more required AVPs {m_subsesEnforcementInfo_Operation(m_subsessionId_dummy(1), m_subsessionOperation_dummy(Subsession_Operation_Code:MODIFICATION_E))} ) ); f_awaiting_CCA(mw_CCA_ExpResult_SubsesDecInfo(vc_sessionId, vc_originHost_IUT, vc_originRealm_IUT, mw_experimentalResult(mw_expResultCode(DIAMETER_ERROR_SUBSESSION_E)), {(mw_SubsesDecisionInfo_resultCode(mw_subsessionId_dummy(1),?),mw_SubsesDecisionInfo_expResultCode(mw_subsessionId_dummy(1),?))} ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync //session termination f_terminate_session_VPCRF(); f_postamble_VPCRF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function TC_HPCRF_HSM_03 } // group TP_HPCRFRole_HSM } // group TP_HPCRFRole Loading
DiameterS9/ttcn/DiameterS9_Templates.ttcn +41 −1 Original line number Diff line number Diff line Loading @@ -641,6 +641,33 @@ module DiameterS9_Templates { qoS_Rule_Install := p_qosRuleInstall } template Subses_Decision_Info_AVP mw_SubsesDecisionInfo_resultCode ( template (present) Subsession_Id_AVP p_subsessionId, template Result_Code_AVP p_resultCode) modifies mw_SubsesDecisionInfo_dummy := { result_Code := p_resultCode } template Subses_Decision_Info_AVP mw_SubsesDecisionInfo_expResultCode ( template (present) Subsession_Id_AVP p_subsessionId, template Experimental_Result_AVP p_experimentalResult) modifies mw_SubsesDecisionInfo_dummy := { experimental_Result := p_experimentalResult } template Experimental_Result_AVP mw_experimentalResult(template(present) Experimental_Result_Code_AVP p_ExperimentalResultCode) := { aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_experimental_Result_AVP_Code), vendor_Id := ?, experimental_Result_Code := p_ExperimentalResultCode } template Experimental_Result_Code_AVP mw_expResultCode(Experimental_Result_Type p_avpData) := { aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_experimental_Result_Code_AVP_Code), aVP_Data := p_avpData } }//end group awaitingTemplatesForAVPs } //end group SpecificAVPHeaders } //end group HeaderFieldTemplates Loading Loading @@ -944,6 +971,19 @@ module DiameterS9_Templates { } template CCA_MSG mw_CCA_ExpResult_SubsesDecInfo(template (present) Session_Id_AVP p_sessionId, template (present) Origin_Host_AVP p_originHost, template (present) Origin_Realm_AVP p_originRealm, template (present) Experimental_Result_AVP p_experimentalResult, template (present) CCA_MSG.cCA_Body.subsession_Decision_Info p_subsessionDecisionInfo ) modifies mw_CCA_basic := { cCA_Body := { experimental_Result := p_experimentalResult, subsession_Decision_Info := p_subsessionDecisionInfo } } } // end group S9modified_answer_templates_receive } //end group S9modified_templates Loading