/** * @author STF 490 * @version $Id$ * @desc This module provides test cases * for SIP-IMS-RfRo-DIAMETER tests. */ module DiameterRfRo_TestCases { //LibCommon import from LibCommon_Sync all ; import from LibCommon_VerdictControl all; //LibDiameter import from LibDiameter_TypesAndValues all; import from LibDiameter_Interface all; //LibIms import from LibIms_Interface all; //AtsIms import from DiameterRfRo_TestConfiguration all; import from DiameterRfRo_TestSystem all; import from DiameterRfRo_SIP_TCFunctions all; import from DiameterRfRo_TCFunctions all; import from DiameterRfRo_PICS all; import from DiameterRfRo_PIXITS all; import from DiameterRfRo_Steps all; import from DiameterRfRo_TestSystem all; // 5.2.2.1. CDF Role group TP_RF_Role { // 5.2.2.1. CDF Role group TP_RF_CDF_Role { // 5.2.2.1.2 Message Syntax group TP_RF_CDF_MS { /** * @desc Verify that the IUT can successfully process all mandatory AVPs in an AC-Request received due to Charging Data Transfer *
                 * Pics Selection: PICS_CDF_IUT
                 * Initial conditions: 
                 *     with {
                 *        
                 *     }
                 * Expected behaviour:
                 *     ensure that {
                 *        when {
                 *            the IUT receives an AC-Request 
                 *                containing a Session-ID AVP
                 *                containing an Origin-Host AVP
                 *                containing an Origin-Realm AVP
                 *                containing a Destination-Realm AVP
                 *                containing an Accounting-Record-Type AVP
                 *                containing an Accounting-Record-Number AVP
                 *                containing an Acct-Application-Id AVP
                 *                    indicating the value 3
                 *        }
                 *        then {
                 *            the IUT sends a AC-Response 
                 *                containing a Session-ID AVP
                 *                containing a Result-Code AVP
                 *                    indicating DIAMETER_SUCCESS
                 *                not containing an Experimental-Result AVP
                 *                containing an Origin-Host AVP
                 *                containing an Origin-Realm AVP
                 *                containing an Accounting-Record-Type AVP
                 *                containing an Accounting-Record-Number AVP
                 *                containing an Acct-Application-Id AVP
                 *                    indicating the value 3
                 *        }
                 *    }
                 * 
* * @version 0.0.12 * @see ETSI DTS/INT 00121-2 V0.0.12 (2015-07) TP_RF_CDF_MS_01 */ testcase TC_RF_CDF_MS_01() runs on DiameterRfRo system TestAdapter { // Local variables var DiameterRfRo v_diameterRf_ctf; // Test control if (not PICS_RF_CDF_IUT) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_RF_CDF_IUT' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Rf_ctfUp(v_diameterRf_ctf); // Start v_diameterRf_ctf.start(f_TC_CDF_MS_01()); // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Rf_ctfDown(v_diameterRf_ctf); } // End of testcase TC_RF_CDF_MS_01 /** * @desc Verify that the IUT can successfully process all mandatory AVPs in an AC-Request received due to Charging Data Transfer and responds with a valid AC-Answer message *
                 * Pics Selection: PICS_CDF_IUT
                 * Initial conditions: 
                 *     with {
                 *        
                 *     }
                 * Expected behaviour:
                 *     ensure that {
                 *        when {
                 *            the IUT receives an AC-Request 
                 *                containing a Session-ID AVP
                 *                containing an Origin-Host AVP
                 *                containing an Origin-Realm AVP
                 *                containing a Destination-Realm AVP
                 *                containing an Accounting-Record-Type AVP
                 *                containing an Accounting-Record-Number AVP
                 *                containing an Acct-Application-Id AVP
                 *                    indicating the value 3
                 *        }
                 *        then {
                 *            the IUT sends an AC-Answer
                 *                containing a Diameter-Header
                 *                     containing a Version
                 *                       indicating value ‘1’
                 *                     containing a Command-Flags
                 *                       containing T bit
                 *                         indicating value ‘0’
                 *                       containing r bits
                 *                         indicating value ‘0000’.
                 *        }
                 *    }
                 * 
* * @version 0.0.15 * @see ETSI DTS/INT 00121-2 V0.0.15 (2015-10) TP_RF_CDF_MS_02 */ testcase TC_RF_CDF_MS_02() runs on DiameterRfRo system TestAdapter { // Local variables var DiameterRfRo v_diameterRf_ctf; // Test control if (not PICS_RF_CDF_IUT) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_RF_CDF_IUT' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Rf_ctfUp(v_diameterRf_ctf); // Start v_diameterRf_ctf.start(f_TC_CDF_MS_02()); // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Rf_ctfDown(v_diameterRf_ctf); } // End of testcase TC_RF_CDF_MS_01 } // End of group MessageSyntax // 5.2.2.1.3 Type of Charging group TP_RF_CDF_TC { /** * @desc Verify that the IUT can successfully process an AC-Request [Event] where Event Based Charging is used *
                 * Pics Selection: PICS_CDF_IUT and PICS_EVENT_BASED_CHARGING
                 * Initial conditions: 
                 *     with {
                 *        
                 *     }
                 * Expected behaviour:
                 *     ensure that {
                 *        when {
                 *            the IUT receives an AC-Request 
                 *                containing an Accounting-Record-Type AVP
                 *                    indicating EVENT_RECORD
                 *                containing an Event-Timestamp AVP 
                 *                may containing Service-Information AVP
                 *                    containing at least one Subscription-ID AVP
                 *                        indicating the identification of the user
                 *                    may contains IMS-Information AVP
                 *                        containing Node-Functionality AVP
                 *                            indicating the value 3
                 *                    may containing Service-Generic-Information AVP
                 *                        indicating the service specific parameters
                 *                may containing Service-Context-Id AVP
                 *        }
                 *        then {
                 *            the IUT sends a AC-Response 
                 *                containing a Session-ID AVP
                 *                containing a Result-Code AVP
                 *                    indicating DIAMETER_SUCCESS
                 *                not containing an Experimental-Result AVP
                 *                containing an Accounting-Record-Type AVP
                 *                    indicating EVENT_RECORD
                 *                containing an Accounting-Record-Number AVP
                 *        }
                 *    }
                 * 
* * @version 0.0.12 * @see ETSI DTS/INT 00121-2 V0.0.12 (2015-07) TP_RF_CDF_TC_01 */ testcase TC_RF_CDF_TC_01() runs on DiameterRfRo system TestAdapter { // Local variables var DiameterRfRo v_diameterRf_ctf; // Test control if (not (PICS_RF_CDF_IUT and PICS_RF_CDF_EVENT_BASED_CHARGING)) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_RF_CDF_IUT and PICS_RF_CDF_EVENT_BASED_CHARGING' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Rf_ctfUp(v_diameterRf_ctf); // Start v_diameterRf_ctf.start(f_TC_RF_CDF_TC_01()); // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Rf_ctfDown(v_diameterRf_ctf); } // End of testcase TC_RF_CDF_TC_01 /** * @desc Verify that the IUT can successfully process an AC-Request [Start] where Session Based Charging is used *
                 * Pics Selection: PICS_CDF_IUT and PICS_SESSION_BASED_CHARGING
                 * Initial conditions: 
                 *     with {
                 *        
                 *     }
                 * Expected behaviour:
                 *     ensure that {
                 *        when {
                 *           on receipt of an AC-Request
                 *               containing an Accounting-Record-Type AVP
                 *                   containing an Accounting-Record-Type AVP
                 *                       indicating START_RECORD
                 *               containing an Accounting-Record-Number AVP
                 *               containing an Event-Timestamp AVP
                 *               containing Service-Information AVP
                 *                   indicating the service specific parameters
                 *        }
                 *        then {
                 *           sends an AC-Answer
                 *               containing a Result-Code AVP
                 *                   indicating DIAMETER_SUCCESS
                 *               not containing an Experimental-Result AVP
                 *               containing an Accounting-Record-Type AVP
                 *                   indicating START_RECORD
                 *               optionally containing an Acct-Interim-Interval AVP
                 *                   indicating the desired intermediate charging interval.
                 *        }
                 *    }
                 * 
* * @version 0.0.15 * @see ETSI DTS/INT 00121-2 V0.0.15 (2015-10) TP_RF_CDF_TC_02 */ testcase TC_RF_CDF_TC_02() runs on DiameterRfRo system TestAdapter { // Local variables var DiameterRfRo v_diameterRf_ctf; // Test control if (not (PICS_RF_CDF_IUT and PICS_RF_CDF_SESSION_BASED_CHARGING)) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_RF_CDF_IUT and PICS_RF_CDF_SESSION_BASED_CHARGING' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Rf_ctfUp(v_diameterRf_ctf); // Start v_diameterRf_ctf.start(f_TC_RF_CDF_TC_02()); // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Rf_ctfDown(v_diameterRf_ctf); } // End of testcase TC_RF_CDF_TC_02 /** * @desc Verify that the IUT can successfully process an AC-Request [Interim] where Session Based Charging is used *
                 * Pics Selection: PICS_CDF_IUT and PICS_SESSION_BASED_CHARGING
                 * Initial conditions: 
                 *     with {
                 *        
                 *     }
                 * Expected behaviour:
                 *     ensure that {
                 *        when {
                 *           on receipt of an AC-Request
                 *               containing an Accounting-Record-Type AVP
                 *                   containing an Accounting-Record-Type AVP
                 *                       indicating INTERIM_RECORD
                 *               containing an Accounting-Record-Number AVP
                 *               containing an Event-Timestamp AVP
                 *               containing Service-Information AVP
                 *                   indicating Subscription-Id AVP
                 *                   indicating IMS-Information AVP
                 *        }
                 *        then {
                 *           sends an AC-Answer
                 *               containing a Result-Code AVP
                 *                   indicating DIAMETER_SUCCESS
                 *               not containing an Experimental-Result AVP
                 *               containing an Accounting-Record-Type AVP
                 *                   indicating INTERIM_RECORD
                 *               optionally containing an Acct-Interim-Interval AVP
                 *                   indicating the desired intermediate charging interval.
                 *        }
                 *    }
                 * 
* * @version 0.0.15 * @see ETSI DTS/INT 00121-2 V0.0.15 (2015-10) TP_RF_CDF_TC_03 */ testcase TC_RF_CDF_TC_03() runs on DiameterRfRo system TestAdapter { // Local variables var DiameterRfRo v_diameterRf_ctf; // Test control if (not (PICS_RF_CDF_IUT and PICS_RF_CDF_SESSION_BASED_CHARGING)) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_RF_CDF_IUT and PICS_RF_CDF_SESSION_BASED_CHARGING' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Rf_ctfUp(v_diameterRf_ctf); // Start v_diameterRf_ctf.start(f_TC_RF_CDF_TC_03()); // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Rf_ctfDown(v_diameterRf_ctf); } // End of testcase TC_RF_CDF_TC_03 /** * @desc Verify that the IUT can successfully process an AC-Request [Stop] where Session Based Charging is used *
                 * Pics Selection: PICS_CDF_IUT and PICS_SESSION_BASED_CHARGING
                 * Initial conditions: 
                 *     with {
                 *        
                 *     }
                 * Expected behaviour:
                 *     ensure that {
                 *        when {
                 *           on receipt of an AC-Request
                 *               containing an Accounting-Record-Type AVP
                 *                   containing an Accounting-Record-Type AVP
                 *                       indicating STOP_RECORD
                 *               containing an Accounting-Record-Number AVP
                 *               containing an Event-Timestamp AVP
                 *               containing Service-Information AVP
                 *                   indicating Subscription-Id AVP
                 *                   indicating IMS-Information AVP
                 *        }
                 *        then {
                 *           sends an AC-Answer
                 *               containing a Result-Code AVP
                 *                   indicating DIAMETER_SUCCESS
                 *               not containing an Experimental-Result AVP
                 *               containing an Accounting-Record-Type AVP
                 *                   indicating STOP_RECORD
                 *        }
                 *    }
                 * 
* * @version 0.0.15 * @see ETSI DTS/INT 00121-2 V0.0.15 (2015-10) TP_RF_CDF_TC_04 */ testcase TC_RF_CDF_TC_04() runs on DiameterRfRo system TestAdapter { // Local variables var DiameterRfRo v_diameterRf_ctf; // Test control if (not (PICS_RF_CDF_IUT and PICS_RF_CDF_SESSION_BASED_CHARGING)) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_RF_CDF_IUT and PICS_RF_CDF_SESSION_BASED_CHARGING' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Rf_ctfUp(v_diameterRf_ctf); // Start v_diameterRf_ctf.start(f_TC_RF_CDF_TC_04()); // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Rf_ctfDown(v_diameterRf_ctf); } // End of testcase TC_RF_CDF_TC_04 } // End of group TypeOfCharging //5.2.2.1.4 ErrorCases group TP_RF_CDF_EC { /** * @desc Verify that the IUT terminates the call in case of timer expiration when the Session Based Charging procedure is not completed properly. *
                 * Pics Selection: PICS_CDF_IUT and PICS_SESSION_BASED_CHARGING
                 * Initial conditions: 
                 *     with {
                 *        
                 *     }
                 * Expected behaviour:
                 *     ensure that {
                 *         on timer expired
                           sends an AS-Request
                               containing a Session-ID AVP
                               containing an Origin-Host AVP
                               containing an Origin-Realm AVP
                               containing a Destination-Realm AVP
                               containing a Destination-Host AVP
                               containing an Auth-Application-Id AVP.
                 *        }
                 * 
* * @version 0.0.15 * @see ETSI DTS/INT 00121-2 V0.0.15 (2015-10) TP_RF_CDF_EC_01 */ testcase TC_RF_CDF_EC_01() runs on DiameterRfRo system TestAdapter { // Local variables var DiameterRfRo v_diameterRf_ctf; // Test control if (not (PICS_RF_CDF_IUT and PICS_RF_CDF_SESSION_BASED_CHARGING)) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_RF_CDF_IUT and PICS_RF_CDF_SESSION_BASED_CHARGING' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Rf_ctfUp(v_diameterRf_ctf); // Start v_diameterRf_ctf.start(f_TC_RF_CDF_EC_01()); // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Rf_ctfDown(v_diameterRf_ctf); } // End of testcase TC_RF_CDF_EC_01 /** * @desc Verify that the IUT terminates the call in case of timer expiration when the Session Based Charging procedure is not completed properly. *
                 * Pics Selection: PICS_CDF_IUT and PICS_SESSION_BASED_CHARGING
                 * Initial conditions: 
                 *     with {
                 *        
                 *     }
                 * Expected behaviour:
                 *     ensure that {
                 *         on timer expired
                           sends an AS-Request
                               containing a Session-ID AVP
                               containing an Origin-Host AVP
                               containing an Origin-Realm AVP
                               containing a Destination-Realm AVP
                               containing a Destination-Host AVP
                               containing an Auth-Application-Id AVP.
                 *        }
                 * 
* * @version 0.0.15 * @see ETSI DTS/INT 00121-2 V0.0.15 (2015-10) TP_RF_CDF_EC_02 */ testcase TC_RF_CDF_EC_02() runs on DiameterRfRo system TestAdapter { // Local variables var DiameterRfRo v_diameterRf_ctf; // Test control if (not (PICS_RF_CDF_IUT and PICS_RF_CDF_SESSION_BASED_CHARGING)) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_RF_CDF_IUT and PICS_RF_CDF_SESSION_BASED_CHARGING' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Rf_ctfUp(v_diameterRf_ctf); // Start v_diameterRf_ctf.start(f_TC_RF_CDF_EC_02()); // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Rf_ctfDown(v_diameterRf_ctf); } // End of testcase TC_RF_CDF_EC_02 /** * @desc Verify that the IUT can successfully process Duplicate Detection AC-Request [Event] where Event Based Charging is used *
                 * Pics Selection: PICS_CDF_IUT and PICS_EVENT_BASED_CHARGING
                 * Initial conditions: 
                 *     with {
                 *        
                 *     }
                 * Expected behaviour:
                 *     ensure that {
                 *        when {
                 *            the IUT receives an AC-Request 
                 *              containing Diameter-Header
                 *                  containing Command-Flags
                 *                      containing T-flag
                 *                          indicating value ‘1’
                 *              containing an Accounting-Record-Type AVP
                 *                  indicating EVENT_RECORD
                 *              containing an Event-Timestamp AVP 
                 *              containing optional Service-Information AVP
                 *                   containing at least one Subscription-ID AVP
                 *                      indicating the identification of the user
                 *                  containing optional IMS-Information AVP
                 *                      containing Node-Functionality AVP
                 *                          indicating the value 3
                 *                  containing optional Service-Generic-Information AVP
                 *                      indicating the service specific parameters
                 *              containing optional Service-Context-Id AVP
                 *        }
                 *        then {
                 *            the IUT sends a AC-Response 
                 *                containing a Session-ID AVP
                 *                containing a Result-Code AVP
                 *                    indicating DIAMETER_SUCCESS
                 *                not containing an Experimental-Result AVP
                 *                containing an Accounting-Record-Type AVP
                 *                    indicating EVENT_RECORD
                 *                containing an Accounting-Record-Number AVP
                 *        }
                 *    }
                 * 
* * @version 0.0.15 * @see ETSI DTS/INT 00121-2 V0.0.15 (2015-10) TP_RF_CDF_EC_03 */ testcase TC_RF_CDF_EC_03() runs on DiameterRfRo system TestAdapter { // Local variables var DiameterRfRo v_diameterRf_ctf; // Test control if (not (PICS_RF_CDF_IUT and PICS_RF_CDF_EVENT_BASED_CHARGING)) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_RF_CDF_IUT and PICS_RF_CDF_EVENT_BASED_CHARGING' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Rf_ctfUp(v_diameterRf_ctf); // Start v_diameterRf_ctf.start(f_TC_RF_CDF_EC_03()); // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Rf_ctfDown(v_diameterRf_ctf); } // End of testcase TC_RF_CDF_EC_03 /** * @desc Verify that the IUT can successfully process Duplicate Detection AC-Request [Interim] where Session Based Charging is used *
                 * Pics Selection: PICS_CDF_IUT and PICS_SESSION_BASED_CHARGING
                 * Initial conditions: 
                 *     with {
                 *        
                 *     }
                 * Expected behaviour:
                 *     ensure that {
                 *        when {
                 *            the IUT receives an AC-Request 
                 *              containing Diameter-Header
                 *                  containing Command-Flags
                 *                      containing T-flag
                 *                          indicating value ‘1’
                 *              containing an Accounting-Record-Type AVP
                 *                  indicating INTERIM_RECORD
                 *              containing an Event-Timestamp AVP 
                 *              containing optional Service-Information AVP
                 *                  containing at least one Subscription-ID AVP
                 *                      indicating the identification of the user
                 *                  containing optional IMS-Information AVP
                 *                      containing Node-Functionality AVP
                 *                          indicating the value 3
                 *                  may containing Service-Generic-Information AVP
                 *                      indicating the service specific parameters
                 *              containing optional Service-Context-Id AVP
                 *        }
                 *        then {
                 *            the IUT sends a AC-Response 
                 *                containing a Session-ID AVP
                 *                containing a Result-Code AVP
                 *                    indicating DIAMETER_SUCCESS
                 *                not containing an Experimental-Result AVP
                 *                containing an Accounting-Record-Type AVP
                 *                    indicating EVENT_RECORD
                 *                containing an Accounting-Record-Number AVP
                 *        }
                 *    }
                 * 
* * @version 0.0.15 * @see ETSI DTS/INT 00121-2 V0.0.15 (2015-10) TP_RF_CDF_EC_04 */ testcase TC_RF_CDF_EC_04() runs on DiameterRfRo system TestAdapter { // Local variables var DiameterRfRo v_diameterRf_ctf; // Test control if (not (PICS_RF_CDF_IUT and PICS_RF_CDF_SESSION_BASED_CHARGING)) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_RF_CDF_IUT and PICS_RF_CDF_SESSION_BASED_CHARGING' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Rf_ctfUp(v_diameterRf_ctf); // Start v_diameterRf_ctf.start(f_TC_RF_CDF_EC_04()); // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Rf_ctfDown(v_diameterRf_ctf); } // End of testcase TC_RF_CDF_EC_04 } // End of group ErrorCasses } // End of group TP_RF_CDF_Role // 5.2.2.2. CTF Role group TP_RF_CTF_Role { // 5.2.2.2.2 Message Syntax group TP_RF_CTF_MS { /** * @desc Verify that the IUT can send an AC-Request to indicate a Charging Data Transfer. *
                 * Pics Selection: PICS_RF_CTF_IUT
                 * Initial conditions: 
                 *     with {
                 *        
                 *     }
                 * Expected behaviour:
                 *     ensure that the IUT sends an AC-Request 
                 *                containing a Session-ID AVP
                 *                containing an Origin-Host AVP
                 *                containing an Origin-Realm AVP
                 *                containing a Destination-Realm AVP
                 *                containing an Accounting-Record-Type AVP
                 *                containing an Accounting-Record-Number AVP
                 *                containing an Acct-Application-Id AVP
                 *                    indicating the value 3
                 * 
* * @version 0.0.18 * @see ETSI DTS/INT 00121-2 V0.0.18 (2015-10) TP_RF_CTF_MS_01 */ testcase TC_RF_CTF_MS_01() runs on DiameterRfRo system TestAdapter { // Local variables var DiameterRfRo v_diameterRf_cdf; var ImsComponent v_imsComponent_ue; var ImsComponent v_imsComponent_cscf; // Test control if (not PICS_RF_CTF_IUT) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_RF_CTF_IUT' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Rf_1Gm_1Mw_cdfUp(v_diameterRf_cdf, v_imsComponent_ue, v_imsComponent_cscf); // Start v_diameterRf_cdf.start(f_TC_CTF_MS_01()); if (PX_SIPsupport) { // v_imsComponent_ue.start(f_TC_CTF_MS_UE_01); // v_imsComponent_cscf.start(f_TC_CTF_MS_CSCF_01); } // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Rf_1Gm_1Mw_cdfDown(v_diameterRf_cdf, v_imsComponent_ue, v_imsComponent_cscf) } // End of testcase TC_RF_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. *
                 * Pics Selection: PICS_RF_CTF_IUT
                 * Initial conditions: 
                 *     with {
                 *        
                 *     }
                 * Expected behaviour:
                 *     Ensure that the IUT
                 *      to indicate a request for Charging Data Transfer,
                 *      sends an AC-Request
                 *          containing a Diameter-Header
                 *              containing a Version
                 *                  indicating value ‘1’
                 *              containing a Command-Flags
                 *                  containing T bit
                 *                      indicating value ‘0’
                 *                  containing E bit
                 *                      indicating value ‘0’
                 *                  containing r bits
                 *                      indicating value ‘0000’.
                 * 
* * @version 0.0.18 * @see ETSI DTS/INT 00121-2 V0.0.18 (2015-10) TP_RF_CTF_MS_02 */ testcase TC_RF_CTF_MS_02() runs on DiameterRfRo system TestAdapter { // Local variables var DiameterRfRo v_diameterRf_cdf; var ImsComponent v_imsComponent_ue; var ImsComponent v_imsComponent_cscf; // Test control if (not PICS_RF_CTF_IUT) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_RF_CTF_IUT' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Rf_1Gm_1Mw_cdfUp(v_diameterRf_cdf, v_imsComponent_ue, v_imsComponent_cscf); // Start v_diameterRf_cdf.start(f_TC_CTF_MS_02()); if (PX_SIPsupport) { // v_imsComponent_ue.start(f_TC_CTF_MS_UE_02); // v_imsComponent_cscf.start(f_TC_CTF_MS_CSCF_02); } // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Rf_1Gm_1Mw_cdfDown(v_diameterRf_cdf, v_imsComponent_ue, v_imsComponent_cscf) } // End of testcase TC_RF_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]. *
                 * Pics Selection: PICS_RF_CTF_IUT
                 * Initial conditions: 
                 *     with {
                 *        Preamble action: UE initiates an initial REGISTRATION procedure.
                 *     }
                 * Expected behaviour:
                 *      Ensure that the IUT
                 *          sends an AC-Request
                 *              containing an Accounting-Record-Type AVP
                 *                  indicating EVENT_RECORD
                 *              containing an Accounting-Record-Number AVP
                 *              containing an Event-Timestamp AVP 
                 *              containing Service-Information AVP
                 *                  containing at least one Subscription-ID AVP
                 *                      indicating the identification of the user
                 *                  optionally containing IMS-Information AVP
                 *                      containing Node-Functionality AVP
                 *                      indicating the value 3
                 *                  optionally containing Service-Generic-Information AVP
                 *                      indicating the service specific parameters
                 *              optionally containing Service-Context-Id AVP
                 *          on receipt of an AC-Answer
                 *              containing a Result-Code AVP
                 *                  indicating DIAMETER_SUCCESS
                 *              not containing an Experimental-Result AVP
                 *              containing an Accounting-Record-Type AVP
                 *                  indicating EVENT_RECORD
                 *          accepts the message.
                 * 
* * @version 0.0.18 * @see ETSI DTS/INT 00121-2 V0.0.18 (2015-10) TP_RF_CTF_TC_01 */ testcase TC_RF_CTF_TC_01() runs on DiameterRfRo system TestAdapter { // Local variables var DiameterRfRo v_diameterRf_cdf; var ImsComponent v_imsComponent_ue; var ImsComponent v_imsComponent_cscf; // Test control if (not (PICS_RF_CTF_IUT and PICS_RF_CTF_EVENT_BASED_CHARGING)) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_RF_CTF_IUT and PICS_RF_CTF_EVENT_BASED_CHARGING' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Rf_1Gm_1Mw_cdfUp(v_diameterRf_cdf, v_imsComponent_ue, v_imsComponent_cscf); // Start v_diameterRf_cdf.start(f_TC_CTF_TC_01()); if (PX_SIPsupport) { // v_imsComponent_ue.start(f_TC_CTF_TC_UE_01); // v_imsComponent_cscf.start(f_TC_CTF_TC_CSCF_01); } // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Rf_1Gm_1Mw_cdfDown(v_diameterRf_cdf, v_imsComponent_ue, v_imsComponent_cscf) } // End of testcase TC_RF_CTF_TC_01 } // End of group TP_RF_CTF_TC_Role // 5.2.2.2.4 Error cases group TP_RF_CTF_EC { } // End of group TP_RF_CTF_EC_Role { } // End of group TP_RF_CTF_Role } // End of group TP_RFRole group TP_RO_Role { //5.2.3.1. OCF Role group TP_RO_OCF_Role { // 5.2.3.1.2 Message Syntax group TP_RO_OCF_MS { /** * @desc Verify that the IUT can successfully process all mandatory AVPs in a CC-Request received due to Charging Data Transfer. *
                 * Pics Selection: PICS_OCF_IUT
                 * Initial conditions: 
                 *     with {
                 *        
                 *     }
                 * Expected behaviour:
                 *     ensure that {
                 *        when {
                 *            the IUT receives an CC-Request
                 *                containing a Session-ID AVP
                 *                containing an Origin-Host AVP
                 *                containing an Origin-Realm AVP
                 *                containing a Destination-Realm AVP
                 *                containing an Auth-Application-Id AVP
                 *                    indicating the value 4
                 *                containing a Service-Context-Id AVP
                 *                containing a CC-Request-Type AVP
                 *                containing a CC-Request-Number AVP
                 *        then {
                 *            the IUT sends a CC-Answer
                 *                containing a Session-ID AVP
                 *                containing a Result-Code AVP
                 *                    indicating DIAMETER_SUCCESS
                 *                containing an Origin-Host AVP
                 *                containing an Origin-Realm AVP
                 *                containing an Auth-Application-Id AVP
                 *                containing a CC-Request-Type AVP
                 *                containing a CC-Request-Number AVP.
                 *        }
                 *    }
                 * 
* * @version 0.0.18 * @see ETSI DTS/INT 00121-2 V0.0.18 (2015-10) TP_RO_OCF_MS_01 */ testcase TC_RO_OCF_MS_01() runs on DiameterRfRo system TestAdapter { // Local variables var DiameterRfRo v_diameterRo_ctf; // Test control if (not PICS_RO_OCF_IUT) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_RO_OCF_IUT' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Ro_ctfUp(v_diameterRo_ctf); // Start v_diameterRo_ctf.start(f_TC_RO_OCF_MS_01()); // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Ro_ctfDown(v_diameterRo_ctf); } // End of testcase TC_RO_OCF_MS_01 /** * @desc Verify that the IUT can successfully process all mandatory AVPs in a CC-Request received due to Charging Data Transfer and responds with a valid CC-Answer message *
                 * Pics Selection: PICS_OCF_IUT
                 * Initial conditions: 
                 *     with {
                 *        
                 *     }
                 * Expected behaviour:
                 *     ensure that {
                 *        when {
                 *            the IUT receives an CC-Request
                 *                containing a Session-ID AVP
                 *                containing an Origin-Host AVP
                 *                containing an Origin-Realm AVP
                 *                containing a Destination-Realm AVP
                 *                containing an Auth-Application-Id AVP
                 *                    indicating the value 4
                 *                containing a Service-Context-Id AVP
                 *                containing a CC-Request-Type AVP
                 *                containing a CC-Request-Number AVP
                 *        then {
                 *            the IUT sends a CC-Answer
                 *                containing a Diameter-Header
                 *                    containing a Version
                 *                        indicating value ‘1’
                 *                    containing a Command-Flags
                 *                        containing T bit
                 *                            indicating value ‘0’
                 *                        containing r bits
                 *                            indicating value ‘0000’.
                 *        }
                 *    }
                 * 
* * @version 0.0.18 * @see ETSI DTS/INT 00121-2 V0.0.18 (2015-10) TP_RO_OCF_MS_02 */ testcase TC_RO_OCF_MS_02() runs on DiameterRfRo system TestAdapter { // Local variables var DiameterRfRo v_diameterRo_ctf; // Test control if (not PICS_RO_OCF_IUT) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_RO_OCF_IUT' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Ro_ctfUp(v_diameterRo_ctf); // Start v_diameterRo_ctf.start(f_TC_RO_OCF_MS_02()); // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Ro_ctfDown(v_diameterRo_ctf); } // End of testcase TC_RO_OCF_MS_02 } // End of group TP_RO_OCF_MS // 5.2.3.1.3 Type of Charging group TP_RO_OCF_TC { /** * @desc Verify that the IUT can successfully process a CC-Request [Event] with direct debiting due to Immediate Event Charging *
                 * Pics Selection: PICS_OCF_IUT and PICS_RO_OCF_IMMEDIATE_EVENT_CHARGING
                 * Initial conditions: 
                 *     with {
                 *        
                 *     }
                 * Expected behaviour:
                 *     ensure that {
                 *        when {
                 *            the IUT receives an CC-Request
                 *                containing a CC-Request-Type AVP
                 *                    indicating EVENT_REQUEST
                 *                containing a CC-Request-Number AVP
                 *                containing a Requested-Action AVP
                 *                    indicating DIRECT_DEBITING
                 *                containing a Multiple-Services-Credit-Control AVP
                 *                    (containing a Requested-Service-Unit AVP and/or
                 *                    containing a Service-Identifier AVP)
                 *        then {
                 *            the IUT sends a CC-Answer
                 *                containing a Result-Code AVP
                 *                    indicating DIAMETER_SUCCESS
                 *                containing a CC-Request-Type AVP
                 *                    indicating EVENT_REQUEST
                 *                containing a Multiple-Services-Credit-Control AVP
                 *                    containing a Granted-Service-Unit AVP
                 *                        indicating debites units
                 *        }
                 *    }
                 * 
* * @version 0.0.18 * @see ETSI DTS/INT 00121-2 V0.0.18 (2015-10) TP_RO_OCF_TC_01 */ testcase TC_RO_OCF_TC_01() runs on DiameterRfRo system TestAdapter { // Local variables var DiameterRfRo v_diameterRo_ctf; // Test control if (not (PICS_RO_OCF_IUT and PICS_RO_OCF_IMMEDIATE_EVENT_CHARGING)) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_RO_OCF_IUT and PICS_RO_OCF_IMMEDIATE_EVENT_CHARGING' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Ro_ctfUp(v_diameterRo_ctf); // Start v_diameterRo_ctf.start(f_TC_RO_OCF_TC_01()); // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Ro_ctfDown(v_diameterRo_ctf); } // End of testcase TC_RO_OCF_TC_01 /** * @desc Verify that the IUT can successfully process a CC-Request [Event] with price enquiry due to Immediate Event Charging *
                 * Pics Selection: PICS_OCF_IUT and PICS_RO_OCF_IMMEDIATE_EVENT_CHARGING
                 * Initial conditions: 
                 *     with {
                 *        
                 *     }
                 * Expected behaviour:
                 *     ensure that {
                 *        when {
                 *            the IUT receives an CC-Request
                 *                containing a CC-Request-Type AVP
                 *                    indicating EVENT_REQUEST
                 *                containing a CC-Request-Number AVP
                 *                containing a Requested-Action AVP
                 *                    indicating PRICE_ENQUIRY
                 *                containing a Multiple-Services-Credit-Control AVP
                 *                    containing a Service-Identifier AVP
                 *        then {
                 *            the IUT sends a CC-Answer
                 *                containing a Result-Code AVP
                 *                    indicating DIAMETER_SUCCESS
                 *                containing a Cost-Information AVP
                 *                    containing a Unit-Value AVP
                 *                        containing a Value-Digits AVP
                 *                    containing a Currency-Code AVP
                 *        }
                 *    }
                 * 
* * @version 0.0.18 * @see ETSI DTS/INT 00121-2 V0.0.18 (2015-10) TP_RO_OCF_TC_02 */ testcase TC_RO_OCF_TC_02() runs on DiameterRfRo system TestAdapter { // Local variables var DiameterRfRo v_diameterRo_ctf; // Test control if (not (PICS_RO_OCF_IUT and PICS_RO_OCF_IMMEDIATE_EVENT_CHARGING)) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_RO_OCF_IUT and PICS_RO_OCF_IMMEDIATE_EVENT_CHARGING' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Ro_ctfUp(v_diameterRo_ctf); // Start v_diameterRo_ctf.start(f_TC_RO_OCF_TC_02()); // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Ro_ctfDown(v_diameterRo_ctf); } // End of testcase TC_RO_OCF_TC_02 /** * @desc Verify that the IUT can successfully process a CC-Request [Event] with check balance due to Immediate Event Charging *
                 * Pics Selection: PICS_OCF_IUT and PICS_RO_OCF_IMMEDIATE_EVENT_CHARGING
                 * Initial conditions: 
                 *     with {
                 *        
                 *     }
                 * Expected behaviour:
                 *     ensure that {
                 *        when {
                 *            the IUT receives an CC-Request
                 *                containing a CC-Request-Type AVP
                 *                    indicating EVENT_REQUEST
                 *                containing a CC-Request-Number AVP
                 *                containing a Requested-Action AVP
                 *                    indicating CHECK BALANCE
                 *        then {
                 *            the IUT sends a CC-Answer
                 *                containing a Result-Code AVP
                 *                    indicating DIAMETER_SUCCESS
                 *                containing a Remaining-Balance AVP
                 *                    containing a Unit-Value AVP
                 *                        containing a Value-Digits AVP
                 *                    containing a Currency-Code AVP
                 *        }
                 *    }
                 * 
* * @version 0.0.18 * @see ETSI DTS/INT 00121-2 V0.0.18 (2015-10) TP_RO_OCF_TC_03 */ testcase TC_RO_OCF_TC_03() runs on DiameterRfRo system TestAdapter { // Local variables var DiameterRfRo v_diameterRo_ctf; // Test control if (not (PICS_RO_OCF_IUT and PICS_RO_OCF_IMMEDIATE_EVENT_CHARGING)) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_RO_OCF_IUT and PICS_RO_OCF_IMMEDIATE_EVENT_CHARGING' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Ro_ctfUp(v_diameterRo_ctf); // Start v_diameterRo_ctf.start(f_TC_RO_OCF_TC_03()); // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Ro_ctfDown(v_diameterRo_ctf); } // End of testcase TC_RO_OCF_TC_03 /** * @desc Verify that the IUT can successfully process a CC-Request [Event] with refund account due to Immediate Event Charging *
                 * Pics Selection: PICS_OCF_IUT and PICS_RO_OCF_IMMEDIATE_EVENT_CHARGING
                 * Initial conditions: 
                 *     with {
                 *        CCR,CCA [Event] direct debeting action are exchanged
                 *     }
                 * Expected behaviour:
                 *     ensure that {
                 *        when {
                 *            the IUT receives an CC-Request
                 *                containing a CC-Request-Type AVP
                 *                    indicating EVENT_REQUEST
                 *                containing a CC-Request-Number AVP
                 *                containing a Requested-Action AVP
                 *                    indicating REFUND ACCOUNT
                 *                containing a Multiple-Services-Credit-Control AVP
                 *                    (containing a Requested-Service-Unit AVP and/or
                 *                    containing a Service-Identifier AVP)
                 *        then {
                 *            the IUT sends a CC-Answer
                 *                containing a Result-Code AVP
                 *                    indicating DIAMETER_SUCCESS
                 *                containing a CC-Request-Type AVP
                 *                    indicating EVENT_REQUEST
                 *                containing a Multiple-Services-Credit-Control AVP
                 *                    containing a Granted-Service-Unit AVP
                 *                        indicating refunded units
                 *        }
                 *    }
                 * 
* * @version 0.0.18 * @see ETSI DTS/INT 00121-2 V0.0.18 (2015-10) TP_RO_OCF_TC_04 */ testcase TC_RO_OCF_TC_04() runs on DiameterRfRo system TestAdapter { // Local variables var DiameterRfRo v_diameterRo_ctf; // Test control if (not (PICS_RO_OCF_IUT and PICS_RO_OCF_IMMEDIATE_EVENT_CHARGING)) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_RO_OCF_IUT and PICS_RO_OCF_IMMEDIATE_EVENT_CHARGING' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Ro_ctfUp(v_diameterRo_ctf); // Start v_diameterRo_ctf.start(f_TC_RO_OCF_TC_04()); // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Ro_ctfDown(v_diameterRo_ctf); } // End of testcase TC_RO_OCF_TC_04 /** * @desc Verify that the IUT can successfully process a CC-Request [Initial] to reserve units due to Event Charging with Unit Reservation *
                 * Pics Selection: PICS_OCF_IUT and PICS_RO_OCF_EVENT_CHARGING_WITH_UNIT_RESERVATION
                 * Initial conditions: 
                 *     with {
                 *        
                 *     }
                 * Expected behaviour:
                 *     ensure that {
                 *        when {
                 *            the IUT receives an CC-Request
                 *                containing a CC-Request-Type AVP
                 *                    indicating INITIAL_REQUEST
                 *                containing a Multiple-Services-Credit-Control AVP
                 *                    containing a Requested-Service-Unit
                 *        then {
                 *            the IUT sends a CC-Answer
                 *                containing a Result-Code AVP
                 *                    indicating DIAMETER_SUCCESS
                 *                containing a CC-Request-Type AVP
                 *                    indicating INITIAL_REQUEST
                 *                containing a Multiple-Services-Credit-Control AVP
                 *                    containing a Granted-Service-Unit AVP
                 *                        indicating reserved units
                 *                optionally containing a Cost-Information AVP
                 *                    containing Unit-Value AVP
                 *                        containing Value-Digits AVP
                 *                    containing Currency-Code AVP
                 *                optionally containing a Remaining-Balance AVP
                 *                    containing Unit-Value AVP
                 *                        containing Value-Digits AVP
                 *                    containing Currency-Code AVP
                 *        }
                 *    }
                 * 
* * @version 0.0.18 * @see ETSI DTS/INT 00121-2 V0.0.18 (2015-10) TP_RO_OCF_TC_05 */ testcase TC_RO_OCF_TC_05() runs on DiameterRfRo system TestAdapter { // Local variables var DiameterRfRo v_diameterRo_ctf; // Test control if (not (PICS_RO_OCF_IUT and PICS_RO_OCF_EVENT_CHARGING_WITH_UNIT_RESERVATION)) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_RO_OCF_IUT and PICS_RO_OCF_EVENT_CHARGING_WITH_UNIT_RESERVATION' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Ro_ctfUp(v_diameterRo_ctf); // Start v_diameterRo_ctf.start(f_TC_RO_OCF_TC_05()); // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Ro_ctfDown(v_diameterRo_ctf); } // End of testcase TC_RO_OCF_TC_05 /** * @desc Verify that the IUT can successfully process a CC-Request [Termination] to debit units due to Event Charging with Unit Reservation *
                 * Pics Selection: PICS_OCF_IUT and PICS_RO_OCF_EVENT_CHARGING_WITH_UNIT_RESERVATION
                 * Initial conditions: 
                 *     with {
                 *        CCR,CCA [Initial] are exchanged
                 *     }
                 * Expected behaviour:
                 *     ensure that {
                 *        when {
                 *            the IUT receives an CC-Request
                 *                containing a CC-Request-Type AVP
                 *                    indicating TERMINATION_REQUEST
                 *                containing a Multiple-Services-Credit-Control AVP
                 *                    containing a Used-Service-Unit
                 *        then {
                 *            the IUT sends a CC-Answer
                 *                containing a Result-Code AVP
                 *                    indicating DIAMETER_SUCCESS
                 *                containing a CC-Request-Type AVP
                 *                    indicating TERMINATION_REQUEST
                 *                optionally containing a Cost-Information AVP
                 *                    containing Unit-Value AVP
                 *                        containing Value-Digits AVP
                 *                    containing Currency-Code AVP
                 *                optionally containing a Remaining-Balance AVP
                 *                    containing Unit-Value AVP
                 *                        containing Value-Digits AVP
                 *                    containing Currency-Code AVP
                 *        }
                 *    }
                 * 
* * @version 0.0.18 * @see ETSI DTS/INT 00121-2 V0.0.18 (2015-10) TP_RO_OCF_TC_06 */ testcase TC_RO_OCF_TC_06() runs on DiameterRfRo system TestAdapter { // Local variables var DiameterRfRo v_diameterRo_ctf; // Test control if (not (PICS_RO_OCF_IUT and PICS_RO_OCF_EVENT_CHARGING_WITH_UNIT_RESERVATION)) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_RO_OCF_IUT and PICS_RO_OCF_EVENT_CHARGING_WITH_UNIT_RESERVATION' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Ro_ctfUp(v_diameterRo_ctf); // Start v_diameterRo_ctf.start(f_TC_RO_OCF_TC_06()); // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Ro_ctfDown(v_diameterRo_ctf); } // End of testcase TC_RO_OCF_TC_06 /** * @desc Verify that the IUT can successfully process a CC-Request [Initial] to reserve units due to Session Charging with Unit Reservation *
                 * Pics Selection: PICS_OCF_IUT and PICS_RO_OCF_SESSION_CHARGING_WITH_UNIT_RESERVATION
                 * Initial conditions: 
                 *     with {
                 *        
                 *     }
                 * Expected behaviour:
                 *     ensure that {
                 *        when {
                 *            the IUT receives an CC-Request
                 *                containing a CC-Request-Type AVP
                 *                    indicating INITIAL_REQUEST
                 *                containing a Multiple-Services-Credit-Control AVP
                 *                    containing a Requested-Service-Unit
                 *        then {
                 *            the IUT sends a CC-Answer
                 *                containing a Result-Code AVP
                 *                    indicating DIAMETER_SUCCESS
                 *                containing a CC-Request-Type AVP
                 *                    indicating INITIAL_REQUEST
                 *                containing a Multiple-Services-Credit-Control AVP
                 *                    containing a Granted-Service-Unit AVP
                 *                        indicating reserved units
                 *                optionally containing a Cost-Information AVP
                 *                    containing Unit-Value AVP
                 *                        containing Value-Digits AVP
                 *                    containing Currency-Code AVP
                 *                optionally containing a Remaining-Balance AVP
                 *                    containing Unit-Value AVP
                 *                        containing Value-Digits AVP
                 *                    containing Currency-Code AVP
                 *        }
                 *    }
                 * 
* * @version 0.0.18 * @see ETSI DTS/INT 00121-2 V0.0.18 (2015-10) TP_RO_OCF_TC_07 */ testcase TC_RO_OCF_TC_07() runs on DiameterRfRo system TestAdapter { // Local variables var DiameterRfRo v_diameterRo_ctf; // Test control if (not (PICS_RO_OCF_IUT and PICS_RO_OCF_SESSION_CHARGING_WITH_UNIT_RESERVATION)) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_RO_OCF_IUT and PICS_RO_OCF_SESSION_CHARGING_WITH_UNIT_RESERVATION' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Ro_ctfUp(v_diameterRo_ctf); // Start v_diameterRo_ctf.start(f_TC_RO_OCF_TC_07()); // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Ro_ctfDown(v_diameterRo_ctf); } // End of testcase TC_RO_OCF_TC_07 /** * @desc Verify that the IUT can successfully process a CC-Request [Update] to reserve units and debit units due to Session Charging with Unit Reservation *
                 * Pics Selection: PICS_OCF_IUT and PICS_RO_OCF_SESSION_CHARGING_WITH_UNIT_RESERVATION
                 * Initial conditions: 
                 *     with {
                 *        CCR,CCA [Initial] are exchanged
                 *     }
                 * Expected behaviour:
                 *     ensure that {
                 *        when {
                 *            the IUT receives an CC-Request
                 *                containing a CC-Request-Type AVP
                 *                    indicating UPDATE_REQUEST
                 *                containing a Multiple-Services-Credit-Control AVP
                 *                    containing a Used-Service-Unit
                 *        then {
                 *            the IUT sends a CC-Answer
                 *                containing a Result-Code AVP
                 *                    indicating DIAMETER_SUCCESS
                 *                containing a CC-Request-Type AVP
                 *                    indicating UPDATE_REQUEST
                 *                containing a Multiple-Services-Credit-Control AVP
                 *                    containing a Granted-Service-Unit AVP
                 *                        indicating reserved units
                 *                optionally containing a Cost-Information AVP
                 *                    containing Unit-Value AVP
                 *                        containing Value-Digits AVP
                 *                    containing Currency-Code AVP
                 *                optionally containing a Remaining-Balance AVP
                 *                    containing Unit-Value AVP
                 *                        containing Value-Digits AVP
                 *                    containing Currency-Code AVP
                 *        }
                 *    }
                 * 
* * @version 0.0.18 * @see ETSI DTS/INT 00121-2 V0.0.18 (2015-10) TP_RO_OCF_TC_08 */ testcase TC_RO_OCF_TC_08() runs on DiameterRfRo system TestAdapter { // Local variables var DiameterRfRo v_diameterRo_ctf; // Test control if (not (PICS_RO_OCF_IUT and PICS_RO_OCF_SESSION_CHARGING_WITH_UNIT_RESERVATION)) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_RO_OCF_IUT and PICS_RO_OCF_SESSION_CHARGING_WITH_UNIT_RESERVATION' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Ro_ctfUp(v_diameterRo_ctf); // Start v_diameterRo_ctf.start(f_TC_RO_OCF_TC_08()); // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Ro_ctfDown(v_diameterRo_ctf); } // End of testcase TC_RO_OCF_TC_08 /** * @desc Verify that the IUT can successfully process a CC-Request [Termination] to debit units due to Session Charging with Unit Reservation *
                 * Pics Selection: PICS_OCF_IUT and PICS_RO_OCF_SESSION_CHARGING_WITH_UNIT_RESERVATION
                 * Initial conditions: 
                 *     with {
                 *        CCR,CCA [Initial] and CCR,CCA [Update] are exchanged
                 *     }
                 * Expected behaviour:
                 *     ensure that {
                 *        when {
                 *            the IUT receives an CC-Request
                 *                containing a CC-Request-Type AVP
                 *                    indicating TERMINATION_REQUEST
                 *                containing a Multiple-Services-Credit-Control AVP
                 *                    containing a Used-Service-Unit
                 *        then {
                 *            the IUT sends a CC-Answer
                 *                containing a Result-Code AVP
                 *                    indicating DIAMETER_SUCCESS
                 *                containing a CC-Request-Type AVP
                 *                    indicating TERMINATION_REQUEST
                 *                containing a Multiple-Services-Credit-Control AVP
                 *                    containing a Granted-Service-Unit AVP
                 *                        indicating reserved units
                 *                optionally containing a Cost-Information AVP
                 *                    containing Unit-Value AVP
                 *                        containing Value-Digits AVP
                 *                    containing Currency-Code AVP
                 *                optionally containing a Remaining-Balance AVP
                 *                    containing Unit-Value AVP
                 *                        containing Value-Digits AVP
                 *                    containing Currency-Code AVP
                 *        }
                 *    }
                 * 
* * @version 0.0.18 * @see ETSI DTS/INT 00121-2 V0.0.18 (2015-10) TP_RO_OCF_TC_09 */ testcase TC_RO_OCF_TC_09() runs on DiameterRfRo system TestAdapter { // Local variables var DiameterRfRo v_diameterRo_ctf; // Test control if (not (PICS_RO_OCF_IUT and PICS_RO_OCF_SESSION_CHARGING_WITH_UNIT_RESERVATION)) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_RO_OCF_IUT and PICS_RO_OCF_SESSION_CHARGING_WITH_UNIT_RESERVATION' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Ro_ctfUp(v_diameterRo_ctf); // Start v_diameterRo_ctf.start(f_TC_RO_OCF_TC_09()); // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Ro_ctfDown(v_diameterRo_ctf); } // End of testcase TC_RO_OCF_TC_09 } // End of group TP_RO_OCF_TC // 5.2.3.1.4 Error Casses group TP_RO_OCF_EC { /** * @desc Verify that the IUT can successfully process Duplicate Detection due to Immediate Event Charging with Direct Debiting *
                 * Pics Selection: PICS_OCF_IUT and PICS_RO_OCF_IMMEDIATE_EVENT_CHARGING
                 * Initial conditions: 
                 *     with {
                 *        
                 *     }
                 * Expected behaviour:
                 *     ensure that {
                 *        when {
                 *            the IUT receives an CC-Request
                 *                containing Diameter-Header
                 *                    containing Command-Flags
                 *                        containing T-flag
                 *                            indicating value ‘1
                 *                containing a CC-Request-Type AVP
                 *                    indicating EVENT_REQUEST
                 *                containing a CC-Request-Number AVP
                 *                containing a Requested-Action AVP
                 *                    indicating DIRECT_DEBITING
                 *                containing a Multiple-Services-Credit-Control AVP
                 *                    (containing a Requested-Service-Unit AVP and/or
                 *                    containing a Service-Identifier AVP)
                 *        then {
                 *            the IUT sends a CC-Answer
                 *                containing a Result-Code AVP
                 *                    indicating DIAMETER_SUCCESS
                 *                containing a CC-Request-Type AVP
                 *                    indicating EVENT_REQUEST
                 *                containing a Multiple-Services-Credit-Control AVP
                 *                    containing a Granted-Service-Unit AVP
                 *                        indicating debites units
                 *        }
                 *    }
                 * 
* * @version 0.0.18 * @see ETSI DTS/INT 00121-2 V0.0.18 (2015-10) TP_RO_OCF_EC_01 */ testcase TC_RO_OCF_EC_01() runs on DiameterRfRo system TestAdapter { // Local variables var DiameterRfRo v_diameterRo_ctf; // Test control if (not (PICS_RO_OCF_IUT and PICS_RO_OCF_IMMEDIATE_EVENT_CHARGING)) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_RO_OCF_IUT and PICS_RO_OCF_IMMEDIATE_EVENT_CHARGING' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Ro_ctfUp(v_diameterRo_ctf); // Start v_diameterRo_ctf.start(f_EC_RO_OCF_EC_01()); // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Ro_ctfDown(v_diameterRo_ctf); } // End of testcase TC_RO_OCF_EC_01 /** * @desc Verify that the IUT can successfully process Duplicate Detection due to Event Charging with Unit Reservation *
                 * Pics Selection: PICS_OCF_IUT and PICS_RO_OCF_SESSION_CHARGING_WITH_UNIT_RESERVATION
                 * Initial conditions: 
                 *     with {
                 *        
                 *     }
                 * Expected behaviour:
                 *     ensure that {
                 *        when {
                 *            the IUT receives an CC-Request
                 *                containing Diameter-Header
                 *                    containing Command-Flags
                 *                        containing T-flag
                 *                            indicating value ‘1
                 *                containing a CC-Request-Type AVP
                 *                    indicating INITIAL_REQUEST
                 *                containing a CC-Request-Number AVP
                 *                containing a Multiple-Services-Credit-Control AVP
                 *                    containing a Requested-Service-Unit
                 *        then {
                 *            the IUT sends a CC-Answer
                 *                containing a Result-Code AVP
                 *                    indicating DIAMETER_SUCCESS
                 *                containing a CC-Request-Type AVP
                 *                    indicating INITIAL_REQUEST
                 *                containing a Multiple-Services-Credit-Control AVP
                 *                    containing a Granted-Service-Unit AVP
                 *                        indicating reserved units
                 *                optionally containing a Cost-Information AVP
                 *                    containing Unit-Value AVP
                 *                        containing Value-Digits AVP
                 *                    containing Currency-Code AVP
                 *                optionally containing a Remaining-Balance AVP
                 *                    containing Unit-Value AVP
                 *                        containing Value-Digits AVP
                 *                    containing Currency-Code AVP
                 *        }
                 *    }
                 * 
* * @version 0.0.18 * @see ETSI DTS/INT 00121-2 V0.0.18 (2015-10) TP_RO_OCF_EC_02 */ testcase TC_RO_OCF_EC_02() runs on DiameterRfRo system TestAdapter { // Local variables var DiameterRfRo v_diameterRo_ctf; // Test control if (not (PICS_RO_OCF_IUT and PICS_RO_OCF_SESSION_CHARGING_WITH_UNIT_RESERVATION)) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_RO_OCF_IUT and PICS_RO_OCF_SESSION_CHARGING_WITH_UNIT_RESERVATION' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Ro_ctfUp(v_diameterRo_ctf); // Start v_diameterRo_ctf.start(f_EC_RO_OCF_EC_02()); // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Ro_ctfDown(v_diameterRo_ctf); } // End of testcase TC_RO_OCF_EC_02 /** * @desc Verify that the IUT can successfully process Duplicate Detection due to Event Charging with Unit Reservation *
                 * Pics Selection: PICS_OCF_IUT and PICS_RO_OCF_SESSION_CHARGING_WITH_UNIT_RESERVATION
                 * Initial conditions: 
                 *     with {
                 *        CCR,CCA [Initial] are exchanged
                 *     }
                 * Expected behaviour:
                 *     ensure that {
                 *        when {
                 *            the IUT receives an CC-Request
                 *                containing Diameter-Header
                 *                    containing Command-Flags
                 *                        containing T-flag
                 *                            indicating value ‘1
                 *                containing a CC-Request-Type AVP
                 *                    indicating TERMINATION_REQUEST
                 *                containing a CC-Request-Number AVP
                 *                containing a Multiple-Services-Credit-Control AVP
                 *                    containing a Requested-Service-Unit
                 *        then {
                 *            the IUT sends a CC-Answer
                 *                containing a Result-Code AVP
                 *                    indicating DIAMETER_SUCCESS
                 *                containing a CC-Request-Type AVP
                 *                    indicating TERMINATION_REQUEST
                 *                containing a Multiple-Services-Credit-Control AVP
                 *                    containing a Granted-Service-Unit AVP
                 *                        indicating reserved units
                 *                optionally containing a Cost-Information AVP
                 *                    containing Unit-Value AVP
                 *                        containing Value-Digits AVP
                 *                    containing Currency-Code AVP
                 *                optionally containing a Remaining-Balance AVP
                 *                    containing Unit-Value AVP
                 *                        containing Value-Digits AVP
                 *                    containing Currency-Code AVP
                 *        }
                 *    }
                 * 
* * @version 0.0.18 * @see ETSI DTS/INT 00121-2 V0.0.18 (2015-10) TP_RO_OCF_EC_03 */ testcase TC_RO_OCF_EC_03() runs on DiameterRfRo system TestAdapter { // Local variables var DiameterRfRo v_diameterRo_ctf; // Test control if (not (PICS_RO_OCF_IUT and PICS_RO_OCF_SESSION_CHARGING_WITH_UNIT_RESERVATION)) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_RO_OCF_IUT and PICS_RO_OCF_SESSION_CHARGING_WITH_UNIT_RESERVATION' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Ro_ctfUp(v_diameterRo_ctf); // Start v_diameterRo_ctf.start(f_EC_RO_OCF_EC_03()); // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Ro_ctfDown(v_diameterRo_ctf); } // End of testcase TC_RO_OCF_EC_03 /** * @desc Verify that the IUT can successfully process Duplicate Detection due to Session Charging with Unit Reservation *
                 * Pics Selection: PICS_OCF_IUT and PICS_RO_OCF_SESSION_CHARGING_WITH_UNIT_RESERVATION
                 * Initial conditions: 
                 *     with {
                 *        CCR, CCA [Initial] and CCR, CCA [Update] are exchanged and,
                 *        the OCF stops communication with the IUT
                 *     }
                 * Expected behaviour:
                 *     ensure that {
                 *        when {
                 *            the IUT receives an CC-Request
                 *                containing Diameter-Header
                 *                    containing Command-Flags
                 *                        containing T-flag
                 *                            indicating value ‘1
                 *                containing a CC-Request-Type AVP
                 *                    indicating UPDATE_REQUEST
                 *                containing a CC-Request-Number AVP
                 *                containing a Multiple-Services-Credit-Control AVP
                 *                    containing a Requested-Service-Unit
                 *        then {
                 *            the IUT sends a CC-Answer
                 *                containing a Result-Code AVP
                 *                    indicating DIAMETER_SUCCESS
                 *                containing a CC-Request-Type AVP
                 *                    indicating UPDATE_REQUEST
                 *                containing a Multiple-Services-Credit-Control AVP
                 *                    containing a Granted-Service-Unit AVP
                 *                        indicating reserved units
                 *                optionally containing a Cost-Information AVP
                 *                    containing Unit-Value AVP
                 *                        containing Value-Digits AVP
                 *                    containing Currency-Code AVP
                 *                optionally containing a Remaining-Balance AVP
                 *                    containing Unit-Value AVP
                 *                        containing Value-Digits AVP
                 *                    containing Currency-Code AVP
                 *        }
                 *    }
                 * 
* * @version 0.0.18 * @see ETSI DTS/INT 00121-2 V0.0.18 (2015-10) TP_RO_OCF_EC_04 */ testcase TC_RO_OCF_EC_04() runs on DiameterRfRo system TestAdapter { // Local variables var DiameterRfRo v_diameterRo_ctf; // Test control if (not (PICS_RO_OCF_IUT and PICS_RO_OCF_SESSION_CHARGING_WITH_UNIT_RESERVATION)) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_RO_OCF_IUT and PICS_RO_OCF_SESSION_CHARGING_WITH_UNIT_RESERVATION' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Ro_ctfUp(v_diameterRo_ctf); // Start v_diameterRo_ctf.start(f_EC_RO_OCF_EC_04()); // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Ro_ctfDown(v_diameterRo_ctf); } // End of testcase TC_RO_OCF_EC_04 } // End of group TP_RO_OCF_EC // 5.2.3.1.5 Tariff Changes group TP_RO_OCF_CH { /** * @desc Verify that the IUT supports Tariff-Change-Usage AVP and that the IUT can successfully process a CC-Request [Event] to perform tariff switch due to Immediate Event Charging and then responds with a CC-Answer with relavant Result-Code AVP and Tariff-Time-Change AVP *
                 * Pics Selection: PICS_OCF_IUT and PICS_RO_OCF_IMMEDIATE_EVENT_CHARGING
                 * Initial conditions: 
                 *     with {
                 *        
                 *     }
                 * Expected behaviour:
                 *     ensure that {
                 *        when {
                 *            the IUT receives an CC-Request
                 *                containing a CC-Request-Type AVP
                 *                    indicating EVENT_REQUEST
                 *                containing a CC-Request-Number AVP
                 *                containing a Requested-Action AVP
                 *                    indicating CHECK BALANCE
                 *                containing a Multiple-Services-Credit-Control AVP
                 *                    containing an Used-Service-Unit AVP
                 *                        containing a Tariff-Change-Usage AVP
                 *                            indicating UNIT_BEFORE_TARIFF_CHANGE
                 *        then {
                 *            the IUT sends a CC-Answer
                 *                containing a Result-Code AVP
                 *                    indicating DIAMETER_SUCCESS
                 *                containing a CC-Request-Type AVP
                 *                    indicating EVENT_REQUEST
                 *                containing a Multiple-Services-Credit-Control AVP
                 *                    containing a Granted-Service-Unit AVP
                 *                        containing a Tariff-Time-Change AVP
                 *        }
                 *    }
                 * 
* * @version 0.0.18 * @see ETSI DTS/INT 00121-2 V0.0.18 (2015-10) TP_RO_OCF_CH_01 */ testcase TC_RO_OCF_CH_01() runs on DiameterRfRo system TestAdapter { // Local variables var DiameterRfRo v_diameterRo_ctf; // Test control if (not (PICS_RO_OCF_IUT and PICS_RO_OCF_IMMEDIATE_EVENT_CHARGING)) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_RO_OCF_IUT and PICS_RO_OCF_IMMEDIATE_EVENT_CHARGING' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Ro_ctfUp(v_diameterRo_ctf); // Start v_diameterRo_ctf.start(f_CH_RO_OCF_CH_01()); // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Ro_ctfDown(v_diameterRo_ctf); } // End of testcase TC_RO_OCF_CH_01 /** * @desc Verify that the IUT supports Tariff-Change-Usage AVP and IUT can successfully process a CC-Request [Initial] to perform tariff switch due to Event Charging with Unit Reservation and then responds with a CC-Answer with relavant Result-Code AVP and Tariff-Time-Change AVP *
                 * Pics Selection: PICS_OCF_IUT and PICS_RO_OCF_EVENT_CHARGING_WITH_UNIT_RESERVATION
                 * Initial conditions: 
                 *     with {
                 *        
                 *     }
                 * Expected behaviour:
                 *     ensure that {
                 *        when {
                 *            the IUT receives an CC-Request
                 *                containing a CC-Request-Type AVP
                 *                    indicating INITIAL_REQUEST
                 *                containing a CC-Request-Number AVP
                 *                containing a Multiple-Services-Credit-Control AVP
                 *                    containing a Requested-Service-Unit AVP
                 *                    containing an Used-Service-Unit AVP
                 *                        containing a Tariff-Change-Usage AVP
                 *                            indicating UNIT_BEFORE_TARIFF_CHANGE
                 *        then {
                 *            the IUT sends a CC-Answer
                 *                containing a Result-Code AVP
                 *                    indicating DIAMETER_SUCCESS
                 *                containing a CC-Request-Type AVP
                 *                    indicating INITIAL_REQUEST
                 *                containing a Multiple-Services-Credit-Control AVP
                 *                    containing a Granted-Service-Unit AVP
                 *                        containing a Tariff-Time-Change AVP
                 *        }
                 *    }
                 * 
* * @version 0.0.18 * @see ETSI DTS/INT 00121-2 V0.0.18 (2015-10) TP_RO_OCF_CH_02 */ testcase TC_RO_OCF_CH_02() runs on DiameterRfRo system TestAdapter { // Local variables var DiameterRfRo v_diameterRo_ctf; // Test control if (not (PICS_RO_OCF_IUT and PICS_RO_OCF_EVENT_CHARGING_WITH_UNIT_RESERVATION)) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_RO_OCF_IUT and PICS_RO_OCF_EVENT_CHARGING_WITH_UNIT_RESERVATION' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Ro_ctfUp(v_diameterRo_ctf); // Start v_diameterRo_ctf.start(f_CH_RO_OCF_CH_02()); // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Ro_ctfDown(v_diameterRo_ctf); } // End of testcase TC_RO_OCF_CH_02 /** * @desc Verify that the IUT supports Tariff-Change-Usage AVP and IUT can successfully process a CC-Request [Initial] to perform tariff switch due to Session Charging with Unit Reservation and then responds with a CC-Answer with relavant Result-Code AVP and Tariff-Time-Change AVP *
                 * Pics Selection: PICS_OCF_IUT and PICS_RO_OCF_SESSION_CHARGING_WITH_UNIT_RESERVATION
                 * Initial conditions: 
                 *     with {
                 *        
                 *     }
                 * Expected behaviour:
                 *     ensure that {
                 *        when {
                 *            the IUT receives an CC-Request
                 *                containing a CC-Request-Type AVP
                 *                    indicating INITIAL_REQUEST
                 *                containing a CC-Request-Number AVP
                 *                containing a Multiple-Services-Credit-Control AVP
                 *                    containing a Requested-Service-Unit AVP
                 *                    containing an Used-Service-Unit AVP
                 *                        containing a Tariff-Change-Usage AVP
                 *                            indicating UNIT_BEFORE_TARIFF_CHANGE
                 *        then {
                 *            the IUT sends a CC-Answer
                 *                containing a Result-Code AVP
                 *                    indicating DIAMETER_SUCCESS
                 *                containing a CC-Request-Type AVP
                 *                    indicating INITIAL_REQUEST
                 *                containing a Multiple-Services-Credit-Control AVP
                 *                    containing a Granted-Service-Unit AVP
                 *                        containing a Tariff-Time-Change AVP
                 *        }
                 *    }
                 * 
* * @version 0.0.18 * @see ETSI DTS/INT 00121-2 V0.0.18 (2015-10) TP_RO_OCF_CH_03 */ testcase TC_RO_OCF_CH_03() runs on DiameterRfRo system TestAdapter { // Local variables var DiameterRfRo v_diameterRo_ctf; // Test control if (not (PICS_RO_OCF_IUT and PICS_RO_OCF_SESSION_CHARGING_WITH_UNIT_RESERVATION)) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_RO_OCF_IUT and PICS_RO_OCF_SESSION_CHARGING_WITH_UNIT_RESERVATION' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Ro_ctfUp(v_diameterRo_ctf); // Start v_diameterRo_ctf.start(f_CH_RO_OCF_CH_03()); // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Ro_ctfDown(v_diameterRo_ctf); } // End of testcase TC_RO_OCF_CH_03 } // End of group TP_RO_OCF_CH // 5.2.3.1.6 Re-Authorization group TP_RO_OCF_RE { } // End of group TP_RO_OCF_RE // 5.2.3.1.7 Failure Handling group TP_RO_OCF_FH { } // End of group TP_RO_OCF_FH // 5.2.3.1.8 Failover group TP_RO_OCF_FA { } // End of group TP_RO_OCF_FA // 5.2.3.1.9 Credit Pooling group TP_RO_OCF_CP { } // End of group TP_RO_OCF_CP // 5.2.3.1.10 Other Procedures group TP_RO_OCF_OP { } // End of group TP_RO_OCF_OP }//End of group TP_RO_OCF_Role //5.2.3.2. CTF Role group TP_RO_CTF_Role { // 5.2.3.2.2 Message Syntax group TP_RO_CTF_MS { /** * @desc Verify that the IUT can send a CC-Request to indicate a Charging Data Transfer. *
                 * Pics Selection: PICS_RO_CTF_IUT
                 * Initial conditions: 
                 *     with {
                 *        
                 *     }
                 * Expected behaviour:
                 *     ensure that the IUT sends a CC-Request 
                 *                containing a Session-ID AVP
                 *                containing an Origin-Host AVP
                 *                containing an Origin-Realm AVP
                 *                containing a Destination-Realm AVP
                 *                containing an Auth-Application-Id AVP
                 *                    indicating the value 4
                 *                containing a Service-Context-Id AVP
                 *                containing a CC-Request-Type AVP
                 *                containing a CC-Request-Number AVP
                 * 
* * @version 0.0.7 * @see ETSI DTS/INT 00121-2 V0.0.7 (2015-09) TP_RO_CTF_MS_01 */ testcase TC_RO_CTF_MS_01() runs on DiameterRfRo system TestAdapter { // Local variables var DiameterRfRo v_diameterRo_ocf; var ImsComponent v_imsComponent_ue; var ImsComponent v_imsComponent_ue2; var ImsComponent v_imsComponent_as; // Test control if (not PICS_RO_CTF_IUT) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_RO_CTF_IUT' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Ro_2Gm_1Isc_ocfUp(v_diameterRo_ocf, v_imsComponent_ue, v_imsComponent_ue2, v_imsComponent_as); // Start v_diameterRo_ocf.start(f_TC_RO_CTF_MS_01()); if (PX_SIPsupport) { // v_imsComponent_ue.start(f_TC_RO_CTF_MS_UE_01); // v_imsComponent_ue.start(f_TC_RO_CTF_MS_UE2_01); // v_imsComponent_as.start(f_TC_RO_CTF_MS_AS_01); } // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Ro_2Gm_1Isc_ocfDown(v_diameterRo_ocf, v_imsComponent_ue, v_imsComponent_ue2, v_imsComponent_as) } // End of testcase TC_RO_CTF_MS_01 /** * @desc Verify that the IUT can send an CC-Request with correct Diameter-Header parameters to indicate a Charging Data Transfer with valid Diameter-Header parameters. *
                 * Pics Selection: PICS_RO_CTF_IUT
                 * Initial conditions: 
                 *     with {
                 *        
                 *     }
                 * Expected behaviour:
                 *     Ensure that the IUT
                 *      to indicate a request for Charging Data Transfer,
                 *      sends an CC-Request
                 *          containing a Diameter-Header
                 *              containing a Version
                 *                  indicating value ‘1’
                 *              containing a Command-Flags
                 *                  containing T bit
                 *                      indicating value ‘0’
                 *                  containing E bit
                 *                      indicating value ‘0’
                 *                  containing r bits
                 *                      indicating value ‘0000’.
                 * 
* * @version 0.0.18 * @see ETSI DTS/INT 00121-2 V0.0.18 (2015-10) TP_RO_CTF_MS_02 */ testcase TC_RO_CTF_MS_02() runs on DiameterRfRo system TestAdapter { // Local variables var DiameterRfRo v_diameterRo_ocf; var ImsComponent v_imsComponent_ue; var ImsComponent v_imsComponent_ue2; var ImsComponent v_imsComponent_as; // Test control if (not PICS_RO_CTF_IUT) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_RO_CTF_IUT' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Ro_2Gm_1Isc_ocfUp(v_diameterRo_ocf, v_imsComponent_ue, v_imsComponent_ue2, v_imsComponent_as); // Start v_diameterRo_ocf.start(f_TC_RO_CTF_MS_02()); if (PX_SIPsupport) { // v_imsComponent_ue.start(f_TC_RO_CTF_MS_UE_02); // v_imsComponent_ue.start(f_TC_RO_CTF_MS_UE2_02); // v_imsComponent_as.start(f_TC_RO_CTF_MS_AS_02); } // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Ro_2Gm_1Isc_ocfDown(v_diameterRo_ocf, v_imsComponent_ue, v_imsComponent_ue2, v_imsComponent_as) } // End of testcase TC_RO_CTF_MS_02 } // End of group TP_RO_CTF_MS // 5.2.3.2.3 Type of Charging group TP_RO_CTF_TC { } // End of group TP_RO_CTF_TC // 5.2.3.2.4 Error Casses group TP_RO_CTF_EC { } // End of group TP_RO_CTF_EC // 5.2.3.2.5 Tariff Changes group TP_RO_CTF_CH { } // End of group TP_RO_CTF_CH // 5.2.3.2.6 Re-Authorization group TP_RO_CTF_RE { } // End of group TP_RO_CTF_RE // 5.2.3.2.7 Failure Handling group TP_RO_CTF_FH { } // End of group TP_RO_CTF_FH // 5.2.3.2.8 Failover group TP_RO_CTF_FA { } // End of group TP_RO_CTF_FA // 5.2.3.2.9 Credit Pooling group TP_RO_CTF_CP { } // End of group TP_RO_CTF_CP // 5.2.3.2.10 Other Procedures group TP_RO_CTF_OP { } // End of group TP_RO_CTF_OP }//End of group TP_RO_CTF_Role } // End of group TP_RO_Role } // End of module DiameterRfRo_TestCases