Compare Revisions

The credentials to download the source code are:
 Username: svnusers
 Password: svnusers

Ignore whitespace Rev 58 → Rev 59

/trunk/DiameterS9/ttcn/DiameterS9_PIXITS.ttcn
652,6 → 652,11
*/
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
/trunk/DiameterS9/ttcn/DiameterS9_S9_TCFunctions.ttcn3
782,7 → 782,7
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()
818,7 → 818,126
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
 
} // 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)
/trunk/DiameterS9/ttcn/DiameterS9_Templates.ttcn
1418,7 → 1418,26
subsesion_Enforcement_Info := p_subsesionEnforcementInfo
}
}
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,
/trunk/DiameterS9/ttcn/DiameterS9_TestCases.ttcn
447,6 → 447,62
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)
/trunk/DiameterS9/ttcn/DiameterS9_TestControl.ttcn3
56,6 → 56,9
 
// 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) {