Commit 04bb5d95 authored by juvancic's avatar juvancic
Browse files

No commit message

No commit message
parent b0858942
Loading
Loading
Loading
Loading
+90 −0
Original line number Diff line number Diff line
@@ -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 {