Newer
Older
* @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;
import from LibDiameter_TypesAndValues all;
//LibSip
import from LibSip_SIPTypesAndValues {type CSeq;};
//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_CDF_Role {
// 5.2.2.1.2 Message Syntax
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
/**
* @desc Verify that the IUT can successfully process all mandatory AVPs in an AC-Request received due to Charging Data Transfer
* <pre>
* 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
* }
* }
* </pre>
*
* @version 0.0.12
* @see ETSI TS 103 374-2 V0.0.12 (2015-07) TP_RF_CDF_MS_01
*/
testcase TC_RF_CDF_MS_01() runs on DiameterRfRo system TestAdapter {
// Local variables
log("*** " & __SCOPE__ & ": ERROR: 'PICS_RF_CDF_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone});
} // 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
* <pre>
* 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.22
* @see ETSI TS 103 374-2 V0.0.22 (2015-11) 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
log("*** " & __SCOPE__ & ": ERROR: 'PICS_RF_CDF_IUT' shall be set to true 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
/**
* @desc Verify that the IUT can successfully process an AC-Request [Event] where Event Based Charging is used
* <pre>
* 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
* optionally 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
* }
* 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
* }
* }
* </pre>
*
* @version 0.0.12
* @see ETSI TS 103 374-2 V0.0.12 (2015-07) TP_RF_CDF_TC_01
*/
testcase TC_RF_CDF_TC_01() runs on DiameterRfRo system TestAdapter {
// Local variables
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' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
// 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});
} // 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
* <pre>
* 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 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 {
* the IUT 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.
* }
* }
* </pre>
*
* @version 0.0.22
* @see ETSI TS 103 374-2 V0.0.22 (2015-11) 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' shall be set to true 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);
* @desc Verify that the IUT can successfully process an AC-Request [Interim] where Session Based Charging is used in case of charging condition change.
* <pre>
* 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 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
* optionally containing Service-Information AVP
* indicating Subscription-Id AVP
* indicating IMS-Information AVP
* }
* then {
* the IUT 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.22
* @see ETSI TS 103 374-2 V0.0.22 (2015-11) 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' shall be set to true 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 [Interim] where Session Based Charging is used in case of Acct-Interim-Interval AVP is present in the AC Request [Start].
* <pre>
* 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 an Accounting-Record-Type AVP
* containing an Accounting-Record-Type AVP
* indicating START_RECORD
* containing an Accounting-Record-Number AVP
* containing an Acct-Interim-Interval AVP
* indicating expected intermediate charging interval
* }
* then {
* the IUT 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
* containing an Acct-Interim-Interval AVP
* indicating the required intermediate charging interval
* when {
* the IUT receives 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
* optionally containing Service-Information AVP
* indicating Subscription-Id AVP
* indicating IMS-Information AVP
* }
* then {
* the IUT 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.22
* @see ETSI TS 103 374-2 V0.0.22 (2015-11) 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' shall be set to true 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
* @desc Verify that the IUT can successfully process an AC-Request [Stop] where Session Based Charging is used
* <pre>
* 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 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
* optionally containing Service-Information AVP
* indicating Subscription-Id AVP
* indicating IMS-Information AVP
* then {
* the IUT 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
testcase TC_RF_CDF_TC_05() 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' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_1Rf_ctfUp(v_diameterRf_ctf);
// Start
// 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_05
} // End of group TypeOfCharging
//5.2.2.1.4 ErrorCases
group TP_RF_CDF_EC {
/**
* @desc Verify that the IUT can successfully process Duplicate Detection AC-Request [Event] where Event Based Charging is used
* <pre>
* 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
* the IUT sends a AC-Response
* 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
* }
* }
* </pre>
*
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_EVENT_BASED_CHARGING)) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_RF_CDF_IUT and PICS_RF_CDF_EVENT_BASED_CHARGING' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_1Rf_ctfUp(v_diameterRf_ctf);
// Start
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone});
f_cf_1Rf_ctfDown(v_diameterRf_ctf);
/**
* @desc Verify that the IUT can successfully process Duplicate Detection AC-Request [Interim] where Session Based Charging is used
* <pre>
* 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
* }
* then {
* the IUT sends a AC-Response
* 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
* }
* }
* </pre>
*
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' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_1Rf_ctfUp(v_diameterRf_ctf);
// Start
// 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 group TP_RF_CDF_Role
// 5.2.2.2. CTF Role
group TP_RF_CTF_Role {
// 5.2.2.2.2 Message Syntax
/**
* @desc Verify that the IUT can send an AC-Request to indicate a Charging Data Transfer.
* <pre>
* Initial conditions:
* with {
*
* }
* Expected behaviour:
* ensure that {
* when {
* the IUT is requested to indicate a request for Charging Data Transfer
* }
* then {
* 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.22
* @see ETSI TS 103 374-2 V0.0.22 (2015-11) TP_RF_CTF_MS_01
*/
testcase TC_RF_CTF_MS_01() runs on DiameterRfRo system TestAdapter {
// Local variables
log("*** " & __SCOPE__ & ": ERROR: 'PICS_RF_CTF_IUT' shall be set to true for executing the TC. ***");
// Start
v_diameterRf_cdf.start(f_TC_CTF_MS_01());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone});
/**
* @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.
* <pre>
* Pics Selection: PICS_RF_CTF_IUT
* Initial conditions:
* with {
*
* }
* Expected behaviour:
* ensure that {
* when {
* the IUT is requested to indicate a request for Charging Data Transfer
* }
* then {
* the IUT 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.22
* @see ETSI TS 103 374-2 V0.0.22 (2015-11) TP_RF_CTF_MS_02
*/
testcase TC_RF_CTF_MS_02() runs on DiameterRfRo system TestAdapter {
// Local variables
log("*** " & __SCOPE__ & ": ERROR: 'PICS_RF_CTF_IUT' shall be set to true for executing the TC. ***");
// Start
v_diameterRf_cdf.start(f_TC_CTF_MS_02());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone});
/**
* @desc Verify that the IUT can successfully process an AC-Request [Event].
* <pre>
* Pics Selection: PICS_RF_CTF_IUT and PICS_RF_CTF_EVENT_BASED_CHARGING
* Initial conditions:
* with {
* Preamble action: UE initiates an initial REGISTRATION procedure.
* }
* Expected behaviour:
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
* ensure that {
* when {
* 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
* }
* then {
* the IUT receives 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
* and the IUT accepts the message
* }
* }
* @version 0.0.22
* @see ETSI TS 103 374-2 V0.0.22 (2015-11) TP_RF_CTF_TC_01
pintar
committed
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;
pintar
committed
var CSeq p_cSeq_s := {fieldName := CSEQ_E, seqNumber := 1000, method := "REGISTER"};
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' shall be set to true 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) {
if (PX_VA == 1){
v_imsComponent_ue.start(f_TC_CTF_TC_UE_01_VA1(p_cSeq_s));
v_imsComponent_cscf.start(f_TC_CTF_TC_CSCF_01_VA1(p_cSeq_s));
else if(PX_VA == 2){
v_imsComponent_ue.start(f_TC_CTF_TC_UE_01_VA2(p_cSeq_s));
v_imsComponent_cscf.start(f_TC_CTF_TC_CSCF_01_VA2(p_cSeq_s));
else if(PX_VA == 3){
v_imsComponent_ue.start(f_TC_CTF_TC_UE_01_VA3(p_cSeq_s));
v_imsComponent_cscf.start(f_TC_CTF_TC_CSCF_01_VA3(p_cSeq_s));
else if(PX_VA == 4){
v_imsComponent_ue.start(f_TC_CTF_TC_UE_01_VA4(p_cSeq_s));
v_imsComponent_cscf.start(f_TC_CTF_TC_CSCF_01_VA4(p_cSeq_s));
}
else {
log("Set correct value of PIXIT: PX_VA due to related test case!");
}
f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_sync1, c_tbDone, c_poDone});
f_cf_1Rf_1Gm_1Mw_cdfDown(v_diameterRf_cdf, v_imsComponent_ue, v_imsComponent_cscf)
/**
* @desc Verify that the IUT can successfully process an AC-Request [Start].
* <pre>
* Pics Selection: PICS_RF_CTF_IUT and PICS_RF_CTF_SESSION_BASED_CHARGING
* Initial conditions:
* with {
* Preamble action: UE initiates an INVITE procedure.
* }
* Expected behaviour:
* ensure that {
* when {
* the IUT sends an AC-Request
* 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 {
* the IUT receives 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
* and the IUT accepts the message
* }
* }
* @version 0.0.22
* @see ETSI TS 103 374-2 V0.0.22 (2015-11) TP_RF_CTF_TC_02
pintar
committed
testcase TC_RF_CTF_TC_02() runs on DiameterRfRo system TestAdapter {
// Local variables
var DiameterRfRo v_diameterRf_cdf;
var ImsComponent v_imsComponent_ue;
var ImsComponent v_imsComponent_cscf;
pintar
committed
var CSeq p_cSeq_s := {fieldName := CSEQ_E, seqNumber := 1000, method := "REGISTER"};
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
// Test control
if (not (PICS_RF_CTF_IUT and PICS_RF_CTF_SESSION_BASED_CHARGING)) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_RF_CTF_IUT and PICS_RF_CTF_SESSION_BASED_CHARGING' shall be set to true 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_02());
if (PX_SIPsupport) {
v_imsComponent_ue.start(f_TC_CTF_TC_UE_02(p_cSeq_s));
v_imsComponent_cscf.start(f_TC_CTF_TC_CSCF_02(p_cSeq_s));
}
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_sync1, 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_02
/**
* @desc Verify that the time between several AC-Requests [Interim]
* received by the IUT is at least equal to the desired intermediate
* charging interval.
* <pre>
* Pics Selection: PICS_RF_CTF_IUT and PICS_RF_CTF_SESSION_BASED_CHARGING
* Initial conditions:
* with {
* Preamble action: UE establishes a call.
* }
* Expected behaviour:
* Ensure that {
* the IUT sends an AC-Request
* containing an Accounting-Record-Type AVP
* indicating START_RECORD
* containing an Accounting-Record-Number AVP
* the IUT receives an AC-Answer
* containing an Accounting-Record-Type AVP
* indicating START_RECORD
* containing an Accounting-Record-Number AVP
* containing an Acct-Interim-Interval AVP
* containing the desired intermediate charging interval
* indicating a value INTERIM_INTERVAL not equal to 0
* the IUT sends periodically an AC-Request [Interim]
* containing an Accounting-Record-Type AVP
* indicating INTERIM_RECORD
* containing an Accounting-Record-Number AVP
* containing a Service-Information AVP
* containing an Event-Timestamp AVP
* the IUT receives an AC-Answer
* containing an Accounting-Record-Type AVP
* indicating INTERIM_RECORD
* containing an Accounting-Record-Number AVP
* the IUT accepts the message
* }
* @version 0.0.22
* @see ETSI TS 103 374-2 V0.0.22 (2015-11) TP_RF_CTF_TC_03
pintar
committed
testcase TC_RF_CTF_TC_03() runs on DiameterRfRo system TestAdapter {
// Local variables
var DiameterRfRo v_diameterRf_cdf;
var ImsComponent v_imsComponent_ue;
var ImsComponent v_imsComponent_cscf;
pintar
committed
var CSeq p_cSeq_s := {fieldName := CSEQ_E, seqNumber := 1000, method := "REGISTER"};
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
// Test control
if (not (PICS_RF_CTF_IUT and PICS_RF_CTF_SESSION_BASED_CHARGING)) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_RF_CTF_IUT and PICS_RF_CTF_SESSION_BASED_CHARGING' shall be set to true 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_03());
if (PX_SIPsupport) {
v_imsComponent_ue.start(f_TC_CTF_TC_UE_03(p_cSeq_s));
v_imsComponent_cscf.start(f_TC_CTF_TC_CSCF_03(p_cSeq_s));
}
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_sync1, 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_03
/**
* @desc Verify that the IUT can successfully process an AC-Request [Interim].
* <pre>
* Pics Selection: PICS_RF_CTF_IUT and PICS_RF_CTF_SESSION_BASED_CHARGING
* Initial conditions:
* with {
* Preamble action: UE establishes a call.
* }
* Expected behaviour:
* Ensure that {
* the IUT sends an AC-Request
* containing an Accounting-Record-Type AVP
* indicating START_RECORD
* containing an Accounting-Record-Number AVP
* the IUT receives 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
* containing an Accounting-Record-Number AVP
* the IUT receives SIP 200 OK (reInvite)
* the IUT sends an AC-Request [Interim]
* containing an Accounting-Record-Type AVP
* indicating INTERIM_RECORD
* containing an Accounting-Record-Number AVP
* containing a Service-Information AVP
* containing an Event-Timestamp AVP
* the IUT receives 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
* containing an Accounting-Record-Number AVP
* the IUT accepts the message
* }
* @version 0.0.22
* @see ETSI TS 103 374-2 V0.0.22 (2015-11) TP_RF_CTF_TC_04
pintar
committed
testcase TC_RF_CTF_TC_04() runs on DiameterRfRo system TestAdapter {