Loading DiameterS9/ttcn/DiameterS9_PIXITS.ttcn +5 −0 Original line number Diff line number Diff line Loading @@ -652,6 +652,11 @@ module DiameterS9_PIXITS */ modulepar octetstring PX_ROUTING_RULE_IDENTIFIER_VALUE := '08'O; /** @desc UInt32, PIXIT * QoS value exeeding the subscriber bandwidth */ modulepar UInt32 PX_QOS_EXCEEDING_SUBSCRIBER_BANDWIDTH := 9999; }//end group DiameterCommonGxxData } // end module DiameterS9_PIXITS No newline at end of file DiameterS9/ttcn/DiameterS9_S9_TCFunctions.ttcn3 +120 −1 Original line number Diff line number Diff line Loading @@ -782,7 +782,7 @@ module DiameterS9_S9_TCFunctions { group TP_HPCRFRole_VQR {//S9 visited access (QoS and PCC rules) /* * @desc This is the test case function TC_HPCRF_MS_01 * @desc This is the test case function TC_HPCRF_VQR_01 * @param */ function f_TC_HPCRF_VQR_01() Loading Loading @@ -819,6 +819,125 @@ module DiameterS9_S9_TCFunctions { } // end function TC_H_PCRF_VQR_01 /* * @desc This is the test case function TC_HPCRF_VQR_02 * @param */ function f_TC_HPCRF_VQR_02() runs on DiameterComponent { f_preamble_VPCRF(); f_initiate_session_VPCRF(); //TODO previous BBERF f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_UpdateRequest_SubSessEnfInf_EvTri_ChargRR_QoS(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, {m_event_Trigger(IP_CAN_CHANGE_E)}, {m_chargRuleReport_RNameStatus(valueof(m_chargingRuleName(PX_CHARGING_RULE_NAME_DATA)),valueof(m_pCC_Rule_Status(PX_PCC_RULE_STATUS)))}, {m_subsesEnforcementInfo_Operation(m_subsessionId_dummy(1), m_subsessionOperation_dummy(Subsession_Operation_Code:MODIFICATION_E))}, m_qoS_Information_maxReqBwUl(m_maxRequestedBandwidthUL(PX_QOS_EXCEEDING_SUBSCRIBER_BANDWIDTH)) // qosInfo )); f_awaiting_CCA(mw_CCA_ExpResult_SubsesDecInfo(vc_sessionId, vc_originHost_IUT, vc_originRealm_IUT, mw_experimentalResult(mw_expResultCode(DIAMETER_ERROR_SUBSESSION_E)), * // subsession dec. info ) ); 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_H_PCRF_VQR_02 /* * @desc This is the test case function TC_HPCRF_VQR_03 * @param */ function f_TC_HPCRF_VQR_03() runs on DiameterComponent { f_preamble_VPCRF(); f_initiate_session_VPCRF(); //TODO previous BBERF f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_UpdateRequest_SubSessEnfInf_EvTri_ChargRR(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, {m_event_Trigger(IP_CAN_CHANGE_E)}, {m_chargRuleReport_RNameStatus(valueof(m_chargingRuleName(PX_CHARGING_RULE_NAME_DATA)),valueof(m_pCC_Rule_Status(PX_PCC_RULE_STATUS)))}, {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_resultCode(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_H_PCRF_VQR_03 /* * @desc This is the test case function TC_HPCRF_VQR_04 * @param */ function f_TC_HPCRF_VQR_04() runs on DiameterComponent { f_preamble_VPCRF(); f_initiate_session_VPCRF(); //TODO previous BBERF f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_UpdateRequest_SubSessEnfInf_EvTri_ChargRR_QoS(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, {m_event_Trigger(IP_CAN_CHANGE_E)}, {m_chargRuleReport_RNameStatus(valueof(m_chargingRuleName(PX_CHARGING_RULE_NAME_DATA)),valueof(m_pCC_Rule_Status(PX_PCC_RULE_STATUS)))}, {m_subsesEnforcementInfo_Operation(m_subsessionId_dummy(1), m_subsessionOperation_dummy(Subsession_Operation_Code:MODIFICATION_E))}, m_qoS_Information_maxReqBwUl(m_maxRequestedBandwidthUL(PX_QOS_EXCEEDING_SUBSCRIBER_BANDWIDTH)) // qosInfo )); 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_resultCode(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_H_PCRF_VQR_04 } // group TP_HPCRFRole_VQR group TP_HPCRFRole_VPQ {//S9 visited access (Provision of QoS and PCC rules) Loading DiameterS9/ttcn/DiameterS9_Templates.ttcn +20 −1 Original line number Diff line number Diff line Loading @@ -1419,6 +1419,25 @@ module DiameterS9_Templates { } } template CCR_MSG m_CCR_UpdateRequest_SubSessEnfInf_EvTri_ChargRR_QoS (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 CCR_MSG.cCR_Body.event_Trigger p_event_Trigger, template CCR_MSG.cCR_Body.charging_Rule_Report p_charging_Rule_Report, template CCR_MSG.cCR_Body.subsesion_Enforcement_Info p_subsesionEnforcementInfo, template QoS_Information_AVP p_qosInformation ) modifies m_CCR_basic := { cCR_Body := { cC_Request_Type := m_cC_Request_Type ( UPDATE_REQUEST_E ), event_Trigger := p_event_Trigger, charging_Rule_Report := p_charging_Rule_Report, subsesion_Enforcement_Info := p_subsesionEnforcementInfo, qoS_Information := p_qosInformation } } template CCR_MSG m_CCR_UpdateRequest_SubSessEnfInf (template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, Loading DiameterS9/ttcn/DiameterS9_TestCases.ttcn +56 −0 Original line number Diff line number Diff line Loading @@ -447,6 +447,62 @@ module DiameterS9_TestCases f_cf_1S9_vpcrfDown(v_diameterComponent_vpcrf); } // end TC_HPCRF_VQR_01 /* * @desc TC_HPCRF_VQR_02 */ testcase TC_HPCRF_VQR_02() runs on ServerSyncComp system TestAdapter { //Variables var DiameterComponent v_diameterComponent_vpcrf; f_cf_1S9_vpcrfUp(v_diameterComponent_vpcrf); //Start v_diameterComponent_vpcrf.start(f_TC_HPCRF_VQR_02()); // synchronize PTC on 3 sychronization points f_serverSync1Client({c_prDone, c_tbDone, c_poDone}); f_cf_1S9_vpcrfDown(v_diameterComponent_vpcrf); } // end TC_HPCRF_VQR_02 /* * @desc TC_HPCRF_VQR_03 */ testcase TC_HPCRF_VQR_03() runs on ServerSyncComp system TestAdapter { //Variables var DiameterComponent v_diameterComponent_vpcrf; f_cf_1S9_vpcrfUp(v_diameterComponent_vpcrf); //Start v_diameterComponent_vpcrf.start(f_TC_HPCRF_VQR_03()); // synchronize PTC on 3 sychronization points f_serverSync1Client({c_prDone, c_tbDone, c_poDone}); f_cf_1S9_vpcrfDown(v_diameterComponent_vpcrf); } // end TC_HPCRF_VQR_03 /* * @desc TC_HPCRF_VQR_04 */ testcase TC_HPCRF_VQR_04() runs on ServerSyncComp system TestAdapter { //Variables var DiameterComponent v_diameterComponent_vpcrf; f_cf_1S9_vpcrfUp(v_diameterComponent_vpcrf); //Start v_diameterComponent_vpcrf.start(f_TC_HPCRF_VQR_04()); // synchronize PTC on 3 sychronization points f_serverSync1Client({c_prDone, c_tbDone, c_poDone}); f_cf_1S9_vpcrfDown(v_diameterComponent_vpcrf); } // end TC_HPCRF_VQR_04 }//end group TP_HPCRFRole_VQR group TP_HPCRFRole_VPQ {//S9 visited access (Provision of QoS and PCC rules) Loading DiameterS9/ttcn/DiameterS9_TestControl.ttcn3 +3 −0 Original line number Diff line number Diff line Loading @@ -56,6 +56,9 @@ module DiameterS9_TestControl { // 5.2.1.3.1 QoS and PCC Rules execute(TC_HPCRF_VQR_01()); execute(TC_HPCRF_VQR_02()); execute(TC_HPCRF_VQR_03()); execute(TC_HPCRF_VQR_04()); // 5.2.1.3.2 Provision of QoS and PCC Rules if (PICS_HPCRF_PULL_FOR_PCC_AND_QOS_RULE_PROVISIONING) { Loading Loading
DiameterS9/ttcn/DiameterS9_PIXITS.ttcn +5 −0 Original line number Diff line number Diff line Loading @@ -652,6 +652,11 @@ module DiameterS9_PIXITS */ modulepar octetstring PX_ROUTING_RULE_IDENTIFIER_VALUE := '08'O; /** @desc UInt32, PIXIT * QoS value exeeding the subscriber bandwidth */ modulepar UInt32 PX_QOS_EXCEEDING_SUBSCRIBER_BANDWIDTH := 9999; }//end group DiameterCommonGxxData } // end module DiameterS9_PIXITS No newline at end of file
DiameterS9/ttcn/DiameterS9_S9_TCFunctions.ttcn3 +120 −1 Original line number Diff line number Diff line Loading @@ -782,7 +782,7 @@ module DiameterS9_S9_TCFunctions { group TP_HPCRFRole_VQR {//S9 visited access (QoS and PCC rules) /* * @desc This is the test case function TC_HPCRF_MS_01 * @desc This is the test case function TC_HPCRF_VQR_01 * @param */ function f_TC_HPCRF_VQR_01() Loading Loading @@ -819,6 +819,125 @@ module DiameterS9_S9_TCFunctions { } // end function TC_H_PCRF_VQR_01 /* * @desc This is the test case function TC_HPCRF_VQR_02 * @param */ function f_TC_HPCRF_VQR_02() runs on DiameterComponent { f_preamble_VPCRF(); f_initiate_session_VPCRF(); //TODO previous BBERF f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_UpdateRequest_SubSessEnfInf_EvTri_ChargRR_QoS(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, {m_event_Trigger(IP_CAN_CHANGE_E)}, {m_chargRuleReport_RNameStatus(valueof(m_chargingRuleName(PX_CHARGING_RULE_NAME_DATA)),valueof(m_pCC_Rule_Status(PX_PCC_RULE_STATUS)))}, {m_subsesEnforcementInfo_Operation(m_subsessionId_dummy(1), m_subsessionOperation_dummy(Subsession_Operation_Code:MODIFICATION_E))}, m_qoS_Information_maxReqBwUl(m_maxRequestedBandwidthUL(PX_QOS_EXCEEDING_SUBSCRIBER_BANDWIDTH)) // qosInfo )); f_awaiting_CCA(mw_CCA_ExpResult_SubsesDecInfo(vc_sessionId, vc_originHost_IUT, vc_originRealm_IUT, mw_experimentalResult(mw_expResultCode(DIAMETER_ERROR_SUBSESSION_E)), * // subsession dec. info ) ); 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_H_PCRF_VQR_02 /* * @desc This is the test case function TC_HPCRF_VQR_03 * @param */ function f_TC_HPCRF_VQR_03() runs on DiameterComponent { f_preamble_VPCRF(); f_initiate_session_VPCRF(); //TODO previous BBERF f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_UpdateRequest_SubSessEnfInf_EvTri_ChargRR(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, {m_event_Trigger(IP_CAN_CHANGE_E)}, {m_chargRuleReport_RNameStatus(valueof(m_chargingRuleName(PX_CHARGING_RULE_NAME_DATA)),valueof(m_pCC_Rule_Status(PX_PCC_RULE_STATUS)))}, {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_resultCode(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_H_PCRF_VQR_03 /* * @desc This is the test case function TC_HPCRF_VQR_04 * @param */ function f_TC_HPCRF_VQR_04() runs on DiameterComponent { f_preamble_VPCRF(); f_initiate_session_VPCRF(); //TODO previous BBERF f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_UpdateRequest_SubSessEnfInf_EvTri_ChargRR_QoS(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, {m_event_Trigger(IP_CAN_CHANGE_E)}, {m_chargRuleReport_RNameStatus(valueof(m_chargingRuleName(PX_CHARGING_RULE_NAME_DATA)),valueof(m_pCC_Rule_Status(PX_PCC_RULE_STATUS)))}, {m_subsesEnforcementInfo_Operation(m_subsessionId_dummy(1), m_subsessionOperation_dummy(Subsession_Operation_Code:MODIFICATION_E))}, m_qoS_Information_maxReqBwUl(m_maxRequestedBandwidthUL(PX_QOS_EXCEEDING_SUBSCRIBER_BANDWIDTH)) // qosInfo )); 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_resultCode(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_H_PCRF_VQR_04 } // group TP_HPCRFRole_VQR group TP_HPCRFRole_VPQ {//S9 visited access (Provision of QoS and PCC rules) Loading
DiameterS9/ttcn/DiameterS9_Templates.ttcn +20 −1 Original line number Diff line number Diff line Loading @@ -1419,6 +1419,25 @@ module DiameterS9_Templates { } } template CCR_MSG m_CCR_UpdateRequest_SubSessEnfInf_EvTri_ChargRR_QoS (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 CCR_MSG.cCR_Body.event_Trigger p_event_Trigger, template CCR_MSG.cCR_Body.charging_Rule_Report p_charging_Rule_Report, template CCR_MSG.cCR_Body.subsesion_Enforcement_Info p_subsesionEnforcementInfo, template QoS_Information_AVP p_qosInformation ) modifies m_CCR_basic := { cCR_Body := { cC_Request_Type := m_cC_Request_Type ( UPDATE_REQUEST_E ), event_Trigger := p_event_Trigger, charging_Rule_Report := p_charging_Rule_Report, subsesion_Enforcement_Info := p_subsesionEnforcementInfo, qoS_Information := p_qosInformation } } template CCR_MSG m_CCR_UpdateRequest_SubSessEnfInf (template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, Loading
DiameterS9/ttcn/DiameterS9_TestCases.ttcn +56 −0 Original line number Diff line number Diff line Loading @@ -447,6 +447,62 @@ module DiameterS9_TestCases f_cf_1S9_vpcrfDown(v_diameterComponent_vpcrf); } // end TC_HPCRF_VQR_01 /* * @desc TC_HPCRF_VQR_02 */ testcase TC_HPCRF_VQR_02() runs on ServerSyncComp system TestAdapter { //Variables var DiameterComponent v_diameterComponent_vpcrf; f_cf_1S9_vpcrfUp(v_diameterComponent_vpcrf); //Start v_diameterComponent_vpcrf.start(f_TC_HPCRF_VQR_02()); // synchronize PTC on 3 sychronization points f_serverSync1Client({c_prDone, c_tbDone, c_poDone}); f_cf_1S9_vpcrfDown(v_diameterComponent_vpcrf); } // end TC_HPCRF_VQR_02 /* * @desc TC_HPCRF_VQR_03 */ testcase TC_HPCRF_VQR_03() runs on ServerSyncComp system TestAdapter { //Variables var DiameterComponent v_diameterComponent_vpcrf; f_cf_1S9_vpcrfUp(v_diameterComponent_vpcrf); //Start v_diameterComponent_vpcrf.start(f_TC_HPCRF_VQR_03()); // synchronize PTC on 3 sychronization points f_serverSync1Client({c_prDone, c_tbDone, c_poDone}); f_cf_1S9_vpcrfDown(v_diameterComponent_vpcrf); } // end TC_HPCRF_VQR_03 /* * @desc TC_HPCRF_VQR_04 */ testcase TC_HPCRF_VQR_04() runs on ServerSyncComp system TestAdapter { //Variables var DiameterComponent v_diameterComponent_vpcrf; f_cf_1S9_vpcrfUp(v_diameterComponent_vpcrf); //Start v_diameterComponent_vpcrf.start(f_TC_HPCRF_VQR_04()); // synchronize PTC on 3 sychronization points f_serverSync1Client({c_prDone, c_tbDone, c_poDone}); f_cf_1S9_vpcrfDown(v_diameterComponent_vpcrf); } // end TC_HPCRF_VQR_04 }//end group TP_HPCRFRole_VQR group TP_HPCRFRole_VPQ {//S9 visited access (Provision of QoS and PCC rules) Loading
DiameterS9/ttcn/DiameterS9_TestControl.ttcn3 +3 −0 Original line number Diff line number Diff line Loading @@ -56,6 +56,9 @@ module DiameterS9_TestControl { // 5.2.1.3.1 QoS and PCC Rules execute(TC_HPCRF_VQR_01()); execute(TC_HPCRF_VQR_02()); execute(TC_HPCRF_VQR_03()); execute(TC_HPCRF_VQR_04()); // 5.2.1.3.2 Provision of QoS and PCC Rules if (PICS_HPCRF_PULL_FOR_PCC_AND_QOS_RULE_PROVISIONING) { Loading