Loading DiameterRfRo/ttcn/DiameterRfRo_TCFunctions.ttcn +90 −0 Original line number Diff line number Diff line Loading @@ -652,10 +652,100 @@ module DiameterRfRo_TCFunctions { log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_CTF_MS_01 /** * @desc Verify that the IUT can send an AC-Request with correct Diameter-Header parameters to indicate a Charging Data Transfer with valid Diameter-Header parameters. * @verdict pass on success, fail on error or inconc on timeout only */ function f_TC_CTF_MS_02() runs on DiameterRfRo { // Local variables // Preamble f_preamble_Rf_CDF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); f_awaiting_ACR( mw_ACR_CmdFlags_PET(mw_diameterHeaderReq_CmdFlags(ACR_E, ?, mw_cmdFlagsAns_PET('0'B,'0'B,'0'B))) ); f_send_ACA( md_aCA( vc_sessionId, // containing a Session-ID AVP md_acaBodyAvps( m_resultCode( // containing a Result-Code AVP DIAMETER_SUCCESS_E // indicating DIAMETER_SUCCESS ), vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP m_accounting_Record_Type( // containing an Accounting-Record-Type AVP EVENT_RECORD_E ), vc_accountingRecordNumber )) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_postamble_Rf_CDF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_CTF_MS_02 }//end of group TP_RF_CTF_MS_Role // 5.2.2.2.3 Type of Charging group TP_RF_CTF_TC { /** * @desc Verify that the IUT can successfully process an AC-Request [Event]. * @verdict pass on success, fail on error or inconc on timeout only */ function f_TC_CTF_TC_01() runs on DiameterRfRo { // Local variables // Preamble f_preamble_Rf_CDF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); f_awaiting_ACR( mdw_aCR( ?, mdw_acrBodyAvps( vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP vc_destinationRealm, // containing a Destination-Realm AVP mw_accounting_Record_Type( // containing an Accounting-Record-Type AVP EVENT_RECORD_E ), mw_accounting_Record_Number( // containing an Accounting-Record-Number AVP ? // indicating the value ? ) ) ) ); f_send_ACA( md_aCA( vc_sessionId, // containing a Session-ID AVP md_acaBodyAvps( m_resultCode( // containing a Result-Code AVP DIAMETER_SUCCESS_E // indicating DIAMETER_SUCCESS ), vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP m_accounting_Record_Type( // containing an Accounting-Record-Type AVP EVENT_RECORD_E ), vc_accountingRecordNumber )) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_postamble_Rf_CDF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_CTF_TC_01 }//end of group TP_RF_CTF_TC_Role // 5.2.2.2.4 Error cases group TP_RF_CTF_EC { Loading Loading
DiameterRfRo/ttcn/DiameterRfRo_TCFunctions.ttcn +90 −0 Original line number Diff line number Diff line Loading @@ -652,10 +652,100 @@ module DiameterRfRo_TCFunctions { log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_CTF_MS_01 /** * @desc Verify that the IUT can send an AC-Request with correct Diameter-Header parameters to indicate a Charging Data Transfer with valid Diameter-Header parameters. * @verdict pass on success, fail on error or inconc on timeout only */ function f_TC_CTF_MS_02() runs on DiameterRfRo { // Local variables // Preamble f_preamble_Rf_CDF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); f_awaiting_ACR( mw_ACR_CmdFlags_PET(mw_diameterHeaderReq_CmdFlags(ACR_E, ?, mw_cmdFlagsAns_PET('0'B,'0'B,'0'B))) ); f_send_ACA( md_aCA( vc_sessionId, // containing a Session-ID AVP md_acaBodyAvps( m_resultCode( // containing a Result-Code AVP DIAMETER_SUCCESS_E // indicating DIAMETER_SUCCESS ), vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP m_accounting_Record_Type( // containing an Accounting-Record-Type AVP EVENT_RECORD_E ), vc_accountingRecordNumber )) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_postamble_Rf_CDF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_CTF_MS_02 }//end of group TP_RF_CTF_MS_Role // 5.2.2.2.3 Type of Charging group TP_RF_CTF_TC { /** * @desc Verify that the IUT can successfully process an AC-Request [Event]. * @verdict pass on success, fail on error or inconc on timeout only */ function f_TC_CTF_TC_01() runs on DiameterRfRo { // Local variables // Preamble f_preamble_Rf_CDF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); f_awaiting_ACR( mdw_aCR( ?, mdw_acrBodyAvps( vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP vc_destinationRealm, // containing a Destination-Realm AVP mw_accounting_Record_Type( // containing an Accounting-Record-Type AVP EVENT_RECORD_E ), mw_accounting_Record_Number( // containing an Accounting-Record-Number AVP ? // indicating the value ? ) ) ) ); f_send_ACA( md_aCA( vc_sessionId, // containing a Session-ID AVP md_acaBodyAvps( m_resultCode( // containing a Result-Code AVP DIAMETER_SUCCESS_E // indicating DIAMETER_SUCCESS ), vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP m_accounting_Record_Type( // containing an Accounting-Record-Type AVP EVENT_RECORD_E ), vc_accountingRecordNumber )) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_postamble_Rf_CDF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_CTF_TC_01 }//end of group TP_RF_CTF_TC_Role // 5.2.2.2.4 Error cases group TP_RF_CTF_EC { Loading