Loading DiameterS9/ttcn/DiameterS9_S9_TCFunctions.ttcn3 +110 −2 Original line number Diff line number Diff line Loading @@ -220,7 +220,6 @@ module DiameterS9_S9_TCFunctions { } // end function TC_HPCRF_HSM_02 /* * @desc This is the test case function TC_PCRF_HA_03 * @param Loading Loading @@ -261,9 +260,118 @@ module DiameterS9_S9_TCFunctions { } // end function TC_HPCRF_HSM_03 /* * @desc This is the test case function TC_PCRF_HA_04 * @param */ function f_TC_HPCRF_HSM_04() 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_INITIAL_PARAMETERS_E)), {mw_SubsesDecisionInfo_dummy(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_04 } // group TP_HPCRFRole_HSM group TP_HPCRFRole_HPQ {//S9 Provision of QoS rules /* * @desc This is the test case function TC_HPCRF_HPQ_01 * @param */ function TC_HPCRF_HPQ_01() runs on DiameterComponent { f_preamble_VPCRF(); f_initiate_session_VPCRF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync action("Please trigger PCRF for RAR to provide a QoS rule."); //activation of PCC rule f_awaiting_RAR(mw_RAR_QosRuleInst(vc_sessionId, ?, ?, ?, ?, ?)); f_send_RAA(m_RAA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess))); 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_HPQ_01 /* * @desc This is the test case function TC_HPCRF_HPQ_02 * @param */ function TC_HPCRF_HPQ_02() runs on DiameterComponent { f_preamble_VPCRF(); f_initiate_session_VPCRF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync action("Please trigger PCRF for RAR to provide a QoS rule."); //activation of PCC rule f_awaiting_RAR(mw_RAR_SubsessDecInfo(vc_sessionId, ?, ?, ?, ?, {mw_SubsesDecisionInfo_qosRuleInstall(mw_subsessionId_dummy(1),?)})); f_send_RAA(m_RAA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess))); 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_HPQ_02 } // group TP_HPCRFRole_HPQ } // group TP_HPCRFRole group TP_VPCRFRole{ // §5.2.2 Loading DiameterS9/ttcn/DiameterS9_Templates.ttcn +41 −0 Original line number Diff line number Diff line Loading @@ -927,9 +927,50 @@ module DiameterS9_Templates { } } // end group S9modified_request_templates_send group S9modified_request_templates_receive { template RAR_MSG mw_RAR_QosRuleInst(template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, template Destination_Realm_AVP p_destinationRealm, template Destination_Host_AVP p_destinationHost, template RAR_MSG.rAR_Body.qoS_Rule_Install p_qoSRuleInstall) modifies mw_RAR_basic := { rAR_Body := { qoS_Rule_Install := p_qoSRuleInstall } } template RAR_MSG mw_RAR_SubsessDecInfo(template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, template Destination_Realm_AVP p_destinationRealm, template Destination_Host_AVP p_destinationHost, template RAR_MSG.rAR_Body.subsession_Decision_Info p_subsessionDecisionInfo) modifies mw_RAR_basic := { rAR_Body := { subsession_Decision_Info := p_subsessionDecisionInfo } } } // end group S9modified_request_templates_receive group S9modified_answer_templates_send { template RAA_MSG m_RAA_ResultCode(template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, template Result_Code_AVP p_resultCode) modifies m_RAA_basic := { rAA_Body := { result_Code := p_resultCode } } } // end group S9modified_answer_templates_send group S9modified_answer_templates_receive { template CCA_MSG mw_CCA_ResultCode(template (present) Session_Id_AVP p_sessionId, Loading Loading
DiameterS9/ttcn/DiameterS9_S9_TCFunctions.ttcn3 +110 −2 Original line number Diff line number Diff line Loading @@ -220,7 +220,6 @@ module DiameterS9_S9_TCFunctions { } // end function TC_HPCRF_HSM_02 /* * @desc This is the test case function TC_PCRF_HA_03 * @param Loading Loading @@ -261,9 +260,118 @@ module DiameterS9_S9_TCFunctions { } // end function TC_HPCRF_HSM_03 /* * @desc This is the test case function TC_PCRF_HA_04 * @param */ function f_TC_HPCRF_HSM_04() 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_INITIAL_PARAMETERS_E)), {mw_SubsesDecisionInfo_dummy(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_04 } // group TP_HPCRFRole_HSM group TP_HPCRFRole_HPQ {//S9 Provision of QoS rules /* * @desc This is the test case function TC_HPCRF_HPQ_01 * @param */ function TC_HPCRF_HPQ_01() runs on DiameterComponent { f_preamble_VPCRF(); f_initiate_session_VPCRF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync action("Please trigger PCRF for RAR to provide a QoS rule."); //activation of PCC rule f_awaiting_RAR(mw_RAR_QosRuleInst(vc_sessionId, ?, ?, ?, ?, ?)); f_send_RAA(m_RAA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess))); 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_HPQ_01 /* * @desc This is the test case function TC_HPCRF_HPQ_02 * @param */ function TC_HPCRF_HPQ_02() runs on DiameterComponent { f_preamble_VPCRF(); f_initiate_session_VPCRF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync action("Please trigger PCRF for RAR to provide a QoS rule."); //activation of PCC rule f_awaiting_RAR(mw_RAR_SubsessDecInfo(vc_sessionId, ?, ?, ?, ?, {mw_SubsesDecisionInfo_qosRuleInstall(mw_subsessionId_dummy(1),?)})); f_send_RAA(m_RAA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess))); 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_HPQ_02 } // group TP_HPCRFRole_HPQ } // group TP_HPCRFRole group TP_VPCRFRole{ // §5.2.2 Loading
DiameterS9/ttcn/DiameterS9_Templates.ttcn +41 −0 Original line number Diff line number Diff line Loading @@ -927,9 +927,50 @@ module DiameterS9_Templates { } } // end group S9modified_request_templates_send group S9modified_request_templates_receive { template RAR_MSG mw_RAR_QosRuleInst(template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, template Destination_Realm_AVP p_destinationRealm, template Destination_Host_AVP p_destinationHost, template RAR_MSG.rAR_Body.qoS_Rule_Install p_qoSRuleInstall) modifies mw_RAR_basic := { rAR_Body := { qoS_Rule_Install := p_qoSRuleInstall } } template RAR_MSG mw_RAR_SubsessDecInfo(template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, template Destination_Realm_AVP p_destinationRealm, template Destination_Host_AVP p_destinationHost, template RAR_MSG.rAR_Body.subsession_Decision_Info p_subsessionDecisionInfo) modifies mw_RAR_basic := { rAR_Body := { subsession_Decision_Info := p_subsessionDecisionInfo } } } // end group S9modified_request_templates_receive group S9modified_answer_templates_send { template RAA_MSG m_RAA_ResultCode(template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, template Result_Code_AVP p_resultCode) modifies m_RAA_basic := { rAA_Body := { result_Code := p_resultCode } } } // end group S9modified_answer_templates_send group S9modified_answer_templates_receive { template CCA_MSG mw_CCA_ResultCode(template (present) Session_Id_AVP p_sessionId, Loading