Loading DiameterS9/ttcn/DiameterS9_Gxx_TCFunctions.ttcn3 +177 −0 Original line number Diff line number Diff line Loading @@ -347,6 +347,183 @@ module DiameterS9_Gxx_TCFunctions { } // end function f_TC_VPCRF_HPQ_04_BBERF1 }// end group TP_VPCRFRole_HPQ group TP_VPCRFRole_HST{ /* * @desc This is the test case function f_TC_VPCRF_HST_01_BBERF1 * @param */ function f_TC_VPCRF_HST_01_BBERF1() runs on DiameterComponent { f_preamble_BBERF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync //CCR INITIAL REQUEST f_initiate_session_BBERF_case2a(); //CCR SESSION TERMINATION f_send_CCR(m_CCR_Gxx_TerminationRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, omit)); f_awaiting_CCA(mw_CCA_Gxx_basic(vc_sessionId, vc_originHost, vc_originRealm)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_postamble_BBERF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function f_TC_VPCRF_HST_01_BBERF1 /* * @desc This is the test case function f_TC_VPCRF_HST_02_BBERF1 * @param */ function f_TC_VPCRF_HST_02_BBERF1() runs on DiameterComponent { f_preamble_BBERF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync //CCR INITIAL REQUEST f_initiate_session_BBERF_case2b(); //CCR SESSION TERMINATION f_send_CCR(m_CCR_Gxx_TerminationRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, m_called_Station_Id(PX_CALLED_STATION_ID_PDN) )); f_awaiting_CCA(mw_CCA_Gxx_basic(vc_sessionId, vc_originHost, vc_originRealm)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_postamble_BBERF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function f_TC_VPCRF_HST_02_BBERF1 /* * @desc This is the test case function f_TC_VPCRF_HST_03_BBERF1 * @param */ function f_TC_VPCRF_HST_03_BBERF1() runs on DiameterComponent { f_preamble_BBERF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync //CCR INITIAL REQUEST f_initiate_session_BBERF_case2a(); //RAR SESSION TERMINATION f_awaiting_RAR(mw_RAR_Gxx_SessRelCause(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, ? )); f_send_RAA(m_RAA_Gxx_basic(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_terminate_session_BBERF(); // postamble f_postamble_BBERF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function f_TC_VPCRF_HST_03_BBERF1 /* * @desc This is the test case function f_TC_VPCRF_HST_04_BBERF1 * @param */ function f_TC_VPCRF_HST_04_BBERF1() runs on DiameterComponent { f_preamble_BBERF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync //CCR INITIAL REQUEST f_initiate_session_BBERF_case2b(); //RAR SESSION TERMINATION f_awaiting_RAR(mw_RAR_Gxx_SessRelCause(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, ? )); f_send_RAA(m_RAA_Gxx_basic(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_terminate_session_BBERF(); // postamble f_postamble_BBERF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function f_TC_VPCRF_HST_04_BBERF1 }// end group TP_VPCRFRole_HST group TP_VPCRFRole_HMB{ /* * @desc This is the test case function f_TC_VPCRF_HMB_01_Gxx * @param */ function f_TC_VPCRF_HMB_01_BBERF1() runs on DiameterComponent { f_preamble_BBERF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync //CCR INITIAL REQUEST f_initiate_session_BBERF_case2a(); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict()); // sync f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_terminate_session_BBERF(); // postamble f_postamble_BBERF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function f_TC_VPCRF_HMB_01_BBERF1 /* * @desc This is the test case function f_TC_VPCRF_HMB_01_Gxx * @param */ function f_TC_VPCRF_HMB_01_BBERF2() runs on DiameterComponent { f_preamble_BBERF2(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict()); // sync //CCR INITIAL REQUEST f_initiate_session_BBERF_case2a(); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_terminate_session_BBERF(); // postamble f_postamble_BBERF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function f_TC_VPCRF_HMB_01_BBERF2 }// end group TP_VPCRFRole_HMB } // group TP_VPCRFRole }// end module DiameterS9_Gxx_TCFunctions No newline at end of file DiameterS9/ttcn/DiameterS9_Gxx_Templates.ttcn +23 −3 Original line number Diff line number Diff line Loading @@ -366,20 +366,40 @@ module DiameterS9_Gxx_Templates { } } template CCR_MSG m_CCR_Gxx_TerminationRequest(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_Realm_AVP p_destinationRealm, template CCR_MSG.cCR_Body.called_Station_Id p_calledStationId) modifies m_CCR_Gxx_basic := { cCR_Body := { cC_Request_Type := m_cC_Request_Type(TERMINATION_REQUEST_E), cC_Request_Number := m_cC_Request_Number(1) cC_Request_Number := m_cC_Request_Number(1), called_Station_Id := p_calledStationId } } } // end group Gxxmodified_request_templates_send group Gxxmodified_request_templates_receive { template RAR_MSG mw_RAR_Gxx_SessRelCause(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.session_Release_Cause p_session_Release_Cause ) modifies mw_RAR_Gxx_basic := { header := mw_diameterHeaderReq_dummy ( RAR_E, c_applIdGxx ), session_Id := p_sessionId, rAR_Body := { auth_Application_Id := mw_authApplicationId ( c_applIdGxx ), origin_Host := p_originHost, origin_Realm := p_originRealm, destination_Realm := p_destinationRealm, destination_Host := p_destinationHost, session_Release_Cause := p_session_Release_Cause } } } // end group Gxxmodified_request_templates_receive group Gxxmodified_answer_templates_send { } // end group Gxxmodified_answer_templates_send Loading DiameterS9/ttcn/DiameterS9_PICS.ttcn 0 → 100644 +443 −0 File added.Preview size limit exceeded, changes collapsed. Show changes DiameterS9/ttcn/DiameterS9_S9_TCFunctions.ttcn3 +228 −10 Original line number Diff line number Diff line Loading @@ -1163,10 +1163,16 @@ module DiameterS9_S9_TCFunctions { {m_qosRuleInstall_RuleName({m_qoSRuleName_dummy(PX_QOS_RULE_NAME_NOT_ACCEPTABLE)})} )); f_awaiting_RAA(mw_RAA_ResultCode(vc_sessionId, f_awaiting_RAA(mw_RAA_ExpResult_QoSRuleReport_QosInfo_SubsessEnfInfo (vc_sessionId, vc_originHost, vc_originRealm, mw_resultCode(mw_resultCode_diameterSuccess))); mw_experimentalResult(mw_expResultCode(DIAMETER_PCC_RULE_EVENT_E)),//experimental_result mw_qoS_Information_dummy,//qoS_Information {mw_qoSRuleReport_RuleName_FailureCode({mw_qoSRuleName_dummy(PX_QOS_RULE_NAME_NOT_ACCEPTABLE)}, mw_ruleFailureCode_dummy(UNSUCCESSFUL_QOS_VALIDATION_E))},//qoS_Rule_Report *//subsesion_Enforcement_Info )); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync Loading Loading @@ -1200,10 +1206,18 @@ module DiameterS9_S9_TCFunctions { {m_qosRuleInstall_RuleName({m_qoSRuleName_dummy(PX_QOS_RULE_NAME_NOT_ACCEPTABLE)})})} )); f_awaiting_RAA(mw_RAA_ResultCode(vc_sessionId, f_awaiting_RAA(mw_RAA_ExpResult_QoSRuleReport_QosInfo_SubsessEnfInfo (vc_sessionId, vc_originHost, vc_originRealm, mw_resultCode(mw_resultCode_diameterSuccess))); mw_experimentalResult(mw_expResultCode(DIAMETER_PCC_RULE_EVENT_E)),//experimental_result *,//qoS_Information within subsesEnforcementInfo *,//qoS_Rule_Report within subsesEnforcementInfo {mw_subsesEnforcementInfo_qosInfo(mw_subsessionId_dummy(?), mw_qoS_Information_dummy,//await QoS Information indicating acceptable Qos {mw_qoSRuleReport_RuleName_FailureCode({mw_qoSRuleName_dummy(PX_QOS_RULE_NAME_NOT_ACCEPTABLE)}, mw_ruleFailureCode_dummy(UNSUCCESSFUL_QOS_VALIDATION_E))})}//subsesion_Enforcement_Info )); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync Loading Loading @@ -1274,10 +1288,16 @@ module DiameterS9_S9_TCFunctions { {m_qosRuleInstall_RuleName({m_qoSRuleName_dummy(PX_QOS_RULE_NAME)})})} )); f_awaiting_RAA(mw_RAA_ResultCode(vc_sessionId, f_awaiting_RAA(mw_RAA_ExpResult_QoSRuleReport_QosInfo_SubsessEnfInfo (vc_sessionId, vc_originHost, vc_originRealm, mw_resultCode(mw_resultCode_diameterSuccess))); mw_experimentalResult(mw_expResultCode(DIAMETER_PCC_RULE_EVENT_E)),//experimental_result *,//qoS_Information within subsesEnforcementInfo *,//qoS_Rule_Report within subsesEnforcementInfo {mw_subsesEnforcementInfo_resultCode(mw_subsessionId_dummy(?), mw_resultCode(mw_resultCode_diameterSuccess))}//subsesion_Enforcement_Info )); //mw_subsesEnforcementInfo_resultCode f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync Loading @@ -1289,6 +1309,204 @@ module DiameterS9_S9_TCFunctions { } // end function f_TC_VPCRF_HPQ_04 }// end group TP_VPCRFRole_HPQ group TP_VPCRFRole_HST{ /* * @desc This is the test case function f_TC_VPCRF_HST_01 * @param */ function f_TC_VPCRF_HST_01() runs on DiameterComponent { f_preamble_HPCRF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync //CCR INITIAL REQUEST f_await_initial_session_send_response_HPCRF(); //CCR TERMINATE REQUEST f_awaiting_CCR(mw_CCR_basic(?, vc_originHost, vc_originRealm, vc_destinationRealm, mw_cC_Request_Type(TERMINATION_REQUEST_E))); f_send_CCA(m_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm, m_cC_Request_Type(TERMINATION_REQUEST_E), m_resultCode(m_resultCode_diameterSuccess))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_postamble_HPCRF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function f_TC_VPCRF_HST_01 /* * @desc This is the test case function f_TC_VPCRF_HSM_02 * @param */ function f_TC_VPCRF_HST_02() runs on DiameterComponent { f_preamble_HPCRF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync //CCR INITIAL REQUEST f_await_initial_session_send_response_HPCRF(); //CCR UPDATE REQUEST f_awaiting_CCR(mw_CCR_UpdateRequest_SubSessEnfInf_QoS(?, vc_originHost, vc_originRealm, vc_destinationRealm, mw_cC_Request_Type(UPDATE_REQUEST_E), *,//Subscription id {mw_subsesEnforcementInfo_Operation(mw_subsessionId_dummy(?), mw_subsessionOperation_dummy(Subsession_Operation_Code:TERMINATION_E), *//qoS_Rule_Report )}, *,//QoS_Rule_Report *//QoS_information )); f_send_CCA(m_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm, m_cC_Request_Type(UPDATE_REQUEST_E), m_resultCode(m_resultCode_diameterSuccess))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_terminate_session_HPCRF(); // postamble for termination of the rest of the subsessions f_postamble_HPCRF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function f_TC_VPCRF_HST_02 /* * @desc This is the test case function f_TC_VPCRF_HST_03 * @param */ function f_TC_VPCRF_HST_03() runs on DiameterComponent { f_preamble_HPCRF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync //CCR INITIAL REQUEST f_await_initial_session_send_response_HPCRF(); f_send_RAR(m_RAR_SessRelCause(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, m_sessReleaseCause(UNSPECIFIED_REASON_E) )); f_awaiting_RAA(mw_RAA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, mw_resultCode(mw_resultCode_diameterSuccess))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_terminate_session_HPCRF(); // postamble f_postamble_HPCRF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function f_TC_VPCRF_HST_03 /* * @desc This is the test case function f_TC_VPCRF_HST_04 * @param */ function f_TC_VPCRF_HST_04() runs on DiameterComponent { f_preamble_HPCRF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync //CCR INITIAL REQUEST f_await_initial_session_send_response_HPCRF(); f_send_RAR(m_RAR_SubsesDecInfo(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, {m_SubsesDecisionInfo_SessRelCause(m_subsessionId_dummy(PX_SUBSESSION_ID), m_sessReleaseCause(UNSPECIFIED_REASON_E))} )); f_awaiting_RAA(mw_RAA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, mw_resultCode(mw_resultCode_diameterSuccess))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_terminate_session_HPCRF(); // postamble f_postamble_HPCRF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function f_TC_VPCRF_HST_04 }// end group TP_VPCRFRole_HST group TP_VPCRFRole_HMB{ /* * @desc This is the test case function f_TC_VPCRF_HMB_01 * @param */ function f_TC_VPCRF_HMB_01() runs on DiameterComponent { f_preamble_HPCRF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync //CCR INITIAL REQUEST from BBERF1 f_await_initial_session_send_response_HPCRF(); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict()); // sync //CCR REQUEST from BBERF2 f_awaiting_CCR(mw_CCR_InitialRequest_AnGw_MultiBBERFact(?, vc_originHost, vc_originRealm, vc_destinationRealm, mw_cC_Request_Type(INITIAL_REQUEST_E), {mw_subscription_Id(mw_subscription_Id_Type(END_USER_IMSI_E), mw_subscription_Id_Data(PX_SUBSCRIPTION_ID_DATA))}, {mw_anGwAddress(f_IPAdress(PX_SGW_AGW_ipv4,PX_SGW_AGW_ipv6))}, mw_multipleBBERFAction_dummy(ESTABLISHMENT_E) )); f_send_CCA(m_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm, m_cC_Request_Type(INITIAL_REQUEST_E), m_resultCode(m_resultCode_diameterSuccess))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_terminate_session_HPCRF(); // postamble f_postamble_HPCRF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function f_TC_VPCRF_HMB_01 }// end group TP_VPCRFRole_HMB } // group TP_VPCRFRole }// end module DiameterS9_S9_TCFunctions No newline at end of file DiameterS9/ttcn/DiameterS9_Steps.ttcn3 +2 −2 Original line number Diff line number Diff line Loading @@ -411,8 +411,8 @@ */ function f_terminate_session_BBERF() runs on DiameterComponent { f_send_CCR(m_CCR_Gxx_TerminationRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm)); f_awaiting_CCA(mw_CCA_Gxx_basic(vc_sessionId, vc_originHost_IUT, vc_originRealm_IUT)); f_send_CCR(m_CCR_Gxx_TerminationRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, omit)); f_awaiting_CCA(mw_CCA_Gxx_basic(vc_sessionId, vc_originHost, vc_originRealm)); } function f_ConfigRun_HPCRF_BBERF(DiameterComponent p_diameterComponent_hpcrf, Loading Loading
DiameterS9/ttcn/DiameterS9_Gxx_TCFunctions.ttcn3 +177 −0 Original line number Diff line number Diff line Loading @@ -347,6 +347,183 @@ module DiameterS9_Gxx_TCFunctions { } // end function f_TC_VPCRF_HPQ_04_BBERF1 }// end group TP_VPCRFRole_HPQ group TP_VPCRFRole_HST{ /* * @desc This is the test case function f_TC_VPCRF_HST_01_BBERF1 * @param */ function f_TC_VPCRF_HST_01_BBERF1() runs on DiameterComponent { f_preamble_BBERF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync //CCR INITIAL REQUEST f_initiate_session_BBERF_case2a(); //CCR SESSION TERMINATION f_send_CCR(m_CCR_Gxx_TerminationRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, omit)); f_awaiting_CCA(mw_CCA_Gxx_basic(vc_sessionId, vc_originHost, vc_originRealm)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_postamble_BBERF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function f_TC_VPCRF_HST_01_BBERF1 /* * @desc This is the test case function f_TC_VPCRF_HST_02_BBERF1 * @param */ function f_TC_VPCRF_HST_02_BBERF1() runs on DiameterComponent { f_preamble_BBERF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync //CCR INITIAL REQUEST f_initiate_session_BBERF_case2b(); //CCR SESSION TERMINATION f_send_CCR(m_CCR_Gxx_TerminationRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, m_called_Station_Id(PX_CALLED_STATION_ID_PDN) )); f_awaiting_CCA(mw_CCA_Gxx_basic(vc_sessionId, vc_originHost, vc_originRealm)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_postamble_BBERF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function f_TC_VPCRF_HST_02_BBERF1 /* * @desc This is the test case function f_TC_VPCRF_HST_03_BBERF1 * @param */ function f_TC_VPCRF_HST_03_BBERF1() runs on DiameterComponent { f_preamble_BBERF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync //CCR INITIAL REQUEST f_initiate_session_BBERF_case2a(); //RAR SESSION TERMINATION f_awaiting_RAR(mw_RAR_Gxx_SessRelCause(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, ? )); f_send_RAA(m_RAA_Gxx_basic(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_terminate_session_BBERF(); // postamble f_postamble_BBERF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function f_TC_VPCRF_HST_03_BBERF1 /* * @desc This is the test case function f_TC_VPCRF_HST_04_BBERF1 * @param */ function f_TC_VPCRF_HST_04_BBERF1() runs on DiameterComponent { f_preamble_BBERF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync //CCR INITIAL REQUEST f_initiate_session_BBERF_case2b(); //RAR SESSION TERMINATION f_awaiting_RAR(mw_RAR_Gxx_SessRelCause(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, ? )); f_send_RAA(m_RAA_Gxx_basic(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_terminate_session_BBERF(); // postamble f_postamble_BBERF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function f_TC_VPCRF_HST_04_BBERF1 }// end group TP_VPCRFRole_HST group TP_VPCRFRole_HMB{ /* * @desc This is the test case function f_TC_VPCRF_HMB_01_Gxx * @param */ function f_TC_VPCRF_HMB_01_BBERF1() runs on DiameterComponent { f_preamble_BBERF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync //CCR INITIAL REQUEST f_initiate_session_BBERF_case2a(); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict()); // sync f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_terminate_session_BBERF(); // postamble f_postamble_BBERF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function f_TC_VPCRF_HMB_01_BBERF1 /* * @desc This is the test case function f_TC_VPCRF_HMB_01_Gxx * @param */ function f_TC_VPCRF_HMB_01_BBERF2() runs on DiameterComponent { f_preamble_BBERF2(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict()); // sync //CCR INITIAL REQUEST f_initiate_session_BBERF_case2a(); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_terminate_session_BBERF(); // postamble f_postamble_BBERF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function f_TC_VPCRF_HMB_01_BBERF2 }// end group TP_VPCRFRole_HMB } // group TP_VPCRFRole }// end module DiameterS9_Gxx_TCFunctions No newline at end of file
DiameterS9/ttcn/DiameterS9_Gxx_Templates.ttcn +23 −3 Original line number Diff line number Diff line Loading @@ -366,20 +366,40 @@ module DiameterS9_Gxx_Templates { } } template CCR_MSG m_CCR_Gxx_TerminationRequest(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_Realm_AVP p_destinationRealm, template CCR_MSG.cCR_Body.called_Station_Id p_calledStationId) modifies m_CCR_Gxx_basic := { cCR_Body := { cC_Request_Type := m_cC_Request_Type(TERMINATION_REQUEST_E), cC_Request_Number := m_cC_Request_Number(1) cC_Request_Number := m_cC_Request_Number(1), called_Station_Id := p_calledStationId } } } // end group Gxxmodified_request_templates_send group Gxxmodified_request_templates_receive { template RAR_MSG mw_RAR_Gxx_SessRelCause(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.session_Release_Cause p_session_Release_Cause ) modifies mw_RAR_Gxx_basic := { header := mw_diameterHeaderReq_dummy ( RAR_E, c_applIdGxx ), session_Id := p_sessionId, rAR_Body := { auth_Application_Id := mw_authApplicationId ( c_applIdGxx ), origin_Host := p_originHost, origin_Realm := p_originRealm, destination_Realm := p_destinationRealm, destination_Host := p_destinationHost, session_Release_Cause := p_session_Release_Cause } } } // end group Gxxmodified_request_templates_receive group Gxxmodified_answer_templates_send { } // end group Gxxmodified_answer_templates_send Loading
DiameterS9/ttcn/DiameterS9_PICS.ttcn 0 → 100644 +443 −0 File added.Preview size limit exceeded, changes collapsed. Show changes
DiameterS9/ttcn/DiameterS9_S9_TCFunctions.ttcn3 +228 −10 Original line number Diff line number Diff line Loading @@ -1163,10 +1163,16 @@ module DiameterS9_S9_TCFunctions { {m_qosRuleInstall_RuleName({m_qoSRuleName_dummy(PX_QOS_RULE_NAME_NOT_ACCEPTABLE)})} )); f_awaiting_RAA(mw_RAA_ResultCode(vc_sessionId, f_awaiting_RAA(mw_RAA_ExpResult_QoSRuleReport_QosInfo_SubsessEnfInfo (vc_sessionId, vc_originHost, vc_originRealm, mw_resultCode(mw_resultCode_diameterSuccess))); mw_experimentalResult(mw_expResultCode(DIAMETER_PCC_RULE_EVENT_E)),//experimental_result mw_qoS_Information_dummy,//qoS_Information {mw_qoSRuleReport_RuleName_FailureCode({mw_qoSRuleName_dummy(PX_QOS_RULE_NAME_NOT_ACCEPTABLE)}, mw_ruleFailureCode_dummy(UNSUCCESSFUL_QOS_VALIDATION_E))},//qoS_Rule_Report *//subsesion_Enforcement_Info )); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync Loading Loading @@ -1200,10 +1206,18 @@ module DiameterS9_S9_TCFunctions { {m_qosRuleInstall_RuleName({m_qoSRuleName_dummy(PX_QOS_RULE_NAME_NOT_ACCEPTABLE)})})} )); f_awaiting_RAA(mw_RAA_ResultCode(vc_sessionId, f_awaiting_RAA(mw_RAA_ExpResult_QoSRuleReport_QosInfo_SubsessEnfInfo (vc_sessionId, vc_originHost, vc_originRealm, mw_resultCode(mw_resultCode_diameterSuccess))); mw_experimentalResult(mw_expResultCode(DIAMETER_PCC_RULE_EVENT_E)),//experimental_result *,//qoS_Information within subsesEnforcementInfo *,//qoS_Rule_Report within subsesEnforcementInfo {mw_subsesEnforcementInfo_qosInfo(mw_subsessionId_dummy(?), mw_qoS_Information_dummy,//await QoS Information indicating acceptable Qos {mw_qoSRuleReport_RuleName_FailureCode({mw_qoSRuleName_dummy(PX_QOS_RULE_NAME_NOT_ACCEPTABLE)}, mw_ruleFailureCode_dummy(UNSUCCESSFUL_QOS_VALIDATION_E))})}//subsesion_Enforcement_Info )); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync Loading Loading @@ -1274,10 +1288,16 @@ module DiameterS9_S9_TCFunctions { {m_qosRuleInstall_RuleName({m_qoSRuleName_dummy(PX_QOS_RULE_NAME)})})} )); f_awaiting_RAA(mw_RAA_ResultCode(vc_sessionId, f_awaiting_RAA(mw_RAA_ExpResult_QoSRuleReport_QosInfo_SubsessEnfInfo (vc_sessionId, vc_originHost, vc_originRealm, mw_resultCode(mw_resultCode_diameterSuccess))); mw_experimentalResult(mw_expResultCode(DIAMETER_PCC_RULE_EVENT_E)),//experimental_result *,//qoS_Information within subsesEnforcementInfo *,//qoS_Rule_Report within subsesEnforcementInfo {mw_subsesEnforcementInfo_resultCode(mw_subsessionId_dummy(?), mw_resultCode(mw_resultCode_diameterSuccess))}//subsesion_Enforcement_Info )); //mw_subsesEnforcementInfo_resultCode f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync Loading @@ -1289,6 +1309,204 @@ module DiameterS9_S9_TCFunctions { } // end function f_TC_VPCRF_HPQ_04 }// end group TP_VPCRFRole_HPQ group TP_VPCRFRole_HST{ /* * @desc This is the test case function f_TC_VPCRF_HST_01 * @param */ function f_TC_VPCRF_HST_01() runs on DiameterComponent { f_preamble_HPCRF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync //CCR INITIAL REQUEST f_await_initial_session_send_response_HPCRF(); //CCR TERMINATE REQUEST f_awaiting_CCR(mw_CCR_basic(?, vc_originHost, vc_originRealm, vc_destinationRealm, mw_cC_Request_Type(TERMINATION_REQUEST_E))); f_send_CCA(m_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm, m_cC_Request_Type(TERMINATION_REQUEST_E), m_resultCode(m_resultCode_diameterSuccess))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_postamble_HPCRF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function f_TC_VPCRF_HST_01 /* * @desc This is the test case function f_TC_VPCRF_HSM_02 * @param */ function f_TC_VPCRF_HST_02() runs on DiameterComponent { f_preamble_HPCRF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync //CCR INITIAL REQUEST f_await_initial_session_send_response_HPCRF(); //CCR UPDATE REQUEST f_awaiting_CCR(mw_CCR_UpdateRequest_SubSessEnfInf_QoS(?, vc_originHost, vc_originRealm, vc_destinationRealm, mw_cC_Request_Type(UPDATE_REQUEST_E), *,//Subscription id {mw_subsesEnforcementInfo_Operation(mw_subsessionId_dummy(?), mw_subsessionOperation_dummy(Subsession_Operation_Code:TERMINATION_E), *//qoS_Rule_Report )}, *,//QoS_Rule_Report *//QoS_information )); f_send_CCA(m_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm, m_cC_Request_Type(UPDATE_REQUEST_E), m_resultCode(m_resultCode_diameterSuccess))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_terminate_session_HPCRF(); // postamble for termination of the rest of the subsessions f_postamble_HPCRF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function f_TC_VPCRF_HST_02 /* * @desc This is the test case function f_TC_VPCRF_HST_03 * @param */ function f_TC_VPCRF_HST_03() runs on DiameterComponent { f_preamble_HPCRF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync //CCR INITIAL REQUEST f_await_initial_session_send_response_HPCRF(); f_send_RAR(m_RAR_SessRelCause(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, m_sessReleaseCause(UNSPECIFIED_REASON_E) )); f_awaiting_RAA(mw_RAA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, mw_resultCode(mw_resultCode_diameterSuccess))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_terminate_session_HPCRF(); // postamble f_postamble_HPCRF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function f_TC_VPCRF_HST_03 /* * @desc This is the test case function f_TC_VPCRF_HST_04 * @param */ function f_TC_VPCRF_HST_04() runs on DiameterComponent { f_preamble_HPCRF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync //CCR INITIAL REQUEST f_await_initial_session_send_response_HPCRF(); f_send_RAR(m_RAR_SubsesDecInfo(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, {m_SubsesDecisionInfo_SessRelCause(m_subsessionId_dummy(PX_SUBSESSION_ID), m_sessReleaseCause(UNSPECIFIED_REASON_E))} )); f_awaiting_RAA(mw_RAA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, mw_resultCode(mw_resultCode_diameterSuccess))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_terminate_session_HPCRF(); // postamble f_postamble_HPCRF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function f_TC_VPCRF_HST_04 }// end group TP_VPCRFRole_HST group TP_VPCRFRole_HMB{ /* * @desc This is the test case function f_TC_VPCRF_HMB_01 * @param */ function f_TC_VPCRF_HMB_01() runs on DiameterComponent { f_preamble_HPCRF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync //CCR INITIAL REQUEST from BBERF1 f_await_initial_session_send_response_HPCRF(); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict()); // sync //CCR REQUEST from BBERF2 f_awaiting_CCR(mw_CCR_InitialRequest_AnGw_MultiBBERFact(?, vc_originHost, vc_originRealm, vc_destinationRealm, mw_cC_Request_Type(INITIAL_REQUEST_E), {mw_subscription_Id(mw_subscription_Id_Type(END_USER_IMSI_E), mw_subscription_Id_Data(PX_SUBSCRIPTION_ID_DATA))}, {mw_anGwAddress(f_IPAdress(PX_SGW_AGW_ipv4,PX_SGW_AGW_ipv6))}, mw_multipleBBERFAction_dummy(ESTABLISHMENT_E) )); f_send_CCA(m_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm, m_cC_Request_Type(INITIAL_REQUEST_E), m_resultCode(m_resultCode_diameterSuccess))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_terminate_session_HPCRF(); // postamble f_postamble_HPCRF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function f_TC_VPCRF_HMB_01 }// end group TP_VPCRFRole_HMB } // group TP_VPCRFRole }// end module DiameterS9_S9_TCFunctions No newline at end of file
DiameterS9/ttcn/DiameterS9_Steps.ttcn3 +2 −2 Original line number Diff line number Diff line Loading @@ -411,8 +411,8 @@ */ function f_terminate_session_BBERF() runs on DiameterComponent { f_send_CCR(m_CCR_Gxx_TerminationRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm)); f_awaiting_CCA(mw_CCA_Gxx_basic(vc_sessionId, vc_originHost_IUT, vc_originRealm_IUT)); f_send_CCR(m_CCR_Gxx_TerminationRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, omit)); f_awaiting_CCA(mw_CCA_Gxx_basic(vc_sessionId, vc_originHost, vc_originRealm)); } function f_ConfigRun_HPCRF_BBERF(DiameterComponent p_diameterComponent_hpcrf, Loading