etsi-ttcn3-s1ap-tests/ttcn3/S1AP_TestCases.ttcn

4196 lines
186 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* @author ETSI / STF519
* @version $URL$
* $Id$
* @desc This module provides test cases for S1AP tests.
* @copyright ETSI Copyright Notification
* No part may be reproduced except as authorized by written permission.
* The copyright and the foregoing restriction extend to reproduction in all media.
* All rights reserved.
* @see ETSI TS 136 413 / 3GPP TS 36.413 version 13.4.0 Release 13
*/
module S1AP_TestCases {
// LibCommon
import from LibCommon_Sync all ;
// S1AP_Ats
import from S1AP_TestConfiguration all;
import from S1AP_TestSystem all;
import from S1AP_TCFunctions all;
import from S1AP_Pics all;
import from S1AP_TestSystem all;
group eNB_Role {
/**
* @desc E-RAB management group
* @see ETSI TS 103 497-2 Clause 5.2.2.1.2 E-RAB management group
*/
group ERAB_management_group {
/**
* @desc Verify that the IUT can successfully process all mandatory IEs in an E-RAB_SETUP_REQUEST received
* due to E-RAB management procedure and send E-RAB_SETUP_RESPONSE with successfully established E-RABs
* included in the E-RAB_Setup_List IE.
* <pre>
* Pics Selection: A.3/1.1
* Configuration: CF_S1-MME
* Ensure that the IUT
* on receipt of an E-RAB_SETUP_REQUEST
* containing an MME_UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing an E-RAB_to_be_Setup_List
* containing an E-RAB_to_be_Setup Item 1
* containing an E-RAB_ID
* containing an E-RAB_Level_QoS_Parameters
* containing QCI
* indicating value 5
* containing a Transport_Layer_Address
* containing a GTP-TEID
* containing a NAS-PDU
* sends an E-RAB_SETUP_RESPONSE
* containing an MME_UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing an E-RAB_Setup_List
* containing an E-RAB_Setup Item 1
* containing an E-RAB_ID
* containing a Transport_Layer_Address
* containing a GTP-TEID.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_eNB_RAB_01
* @reference ETSI TS 136 413 V13.4.0 Clause 8.2.1.2(1st dashed line in 5th dashed list) and 9.1.3.1 and 9.1.3.2
*/
testcase TC_S1AP_eNB_RAB_01() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_RAB_01());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_RAB_01
/**
* @desc Verify that the IUT after receiving an E-RAB_SETUP_REQUEST with failed E-RAB sends an E-RAB_SETUP_RESPONSE
* with E-RAB_Failed_to_Setup_List.
* <pre>
* Pics Selection: A.3/1.1
* Configuration: CF_S1-MME
* Ensure that the IUT
* on receipt of an E-RAB_SETUP_REQUEST
* containing an MME_UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing an E-RAB_to_be_Setup_List
* containing an E-RAB_to_be_Setup Item 1
* containing an E-RAB_ID
* indicating value A
* containing an E-RAB_Level_QoS_Parameters
* containing a Transport_Layer_Address
* containing a GTP-TEID
* containing a NAS-PDU
* containing an E-RAB_to_be_Setup Item 2(not acceptable data for eNB)
* containing an E-RAB_ID
* indicating value B(different to value A)
* containing an E-RAB_Level_QoS_Parameters
* containing QCI
* indicating not supported QCI value(255)
* containing a Transport_Layer_Address
* containing a GTP-TEID
* containing a NAS-PDU
* sends an E-RAB_SETUP_RESPONSE
* containing an MME_UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing an E-RAB_Setup_List
* containing an E-RAB_Setup Item 1
* containing an E-RAB_ID
* indicating value A
* containing a Transport_Layer_Address
* containing a GTP-TEID
* containing an E-RAB_Failed_to_Setup_List
* containing an E-RAB_List Item 1
* containing an E-RAB_ID
* indicating value B
* containing a Cause
* indicating not-supported-QCI-value.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_eNB_RAB_02
* @reference ETSI TS 136 413 V13.4.0 Clause 8.2.1.2(2nd dashed line in 5th dashed list) and 9.1.3.1 and 9.1.3.2
*/
testcase TC_S1AP_eNB_RAB_02() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_RAB_02());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_RAB_02
} // End of group E-RAB_management_group
group Context_Management_group {
testcase TC_S1AP_eNB_CMP_01() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_CMP_01());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_CMP_01
testcase TC_S1AP_eNB_CMP_02() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_CMP_02());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_CMP_02
testcase TC_S1AP_eNB_CMP_03() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_CMP_03());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_CMP_03
testcase TC_S1AP_eNB_CMP_04() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_CMP_04());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_CMP_04
testcase TC_S1AP_eNB_CMP_05() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_CMP_05());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_CMP_05
testcase TC_S1AP_eNB_CMP_06() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_CMP_06());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_CMP_06
testcase TC_S1AP_eNB_CMP_07() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_CMP_07());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_CMP_07
testcase TC_S1AP_eNB_CMP_08() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_CMP_08());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_CMP_08
testcase TC_S1AP_eNB_CMP_09() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_CMP_09());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_CMP_09
testcase TC_S1AP_eNB_CMP_10() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_CMP_10());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_CMP_10
testcase TC_S1AP_eNB_CMP_11() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_CMP_11());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_CMP_11
testcase TC_S1AP_eNB_CMP_12() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_CMP_12());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_CMP_12
testcase TC_S1AP_eNB_CMP_13() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_CMP_13());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_CMP_13
testcase TC_S1AP_eNB_CMP_14() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_CMP_14());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_CMP_14
testcase TC_S1AP_eNB_CMP_15() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_CMP_15());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_CMP_15
testcase TC_S1AP_eNB_CMP_16() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_CMP_16());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_CMP_16
testcase TC_S1AP_eNB_CMP_17() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_CMP_17());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_CMP_17
testcase TC_S1AP_eNB_CMP_18() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_CMP_18());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_CMP_18
testcase TC_S1AP_eNB_CMP_19() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_CMP_19());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_CMP_19
} // End of group Context_Management_group
/**
* @desc NAS transport group
* @see ETSI TS 103 497-2 Clause 5.2.2.1.6 NAS transport group
*/
group NAS_transport_group {
/**
* @desc Verify that the IUT can send an INITIAL_UE_MESSAGE to indicate the initiation of a NAS Transport procedure.
* <pre>
* Pics Selection: A.3/5.1
* Configuration: CF_S1-MME
* Ensure that the IUT
* to indicate the initiation of a NAS Transport procedure
* sends an INITIAL_UE_MESSAGE
* containing an eNB_UE_S1AP_ID
* containing a NAS-PDU
* containg a TAI
* containing a PLMN_Identity
* containing a TAC
* containing an E-UTRAN_CGI
* containing a PLMN_Identity
* containing a Cell_Identity
* containing a RRC_Establishment_Cause.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_eNB_NAS_01
* @reference ETSI TS 136 413 V13.4.0 Clause 8.6.2.1¶1 and 9.1.7.1
*/
testcase TC_S1AP_eNB_NAS_01() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_NAS_01());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_NAS_01
/**
* @desc Verify that the IUT can send an UPLINK_NAS_TRANSPORT to indicate an ongoing NAS Transport procedure.
* <pre>
* Pics Selection: A.3/5.3
* Configuration: CF_S1-MME
* Ensure that the IUT
* to indicate an ongoing NAS Transport procedure
* sends an UPLINK_NAS_TRANSPORT
* containing an MME UE S1AP ID
* containing an eNB_UE_S1AP_ID
* containing a NAS-PDU
* containg a TAI
* containing a PLMN_Identity
* containing a TAC
* containing an E-UTRAN_CGI
* containing a PLMN_Identity
* containing a Cell_Identity
* containing a RRC_Establishment_Cause.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_eNB_NAS_02
* @reference ETSI TS 136 413 V13.4.0 Clause 8.6.2.3¶1 and 9.1.7.3
*/
testcase TC_S1AP_eNB_NAS_02() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_NAS_02());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_NAS_02
/**
* @desc Verify that the IUT can send a NAS_NON_DELIVERY_INDICATION to indicate the eNB was unable to ensure that the message has been received by the UE.
* <pre>
* Pics Selection: A.3/5.4
* Configuration: CF_S1-MME
* Ensure that the IUT
* to indicate a UE has not received a INITIAL_UE_MESSAGE
* sends a NAS_NON_DELIVERY_INDICATION
* containing an MME UE S1AP ID
* containing an eNB_UE_S1AP_ID
* containing a NAS-PDU
* containing a Cause
* indicating an appropriate cause value.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_eNB_NAS_03
* @reference ETSI TS 136 413 V13.4.0 Clause 8.6.2.4 and 9.1.7.4
*/
testcase TC_S1AP_eNB_NAS_03() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_NAS_03());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_NAS_03
} // End of group group NAS_transport_group
/**
* @desc Management group
* @see ETSI TS 103 497-2 Clause 5.2.2.1.7 Management group
*/
group Management_group {
/**
* @desc Verify that the IUT can successfully process all mandatory IEs in a RESET and sends a RESET_ACKNOWLEDGE due to a Reset procedure initiated from the MME.
* <pre>
* Pics Selection: A.3/6.1.2
* Configuration: CF_S1-MME
* Ensure that the IUT
* on receipt of a RESET
* containing a Cause
* indicating an appropriate cause value
* containing a Reset_Type
* containing a S1_Interface
* indicating a value Reset_all
* sends a RESET_ACKNOWLEDGE
* containing a UE-associated_logical_S1-connection_list.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_eNB_MNP_01
* @reference ETSI TS 136 413 V13.4.0 Clause 8.7.1.2.1¶2 and 9.1.8.1 and 9.1.8.2
*/
testcase TC_S1AP_eNB_MNP_01() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_MNP_01());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_MNP_01
/**
* @desc Verify that the IUT can send an RESET due to a Reset procedure initiated from the E-UTRAN.
* <pre>
* Pics Selection: A.3/6.1.2
* Configuration: CF_S1-MME
* Ensure that the IUT
* to indicate a Reset procedure initiated from the E-UTRAN
* sends a RESET
* containing a Cause
* indicating an appropriate cause value
* containing a Reset_Type
* containing a S1_Interface
* indicating a value Reset_all.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_eNB_MNP_02
* @reference ETSI TS 136 413 V13.4.0 Clause 8.7.1.2.2¶1 and 9.1.8.1 and 9.1.8.2
*/
testcase TC_S1AP_eNB_MNP_02() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_MNP_02());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_MNP_02
/**
* @desc Verify that the IUT can successfully manage Reset procedure in case of Abnormal Condition at the E-UTRAN.
* <pre>
* Pics Selection: A.3/6.1.1
* Configuration: CF_S1-MME
* Ensure that the IUT
* on receipt of a RESET
* containing a Cause
* indicating an appropriate cause value
* containing a Reset_Type
* containing a Part_of_S1_interface
* indicating one empty UE-associated_logical_S1-connection
* sends a RESET_ACKNOWLEDGE
* containing a UE-associated_logical_S1-connection_list.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_eNB_MNP_03
* @reference ETSI TS 136 413 V13.4.0 Clause 8.7.1.2.2¶1 and 9.1.8.1 and 9.1.8.2
*/
testcase TC_S1AP_eNB_MNP_03() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_MNP_03());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_MNP_03
/**
* @desc Verify that the IUT can send an ERROR_INDICATION due to an Error Indication procedure.
* <pre>
* Pics Selection: A.3/6.2.2
* Configuration: CF_S1-MME
* Ensure that the IUT
* to indicate an Error Indication procedure
* sends an ERROR_INDICATION
* (containing a Cause
* or containing a Criticality_Diagnostics).
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_eNB_MNP_04
* @reference ETSI TS 136 413 V13.4.0 Clause 8.7.2.2 and 9.1.8.3
*/
testcase TC_S1AP_eNB_MNP_04() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_MNP_04());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_MNP_04
/**
* @desc Verify that the IUT can send a S1_SETUP_REQUEST to indicate a S1 Setup procedure.
* <pre>
* Pics Selection: A.3/6.3
* Configuration: CF_S1-MME
* Ensure that the IUT
* to indicate a S1 Setup procedure
* sends a S1_SETUP_REQUEST
* containing a Global_eNB_ID
* containing a Supported_TAs
* containing a TAC
* containing a Default_Paging_DRX.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_eNB_MNP_05
* @reference ETSI TS 136 413 V13.4.0 Clause 8.7.3.2¶1 and 9.1.8.4 and 9.1.8.5
*/
testcase TC_S1AP_eNB_MNP_05() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_MNP_05());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_MNP_05
/**
* @desc Verify that the IUT can send an ENB_CONFIGURATION_UPDATE to indicate an eNB Configuration Update procedure.
* <pre>
* Pics Selection: A.3/6.4
* Configuration: CF_S1-MME
* Ensure that the IUT
* to indicate an eNB Configuration Update procedure
* sends an ENB_CONFIGURATION_UPDATE
* containing a Global_eNB_ID
* containing a Supported_TAs
* containing a TAC.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_eNB_MNP_06
* @reference ETSI TS 136 413 V13.4.0 Clause 8.7.4.2¶1 and 9.1.8.7 and 9.1.8.8
*/
testcase TC_S1AP_eNB_MNP_06() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_MNP_06());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_MNP_06
/**
* @desc Verify that the IUT can successfully process all mandatory IEs in an MME_CONFIGURATION_UPDATE and
* sends an MME_CONFIGURATION_UPDATE_ACKNOWLEDGE due to an MME Configuration Update procedure.
* <pre>
* Pics Selection: A.3/6.5
* Configuration: CF_S1-MME
* Ensure that the IUT
* on receipt of an MME_CONFIGURATION_UPDATE
* may containing a Served_GUMMEIs
* may containing a Served_PLMNs
* sends an MME_CONFIGURATION_UPDATE_ACKNOWLEDGE.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_eNB_MNP_07
* @reference ETSI TS 136 413 V13.4.0 Clause 8.7.5.2¶1 and 9.1.8.10 and 9.1.8.11
*/
testcase TC_S1AP_eNB_MNP_07() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_MNP_07());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_MNP_07
/**
* @desc Verify that the IUT can successfully process all mandatory IEs in an MME_CONFIGURATION_UPDATE and
* sends an MME CONFIGURATION UPDATE_FAILURE due to an invalid MME Configuration Update procedure.
* <pre>
* Pics Selection: A.3/6.5
* Configuration: CF_S1-MME
* Ensure that the IUT
* on receipt of an MME_CONFIGURATION_UPDATE
* containing a Broadcast_PLMNs
* indicating at least one unknown PLMN identity
* sends an MME_CONFIGURATION_UPDATE_FAILURE
* containing a Cause
* indicating an appropriate cause value.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_eNB_MNP_08
* @reference ETSI TS 136 413 V13.4.0 Clause 8.7.5.3 and 9.1.8.10 and 9.1.8.12
*/
testcase TC_S1AP_eNB_MNP_08() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_MNP_08());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_MNP_08
} // End of group Management_group
/**
* @desc S1 CDMA 2000 tunnelling group
* @see ETSI TS 103 497-2 Clause 5.2.2.1.8 S1 CDMA 2000 tunnelling group group
*/
group S1_CDMA_2000_tunelling_group {
/**
* @desc Verify that the IUT can send a DOWNLINK_S1_CDMA2000_TUNNELLING.
* <pre>
* Pics Selection: A.3/7.2
* Configuration: CF_S1-MME
* Ensure that the IUT
* to indicate a CDMA2000 to be forwarded
* sends an UPLINK_S1_CDMA2000_TUNNELLING
* containing an MME_UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing a CDMA2000_RAT_Type
* containing a CDMA2000_Sector_ID
* containing a CDMA2000_PDU.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_eNB_STP_01
* @reference ETSI TS 136 413 V13.4.0 Clause 8.8.2.2¶1 and 9.1.9.2 and 9.2.1.23
*/
testcase TC_S1AP_eNB_STP_01() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_STP_01());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_STP_01
} // End of group S1_CDMA_2000_tunelling_group
/**
* @desc UE capability info indication group
* @see ETSI TS 103 497-2 Clause 5.2.2.1.9 UE capability info indication group
*/
group UE_capability_info_indication_group {
/**
* @desc Verify that the IUT can send a UE_CAPABILITY_INFO_INDICATION to indicate capability-related information update.
* <pre>
* Pics Selection: A.3/8
* Configuration: CF_S1-MME
* Ensure that the IUT
* to indicate a capability-related information update
* sends an UE_CAPABILITY_INFO_INDICATION
* containing an MME_UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing a containing a UE_Radio_Capability.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_eNB_UEC_01
* @reference ETSI TS 136 413 V13.4.0 Clause 8.9.2 and 9.1.10
*/
testcase TC_S1AP_eNB_UEC_01() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_UEC_01());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_UEC_01
} // End of group UE_capability_info_indication_group
/**
* @desc Trace Procedures group
* @see ETSI TS 103 497-2 Clause 5.2.2.1.10 Trace group
*/
group Trace_group {
/**
* @desc Verify that the IUT can successfully send a TRACE_FAILURE_INDICATION on TRACE_START.
* <pre>
* Pics Selection: A.3/9.1 and A.3/9.2
* Configuration: CF_S1-MME
* Ensure that the IUT
* on receipt of a TRACE_START
* containing an MME_UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing a Trace_Activation
* containing an E-UTRAN_Trace_ID
* containing a Interfaces_To_Trace
* indicating value S1-MME
* containing a Trace_depth
* indicating value maximum
* containing a Trace_Collection_Entity_IP_Address
* not containing an MDT_Configuration
* sends TRACE_FAILURE_INDICATION
* containing an MME_UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing an E-UTRAN_Trace_ID
* containing a Cause
* indicating an appropriate cause value.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_eNB_TRP_01
* @reference ETSI TS 136 413 V13.4.0 Clause 8.10.1.2-8 and 8.10.2.2 and 9.1.11.1 and 9.1.11.2
*/
testcase TC_S1AP_eNB_TRP_01() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_TRP_01());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_TRP_01
/**
* @desc Verify that the IUT can successfully send a TRACE_FAILURE_INDICATION on DEACTIVATE_TRACE.
* <pre>
* Pics Selection: A.3/9.1 and A.3/9.2
* Configuration: CF_S1-MME
* Ensure that the IUT
* on receipt of a DEACTIVATE_TRACE
* containing an MME_UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing a Trace_Activation
* containing an E-UTRAN_Trace_ID
* sends TRACE_FAILURE_INDICATION
* containing an MME_UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing an E-UTRAN_Trace_ID
* containing a Cause
* indicating an appropriate cause value.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_eNB_TRP_02
* @reference ETSI TS 136 413 V13.4.0 Clause 8.10.3.2-3 and 8.10.2.2 and 9.1.11.3 and 9.1.11.2
*/
testcase TC_S1AP_eNB_TRP_02() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_TRP_02());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_TRP_02
/**
* @desc Verify that the IUT can send a CELL_TRAFFIC_TRACE when the conditions required for tracing are met.
* <pre>
* Pics Selection: A.3/9.4
* Configuration: CF_S1-MME
* Ensure that the IUT
* to indicate the conditions required for tracing are met
* sends CELL_TRAFFIC_TRACE
* containing an MME_UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing an E-UTRAN_Trace_ID
* containing an E-UTRAN_CGI
* containing a PLMN_Identity
* containing a Cell_Identity
* containing a Trace_Collection_Entity_IP_Address.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_eNB_TRP_03
* @reference ETSI TS 136 413 V13.4.0 Clause 8.10.4.2 and 9.1.18
*/
testcase TC_S1AP_eNB_TRP_03() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_TRP_03());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_TRP_03
} // End of group Trace_group
/**
* @desc Location Reporting Procedures group
* @see ETSI TS 103 497-2 Clause 5.2.2.1.11 Location reporting group
*/
group Location_reporting_group {
/**
* @desc Verify that the IUT can process all mandatory IEs in a LOCATION_REPORTING_CONTROL containing Event Type IE indicating Directly and sends a LOCATION_REPORT.
* <pre>
* Pics Selection: A.3/10.1 and A.3/10.3
* Configuration: CF_S1-MME
* Ensure that the IUT
* on receipt of a LOCATION_REPORTING_CONTROL
* containing an MME_UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing a Request_Type
* containing an Event_Type
* indicating Directly
* containing a Report_Area
* indicating ECGI
* sends LOCATION_REPORT
* containing an MME_UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing an E-UTRAN_CGI
* containing a PLMN_Identity
* containing a Cell_Identity
* containing a TAI
* containing a PLMN_Identity
* containing a TAC
* containing a Request_Type
* containing a Event_Type
* containing a Report_Area.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_eNB_LRP_01
* @reference ETSI TS 136 413 V13.4.0 Clause 8.11.1.2-2(1st dashed line) and 9.1.12.1 and 9.1.12.3 and 9.2.1.16,34,38
*/
testcase TC_S1AP_eNB_LRP_01() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_LRP_01());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_LRP_01
/**
* @desc Verify that the IUT can process all mandatory IEs in a LOCATION_REPORTING_CONTROL containing Event Type IE indicating Change of service cell and sends a LOCATION_REPORT.
* <pre>
* Pics Selection: A.3/10.1 and A.3/10.3
* Configuration: CF_S1-MME
* Ensure that the IUT
* on receipt of a LOCATION_REPORTING_CONTROL
* containing an MME_UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing a Request_Type
* containing an Event_Type
* indicating change_of_service_cell
* containing a Report_Area
* indicating ECGI
* when UE changes to new cell
* sends LOCATION_REPORT
* containing an MME_UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing an E-UTRAN_CGI
* containing a PLMN_Identity
* containing a Cell_Identity
* containing a TAI
* containing a PLMN_Identity
* containing a TAC
* containing a Request_Type
* containing a Event_Type
* containing a Report_Area.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_eNB_LRP_02
* @reference ETSI TS 136 413 V13.4.0 Clause 8.11.1.2-2(1st dashed line) and 9.1.12.1 and 9.1.12.3 and 9.2.1.16,34,38
*/
testcase TC_S1AP_eNB_LRP_02() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_LRP_02());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_LRP_02
/**
* @desc Verify that the IUT can process all mandatory IEs in a LOCATION_REPORTING_CONTROL containing Event Type IE indicating Stop change of service cell and sends a LOCATION_REPORT.
* <pre>
* Pics Selection: A.3/10.1 and A.3/10.3
* Configuration: CF_S1-MME
* Ensure that the IUT
* on receipt of a LOCATION_REPORTING_CONTROL
* containing an MME_UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing a Request_Type
* containing an Event_Type
* indicating stop_change_of_service_cell
* containing a Report_Area
* indicating ECGI
* when UE changes to new cell
* sends LOCATION_REPORT
* containing an MME_UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing an E-UTRAN_CGI
* containing a PLMN_Identity
* containing a Cell_Identity
* containing a TAI
* containing a PLMN_Identity
* containing a TAC
* containing a Request_Type
* containing a Event_Type
* containing a Report_Area.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_eNB_LRP_03
* @reference ETSI TS 136 413 V13.4.0 Clause 8.11.1.2-2(1st dashed line) and 9.1.12.1 and 9.1.12.3 and 9.2.1.16,34,38
*/
testcase TC_S1AP_eNB_LRP_03() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_LRP_03());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_LRP_03
/**
* @desc Verify that the IUT can send a LOCATION REPORT_FAILURE_INDICATION.
* <pre>
* Pics Selection: A.3/10.1 and A.3/10.3
* Configuration: CF_S1-MME
* Ensure that the IUT
* on receipt of a LOCATION_REPORTING_CONTROL
* containing an MME_UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing a Request_Type
* containing an Event_Type
* containing a Report_Area
* sends LOCATION REPORT_FAILURE_INDICATION
* containing an MME_UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing a Cause
* indicating an appropriate cause value.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_eNB_LRP_04
* @reference ETSI TS 136 413 V13.4.0 Clause 8.11.2.2-1 and 9.1.12.2
*/
testcase TC_S1AP_eNB_LRP_04() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_LRP_04());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_LRP_04
} // End of group Location_reporting_group
/**
* @desc Warning message transmission group
* @see ETSI TS 103 497-2 Clause 5.2.2.1.12 Warning message transmission group
*/
group Warning_message_transmission_group {
/**
* @desc Verify that the IUT can successfully process all mandatory IEs in a WRITE-REPLACE_WARNING_REQUEST received and sends a WRITE-REPLACE_WARNING_RESPONSE.
* <pre>
* Pics Selection: A.3/11.1
* Configuration: CF_S1-MME
* Ensure that the IUT
* on receipt of an WRITE-REPLACE_WARNING_REQUEST
* containing a Message_Identifier
* containing a Serial_Number
* containing a Repetition Period
* containing an Number_of_Broadcasts_Requested
* sends an WRITE-REPLACE_WARNING_RESPONSE
* containing a Serial_Number.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_eNB_WTP_01
* @reference ETSI TS 136 413 V13.4.0 Clause 8.12.1.2-1 and 9.1.13.1 and 9.1.13.2
*/
testcase TC_S1AP_eNB_WTP_01() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_WTP_01());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_WTP_01
/**
* @desc Verify that the IUT can successfully process all mandatory IEs in an KILL_REQUEST received and sends a KILL_RESPONSE.
* <pre>
* Pics Selection: A.3/11.2
* Configuration: CF_S1-MME
* Ensure that the IUT
* on receipt of a KILL_REQUEST
* containing a Message_Identifier
* containing a Serial_Number
* sends sends a KILL_RESPONSE
* containing a Message_Identifier
* containing a Serial_Number.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_eNB_WTP_02
* @reference ETSI TS 136 413 V13.4.0 Clause 8.12.2.2-1,3 and 9.1.13.3 and 9.1.13.4
*/
testcase TC_S1AP_eNB_WTP_02() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_WTP_02());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_WTP_02
/**
* @desc Verify that the IUT can send a PWS_RESTART_INDICATION to indicate a PWS Restart Indication procedure.
* <pre>
* Pics Selection: A.3/11.3
* Configuration: CF_S1-MME
* Ensure that the IUT
* to indicate a PWS Restart Indication procedure
* sends a PWS_RESTART_INDICATION
* containing an E-CGI_List_for_Restart
* indicating a valid list of E-CGI
* containing a Global_ENB_ID
* containing a TAI_List_for_Restart
* indicating a valid list of eNB identifier
* containing an Emergency_Area_ID_List_for_Restart
* indicating an empty list.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_eNB_WTP_03
* @reference ETSI TS 136 413 V13.4.0 Clause 8.12.3.2 and 9.1.13.5
*/
testcase TC_S1AP_eNB_WTP_03() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_WTP_03());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_WTP_03
/**
* @desc Verify that the IUT can send a PWS_FAILURE_INDICATION to indicate PWS Failure Indication procedure.
* <pre>
* Pics Selection: A.3/11.4
* Configuration: CF_S1-MME
* Ensure that the IUT
* to indicate a PWS Failure Indication procedure
* sends a PWS_FAILURE_INDICATION
* containing an PWS failed E-CGI List
* indicating a valid list of E-CGI
* containing a Global_ENB_ID.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_eNB_WTP_04
* @reference ETSI TS 136 413 V13.4.0 Clause 8.12.4.2 and 9.1.13.6
*/
testcase TC_S1AP_eNB_WTP_04() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_WTP_04());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_WTP_04
} // End of group Warning_message_transmission_group
/**
* @desc eNB direct information transfer group
* @see ETSI TS 103 497-2 Clause 5.2.2.1.13 eNB direct information transfer group
*/
group ENB_direct_information_transfer_group {
/**
* @desc Verify that the IUT can send an eNB_DIRECT_INFORMATION_TRANSFER to indicate an eNB Direct Information Transfer procedure.
* <pre>
* Pics Selection: A.4/12
* Configuration: CF_S1-MME
* Ensure that the IUT
* to indicate an eNB direct information Transfer procedure,
* sends an eNB_DIRECT_INFORMATION_TRANSFER
* containing an Inter-system_Information_Transfer_Type
* containing a RIM
* containing a RIM_Transfer
* containing a RIM_Information
* containing a RIM_Routing_Address.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_eNB_EIT_01
* @reference ETSI TS 136 413 V13.4.0 Clause 8.13.2.1 and 9.1.14 and 9.2.3.23
*/
testcase TC_S1AP_eNB_EIT_01() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_EIT_01());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_EIT_01
} // End of group ENB_direct_information_transfer_group
/**
* @desc eNB configuration transfer group
* @see ETSI TS 103 497-2 Clause 5.2.2.1.15 eNB configuration transfer group
*/
group ENB_configuration_transfer_group {
/**
* @desc Verify that the IUT can send an eNB_CONFIGURATION_TRANSFER to indicate an eNB Configuration Transfer procedure.
* <pre>
* Pics Selection: A.4/14
* Configuration: CF_S1-MME
* Ensure that the IUT
* to indicate an eNB Configuration Transfer procedure,
* sends an eNB_CONFIGURATION_TRANSFER
* containing a SON_Configuration_Transfer
* containing a Target_eNB-ID
* containing a Source_eNB-ID
* containing a SON_Information.
* containing a SON_Information_Request
* indicating X2TNL_Configuration_Info
* containing an X2_TNL_Configuration_Info.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_eNB_ECT_01
* @reference ETSI TS 136 413 V13.4.0 Clause 8.15.2.1 and 9.1.16
*/
testcase TC_S1AP_eNB_ECT_01() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_ECT_01());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_ECT_01
} // End of group ENB_configuration_transfer_group
/**
* @desc LPPa transport group
* @see ETSI TS 103 497-2 Clause 5.2.2.1.17 LPPa transport group
*/
group LPPa_transport_group {
/**
* @desc Verify that the IUT can send a UPLINK_UE_ASSOCIATED_LPPA_TRANSPORT to indicate a LPPa Transport procedure
* using a UE associated signalling.
* <pre>
* Pics Selection: A.3/16.2
* Configuration: CF_S1-MME
* Ensure that the IUT
* to indicate a LPPa Transport procedure using a UE associated signalling,
* sends a UPLINK_UE_ASSOCIATED_LPPA_TRANSPORT
* containing an MME_UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing a Routing_ID
* indicating a valid routing identifier value
* containing an LPPa-PDU.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_eNB_LPP_01
* @reference ETSI TS 136 413 V13.4.0 Clause 8.17.2.2 and 9.1.19.2
*/
testcase TC_S1AP_eNB_LPP_01() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_LPP_01());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_LPP_01
/**
* @desc Verify that the IUT can send a UPLINK_UE_ASSOCIATED_LPPA_TRANSPORT to indicate a LPPa Transport procedure
* using a Non-UE associated signalling.
* <pre>
* Pics Selection: A.3/16.4
* Configuration: CF_S1-MME
* Ensure that the IUT
* to indicate a LPPa Transport procedure using a UE associated signalling,
* sends a UPLINK_UE_ASSOCIATED_LPPA_TRANSPORT
* containing an MME_UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing a Routing_ID
* indicating a valid routing identifier value
* containing an LPPa-PDU.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_eNB_LPP_02
* @reference ETSI TS 136 413 V13.4.0 Clause 8.17.2.4 and 9.1.19.4
*/
testcase TC_S1AP_eNB_LPP_02() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_eNB_LPP_02());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_eNB_LPP_02
} // End of group LPPa_transport_group
/**
* @desc Unknown, Unforseen and Erroneous Protocol Data
* @see ETSI TS 103 497-2 Clause 5.2.2.2.18 Unknown, Unforseen and Erroneous Protocol Data
*/
group Unknown_unforseen_errorneous_group {
/**
* @desc Verify that the IUT rejects the procedure using Error Indication Procedure if message contains different types of received
* criticality information of the Procedure Code IE and include Procedure Code IE, Triggering Message IE and
* Procedure Criticality IE in the Criticality Diagnostics IE within ERROR_INDICATION.
* <pre>
* Pics Selection: A.4/2.8 and A.4/6.2.2 and A.4/17.2
* Configuration: CF_S1-MME
* Ensure that the IUT
* on receipt of an INITIAL_CONTEXT_SETUP_REQUEST,
* with Criticality set to value from the Table 4
* containing an MME UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing a UE_Aggregate_Maximum_Bit_Rate
* containing an E-RAB_to_be_Setup_List
* containing an E-RAB_to_be_Setup Item 1
* containing an E-RAB_ID
* containing an E-RAB_Level_QoS_Parameters
* containing a Transport_Layer_Address
* containing a GTP-TEID
* containing a NAS-PDU
* containing a UE_Security_Capabilities
* containing an Encription_Algorithms
* indicating not supported algoithm
* containing an Integrity_Protection_Algorithms
* containing a Security_Key
* sends an ERROR_INDICATION
* containing a Criticality_Diagnostics
* containing a Procedure_Code
* containing a Triggering_Message
* containing a Procedure_Criticality.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_ENB_ERR_01
* @reference ETSI TS 136 413 V13.4.0 Clause 10.3.4.1¶8
*/
testcase TC_S1AP_ENB_ERR_01() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not (PICS_S1AP_eNB_IUT and PICS_S1AP_eNB_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE)) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT and PICS_S1AP_eNB_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_ENB_ERR_01());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_ENB_ERR_01
/**
* @desc Verify that the IUT rejects the procedure if message contains not comprehended IEs/IE groups marked with
* Reject IE or Ignore IE and Notify Sender and include Information Element Criticality Diagnostics IE in
* the Criticality Diagnostics IE for each reported IEs/IE groups within response message for this procedure.
* <pre>
* Pics Selection: A.4/2.8 and NOT A.4/6.2.2 and A.4/17
* Configuration: CF_S1-MME
* Ensure that the IUT
* on receipt of an INITIAL_CONTEXT_SETUP_REQUEST,
* with Criticality set to value from the Table 4
* containing an MME UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing an Unknown_ID
* containing Criticality
* indicating Reject or Ignore and Notify Sender
* containing a UE_Aggregate_Maximum_Bit_Rate
* containing an E-RAB_to_be_Setup_List
* containing an E-RAB_to_be_Setup Item 1
* containing an E-RAB_ID
* containing an E-RAB_Level_QoS_Parameters
* containing a Transport_Layer_Address
* containing a GTP-TEID
* containing a NAS-PDU
* containing a UE_Security_Capabilities
* containing an Encription_Algorithms
* indicating not supported algoithm
* containing an Integrity_Protection_Algorithms
* containing a Security_Key
* sends an an INITIAL_CONTEXT_SETUP_FAILURE
* containing an MME_UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing a Cause
* indicating appropriate Protocol Cause
* containing a Criticality_Diagnostics
* containing an Information Element Criticality_Diagnostics
* containing an IE_Criticality
* containing an IE_ID
* containing an IE_Type_of_Error.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_ENB_ERR_02
* @reference ETSI TS 136 413 V13.4.0 Clause 10.3.4.2¶3(1st dashed line) and 13
*/
testcase TC_S1AP_ENB_ERR_02() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not (PICS_S1AP_eNB_IUT and PICS_S1AP_eNB_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE)) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT and PICS_S1AP_eNB_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_ENB_ERR_02());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_ENB_ERR_02
/**
* @desc Verify that the IUT rejects the procedure using Error Indication Procedure if message contains different types of received
* criticality information of the Procedure Code IE and include Procedure Code IE, Triggering Message IE and
* Procedure Criticality IE in the Criticality Diagnostics IE within ERROR_INDICATION.
* <pre>
* Pics Selection: A.3/2.1 and A.3/6.2.2 and A.3/17.2
* Configuration: CF_S1-MME
* Ensure that the IUT
* on receipt of an INITIAL_CONTEXT_SETUP_REQUEST,
* with Criticality set to value from the Table 4
* containing an MME UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing an Unknown_ID
* containing Criticality
* indicating Reject or Ignore and Notify Sender
* containing a UE_Aggregate_Maximum_Bit_Rate
* containing an E-RAB_to_be_Setup_List
* containing an E-RAB_to_be_Setup Item 1
* containing an E-RAB_ID
* containing an E-RAB_Level_QoS_Parameters
* containing a Transport_Layer_Address
* containing a GTP-TEID
* containing a NAS-PDU
* containing a UE_Security_Capabilities
* containing an Encription_Algorithms
* indicating not supported algoithm
* containing an Integrity_Protection_Algorithms
* containing a Security_Key
* sends an ERROR_INDICATION
* containing a Criticality_Diagnostics
* containing a Procedure_Code
* containing a Triggering_Message
* containing a Procedure_Criticality
* containing an Information Element Criticality_Diagnostics
* containing an IE_Criticality
* containing an IE_ID
* containing an IE_Type_of_Error.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_ENB_ERR_03
* @reference ETSI TS 136 413 V13.4.0 Clause 10.3.4.2¶4(2nd dashed line) and 14
*/
testcase TC_S1AP_ENB_ERR_03() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not (PICS_S1AP_eNB_IUT and PICS_S1AP_eNB_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE)) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT and PICS_S1AP_eNB_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_ENB_ERR_03());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_ENB_ERR_03
/**
* @desc Verify that the IUT rejects the procedure if message not contains mandatory IEs/IE groups and
* include Information Element Criticality Diagnostics IE in the Criticality Diagnostics IE for each
* reported IEs/IE groups within response message for this procedure.
* <pre>
* Pics Selection: A.3/2.1 and A.3/6.2.2 and A.3/17.2
* Configuration: CF_S1-MME
* Ensure that the IUT
* on receipt of an INITIAL_CONTEXT_SETUP_REQUEST,
* with Criticality set to value from the Table 4
* containing an MME UE_S1AP_ID
* not containing an eNB_UE_S1AP_ID
* containing an Unknown_ID
* containing Criticality
* indicating Reject or Ignore and Notify Sender
* containing a UE_Aggregate_Maximum_Bit_Rate
* containing an E-RAB_to_be_Setup_List
* containing an E-RAB_to_be_Setup Item 1
* containing an E-RAB_ID
* containing an E-RAB_Level_QoS_Parameters
* containing a Transport_Layer_Address
* containing a GTP-TEID
* containing a NAS-PDU
* containing a UE_Security_Capabilities
* containing an Encription_Algorithms
* indicating not supported algoithm
* containing an Integrity_Protection_Algorithms
* containing a Security_Key
* sends an ERROR_INDICATION
* containing a Criticality_Diagnostics
* containing a Procedure_Code
* containing a Triggering_Message
* containing a Procedure_Criticality
* containing an Information Element Criticality_Diagnostics
* containing an IE_Criticality
* containing an IE_ID
* containing an IE_Type_of_Error.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_ENB_ERR_04
* @reference ETSI TS 136 413 V13.4.0 Clause 10.3.5¶3(1st dashed line) and 13
*/
testcase TC_S1AP_ENB_ERR_04() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not (PICS_S1AP_eNB_IUT and PICS_S1AP_eNB_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE)) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT and PICS_S1AP_eNB_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_ENB_ERR_04());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_ENB_ERR_04
/**
* @desc Verify that the IUT rejects the procedure using Error Indication Procedure if message not contains mandatory IEs/IE groups and
* include Procedure Code IE, Triggering Message IE and Procedure Criticality IE and Information Element Criticality Diagnostics IE
* in the Criticality Diagnostics IE for each reported IEs/IE groups within ERROR_INDICATION.
* <pre>
* Pics Selection: A.3/2.1 and A.3/6.2.2 and A.3/17.2
* Configuration: CF_S1-MME
* Ensure that the IUT
* on receipt of an E-RAB_SETUP_REQUEST,
* containing an MME UE_S1AP_ID
* not containing an eNB_UE_S1AP_ID
* containing a UE_Aggregate_Maximum_Bit_Rate
* containing an E-RAB_to_be_Setup_List
* containing an E-RAB_to_be_Setup Item 1
* containing an E-RAB_ID
* containing an E-RAB_Level_QoS_Parameters
* containing QCI
* indicating value 5
* containing a Transport_Layer_Address
* containing a GTP-TEID
* containing a NAS-PDU
* sends an ERROR_INDICATION
* containing a Criticality_Diagnostics
* containing a Procedure_Code
* containing a Triggering_Message
* containing a Procedure_Criticality
* containing an Information Element Criticality_Diagnostics
* containing an IE_Criticality
* containing an IE_ID
* containing an IE_Type_of_Error.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_ENB_ERR_05
* @reference ETSI TS 136 413 V13.4.0 Clause 10.3.5¶4(2nd dashed line) and 14
*/
testcase TC_S1AP_ENB_ERR_05() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not (PICS_S1AP_eNB_IUT and PICS_S1AP_eNB_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE)) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT and PICS_S1AP_eNB_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_ENB_ERR_05());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_ENB_ERR_05
/**
* @desc Verify that the IUT rejects the procedure if message contains too many occurrances of the same IEs/IE groups with
* response message for this procedure and report the cause value Abstract Syntax Error(Falsely Constructed Message).
* <pre>
* Pics Selection: A.3/2.1 and A.3/6.2.2 and A.3/17.2
* Configuration: CF_S1-MME
* Ensure that the IUT
* on receipt of an INITIAL_CONTEXT_SETUP_REQUEST,
* containing an MME UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing an eNB_UE_S1AP_ID(same IE as already present)
* containing a UE_Aggregate_Maximum_Bit_Rate
* containing an E-RAB_to_be_Setup_List
* containing an E-RAB_to_be_Setup Item 1
* containing an E-RAB_ID
* containing an E-RAB_Level_QoS_Parameters
* containing a Transport_Layer_Address
* containing a GTP-TEID
* containing a NAS-PDU
* containing a UE_Security_Capabilities
* containing an Encription_Algorithms
* indicating not supported algoithm
* containing an Integrity_Protection_Algorithms
* containing a Security_Key
* sends an ERROR_INDICATION
* containing a Criticality_Diagnostics
* containing a Procedure_Code
* containing a Triggering_Message
* containing a Procedure_Criticality
* containing an Information Element Criticality_Diagnostics
* containing an IE_Criticality
* containing an IE_ID
* containing an IE_Type_of_Error.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_ENB_ERR_06
* @reference ETSI TS 136 413 V13.4.0 Clause 10.3.6¶2(1st dashed line)
*/
testcase TC_S1AP_ENB_ERR_06() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not (PICS_S1AP_eNB_IUT and PICS_S1AP_eNB_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE)) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT and PICS_S1AP_eNB_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_ENB_ERR_06());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_ENB_ERR_06
/**
* @desc Verify that the IUT terminate the procedure that does not have message to report unsuccessful outcome and message contains
* too many occurrances of the same IEs/IE groups and initiate Error Indication Procedure with cause value
* Abstract Syntax Error(Falsely Constructed Message).
* <pre>
* Pics Selection: A.3/2.1 and A.3/6.2.2 and A.3/17.2
* Configuration: CF_S1-MME
* Ensure that the IUT
* on receipt of an E-RAB_SETUP_REQUEST,
* containing an MME UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing an eNB_UE_S1AP_ID(same IE as already present)
* containing a UE_Aggregate_Maximum_Bit_Rate
* containing an E-RAB_to_be_Setup_List
* containing an E-RAB_to_be_Setup Item 1
* containing an E-RAB_ID
* containing an E-RAB_Level_QoS_Parameters
* containing QCI
* indicating value 5
* containing a Transport_Layer_Address
* containing a GTP-TEID
* containing a NAS-PDU
* sends an ERROR_INDICATION
* containing a Cause
* indicating Abstract Syntax Error(Falsely Constructed Message).
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_ENB_ERR_07
* @reference ETSI TS 136 413 V13.4.0 Clause 10.3.5¶3(2nd dashed line)
*/
testcase TC_S1AP_ENB_ERR_07() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not (PICS_S1AP_eNB_IUT and PICS_S1AP_eNB_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE)) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT and PICS_S1AP_eNB_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_ENB_ERR_07());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_ENB_ERR_07
/**
* @desc Verify that the IUT initiate an Error Indication procedure with inclusion of only the previousy received AP ID from the peer node
* and appropriate cause value in case if AP ID has been stored previously for another UE-associated logical connection for same
* peer node.
* <pre>
* Pics Selection: A.3/2.1 and A.3/6.2.2 and A.3/17.2
* Configuration: CF_S1-MME
* Ensure that the IUT
* on receipt of an E-RAB_SETUP_REQUEST,
* containing an MME UE_S1AP_ID
* indicating already used AP ID
* containing an eNB_UE_S1AP_ID
* indicating already used AP ID
* containing a UE_Aggregate_Maximum_Bit_Rate
* containing an E-RAB_to_be_Setup_List
* containing an E-RAB_to_be_Setup Item 1
* containing an E-RAB_ID
* containing an E-RAB_Level_QoS_Parameters
* containing QCI
* indicating value 5
* containing a Transport_Layer_Address
* containing a GTP-TEID
* containing a NAS-PDU
* sends an ERROR_INDICATION
* containing an eNB_UE_S1AP_ID
* containing a Cause
* indicating Unknown or already allocated eNB UE S1AP ID.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_ENB_ERR_08
* @reference ETSI TS 136 413 V13.4.0 Clause 10.3.5¶3(2nd dashed line)
*/
testcase TC_S1AP_ENB_ERR_08() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_enb;
// Test control
if (not (PICS_S1AP_eNB_IUT and PICS_S1AP_eNB_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE)) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT and PICS_S1AP_eNB_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_eNB_Up(v_s1ap_enb);
// Start
v_s1ap_enb.start(f_TC_S1AP_ENB_ERR_08());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_ENB_ERR_08
} // End of group Unknown_unforseen_errorneous_group
} // End of group eNB_Role
group MME_Role { // TODO Review all preamble action: E-RAB Setup is exchanged for MME role, shall not be f_rABSetupRequest
/**
* @desc E-RAB management group
* @see ETSI TS 103 497-2 Clause 5.2.2.2.2 E-RAB management group
*/
group ERAB_management_group {
/**
* @desc Verify that the IUT can send an E-RAB_SETUP_REQUEST with at least one E-RAB IE to indicate an E-RAB Setup procedure.
* <pre>
* Pics Selection: A.4/1.1
* Configuration: CF_S1-MME
* Ensure that the IUT
* to indicate an E-RAB Setup procedure,
* sends an E-RAB_SETUP_REQUEST
* containing an MME_UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing an E-RAB_to_be_Setup_List
* containing an E-RAB_to_be_Setup Item 1
* containing an E-RAB_ID
* containing an E-RAB_Level_QoS_Parameters
* containing a Transport_Layer_Address
* containing a GTP-TEID
* containing a NAS-PDU.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_eNB_RAB_01
* @reference ETSI TS 136 413 V13.4.0 Clause 8.2.1.2 and 9.1.3.1
*/
testcase TC_S1AP_MME_RAB_01() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not PICS_S1AP_MME_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_MME_RAB_01());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_RAB_01
} // End of group ERAB_management_group
group Context_Management_group {
testcase TC_S1AP_MME_CMP_01() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not PICS_S1AP_MME_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_mME_CMP_01());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_CMP_01
testcase TC_S1AP_MME_CMP_02() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not PICS_S1AP_MME_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_mME_CMP_02());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_CMP_02
testcase TC_S1AP_MME_CMP_03() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not PICS_S1AP_MME_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_mME_CMP_03());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_CMP_03
testcase TC_S1AP_MME_CMP_04() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not PICS_S1AP_MME_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_mME_CMP_04());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_CMP_04
testcase TC_S1AP_MME_CMP_05() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not PICS_S1AP_MME_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_mME_CMP_05());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_CMP_05
testcase TC_S1AP_MME_CMP_06() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not PICS_S1AP_MME_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_mME_CMP_06());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_CMP_06
testcase TC_S1AP_MME_CMP_07() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not PICS_S1AP_MME_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_mME_CMP_07());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_CMP_07
testcase TC_S1AP_MME_CMP_08() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not PICS_S1AP_MME_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_mME_CMP_08());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_CMP_08
testcase TC_S1AP_MME_CMP_09() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not PICS_S1AP_MME_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_mME_CMP_09());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_CMP_09
testcase TC_S1AP_MME_CMP_10() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not PICS_S1AP_MME_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_mME_CMP_10());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_CMP_10
testcase TC_S1AP_MME_CMP_11() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not PICS_S1AP_MME_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_mME_CMP_11());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_CMP_11
} // End of group Context_Management_group
/**
* @desc Paging group
* @see ETSI TS 103 497-2 Clause 5.2.2.2.5 Paging group
*/
group Pagin_group {
/**
* @desc Verify that the IUT can send a PAGING to indicate a Paging procedure.
* <pre>
* Pics Selection: A.4/4.4
* Configuration: CF_S1-MME
* Ensure that the IUT
* to indicate a Paging procedure
* sends a PAGING
* containing a UE_Identity_Index_value
* containing a UE_Paging_Identity
* containing a S-TMSI
* containing an IMSI
* containing a CN_Domain.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_MME_PAG_01
* @reference ETSI TS 136 413 V13.4.0 Clause 8.5.2¶1 and 9.1.6
*/
testcase TC_S1AP_MME_PAG_01() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not PICS_S1AP_MME_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_MME_PAG_01());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_PAG_01
} // End of group Pagin_group
/**
* @desc NAS_transport_group
* @see ETSI TS 103 497-2 Clause 5.2.2.1.6 NAS transport group
*/
group NAS_transport_group {
/**
* @desc Verify that the IUT can send a DOWNLINK_NAS_TRANSPORT to indicate an ongoing NAS Transport procedure.
* <pre>
* Pics Selection: A.4/5.2
* Configuration: CF_S1-MME
* Ensure that the IUT
* to indicate an ongoing NAS Transport procedure
* sends a DOWNLINK_NAS_TRANSPORT
* containing an MME UE S1AP ID
* containing an eNB_UE_S1AP_ID
* containing a NAS-PDU.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_MME_NAS_01
* @reference ETSI TS 136 413 V13.4.0 Clause 8.6.2.2¶1 and 9.1.7.2
*/
testcase TC_S1AP_MME_NAS_01() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not PICS_S1AP_MME_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_MME_NAS_01());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_NAS_01
/**
* @desc Verify that the IUT can send a REROUTE_NAS_REQUEST to indicate a Reroute NAS Request procedure.
* <pre>
* Pics Selection: A.4/5.5
* Configuration: CF_S1-MME
* Ensure that the IUT
* to indicate a Reroute NAS Request procedure
* sends a REROUTE_NAS_REQUEST
* containing an MME UE S1AP ID
* containing a S1_Message
* containing an MME_Group_ID.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_MME_NAS_02
* @reference ETSI TS 136 413 V13.4.0 Clause 8.6.2.2¶1 and 9.1.7.2
*/
testcase TC_S1AP_MME_NAS_02() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not PICS_S1AP_MME_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_MME_NAS_02());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_NAS_02
} // End of group NAS_transport_group
/**
* @desc Management group
* @see ETSI TS 103 497-2 Clause 5.2.2.2.7 Management group
*/
group Management_group {
/**
* @desc Verify that the IUT can send a RESET to indicate a Reset procedure initiated from the MME.
* <pre>
* Pics Selection: A.4/6.1.2
* Configuration: CF_S1-MME
* Ensure that the IUT
* to indicate a Reset procedure initiated from the MME
* sends a RESET
* containing a Cause
* indicating an appropriate cause value
* containing a Reset_Type
* containing a S1_Interface
* indicating a value Reset_all.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_MME_MNP_01
* @reference ETSI TS 136 413 V13.4.0 Clause 8.7.1.2.1¶2 and 9.1.8.1 and 9.1.8.2
*/
testcase TC_S1AP_MME_MNP_01() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not PICS_S1AP_MME_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_MME_MNP_01());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_MNP_01
/**
* @desc Verify that the IUT can send process successfully all mandatory IEs in a RESET and sends a RESET_ACKNOWLEDGE
* due to a Reset procedure initiated from the E-UTRAN.
* <pre>
* Pics Selection: A.4/6.1.1
* Configuration: CF_S1-MME
* Ensure that the IUT
* on receipt of a RESET
* containing a Cause
* indicating an appropriate cause value
* containing a Reset_Type
* containing an S1_Interface
* indicating value Reset_all
* sends a RESET_ACKNOWLEDGE
* containing a UE-associated_logical_S1-connection_list.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_MME_MNP_02
* @reference ETSI TS 136 413 V13.4.0 Clause 8.7.1.2.1¶2 and 9.1.8.1 and 9.1.8.2
*/
testcase TC_S1AP_MME_MNP_02() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not PICS_S1AP_MME_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_MME_MNP_02());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_MNP_02
/**
* @desc Verify that the IUT can successfully all mandatory IEs in a RESET and sends a RESET_ACKNOWLEDGE
* due to a Reset procedure in case of Abnormal Condition at the EPC.
* <pre>
* Pics Selection: A.4/6.1.1
* Configuration: CF_S1-MME
* Ensure that the IUT
* on receipt of a RESET
* containing a Cause
* indicating an appropriate cause value
* containing a Reset_Type
* containing a Part_of_S1_interface
* indicating an empty UE-associated_logical_S1-connection
* sends a RESET_ACKNOWLEDGE
* containing a UE-associated_logical_S1-connection_list
* indicating an empty UE-associated_logical_S1-connection.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_MME_MNP_03
* @reference ETSI TS 136 413 V13.4.0 Clause 8.7.1.3.2¶1 and 9.1.8.1 and 9.1.8.2
*/
testcase TC_S1AP_MME_MNP_03() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not PICS_S1AP_MME_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_MME_MNP_03());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_MNP_03
/**
* @desc Verify that the IUT can send a RESET to indicate a Reset procedure initiated from the eNB.
* <pre>
* Pics Selection: A.4/6.2.2
* Configuration: CF_S1-MME
* Ensure that the IUT
* to indicate an Error Indication procedure
* sends an ERROR_INDICATION
* (containing a Cause
* or containing a Criticality_Diagnostics).
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_MME_MNP_04
* @reference ETSI TS 136 413 V13.4.0 Clause 8.7.1.2.1¶2 and 9.1.8.1 and 9.1.8.2
*/
testcase TC_S1AP_MME_MNP_04() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not PICS_S1AP_MME_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_MME_MNP_04());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_MNP_04
/**
* @desc Verify that the IUT can process all mandatory IEs in a S1_SETUP_REQUEST and
* sends a S1_SETUP_RESPONSE to indicate a S1 Setup procedure.
* <pre>
* Pics Selection: A.4/6.3
* Configuration: CF_S1-MME
* Ensure that the IUT
* on receipt of a S1_SETUP_REQUEST
* containing a Global_eNB_ID
* containing a Supported_TAs
* containing a TAC
* containing a Default_Paging_DRX
* sends a S1_SETUP_RESPONSE.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_MME_MNP_05
* @reference ETSI TS 136 413 V13.4.0 Clause 8.7.3.2¶1 and 9.1.8.4 and 9.1.8.5
*/
testcase TC_S1AP_MME_MNP_05() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not PICS_S1AP_MME_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_MME_MNP_05());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_MNP_05
/**
* @desc Verify that the IUT can process all mandatory IEs in a S1_SETUP_REQUEST and
* sends a S1_SETUP_FAILURE to indicate an invalid S1 Setup procedure due to an unknown PLMN identities.
* <pre>
* Pics Selection: A.4/6.3
* Configuration: CF_S1-MME
* Ensure that the IUT
* on receipt of a S1_SETUP_REQUEST
* containing a Global_eNB_ID
* containing a Supported_TAs
* containing a TAC
* containing a Broadcast_PLMNs
* indicating at least one unknown PLMN identity
* sends a S1_SETUP_FAILURE
* containing a Cause
* indicating the cause value 'Unknown PLMN'.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_MME_MNP_06
* @reference ETSI TS 136 413 V13.4.0 Clause 8.7.3.2¶1 and 9.1.8.4 and 9.1.8.6
*/
testcase TC_S1AP_MME_MNP_06() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not PICS_S1AP_MME_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_MME_MNP_06());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_MNP_06
/**
* @desc Verify that the IUT can process all mandatory IEs in an ENB_CONFIGURATION_UPDATE and
* sends an ENB_CONFIGURATION_UPDATE_ACKNOWLEDGE to indicate an eNB Configuration Update procedure.
* <pre>
* Pics Selection: A.4/6.4
* Configuration: CF_S1-MME
* Ensure that the IUT
* on receipt of an ENB_CONFIGURATION_UPDATE
* containing a Global_eNB_ID
* containing a Supported_TAs
* containing a TAC
* sends an MME_CONFIGURATION_UPDATE_ACKNOWLEDGE.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_MME_MNP_07
* @reference ETSI TS 136 413 V13.4.0 Clause 8.7.4.2¶1 and 9.1.8.7 and 9.1.8.8
*/
testcase TC_S1AP_MME_MNP_07() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not PICS_S1AP_MME_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_MME_MNP_07());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_MNP_07
/**
* @desc Verify that the IUT can process all mandatory IEs in an ENB_CONFIGURATION_UPDATE and
* sends an ENB_CONFIGURATION_UPDATE_FAILURE to indicate an invalid eNB Configuration Update procedure due to an invalid Global eNB identifier.
* <pre>
* Pics Selection: A.4/6.4
* Configuration: CF_S1-MME
* Ensure that the IUT
* on receipt of an ENB_CONFIGURATION_UPDATE
* containing a Global_eNB_ID
* indicating invalid value
* sends an ENB_CONFIGURATION_UPDATE_FAILURE
* containing a Cause
* indicating an appropriate cause value.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_MME_MNP_08
* @reference ETSI TS 136 413 V13.4.0 Clause 8.7.3.2¶1 and 9.1.8.7 and 9.1.8.9
*/
testcase TC_S1AP_MME_MNP_08() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not PICS_S1AP_MME_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_MME_MNP_08());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_MNP_08
/**
* @desc Verify that the IUT can send an ENB_CONFIGURATION_UPDATE to indicate an eNB Configuration Update procedure.
* <pre>
* Pics Selection: A.4/6.5
* Configuration: CF_S1-MME
* Ensure that the IUT
* to indicate an eNB Configuration Update procedure
* sends an ENB_CONFIGURATION_UPDATE
* containing a Global_eNB_ID
* containing a Supported_TAs
* containing a TAC.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_MME_MNP_09
* @reference ETSI TS 136 413 V13.4.0 Clause 8.7.4.2¶1 and 9.1.8.10
*/
testcase TC_S1AP_MME_MNP_09() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not PICS_S1AP_MME_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_MME_MNP_09());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_MNP_09
/**
* @desc Verify that the IUT can send an OVERLOAD_START to indicate an Overload Start procedure.
* <pre>
* Pics Selection: A.4/6.6
* Configuration: CF_S1-MME
* Ensure that the IUT
* to indicate an Overload Start procedure
* sends an OVERLOAD_START
* containing an Overload_Response.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_MME_MNP_10
* @reference ETSI TS 136 413 V13.4.0 Clause 8.7.6.2¶1 and 9.1.8.13
*/
testcase TC_S1AP_MME_MNP_10() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not PICS_S1AP_MME_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_MME_MNP_10());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_MNP_10
/**
* @desc Verify that the IUT can send an OVERLOAD_STOP to indicate an Overload Stop procedure.
* <pre>
* Pics Selection: A.4/6.7
* Configuration: CF_S1-MME
* Ensure that the IUT
* to indicate an Overload Stop procedure
* sends an OVERLOAD_STOP
* containing an Overload_Response.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_MME_MNP_11
* @reference ETSI TS 136 413 V13.4.0 Clause 8.7.7.2¶1 and 9.1.8.14
*/
testcase TC_S1AP_MME_MNP_11() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not PICS_S1AP_MME_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_MME_MNP_11());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_MNP_11
} // End of group Management_group
/**
* @desc S1 CDMA 2000 tunnelling group group
* @see ETSI TS 103 497-2 Clause 5.2.2.2.8 S1 CDMA 2000 tunnelling group group
*/
group S1_CDMA_2000_tunelling_group {
/**
* @desc Verify that the IUT can send a DOWNLINK_S1_CDMA2000_TUNNELLING.
* <pre>
* Pics Selection: A.3/7.1
* Configuration: CF_S1-MME
* Ensure that the IUT
* to indicate a CDMA2000 signalling event
* sends a DOWNLINK_S1_CDMA2000_TUNNELLING
* containing an MME_UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* not containing an E-RABs_Subject_to_Forwarding_Lis
* containing a CDMA2000_HO_type
* containing a CDMA2000_PDU.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_MME_STP_01
* @reference ETSI TS 136 413 V13.4.0 Clause 8.8.2.1¶1 and 9.1.9.1
*/
testcase TC_S1AP_MME_STP_01() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not PICS_S1AP_eNB_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_MME_STP_01());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_STP_01
} // End of group S1_CDMA_2000_tunelling_group
/**
* @desc Warning message transmission group
* @see ETSI TS 103 497-2 Clause 5.2.2.2.10 Trace group
*/
group Trace_group {
/**
* @desc Verify that the IUT can send a TRACE_START message to indicate Trace Start procedure.
* <pre>
* Pics Selection: A.4/9.1
* Configuration: CF_S1-MME
* Ensure that the IUT
* to indicate a Trace Start procedure
* sends a TRACE_START
* containing an MME_UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing a Trace_Activation
* containing an E-UTRAN_Trace_ID
* containing a Interfaces_To_Trace
* indicating value S1-MME
* containing a Trace_depth
* indicating value maximum
* containing a Trace_Collection_Entity_IP_Address.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_MME_TRP_01
* @reference ETSI TS 136 413 V13.4.0 Clause 8.10.1.2¶1 and 9.1.11.1 and 9.2.1.4
*/
testcase TC_S1AP_MME_TRP_01() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not PICS_S1AP_MME_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_MME_TRP_01());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_TRP_01
/**
* @desc Verify that the IUT can successfully process all mandatory IEs in a DEACTIVATE_TRACE.
* <pre>
* Pics Selection: A.4/9.3
* Configuration: CF_S1-MME
* Ensure that the IUT
* to indicate a Deactivate Trace procedure
* sends a DEACTIVATE_TRACE
* containing an MME_UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing an E-UTRAN_Trace_ID.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_MME_TRP_02
* @reference ETSI TS 136 413 V13.4.0 Clause 8.10.1.211 and 9.1.11.2
*/
testcase TC_S1AP_MME_TRP_02() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not PICS_S1AP_MME_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_MME_TRP_02());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_TRP_02
} // End of goup Trace_group
/**
* @desc Warning message transmission group
* @see ETSI TS 103 497-2 Clause 5.2.2.2.11 Location reporting group
*/
group Location_reporting_group {
/**
* @desc Verify that the IUT can send a LOCATION_REPORTING_CONTROL.
* <pre>
* Pics Selection: A.4/10.1 and A.4/10.3
* Configuration: CF_S1-MME
* Ensure that the IUT
* to indicate a Location Reporting Control procedure
* sends a LOCATION_REPORTING_CONTROL
* containing an MME_UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing a Request_Type
* containing a Event_Type
* containing a Report_Area
* indicating ECGI.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_MME_LRP_01
* @reference ETSI TS 136 413 V13.4.0 Clause 8.11.1.2-1 and 9.1.12.1 and 9.1.12.3 and 9.2.1.16,34,38
*/
testcase TC_S1AP_MME_LRP_01() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not PICS_S1AP_MME_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_MME_LRP_01());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_LRP_01
/**
* @desc Verify that the IUT can send a LOCATION_REPORTING_CONTROL and process all mandatory IEs in a LOCATION REPORT_FAILURE_INDICATION.
* <pre>
* Pics Selection: A.4/10.1 and A.4/10.3
* Configuration: CF_S1-MME
* Ensure that the IUT
* to indicate a Location Reporting Control procedure
* sends a LOCATION_REPORTING_CONTROL
* containing an MME_UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing a Request_Type
* containing a Event_Type
* containing a Report_Area
* indicating ECGI
* receives a LOCATION_REPORT_FAILURE_INDICATION
* containing an MME_UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing a Cause
* indicating an appropriate cause value.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_MME_LRP_02
* @reference ETSI TS 136 413 V13.4.0 Clause 8.11.1.2-1 and 9.1.12.1 and 9.1.12.3 and 9.2.1.16,34,38
*/
testcase TC_S1AP_MME_LRP_02() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not PICS_S1AP_MME_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_MME_LRP_02());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_LRP_02
} // End of group Location_reporting_group
/**
* @desc Warning message transmission group
* @see ETSI TS 103 497-2 Clause 5.2.2.2.12 Warning message transmission group
*/
group Warning_message_transmission_group {
/**
* @desc Verify that the IUT can send a WRITE-REPLACE_WARNING_REQUEST to indicate a Warning Message Transmission procedure.
* <pre>
* Pics Selection: A.4/11.1
* Configuration: CF_S1-MME
* Ensure that the IUT
* to indicate a Warning Message Transmission procedure
* sends a WRITE-REPLACE_WARNING_REQUEST
* containing a Message_Identifier
* containing a Serial_Number
* containing a Repetition Period
* containing an Number_of_Broadcasts_Requested
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_MME_WTP_01
* @reference ETSI TS 136 413 V13.4.0 Clause 8.12.1.2-1 and 9.1.13.1 and 9.1.13.2
*/
testcase TC_S1AP_MME_WTP_01() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not PICS_S1AP_MME_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_MME_WTP_01());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_WTP_01
/**
* @desc Verify that the IUT can send a KILL_REQUEST to cancel an already ongoing broadcast of a Warning Message Transmission procedure.
* <pre>
* Pics Selection: A.4/11.2
* Configuration: CF_S1-MME
* Ensure that the IUT
* to indicate a cancellation of an ongoing Warning Message Transmission procedure
* sends a KILL_REQUEST
* containing a Message_Identifier
* containing a Serial_Number
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_MME_WTP_02
* @reference ETSI TS 136 413 V13.4.0 Clause 8.12.2.2-1 and 9.1.13.3 and 9.1.13.4
*/
testcase TC_S1AP_MME_WTP_02() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not PICS_S1AP_MME_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component direct information
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_MME_WTP_02());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_WTP_02
} // End of group Warning_message_transmission_group
/**
* @desc MME direct information transfer group
* @see ETSI TS 103 497-2 Clause 5.2.2.2.14 MME direct information transfer group
*/
group MME_direct_information_transfer_group {
/**
* @desc Verify that the IUT can send an MME_DIRECT_INFORMATION_TRANSFER to indicate an MME Configuration Transfer procedure.
* <pre>
* Pics Selection: A.4/13
* Configuration: CF_S1-MME
* Ensure that the IUT
* to indicate an MME Direct Information Transfer procedure,
* sends an MME_DIRECT_INFORMATION_TRANSFER
* containing an Inter-system_Information_Transfer_Type
* containing a RIM
* containing a RIM_Transfer
* containing a RIM_Information.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_MME_MIT_01
* @reference ETSI TS 136 413 V13.4.0 Clause 8.14.2.1 and 9.2.3.23
*/
testcase TC_S1AP_MME_MIT_01() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not PICS_S1AP_MME_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_MME_MIT_01());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_MIT_01
} // End of group MME_direct_information_transfer_group
/**
* @desc MME configuration transfer
* @see ETSI TS 103 497-2 Clause 5.2.2.2.16 MME configuration transfer group
*/
group MME_configuration_transfer_group {
/**
* @desc Verify that the IUT can send an MME_CONFIGURATION_TRANSFER to indicate an MME Configuration Transfer procedure.
* <pre>
* Pics Selection: A.4/15
* Configuration: CF_S1-MME
* Ensure that the IUT
* to indicate an MME Configuration Transfer procedure,
* sends an MME_CONFIGURATION_TRANSFER
* containing a SON_Configuration_Transfer
* containing a Target_eNB-ID
* containing a Source_eNB-ID
* containing a SON_Information.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_MME_MCT_01
* @reference ETSI TS 136 413 V13.4.0 Clause 8.16.2.1 and 9.1.17
*/
testcase TC_S1AP_MME_MCT_01() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not PICS_S1AP_MME_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_MME_MCT_01());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_MCT_01
} // End of group MME_configuration_transfer_group
/**
* @desc LPPa transport group
* @see ETSI TS 103 497-2 Clause 5.2.2.2.17 LPPa transport group
*/
group LPPa_transport_group {
/**
* @desc Verify that the IUT can send a DOWNLINK_UE_ASSOCIATED_LPPA_TRANSPORT to indicate a LPPa Transport procedure
* using a UE associated signalling.
* <pre>
* Pics Selection: A.4/16.1
* Configuration: CF_S1-MME
* Ensure that the IUT
* to indicate a LPPa Transport procedure using a UE associated signalling,
* sends a DOWNLINK_UE_ASSOCIATED_LPPA_TRANSPORT
* containing an MME_UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing a Routing_ID
* indicating a valid routing identifier value
* containing an LPPa-PDU.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_MME_LPP_01
* @reference ETSI TS 136 413 V13.4.0 Clause 8.17.2.1 and 9.1.19.1
*/
testcase TC_S1AP_MME_LPP_01() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not PICS_S1AP_MME_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_MME_LPP_01());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_LPP_01
/**
* @desc Verify that the IUT can send a DOWNLINK_UE_ASSOCIATED_LPPA_TRANSPORT to indicate a LPPa Transport procedure
* using a non-UE associated signalling.
* <pre>
* Pics Selection: A.3/16.3
* Configuration: CF_S1-MME
* Ensure that the IUT
* to indicate a LPPa Transport procedure using a UE associated signalling,
* sends a DOWNLINK_UE_ASSOCIATED_LPPA_TRANSPORT
* containing an MME_UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing a Routing_ID
* indicating a valid routing identifier value
* containing an LPPa-PDU.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_MME_LPP_02
* @reference ETSI TS 136 413 V13.4.0 Clause 8.17.2.3 and 9.1.19.3
*/
testcase TC_S1AP_MME_LPP_02() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not PICS_S1AP_MME_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_MME_LPP_02());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_LPP_02
} // End of group LPPa_transport_group
/**
* @desc Unknown, Unforseen and Erroneous Protocol Data
* @see ETSI TS 103 497-2 Clause 5.2.2.2.18 Unknown, Unforseen and Erroneous Protocol Data
*/
group Unknown_unforseen_errorneous_group {
/**
* @desc Verify that the IUT rejects the procedure using Error Indication Procedure if message contains different types
* of received criticality information of the Procedure Code IE and include Procedure Code IE, Triggering Message IE
* and Procedure Criticality IE in the Criticality Diagnostics IE within ERROR_INDICATION.
* <pre>
* Pics Selection: A.4/2.8 and A.4/6.2.2 and A.4/17.2
* Configuration: CF_S1-MME
* Ensure that the IUT
* on receipt of a UE_CONTEXT_RESUME_REQUEST,
* with Criticality set to value from the Table 5
* containing an MME UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing an E-RAB_Failed_to_Resume_List
* containing an E-RAB_Failed_to_Resume_Item 1
* containing an E-RAB_ID
* containing a Cause
* indicating an appropriate value
* sends an ERROR_INDICATION
* containing a Criticality_Diagnostics
* containing a Procedure_Code
* containing a Triggering_Message
* containing a Procedure_Criticality.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_MME_ERR_01
* @reference ETSI TS 136 413 V13.4.0 Clause 10.3.4.1¶8
*/
testcase TC_S1AP_MME_ERR_01() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not (PICS_S1AP_MME_IUT and PICS_S1AP_MME_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE)) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT and PICS_S1AP_MME_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_MME_ERR_01());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_ERR_01
/**
* @desc Verify that the IUT rejects the procedure using Error Indication Procedure if message contains different types
* of received criticality information of the Procedure Code IE and include Procedure Code IE, Triggering Message IE
* and Procedure Criticality IE in the Criticality Diagnostics IE within ERROR_INDICATION.
* <pre>
* Pics Selection: A.4/2.8 and A.4/6.2.2 and A.4/17.2
* Configuration: CF_S1-MME
* Ensure that the IUT
* on receipt of a UE_CONTEXT_RESUME_REQUEST,
* with Criticality set to value from the Table 5
* containing an MME UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing an Unknown_ID
* containing Criticality
* indicating Reject or Ignore and Notify Sender
* containing an E-RAB_Failed_to_Resume_List
* containing an E-RAB_Failed_to_Resume_Item 1
* containing an E-RAB_ID
* containing a Cause
* indicating an appropriate value
* sends an UE_CONTEXT_RESUME_FAILURE
* containing an MME_UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing a Cause
* indicating appropriate Protocol Cause
* containing a Criticality_Diagnostics
* containing a Procedure_Code
* containing a Triggering_Message
* containing a Procedure_Criticality.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_MME_ERR_02
* @reference ETSI TS 136 413 V13.4.0 Clause 10.3.4.2¶3(1st dashed line) and 13
*/
testcase TC_S1AP_MME_ERR_02() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not (PICS_S1AP_MME_IUT and PICS_S1AP_MME_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE)) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT and PICS_S1AP_MME_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_MME_ERR_02());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_ERR_02
/**
* @desc Verify that the IUT rejects the procedure using Error Indication Procedure if message contains not comprehended
* IEs/IE groups marked with Reject IE or Ignore IE and Notify Sender and include Procedure Code IE,
* Triggering Message IE and Procedure Criticality IE and Information Element Criticality Diagnostics IE in the
* Criticality Diagnostics IE for each reported IEs/IE groups within ERROR_INDICATION.
* <pre>
* Pics Selection: A.4/2.8 and A.4/6.2.2 and A.4/17.2
* Configuration: CF_S1-MME
* Ensure that the IUT
* on receipt of a E-RAB_MODIFICATION_INDICATION,
* containing an MME UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing an Unknown_ID
* containing Criticality
* indicating Reject or Ignore and Notify Sender
* containing an E-RAB_to_be_Modified_List
* containing an E-RAB_to_be_Setup Item 1
* containing an E-RAB_ID
* containing a Transport_Layer_Address
* containing a DL_GTP-TEID
* sends an ERROR_INDICATION
* containing a Criticality_Diagnostics
* containing a Procedure_Code
* containing a Triggering_Message
* containing a Procedure_Criticality
* containing an Information Element Criticality_Diagnostics
* containing an IE_Criticality
* containing an IE_ID
* containing an IE_Type_of_Error.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_MME_ERR_03
* @reference ETSI TS 136 413 V13.4.0 Clause 10.3.4.2¶4(2nd dashed line) and 14
*/
testcase TC_S1AP_MME_ERR_03() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not (PICS_S1AP_MME_IUT and PICS_S1AP_MME_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE)) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT and PICS_S1AP_MME_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_MME_ERR_03());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_ERR_03
/**
* @desc Verify that the IUT rejects the procedure if message not contains mandatory IEs/IE groups and include
* Information Element Criticality Diagnostics IE in the Criticality Diagnostics IE for each reported
* IEs/IE groups within response message for this procedure.
* <pre>
* Pics Selection: A.4/2.8 and A.4/6.2.2 and A.4/17.2
* Configuration: CF_S1-MME
* Ensure that the IUT
* on receipt of a UE_CONTEXT_RESUME_REQUEST,
* with Criticality set to value from the Table 5
* containing an MME UE_S1AP_ID
* not containing an eNB_UE_S1AP_ID
* containing an E-RAB_Failed_to_Resume_List
* containing an E-RAB_Failed_to_Resume_Item 1
* containing an E-RAB_ID
* containing a Cause
* indicating an appropriate value
* sends an UE_CONTEXT_RESUME_FAILURE
* containing an MME_UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing a Cause
* indicating appropriate Protocol Cause
* containing a Criticality_Diagnostics
* containing an Information Element Criticality_Diagnostics
* containing an IE_Criticality
* containing an IE_ID
* containing an IE_Type_of_Error.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_MME_ERR_04
* @reference ETSI TS 136 413 V13.4.0 Clause 10.3.5¶3(1st dashed line) and 13
*/
testcase TC_S1AP_MME_ERR_04() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not (PICS_S1AP_MME_IUT and PICS_S1AP_MME_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE)) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT and PICS_S1AP_MME_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_MME_ERR_04());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_ERR_04
/**
* @desc Verify that the IUT rejects the procedure using Error Indication Procedure if message not contains mandatory
* IEs/IE groups and include Procedure Code IE, Triggering Message IE and Procedure Criticality IE
* and Information Element Criticality Diagnostics IE in the Criticality Diagnostics IE for each
* reported IEs/IE groups within ERROR_INDICATION.
* <pre>
* Pics Selection: A.4/2.8 and A.4/6.2.2 and A.4/17.2
* Configuration: CF_S1-MME
* Ensure that the IUT
* on receipt of a E-RAB_MODIFICATION_INDICATION,
* containing an MME UE_S1AP_ID
* not containing an eNB_UE_S1AP_ID
* containing an E-RAB_to_be_Modified_List
* containing an E-RAB_to_be_Setup Item 1
* containing an E-RAB_ID
* containing a Transport_Layer_Address
* containing a DL_GTP-TEID
* sends an ERROR_INDICATION
* containing a Criticality_Diagnostics
* containing a Procedure_Code
* containing a Triggering_Message
* containing a Procedure_Criticality
* containing an Information Element Criticality_Diagnostics
* containing an IE_Criticality
* containing an IE_ID
* containing an IE_Type_of_Error.
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_MME_ERR_05
* @reference ETSI TS 136 413 V13.4.0 Clause 10.3.5¶4(2nd dashed line) and 14
*/
testcase TC_S1AP_MME_ERR_05() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not (PICS_S1AP_MME_IUT and PICS_S1AP_MME_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE)) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT and PICS_S1AP_MME_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_MME_ERR_05());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_ERR_05
/**
* @desc Verify that the IUT rejects the procedure if message contains too many occurrances of the same IEs/IE groups
* with response message for this procedure and report the cause value
* Abstract Syntax Error(Falsely Constructed Message).
* <pre>
* Pics Selection: A.4/2.8 and A.4/6.2.2 and A.4/17.2
* Configuration: CF_S1-MME
* Ensure that the IUT
* on receipt of a UE_CONTEXT_RESUME_REQUEST,
* with Criticality set to value from the Table 5
* containing an MME UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing an eNB_UE_S1AP_ID(same IE as already present)
* containing an E-RAB_Failed_to_Resume_List
* containing an E-RAB_Failed_to_Resume_Item 1
* containing an E-RAB_ID
* containing a Cause
* indicating an appropriate value
* sends an UE_CONTEXT_RESUME_FAILURE
* containing an MME_UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing a Cause
* indicating indicating Abstract Syntax Error(Falsely Constructed Message).
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_MME_ERR_06
* @reference ETSI TS 136 413 V13.4.0 Clause 10.3.6¶2(1st dashed line)
*/
testcase TC_S1AP_MME_ERR_06() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not (PICS_S1AP_MME_IUT and PICS_S1AP_MME_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE)) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT and PICS_S1AP_MME_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_MME_ERR_06());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_ERR_06
/**
* @desc Verify that the IUT terminate the procedure that does not have message to report unsuccessful outcome and
* message contains too many occurrances of the same IEs/IE groups and initiate Error Indication Procedure with
* cause value Abstract Syntax Error(Falsely Constructed Message).
* <pre>
* Pics Selection: A.4/2.8 and A.4/6.2.2 and A.4/17.2
* Configuration: CF_S1-MME
* Ensure that the IUT
* on receipt of a E-RAB_MODIFICATION_INDICATION,
* containing an MME UE_S1AP_ID
* containing an eNB_UE_S1AP_ID
* containing an eNB_UE_S1AP_ID(same IE as already present)
* containing an E-RAB_to_be_Modified_List
* containing an E-RAB_to_be_Setup Item 1
* containing an E-RAB_ID
* containing a Transport_Layer_Address
* containing a DL_GTP-TEID
* sends an ERROR_INDICATION
* containing a Cause
* indicating indicating Abstract Syntax Error(Falsely Constructed Message).
* </pre>
*
* @see ETSI TS 103 497-2 TP_S1AP_MME_ERR_07
* @reference ETSI TS 136 413 V13.4.0 Clause 10.3.6¶3(2nd dashed line)
*/
testcase TC_S1AP_MME_ERR_07() runs on S1AP system TestAdapter {
// Local variables
var S1AP v_s1ap_mme;
// Test control
if (not (PICS_S1AP_MME_IUT and PICS_S1AP_MME_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE)) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_MME_IUT and PICS_S1AP_MME_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_S1AP_MME_Up(v_s1ap_mme);
// Start
v_s1ap_mme.start(f_TC_S1AP_MME_ERR_07());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down();
} // End of testcase TC_S1AP_MME_ERR_07
} // End of group Unknown_unforseen_errorneous_group
} // End of group MME_Role
} // End of module S1AP_TestCases