Loading DiameterRfRo/ttcn/DiameterRfRo_TCFunctions.ttcn +385 −7 Original line number Diff line number Diff line Loading @@ -6639,7 +6639,8 @@ module DiameterRfRo_TCFunctions { mw_requested_Action(DIRECT_DEBITING_E), // containing a Requested Action AVP {(mdw_multiple_Services_Credit_Control_ReqServUnit_ServId(?,?), mdw_multiple_Services_Credit_Control_ReqServUnit_ServId(?,*), mdw_multiple_Services_Credit_Control_ReqServUnit_ServId(*,?))} // containing a Multiple-Services-Credit-Control AVP mdw_multiple_Services_Credit_Control_ReqServUnit_ServId(*,?))} // containing a Multiple-Services-Credit-Control AVP ) ) ); Loading Loading @@ -9272,8 +9273,385 @@ module DiameterRfRo_TCFunctions { log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_RO_CTF_OP_10 /** * @desc Verify that the IUT can successfully terminate sessions on a CCR, CCA [Update] exchange. * @verdict pass on success, fail on error or inconc on timeout only */ function f_TC_RO_CTF_OP_11() runs on DiameterRfRo { // Local variables // Preamble f_preamble_Ro_OCF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());// sync point sync1 f_awaiting_CCR( mdw_cCR( ?, mdw_ccrBodyAvps( vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP vc_destinationRealm, // containing a Destination-Realm AVP mw_cC_Request_Type(INITIAL_REQUEST_E),// containing a CC-Request-Type AVP mw_cC_Request_Number(vc_recv_cC_Request_Number),// containing a CC-Request-Number AVP ?, // containing a Service-Context-Id AVP *, // not containing a Requested Action AVP due to Request-Type is not EVENT-REQUEST {mdw_multiple_Services_Credit_Control_UsedServUnit // containing a Multiple-Services-Credit-Control AVP ( {mw_used_Service_Unit_AVP_dummy} ) } ) ) ); f_send_CCA( md_cCA( vc_sessionId, // containing a Session-ID AVP md_ccaBodyAvps_MultipleServiceCreditControl( 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_cC_Request_Type(INITIAL_REQUEST_E), m_cC_Request_Number(vc_recv_cC_Request_Number), { md_multiple_Services_Credit_Control_grantedServUnit_quotaConsumTime( m_granted_Service_Unit_Volume(m_cC_Time(32)), m_quota_Consumption_Time(5)//indicating a period equal to the Quota Consumption Time ) } )) ); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());// sync point sync1 f_awaiting_CCR( mdw_cCR( ?, mdw_ccrBodyAvps( vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP vc_destinationRealm, // containing a Destination-Realm AVP mw_cC_Request_Type(UPDATE_REQUEST_E),// containing a CC-Request-Type AVP mw_cC_Request_Number(vc_recv_cC_Request_Number),// containing a CC-Request-Number AVP ?, // containing a Service-Context-Id AVP *, // not containing a Requested Action AVP due to Request-Type is not EVENT-REQUEST {mdw_multiple_Services_Credit_Control_UsedServUnit // containing a Multiple-Services-Credit-Control AVP ( {mw_used_Service_Unit_AVP_dummy} ) } ) ) ); f_send_CCA( md_cCA( vc_sessionId, // containing a Session-ID AVP md_ccaBodyAvps_ReqNumber( m_resultCode( // containing a Result-Code AVP DIAMETER_AUTHORIZATION_REJECTED_E // indicating DIAMETER-AUTHORIZATION-REJECTED ), vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP m_cC_Request_Type(UPDATE_REQUEST_E), m_cC_Request_Number(vc_recv_cC_Request_Number)// containing a CC-Request-Number AVP )) ); f_selfOrClientSyncAndVerdict(c_sync2, f_getVerdict());// sync point sync2 f_awaitCCR_sendCCA_( TERMINATION_REQUEST_E, vc_recv_cC_Request_Number ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_postamble_Ro_OCF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_RO_CTF_OP_11 /** * @desc Verify that the IUT can successfully terminate session on an ASR, ASA exchange. * @verdict pass on success, fail on error or inconc on timeout only */ function f_TC_RO_CTF_OP_12() runs on DiameterRfRo { // Local variables // Preamble f_preamble_Ro_OCF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); f_awaiting_CCR( mdw_cCR( ?, mdw_ccrBodyAvps( vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP vc_destinationRealm, // containing a Destination-Realm AVP mw_cC_Request_Type(INITIAL_REQUEST_E),// containing a CC-Request-Type AVP mw_cC_Request_Number(vc_recv_cC_Request_Number),// containing a CC-Request-Number AVP ?, // containing a Service-Context-Id AVP *, // not containing a Requested Action AVP due to Request-Type is not EVENT-REQUEST {mdw_multiple_Services_Credit_Control_UsedServUnit // containing a Multiple-Services-Credit-Control AVP ( {mw_used_Service_Unit_AVP_dummy} ) } ) ) ); f_send_CCA( md_cCA( vc_sessionId, // containing a Session-ID AVP md_ccaBodyAvps_MultipleServiceCreditControl( 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_cC_Request_Type(INITIAL_REQUEST_E), m_cC_Request_Number(vc_recv_cC_Request_Number), { md_multiple_Services_Credit_Control_grantedServUnit_quotaConsumTime( m_granted_Service_Unit_Volume(m_cC_Time(32)), m_quota_Consumption_Time(5)//indicating a period equal to the Quota Consumption Time ) } )) ); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());// sync point sync1 f_awaiting_CCR( mdw_cCR( ?, mdw_ccrBodyAvps( vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP vc_destinationRealm, // containing a Destination-Realm AVP mw_cC_Request_Type(UPDATE_REQUEST_E),// containing a CC-Request-Type AVP mw_cC_Request_Number(vc_recv_cC_Request_Number),// containing a CC-Request-Number AVP ?, // containing a Service-Context-Id AVP *, // not containing a Requested Action AVP due to Request-Type is not EVENT-REQUEST {mdw_multiple_Services_Credit_Control_UsedServUnit // containing a Multiple-Services-Credit-Control AVP ( {mw_used_Service_Unit_AVP_dummy} ) } ) ) ); f_send_CCA( md_cCA( vc_sessionId, // containing a Session-ID AVP md_ccaBodyAvps_ReqNumber( 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_cC_Request_Type(UPDATE_REQUEST_E), m_cC_Request_Number(vc_recv_cC_Request_Number)// containing a CC-Request-Number AVP )) ); f_selfOrClientSyncAndVerdict(c_sync2, f_getVerdict());// sync point sync2 f_awaiting_ASR( // the IUT sends an AS-Request mdw_aSR( vc_sessionId, // containing a Session-ID AVP mdw_asrBodyAvps( vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP vc_destinationRealm, // containing a Destination-Realm AVP vc_destinationHost // containing a Destination-Host AVP // containing an Auth-Application-Id AVP ) ) ); f_send_ASA( // the IUT receives an AS-Answer md_aSA( vc_sessionId, // containing a Session-ID AVP md_asaBodyAvps( 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 ) ) ); f_awaitCCR_sendCCA_( TERMINATION_REQUEST_E, vc_recv_cC_Request_Number ); f_send_CCA( md_cCA( vc_sessionId, // containing a Session-ID AVP md_ccaBodyAvps( m_resultCode( // containing a Result-Code AVP DIAMETER_AUTHORIZATION_REJECTED_E // indicating DIAMETER-AUTHORIZATION-REJECTED ), vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP m_cC_Request_Type(TERMINATION_REQUEST_E) )) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_postamble_Ro_OCF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_RO_CTF_OP_12 /** * @desc Verify that the IUT can process quota consumption time. * @verdict pass on success, fail on error or inconc on timeout only */ function f_TC_RO_CTF_OP_13() runs on DiameterRfRo { // Local variables var integer v_counter; // Preamble f_preamble_Ro_OCF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); f_awaiting_CCR( mdw_cCR( ?, mdw_ccrBodyAvps( vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP vc_destinationRealm, // containing a Destination-Realm AVP mw_cC_Request_Type(INITIAL_REQUEST_E),// containing a CC-Request-Type AVP mw_cC_Request_Number(vc_recv_cC_Request_Number),// containing a CC-Request-Number AVP ?, // containing a Service-Context-Id AVP *, // not containing a Requested Action AVP due to Request-Type is not EVENT-REQUEST {mdw_multiple_Services_Credit_Control_UsedServUnit // containing a Multiple-Services-Credit-Control AVP ( {mw_used_Service_Unit_AVP_dummy} ) } ) ) ); f_send_CCA( md_cCA( vc_sessionId, // containing a Session-ID AVP md_ccaBodyAvps_MultipleServiceCreditControl( 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_cC_Request_Type(INITIAL_REQUEST_E), m_cC_Request_Number(vc_recv_cC_Request_Number), { md_multiple_Services_Credit_Control_granted_Service_Unit_Envelope_Reporting( m_granted_Service_Unit_Volume(m_cC_Time(32)), m_envelope_Reporting( // containing an Envelope-Reporting AVP DO_NOT_REPORT_ENVELOPES_E // indicating DO_NOT_REPORT_ENVELOPES ) ) } )) ); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());// sync point sync1 f_awaiting_CCR( mdw_cCR( ?, mdw_ccrBodyAvps( vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP vc_destinationRealm, // containing a Destination-Realm AVP mw_cC_Request_Type(UPDATE_REQUEST_E),// containing a CC-Request-Type AVP mw_cC_Request_Number(vc_recv_cC_Request_Number),// containing a CC-Request-Number AVP ?, // containing a Service-Context-Id AVP *, // not containing a Requested Action AVP due to Request-Type is not EVENT-REQUEST { mdw_multiple_Services_Credit_Control_UsedServUnit // containing a Multiple-Services-Credit-Control AVP // containing a Used-Service-Unit AVP } ) ) ); for (v_counter := 0; v_counter < lengthof(vc_recvDiamMsg.cCR.cCR_Body.multiple_Services_Indicator.Multiple_Services_Credit_Control_AVP); v_counter := v_counter + 1) { if ( ispresent( vc_recvDiamMsg.cCR.cCR_Body.multiple_Services_Indicator.multiple_Services_Credit_Control[v_counter].multiple_Services_Credit_Control ) ) { // not containing an Envelope AVP f_selfOrClientSyncAndVerdict(c_sync2, f_getVerdict());// sync point sync2 f_selfOrClientSyncAndVerdict(c_tbDone, e_error); // Error } } // end of 'for' statement f_send_CCA( md_cCA( vc_sessionId, // containing a Session-ID AVP md_ccaBodyAvps_ReqNumber( 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_cC_Request_Type(UPDATE_REQUEST_E), m_cC_Request_Number(vc_recv_cC_Request_Number) )) ); f_selfOrClientSyncAndVerdict(c_sync2, f_getVerdict());// sync point sync2 f_awaitCCR_sendCCA_( TERMINATION_REQUEST_E, vc_recv_cC_Request_Number ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_postamble_Ro_OCF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_RO_CTF_OP_13 } // End of group TP_RO_CTF_OP } //End of group TP_RO_CTF_Role } // End of group TP_RO_Role } // End of module DiameterRfRo_Rf_TCFunctions No newline at end of file DiameterRfRo/ttcn/DiameterRfRo_Templates.ttcn +53 −44 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
DiameterRfRo/ttcn/DiameterRfRo_TCFunctions.ttcn +385 −7 Original line number Diff line number Diff line Loading @@ -6639,7 +6639,8 @@ module DiameterRfRo_TCFunctions { mw_requested_Action(DIRECT_DEBITING_E), // containing a Requested Action AVP {(mdw_multiple_Services_Credit_Control_ReqServUnit_ServId(?,?), mdw_multiple_Services_Credit_Control_ReqServUnit_ServId(?,*), mdw_multiple_Services_Credit_Control_ReqServUnit_ServId(*,?))} // containing a Multiple-Services-Credit-Control AVP mdw_multiple_Services_Credit_Control_ReqServUnit_ServId(*,?))} // containing a Multiple-Services-Credit-Control AVP ) ) ); Loading Loading @@ -9272,8 +9273,385 @@ module DiameterRfRo_TCFunctions { log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_RO_CTF_OP_10 /** * @desc Verify that the IUT can successfully terminate sessions on a CCR, CCA [Update] exchange. * @verdict pass on success, fail on error or inconc on timeout only */ function f_TC_RO_CTF_OP_11() runs on DiameterRfRo { // Local variables // Preamble f_preamble_Ro_OCF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());// sync point sync1 f_awaiting_CCR( mdw_cCR( ?, mdw_ccrBodyAvps( vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP vc_destinationRealm, // containing a Destination-Realm AVP mw_cC_Request_Type(INITIAL_REQUEST_E),// containing a CC-Request-Type AVP mw_cC_Request_Number(vc_recv_cC_Request_Number),// containing a CC-Request-Number AVP ?, // containing a Service-Context-Id AVP *, // not containing a Requested Action AVP due to Request-Type is not EVENT-REQUEST {mdw_multiple_Services_Credit_Control_UsedServUnit // containing a Multiple-Services-Credit-Control AVP ( {mw_used_Service_Unit_AVP_dummy} ) } ) ) ); f_send_CCA( md_cCA( vc_sessionId, // containing a Session-ID AVP md_ccaBodyAvps_MultipleServiceCreditControl( 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_cC_Request_Type(INITIAL_REQUEST_E), m_cC_Request_Number(vc_recv_cC_Request_Number), { md_multiple_Services_Credit_Control_grantedServUnit_quotaConsumTime( m_granted_Service_Unit_Volume(m_cC_Time(32)), m_quota_Consumption_Time(5)//indicating a period equal to the Quota Consumption Time ) } )) ); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());// sync point sync1 f_awaiting_CCR( mdw_cCR( ?, mdw_ccrBodyAvps( vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP vc_destinationRealm, // containing a Destination-Realm AVP mw_cC_Request_Type(UPDATE_REQUEST_E),// containing a CC-Request-Type AVP mw_cC_Request_Number(vc_recv_cC_Request_Number),// containing a CC-Request-Number AVP ?, // containing a Service-Context-Id AVP *, // not containing a Requested Action AVP due to Request-Type is not EVENT-REQUEST {mdw_multiple_Services_Credit_Control_UsedServUnit // containing a Multiple-Services-Credit-Control AVP ( {mw_used_Service_Unit_AVP_dummy} ) } ) ) ); f_send_CCA( md_cCA( vc_sessionId, // containing a Session-ID AVP md_ccaBodyAvps_ReqNumber( m_resultCode( // containing a Result-Code AVP DIAMETER_AUTHORIZATION_REJECTED_E // indicating DIAMETER-AUTHORIZATION-REJECTED ), vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP m_cC_Request_Type(UPDATE_REQUEST_E), m_cC_Request_Number(vc_recv_cC_Request_Number)// containing a CC-Request-Number AVP )) ); f_selfOrClientSyncAndVerdict(c_sync2, f_getVerdict());// sync point sync2 f_awaitCCR_sendCCA_( TERMINATION_REQUEST_E, vc_recv_cC_Request_Number ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_postamble_Ro_OCF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_RO_CTF_OP_11 /** * @desc Verify that the IUT can successfully terminate session on an ASR, ASA exchange. * @verdict pass on success, fail on error or inconc on timeout only */ function f_TC_RO_CTF_OP_12() runs on DiameterRfRo { // Local variables // Preamble f_preamble_Ro_OCF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); f_awaiting_CCR( mdw_cCR( ?, mdw_ccrBodyAvps( vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP vc_destinationRealm, // containing a Destination-Realm AVP mw_cC_Request_Type(INITIAL_REQUEST_E),// containing a CC-Request-Type AVP mw_cC_Request_Number(vc_recv_cC_Request_Number),// containing a CC-Request-Number AVP ?, // containing a Service-Context-Id AVP *, // not containing a Requested Action AVP due to Request-Type is not EVENT-REQUEST {mdw_multiple_Services_Credit_Control_UsedServUnit // containing a Multiple-Services-Credit-Control AVP ( {mw_used_Service_Unit_AVP_dummy} ) } ) ) ); f_send_CCA( md_cCA( vc_sessionId, // containing a Session-ID AVP md_ccaBodyAvps_MultipleServiceCreditControl( 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_cC_Request_Type(INITIAL_REQUEST_E), m_cC_Request_Number(vc_recv_cC_Request_Number), { md_multiple_Services_Credit_Control_grantedServUnit_quotaConsumTime( m_granted_Service_Unit_Volume(m_cC_Time(32)), m_quota_Consumption_Time(5)//indicating a period equal to the Quota Consumption Time ) } )) ); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());// sync point sync1 f_awaiting_CCR( mdw_cCR( ?, mdw_ccrBodyAvps( vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP vc_destinationRealm, // containing a Destination-Realm AVP mw_cC_Request_Type(UPDATE_REQUEST_E),// containing a CC-Request-Type AVP mw_cC_Request_Number(vc_recv_cC_Request_Number),// containing a CC-Request-Number AVP ?, // containing a Service-Context-Id AVP *, // not containing a Requested Action AVP due to Request-Type is not EVENT-REQUEST {mdw_multiple_Services_Credit_Control_UsedServUnit // containing a Multiple-Services-Credit-Control AVP ( {mw_used_Service_Unit_AVP_dummy} ) } ) ) ); f_send_CCA( md_cCA( vc_sessionId, // containing a Session-ID AVP md_ccaBodyAvps_ReqNumber( 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_cC_Request_Type(UPDATE_REQUEST_E), m_cC_Request_Number(vc_recv_cC_Request_Number)// containing a CC-Request-Number AVP )) ); f_selfOrClientSyncAndVerdict(c_sync2, f_getVerdict());// sync point sync2 f_awaiting_ASR( // the IUT sends an AS-Request mdw_aSR( vc_sessionId, // containing a Session-ID AVP mdw_asrBodyAvps( vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP vc_destinationRealm, // containing a Destination-Realm AVP vc_destinationHost // containing a Destination-Host AVP // containing an Auth-Application-Id AVP ) ) ); f_send_ASA( // the IUT receives an AS-Answer md_aSA( vc_sessionId, // containing a Session-ID AVP md_asaBodyAvps( 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 ) ) ); f_awaitCCR_sendCCA_( TERMINATION_REQUEST_E, vc_recv_cC_Request_Number ); f_send_CCA( md_cCA( vc_sessionId, // containing a Session-ID AVP md_ccaBodyAvps( m_resultCode( // containing a Result-Code AVP DIAMETER_AUTHORIZATION_REJECTED_E // indicating DIAMETER-AUTHORIZATION-REJECTED ), vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP m_cC_Request_Type(TERMINATION_REQUEST_E) )) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_postamble_Ro_OCF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_RO_CTF_OP_12 /** * @desc Verify that the IUT can process quota consumption time. * @verdict pass on success, fail on error or inconc on timeout only */ function f_TC_RO_CTF_OP_13() runs on DiameterRfRo { // Local variables var integer v_counter; // Preamble f_preamble_Ro_OCF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); f_awaiting_CCR( mdw_cCR( ?, mdw_ccrBodyAvps( vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP vc_destinationRealm, // containing a Destination-Realm AVP mw_cC_Request_Type(INITIAL_REQUEST_E),// containing a CC-Request-Type AVP mw_cC_Request_Number(vc_recv_cC_Request_Number),// containing a CC-Request-Number AVP ?, // containing a Service-Context-Id AVP *, // not containing a Requested Action AVP due to Request-Type is not EVENT-REQUEST {mdw_multiple_Services_Credit_Control_UsedServUnit // containing a Multiple-Services-Credit-Control AVP ( {mw_used_Service_Unit_AVP_dummy} ) } ) ) ); f_send_CCA( md_cCA( vc_sessionId, // containing a Session-ID AVP md_ccaBodyAvps_MultipleServiceCreditControl( 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_cC_Request_Type(INITIAL_REQUEST_E), m_cC_Request_Number(vc_recv_cC_Request_Number), { md_multiple_Services_Credit_Control_granted_Service_Unit_Envelope_Reporting( m_granted_Service_Unit_Volume(m_cC_Time(32)), m_envelope_Reporting( // containing an Envelope-Reporting AVP DO_NOT_REPORT_ENVELOPES_E // indicating DO_NOT_REPORT_ENVELOPES ) ) } )) ); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());// sync point sync1 f_awaiting_CCR( mdw_cCR( ?, mdw_ccrBodyAvps( vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP vc_destinationRealm, // containing a Destination-Realm AVP mw_cC_Request_Type(UPDATE_REQUEST_E),// containing a CC-Request-Type AVP mw_cC_Request_Number(vc_recv_cC_Request_Number),// containing a CC-Request-Number AVP ?, // containing a Service-Context-Id AVP *, // not containing a Requested Action AVP due to Request-Type is not EVENT-REQUEST { mdw_multiple_Services_Credit_Control_UsedServUnit // containing a Multiple-Services-Credit-Control AVP // containing a Used-Service-Unit AVP } ) ) ); for (v_counter := 0; v_counter < lengthof(vc_recvDiamMsg.cCR.cCR_Body.multiple_Services_Indicator.Multiple_Services_Credit_Control_AVP); v_counter := v_counter + 1) { if ( ispresent( vc_recvDiamMsg.cCR.cCR_Body.multiple_Services_Indicator.multiple_Services_Credit_Control[v_counter].multiple_Services_Credit_Control ) ) { // not containing an Envelope AVP f_selfOrClientSyncAndVerdict(c_sync2, f_getVerdict());// sync point sync2 f_selfOrClientSyncAndVerdict(c_tbDone, e_error); // Error } } // end of 'for' statement f_send_CCA( md_cCA( vc_sessionId, // containing a Session-ID AVP md_ccaBodyAvps_ReqNumber( 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_cC_Request_Type(UPDATE_REQUEST_E), m_cC_Request_Number(vc_recv_cC_Request_Number) )) ); f_selfOrClientSyncAndVerdict(c_sync2, f_getVerdict());// sync point sync2 f_awaitCCR_sendCCA_( TERMINATION_REQUEST_E, vc_recv_cC_Request_Number ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_postamble_Ro_OCF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_RO_CTF_OP_13 } // End of group TP_RO_CTF_OP } //End of group TP_RO_CTF_Role } // End of group TP_RO_Role } // End of module DiameterRfRo_Rf_TCFunctions No newline at end of file
DiameterRfRo/ttcn/DiameterRfRo_Templates.ttcn +53 −44 File changed.Preview size limit exceeded, changes collapsed. Show changes