Loading DiameterGx/ttcn/DiameterGx_Gx_TCFunctions.ttcn +144 −4 Original line number Diff line number Diff line Loading @@ -446,7 +446,8 @@ module DiameterGx_Gx_TCFunctions { f_awaiting_CCA(mw_CCA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, mw_resultCode(mw_resultCode_diameterSuccess))); //activation of PCC rule f_awaiting_RAR(mw_RAR_PCCrules_ChrgRuleInstall(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, mw_chrgRuleInstall_Name)); f_awaiting_RAR(mw_RAR_PCCrules_ChrgRuleInstall(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, mw_chrgRuleInstall_Name)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync Loading Loading @@ -479,11 +480,13 @@ module DiameterGx_Gx_TCFunctions { f_awaiting_CCA(mw_CCA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, mw_resultCode(mw_resultCode_diameterSuccess))); //activation of PCC rule f_awaiting_RAR(mw_RAR_PCCrules_ChrgRuleInstall(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, mw_chrgRuleInstall_Name)); f_awaiting_RAR(mw_RAR_PCCrules_ChrgRuleInstall(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, mw_chrgRuleInstall_Name)); f_send_RAA(m_RAA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess))); //deactivation of PCC rule f_awaiting_RAR(mw_RAR_PCCrules_ChrgRuleRemove(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost)); f_awaiting_RAR(mw_RAR_PCCrules_ChrgRuleRemove(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, mw_chrgRuleRemove_Name)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync Loading Loading @@ -516,7 +519,8 @@ module DiameterGx_Gx_TCFunctions { f_awaiting_CCA(mw_CCA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, mw_resultCode(mw_resultCode_diameterSuccess))); //activation of PCC rules f_awaiting_RAR(mw_RAR_PCCrules_ChrgRuleInstall(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, mw_chrgRuleInstall_BaseName)); f_awaiting_RAR(mw_RAR_PCCrules_ChrgRuleInstall(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, mw_chrgRuleInstall_BaseName)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync Loading @@ -533,6 +537,142 @@ module DiameterGx_Gx_TCFunctions { } // end function f_TC_PCRF_PCC_03 /* * @desc This is the test case function TC_PCRF_PCC_04 * @param */ function f_TC_PCRF_PCC_04() runs on DiameterComponent { f_preamble_PCEF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync //establishement of the session f_send_CCR(m_CCR_InitialRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, f_framedIpAddress4_send(),f_framedIpAddress6_send())); f_awaiting_CCA(mw_CCA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, mw_resultCode(mw_resultCode_diameterSuccess))); //request confirmation of resource allocation for PCC rule f_awaiting_RAR(mw_RAR_PCCrules_ChrgRuleInstall_EventTrigger(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, mw_chrgRuleInstall_Name_resAllocNotif)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_send_RAA(m_RAA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess))); //postamble //session termination f_send_CCR(m_CCR_TerminationRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm)); f_awaiting_CCA(mw_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm)); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_postamble_PCEF(); } // end function f_TC_PCRF_PCC_04 /* * @desc This is the test case function TC_PCRF_PCC_05 * @param */ function f_TC_PCRF_PCC_05() runs on DiameterComponent { f_preamble_PCEF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync //establishement of the session f_send_CCR(m_CCR_InitialRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, f_framedIpAddress4_send(),f_framedIpAddress6_send())); f_awaiting_CCA(mw_CCA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, mw_resultCode(mw_resultCode_diameterSuccess))); //modification of PCC rule f_awaiting_RAR(mw_RAR_PCCrules_ChrgRuleInstall(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, mw_chrgRuleInstall_Definition)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_send_RAA(m_RAA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess))); //postamble //session termination f_send_CCR(m_CCR_TerminationRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm)); f_awaiting_CCA(mw_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm)); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_postamble_PCEF(); } // end function f_TC_PCRF_PCC_05 /* * @desc This is the test case function TC_PCRF_PCC_06 * @param */ function f_TC_PCRF_PCC_06() runs on DiameterComponent { f_preamble_PCEF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync //establishement of the session f_send_CCR(m_CCR_InitialRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, f_framedIpAddress4_send(),f_framedIpAddress6_send())); f_awaiting_CCA(mw_CCA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, mw_resultCode(mw_resultCode_diameterSuccess))); //remove PCC rule f_awaiting_RAR(mw_RAR_PCCrules_ChrgRuleRemove(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, mw_chrgRuleRemove_Name)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_send_RAA(m_RAA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess))); //postamble //session termination f_send_CCR(m_CCR_TerminationRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm)); f_awaiting_CCA(mw_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm)); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_postamble_PCEF(); } // end function f_TC_PCRF_PCC_06 /* * @desc This is the test case function TC_PCRF_PCC_07 * @param */ function f_TC_PCRF_PCC_07() runs on DiameterComponent { f_preamble_PCEF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync //establishement of the session f_send_CCR(m_CCR_InitialRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, f_framedIpAddress4_send(),f_framedIpAddress6_send())); f_awaiting_CCA(mw_CCA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, mw_resultCode(mw_resultCode_diameterSuccess))); //remove group of PCC rules f_awaiting_RAR(mw_RAR_PCCrules_ChrgRuleRemove(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, mw_chrgRuleRemove_BaseName)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_send_RAA(m_RAA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess))); //postamble //session termination f_send_CCR(m_CCR_TerminationRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm)); f_awaiting_CCA(mw_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm)); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_postamble_PCEF(); } // end function f_TC_PCRF_PCC_07 }//end group TP_PCRFRole_PCC group TP_PCRFRole_EMS { //Emergency services }//end group TP_PCRFRole_EMS Loading DiameterGx/ttcn/DiameterGx_Templates.ttcn +86 −16 Original line number Diff line number Diff line Loading @@ -98,6 +98,29 @@ module DiameterGx_Templates { aVP_Type := * } template Charging_Rule_Definition_AVP mw_chrgRuleDefinition_dummy := { aVP_Header := mw_aVP_Header_any, charging_Rule_Name := ?, service_Identifier := *, rating_Group := *, flow_Information := *, flow_Status := *, qoS_Information := *, reporting_Level := *, online := *, offline := *, metering_Method := *, precedence := *, aF_Charging_Identifier := *, flows := *, monitoring_Key := *, aF_Signalling_Protocol := *, sponsor_Identity := *, application_Service_Provider_Identity := *, aVP_Type := * } } //end group DummyAVPHeaders group SpecificAVPHeaders { Loading Loading @@ -515,28 +538,63 @@ module DiameterGx_Templates { template Charging_Rule_Install_AVP mw_chrgRuleInstall_Name modifies mw_chrgRuleInstall_dummy:= { aVP_Header := mw_aVP_Header_any, charging_Rule_Name := {{ aVP_Header := ?, aVP_Data := ? }} charging_Rule_Name := {mw_chrgRuleName} } template Charging_Rule_Install_AVP mw_chrgRuleInstall_Name_resAllocNotif modifies mw_chrgRuleInstall_dummy := { aVP_Header := mw_aVP_Header_any, charging_Rule_Name := {mw_chrgRuleName}, resource_Allocation_Notification := mw_resourceAllocNotif } template Charging_Rule_Install_AVP mw_chrgRuleInstall_Definition modifies mw_chrgRuleInstall_dummy := { aVP_Header := mw_aVP_Header_any, charging_Rule_Definition := {mw_chrgRuleDefinition}, charging_Rule_Name := {mw_chrgRuleName} } template Charging_Rule_Install_AVP mw_chrgRuleInstall_BaseName modifies mw_chrgRuleInstall_dummy:= { aVP_Header := mw_aVP_Header_any, charging_Rule_Base_Name := {{ aVP_Header := ?, aVP_Data := ? }} charging_Rule_Base_Name := {mw_chrgRuleBaseName} } template Charging_Rule_Remove_AVP mw_chrgRuleRemove_Name modifies mw_chrgRuleRemove_dummy:= { aVP_Header := mw_aVP_Header_any, charging_Rule_Name := {mw_chrgRuleName} } template Charging_Rule_Remove_AVP mw_chrgRuleRemove_BaseName modifies mw_chrgRuleRemove_dummy:= { aVP_Header := mw_aVP_Header_any, charging_Rule_Base_Name := {mw_chrgRuleBaseName} } template Charging_Rule_Remove_AVP mw_chrgRuleRemove modifies mw_chrgRuleRemove_dummy:= template Charging_Rule_Definition_AVP mw_chrgRuleDefinition modifies mw_chrgRuleDefinition_dummy:= { aVP_Header := mw_aVP_Header_any, charging_Rule_Name := {{ aVP_Header := ?, aVP_Data := ? }} charging_Rule_Name := mw_chrgRuleName } template Charging_Rule_Name_AVP mw_chrgRuleName:= { aVP_Header := mw_aVP_Header_any, aVP_Data := ? //or PX_CHARGING_RULE_NAME_DATA } template Charging_Rule_Base_Name_AVP mw_chrgRuleBaseName:= { aVP_Header := mw_aVP_Header_any, aVP_Data := ? //or PX_CHARGING_RULE_BASE_NAME_DATA } template Resource_Allocation_Notification_AVP mw_resourceAllocNotif:= { aVP_Header := mw_aVP_Header_any, aVP_Data := ENABLE_NOTIFICATION_E } }//end group awaitingTemplatesForAVPs Loading Loading @@ -849,13 +907,25 @@ module DiameterGx_Templates { charging_Rule_Install := {p_chrgRuleInstall} } template RAR_MSG mw_RAR_PCCrules_ChrgRuleInstall_EventTrigger(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 Charging_Rule_Install_AVP p_chrgRuleInstall ) modifies mw_RAR_basic := { charging_Rule_Install := {p_chrgRuleInstall}, event_Trigger := {m_event_Trigger(SUCCESSFUL_RESOURCE_ALLOCATION_E)} } template RAR_MSG mw_RAR_PCCrules_ChrgRuleRemove(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 Destination_Host_AVP p_destinationHost, template Charging_Rule_Remove_AVP p_chrgRuleRemove ) modifies mw_RAR_basic := { charging_Rule_Remove := {mw_chrgRuleRemove} charging_Rule_Remove := {p_chrgRuleRemove} } } // end group Gxmodified_request_templates_receive Loading DiameterGx/ttcn/DiameterGx_TestCases.ttcn +213 −2 Original line number Diff line number Diff line Loading @@ -268,9 +268,220 @@ module DiameterGx_TestCases }//end group TP_PCRFRole_INV group TP_PCRFRole_ST { //Session Termination /* * @desc TC_PCRF_ST_01 * @param p_cSeq_s Transaction Id */ testcase TC_PCRF_ST_01() runs on ServerSyncComp system TestAdapter { //Variables var DiameterComponent v_diameterComponent_pcef; f_cf_1GxEUp(v_diameterComponent_pcef); //Start v_diameterComponent_pcef.start(f_TC_PCRF_ST_01()); // synchronize PTC on 3 sychronization points f_serverSync1Client({c_prDone, c_tbDone, c_poDone}); f_cf_1GxEDown(v_diameterComponent_pcef); } // end TC_PCRF_ST_01 /* * @desc TC_PCRF_ST_02 * @param p_cSeq_s Transaction Id */ testcase TC_PCRF_ST_02() runs on ServerSyncComp system TestAdapter { //Variables var DiameterComponent v_diameterComponent_pcef; f_cf_1GxEUp(v_diameterComponent_pcef); //Start v_diameterComponent_pcef.start(f_TC_PCRF_ST_02()); // synchronize PTC on 3 sychronization points f_serverSync1Client({c_prDone, c_tbDone, c_poDone}); f_cf_1GxEDown(v_diameterComponent_pcef); } // end TC_PCRF_ST_02 /* * @desc TC_PCRF_ST_03 * @param p_cSeq_s Transaction Id */ testcase TC_PCRF_ST_03() runs on ServerSyncComp system TestAdapter { //Variables var DiameterComponent v_diameterComponent_pcef; f_cf_1GxEUp(v_diameterComponent_pcef); //Start v_diameterComponent_pcef.start(f_TC_PCRF_ST_03()); // synchronize PTC on 3 sychronization points f_serverSync1Client({c_prDone, c_tbDone, c_poDone}); f_cf_1GxEDown(v_diameterComponent_pcef); } // end TC_PCRF_ST_03 }//end group TP_PCRFRole_ST group TP_PCRFRole_PCC { //PCC rules /* * @desc TC_PCRF_PCC_01 * @param p_cSeq_s Transaction Id */ testcase TC_PCRF_PCC_01() runs on ServerSyncComp system TestAdapter { //Variables var DiameterComponent v_diameterComponent_pcef; f_cf_1GxEUp(v_diameterComponent_pcef); //Start v_diameterComponent_pcef.start(f_TC_PCRF_PCC_01()); // synchronize PTC on 3 sychronization points f_serverSync1Client({c_prDone, c_tbDone, c_poDone}); f_cf_1GxEDown(v_diameterComponent_pcef); } // end TC_PCRF_PCC_01 /* * @desc TC_PCRF_PCC_02 * @param p_cSeq_s Transaction Id */ testcase TC_PCRF_PCC_02() runs on ServerSyncComp system TestAdapter { //Variables var DiameterComponent v_diameterComponent_pcef; f_cf_1GxEUp(v_diameterComponent_pcef); //Start v_diameterComponent_pcef.start(f_TC_PCRF_PCC_02()); // synchronize PTC on 3 sychronization points f_serverSync1Client({c_prDone, c_tbDone, c_poDone}); f_cf_1GxEDown(v_diameterComponent_pcef); } // end TC_PCRF_PCC_02 /* * @desc TC_PCRF_PCC_03 * @param p_cSeq_s Transaction Id */ testcase TC_PCRF_PCC_03() runs on ServerSyncComp system TestAdapter { //Variables var DiameterComponent v_diameterComponent_pcef; f_cf_1GxEUp(v_diameterComponent_pcef); //Start v_diameterComponent_pcef.start(f_TC_PCRF_PCC_03()); // synchronize PTC on 3 sychronization points f_serverSync1Client({c_prDone, c_tbDone, c_poDone}); f_cf_1GxEDown(v_diameterComponent_pcef); } // end TC_PCRF_PCC_03 /* * @desc TC_PCRF_PCC_04 * @param p_cSeq_s Transaction Id */ testcase TC_PCRF_PCC_04() runs on ServerSyncComp system TestAdapter { //Variables var DiameterComponent v_diameterComponent_pcef; f_cf_1GxEUp(v_diameterComponent_pcef); //Start v_diameterComponent_pcef.start(f_TC_PCRF_PCC_04()); // synchronize PTC on 3 sychronization points f_serverSync1Client({c_prDone, c_tbDone, c_poDone}); f_cf_1GxEDown(v_diameterComponent_pcef); } // end TC_PCRF_PCC_04 /* * @desc TC_PCRF_PCC_05 * @param p_cSeq_s Transaction Id */ testcase TC_PCRF_PCC_05() runs on ServerSyncComp system TestAdapter { //Variables var DiameterComponent v_diameterComponent_pcef; f_cf_1GxEUp(v_diameterComponent_pcef); //Start v_diameterComponent_pcef.start(f_TC_PCRF_PCC_05()); // synchronize PTC on 3 sychronization points f_serverSync1Client({c_prDone, c_tbDone, c_poDone}); f_cf_1GxEDown(v_diameterComponent_pcef); } // end TC_PCRF_PCC_05 /* * @desc TC_PCRF_PCC_06 * @param p_cSeq_s Transaction Id */ testcase TC_PCRF_PCC_06() runs on ServerSyncComp system TestAdapter { //Variables var DiameterComponent v_diameterComponent_pcef; f_cf_1GxEUp(v_diameterComponent_pcef); //Start v_diameterComponent_pcef.start(f_TC_PCRF_PCC_06()); // synchronize PTC on 3 sychronization points f_serverSync1Client({c_prDone, c_tbDone, c_poDone}); f_cf_1GxEDown(v_diameterComponent_pcef); } // end TC_PCRF_PCC_06 /* * @desc TC_PCRF_PCC_07 * @param p_cSeq_s Transaction Id */ testcase TC_PCRF_PCC_07() runs on ServerSyncComp system TestAdapter { //Variables var DiameterComponent v_diameterComponent_pcef; f_cf_1GxEUp(v_diameterComponent_pcef); //Start v_diameterComponent_pcef.start(f_TC_PCRF_PCC_07()); // synchronize PTC on 3 sychronization points f_serverSync1Client({c_prDone, c_tbDone, c_poDone}); f_cf_1GxEDown(v_diameterComponent_pcef); } // end TC_PCRF_PCC_07 }//end group TP_PCRFRole_PCC group TP_PCRFRole_EMS { //Emergency services Loading Loading
DiameterGx/ttcn/DiameterGx_Gx_TCFunctions.ttcn +144 −4 Original line number Diff line number Diff line Loading @@ -446,7 +446,8 @@ module DiameterGx_Gx_TCFunctions { f_awaiting_CCA(mw_CCA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, mw_resultCode(mw_resultCode_diameterSuccess))); //activation of PCC rule f_awaiting_RAR(mw_RAR_PCCrules_ChrgRuleInstall(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, mw_chrgRuleInstall_Name)); f_awaiting_RAR(mw_RAR_PCCrules_ChrgRuleInstall(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, mw_chrgRuleInstall_Name)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync Loading Loading @@ -479,11 +480,13 @@ module DiameterGx_Gx_TCFunctions { f_awaiting_CCA(mw_CCA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, mw_resultCode(mw_resultCode_diameterSuccess))); //activation of PCC rule f_awaiting_RAR(mw_RAR_PCCrules_ChrgRuleInstall(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, mw_chrgRuleInstall_Name)); f_awaiting_RAR(mw_RAR_PCCrules_ChrgRuleInstall(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, mw_chrgRuleInstall_Name)); f_send_RAA(m_RAA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess))); //deactivation of PCC rule f_awaiting_RAR(mw_RAR_PCCrules_ChrgRuleRemove(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost)); f_awaiting_RAR(mw_RAR_PCCrules_ChrgRuleRemove(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, mw_chrgRuleRemove_Name)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync Loading Loading @@ -516,7 +519,8 @@ module DiameterGx_Gx_TCFunctions { f_awaiting_CCA(mw_CCA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, mw_resultCode(mw_resultCode_diameterSuccess))); //activation of PCC rules f_awaiting_RAR(mw_RAR_PCCrules_ChrgRuleInstall(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, mw_chrgRuleInstall_BaseName)); f_awaiting_RAR(mw_RAR_PCCrules_ChrgRuleInstall(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, mw_chrgRuleInstall_BaseName)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync Loading @@ -533,6 +537,142 @@ module DiameterGx_Gx_TCFunctions { } // end function f_TC_PCRF_PCC_03 /* * @desc This is the test case function TC_PCRF_PCC_04 * @param */ function f_TC_PCRF_PCC_04() runs on DiameterComponent { f_preamble_PCEF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync //establishement of the session f_send_CCR(m_CCR_InitialRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, f_framedIpAddress4_send(),f_framedIpAddress6_send())); f_awaiting_CCA(mw_CCA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, mw_resultCode(mw_resultCode_diameterSuccess))); //request confirmation of resource allocation for PCC rule f_awaiting_RAR(mw_RAR_PCCrules_ChrgRuleInstall_EventTrigger(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, mw_chrgRuleInstall_Name_resAllocNotif)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_send_RAA(m_RAA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess))); //postamble //session termination f_send_CCR(m_CCR_TerminationRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm)); f_awaiting_CCA(mw_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm)); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_postamble_PCEF(); } // end function f_TC_PCRF_PCC_04 /* * @desc This is the test case function TC_PCRF_PCC_05 * @param */ function f_TC_PCRF_PCC_05() runs on DiameterComponent { f_preamble_PCEF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync //establishement of the session f_send_CCR(m_CCR_InitialRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, f_framedIpAddress4_send(),f_framedIpAddress6_send())); f_awaiting_CCA(mw_CCA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, mw_resultCode(mw_resultCode_diameterSuccess))); //modification of PCC rule f_awaiting_RAR(mw_RAR_PCCrules_ChrgRuleInstall(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, mw_chrgRuleInstall_Definition)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_send_RAA(m_RAA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess))); //postamble //session termination f_send_CCR(m_CCR_TerminationRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm)); f_awaiting_CCA(mw_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm)); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_postamble_PCEF(); } // end function f_TC_PCRF_PCC_05 /* * @desc This is the test case function TC_PCRF_PCC_06 * @param */ function f_TC_PCRF_PCC_06() runs on DiameterComponent { f_preamble_PCEF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync //establishement of the session f_send_CCR(m_CCR_InitialRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, f_framedIpAddress4_send(),f_framedIpAddress6_send())); f_awaiting_CCA(mw_CCA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, mw_resultCode(mw_resultCode_diameterSuccess))); //remove PCC rule f_awaiting_RAR(mw_RAR_PCCrules_ChrgRuleRemove(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, mw_chrgRuleRemove_Name)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_send_RAA(m_RAA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess))); //postamble //session termination f_send_CCR(m_CCR_TerminationRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm)); f_awaiting_CCA(mw_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm)); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_postamble_PCEF(); } // end function f_TC_PCRF_PCC_06 /* * @desc This is the test case function TC_PCRF_PCC_07 * @param */ function f_TC_PCRF_PCC_07() runs on DiameterComponent { f_preamble_PCEF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync //establishement of the session f_send_CCR(m_CCR_InitialRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, f_framedIpAddress4_send(),f_framedIpAddress6_send())); f_awaiting_CCA(mw_CCA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, mw_resultCode(mw_resultCode_diameterSuccess))); //remove group of PCC rules f_awaiting_RAR(mw_RAR_PCCrules_ChrgRuleRemove(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, mw_chrgRuleRemove_BaseName)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_send_RAA(m_RAA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess))); //postamble //session termination f_send_CCR(m_CCR_TerminationRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm)); f_awaiting_CCA(mw_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm)); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_postamble_PCEF(); } // end function f_TC_PCRF_PCC_07 }//end group TP_PCRFRole_PCC group TP_PCRFRole_EMS { //Emergency services }//end group TP_PCRFRole_EMS Loading
DiameterGx/ttcn/DiameterGx_Templates.ttcn +86 −16 Original line number Diff line number Diff line Loading @@ -98,6 +98,29 @@ module DiameterGx_Templates { aVP_Type := * } template Charging_Rule_Definition_AVP mw_chrgRuleDefinition_dummy := { aVP_Header := mw_aVP_Header_any, charging_Rule_Name := ?, service_Identifier := *, rating_Group := *, flow_Information := *, flow_Status := *, qoS_Information := *, reporting_Level := *, online := *, offline := *, metering_Method := *, precedence := *, aF_Charging_Identifier := *, flows := *, monitoring_Key := *, aF_Signalling_Protocol := *, sponsor_Identity := *, application_Service_Provider_Identity := *, aVP_Type := * } } //end group DummyAVPHeaders group SpecificAVPHeaders { Loading Loading @@ -515,28 +538,63 @@ module DiameterGx_Templates { template Charging_Rule_Install_AVP mw_chrgRuleInstall_Name modifies mw_chrgRuleInstall_dummy:= { aVP_Header := mw_aVP_Header_any, charging_Rule_Name := {{ aVP_Header := ?, aVP_Data := ? }} charging_Rule_Name := {mw_chrgRuleName} } template Charging_Rule_Install_AVP mw_chrgRuleInstall_Name_resAllocNotif modifies mw_chrgRuleInstall_dummy := { aVP_Header := mw_aVP_Header_any, charging_Rule_Name := {mw_chrgRuleName}, resource_Allocation_Notification := mw_resourceAllocNotif } template Charging_Rule_Install_AVP mw_chrgRuleInstall_Definition modifies mw_chrgRuleInstall_dummy := { aVP_Header := mw_aVP_Header_any, charging_Rule_Definition := {mw_chrgRuleDefinition}, charging_Rule_Name := {mw_chrgRuleName} } template Charging_Rule_Install_AVP mw_chrgRuleInstall_BaseName modifies mw_chrgRuleInstall_dummy:= { aVP_Header := mw_aVP_Header_any, charging_Rule_Base_Name := {{ aVP_Header := ?, aVP_Data := ? }} charging_Rule_Base_Name := {mw_chrgRuleBaseName} } template Charging_Rule_Remove_AVP mw_chrgRuleRemove_Name modifies mw_chrgRuleRemove_dummy:= { aVP_Header := mw_aVP_Header_any, charging_Rule_Name := {mw_chrgRuleName} } template Charging_Rule_Remove_AVP mw_chrgRuleRemove_BaseName modifies mw_chrgRuleRemove_dummy:= { aVP_Header := mw_aVP_Header_any, charging_Rule_Base_Name := {mw_chrgRuleBaseName} } template Charging_Rule_Remove_AVP mw_chrgRuleRemove modifies mw_chrgRuleRemove_dummy:= template Charging_Rule_Definition_AVP mw_chrgRuleDefinition modifies mw_chrgRuleDefinition_dummy:= { aVP_Header := mw_aVP_Header_any, charging_Rule_Name := {{ aVP_Header := ?, aVP_Data := ? }} charging_Rule_Name := mw_chrgRuleName } template Charging_Rule_Name_AVP mw_chrgRuleName:= { aVP_Header := mw_aVP_Header_any, aVP_Data := ? //or PX_CHARGING_RULE_NAME_DATA } template Charging_Rule_Base_Name_AVP mw_chrgRuleBaseName:= { aVP_Header := mw_aVP_Header_any, aVP_Data := ? //or PX_CHARGING_RULE_BASE_NAME_DATA } template Resource_Allocation_Notification_AVP mw_resourceAllocNotif:= { aVP_Header := mw_aVP_Header_any, aVP_Data := ENABLE_NOTIFICATION_E } }//end group awaitingTemplatesForAVPs Loading Loading @@ -849,13 +907,25 @@ module DiameterGx_Templates { charging_Rule_Install := {p_chrgRuleInstall} } template RAR_MSG mw_RAR_PCCrules_ChrgRuleInstall_EventTrigger(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 Charging_Rule_Install_AVP p_chrgRuleInstall ) modifies mw_RAR_basic := { charging_Rule_Install := {p_chrgRuleInstall}, event_Trigger := {m_event_Trigger(SUCCESSFUL_RESOURCE_ALLOCATION_E)} } template RAR_MSG mw_RAR_PCCrules_ChrgRuleRemove(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 Destination_Host_AVP p_destinationHost, template Charging_Rule_Remove_AVP p_chrgRuleRemove ) modifies mw_RAR_basic := { charging_Rule_Remove := {mw_chrgRuleRemove} charging_Rule_Remove := {p_chrgRuleRemove} } } // end group Gxmodified_request_templates_receive Loading
DiameterGx/ttcn/DiameterGx_TestCases.ttcn +213 −2 Original line number Diff line number Diff line Loading @@ -268,9 +268,220 @@ module DiameterGx_TestCases }//end group TP_PCRFRole_INV group TP_PCRFRole_ST { //Session Termination /* * @desc TC_PCRF_ST_01 * @param p_cSeq_s Transaction Id */ testcase TC_PCRF_ST_01() runs on ServerSyncComp system TestAdapter { //Variables var DiameterComponent v_diameterComponent_pcef; f_cf_1GxEUp(v_diameterComponent_pcef); //Start v_diameterComponent_pcef.start(f_TC_PCRF_ST_01()); // synchronize PTC on 3 sychronization points f_serverSync1Client({c_prDone, c_tbDone, c_poDone}); f_cf_1GxEDown(v_diameterComponent_pcef); } // end TC_PCRF_ST_01 /* * @desc TC_PCRF_ST_02 * @param p_cSeq_s Transaction Id */ testcase TC_PCRF_ST_02() runs on ServerSyncComp system TestAdapter { //Variables var DiameterComponent v_diameterComponent_pcef; f_cf_1GxEUp(v_diameterComponent_pcef); //Start v_diameterComponent_pcef.start(f_TC_PCRF_ST_02()); // synchronize PTC on 3 sychronization points f_serverSync1Client({c_prDone, c_tbDone, c_poDone}); f_cf_1GxEDown(v_diameterComponent_pcef); } // end TC_PCRF_ST_02 /* * @desc TC_PCRF_ST_03 * @param p_cSeq_s Transaction Id */ testcase TC_PCRF_ST_03() runs on ServerSyncComp system TestAdapter { //Variables var DiameterComponent v_diameterComponent_pcef; f_cf_1GxEUp(v_diameterComponent_pcef); //Start v_diameterComponent_pcef.start(f_TC_PCRF_ST_03()); // synchronize PTC on 3 sychronization points f_serverSync1Client({c_prDone, c_tbDone, c_poDone}); f_cf_1GxEDown(v_diameterComponent_pcef); } // end TC_PCRF_ST_03 }//end group TP_PCRFRole_ST group TP_PCRFRole_PCC { //PCC rules /* * @desc TC_PCRF_PCC_01 * @param p_cSeq_s Transaction Id */ testcase TC_PCRF_PCC_01() runs on ServerSyncComp system TestAdapter { //Variables var DiameterComponent v_diameterComponent_pcef; f_cf_1GxEUp(v_diameterComponent_pcef); //Start v_diameterComponent_pcef.start(f_TC_PCRF_PCC_01()); // synchronize PTC on 3 sychronization points f_serverSync1Client({c_prDone, c_tbDone, c_poDone}); f_cf_1GxEDown(v_diameterComponent_pcef); } // end TC_PCRF_PCC_01 /* * @desc TC_PCRF_PCC_02 * @param p_cSeq_s Transaction Id */ testcase TC_PCRF_PCC_02() runs on ServerSyncComp system TestAdapter { //Variables var DiameterComponent v_diameterComponent_pcef; f_cf_1GxEUp(v_diameterComponent_pcef); //Start v_diameterComponent_pcef.start(f_TC_PCRF_PCC_02()); // synchronize PTC on 3 sychronization points f_serverSync1Client({c_prDone, c_tbDone, c_poDone}); f_cf_1GxEDown(v_diameterComponent_pcef); } // end TC_PCRF_PCC_02 /* * @desc TC_PCRF_PCC_03 * @param p_cSeq_s Transaction Id */ testcase TC_PCRF_PCC_03() runs on ServerSyncComp system TestAdapter { //Variables var DiameterComponent v_diameterComponent_pcef; f_cf_1GxEUp(v_diameterComponent_pcef); //Start v_diameterComponent_pcef.start(f_TC_PCRF_PCC_03()); // synchronize PTC on 3 sychronization points f_serverSync1Client({c_prDone, c_tbDone, c_poDone}); f_cf_1GxEDown(v_diameterComponent_pcef); } // end TC_PCRF_PCC_03 /* * @desc TC_PCRF_PCC_04 * @param p_cSeq_s Transaction Id */ testcase TC_PCRF_PCC_04() runs on ServerSyncComp system TestAdapter { //Variables var DiameterComponent v_diameterComponent_pcef; f_cf_1GxEUp(v_diameterComponent_pcef); //Start v_diameterComponent_pcef.start(f_TC_PCRF_PCC_04()); // synchronize PTC on 3 sychronization points f_serverSync1Client({c_prDone, c_tbDone, c_poDone}); f_cf_1GxEDown(v_diameterComponent_pcef); } // end TC_PCRF_PCC_04 /* * @desc TC_PCRF_PCC_05 * @param p_cSeq_s Transaction Id */ testcase TC_PCRF_PCC_05() runs on ServerSyncComp system TestAdapter { //Variables var DiameterComponent v_diameterComponent_pcef; f_cf_1GxEUp(v_diameterComponent_pcef); //Start v_diameterComponent_pcef.start(f_TC_PCRF_PCC_05()); // synchronize PTC on 3 sychronization points f_serverSync1Client({c_prDone, c_tbDone, c_poDone}); f_cf_1GxEDown(v_diameterComponent_pcef); } // end TC_PCRF_PCC_05 /* * @desc TC_PCRF_PCC_06 * @param p_cSeq_s Transaction Id */ testcase TC_PCRF_PCC_06() runs on ServerSyncComp system TestAdapter { //Variables var DiameterComponent v_diameterComponent_pcef; f_cf_1GxEUp(v_diameterComponent_pcef); //Start v_diameterComponent_pcef.start(f_TC_PCRF_PCC_06()); // synchronize PTC on 3 sychronization points f_serverSync1Client({c_prDone, c_tbDone, c_poDone}); f_cf_1GxEDown(v_diameterComponent_pcef); } // end TC_PCRF_PCC_06 /* * @desc TC_PCRF_PCC_07 * @param p_cSeq_s Transaction Id */ testcase TC_PCRF_PCC_07() runs on ServerSyncComp system TestAdapter { //Variables var DiameterComponent v_diameterComponent_pcef; f_cf_1GxEUp(v_diameterComponent_pcef); //Start v_diameterComponent_pcef.start(f_TC_PCRF_PCC_07()); // synchronize PTC on 3 sychronization points f_serverSync1Client({c_prDone, c_tbDone, c_poDone}); f_cf_1GxEDown(v_diameterComponent_pcef); } // end TC_PCRF_PCC_07 }//end group TP_PCRFRole_PCC group TP_PCRFRole_EMS { //Emergency services Loading