msc: New TC_cl3_rnd_payload / TC_cl3_no_payload for COMPLETE L3
Test BSSMAP COMPLETE L3 INFO either with no payload whatsoever or with random payload. Change-Id: I37ca3e5048cc1c2678d763a44b7e228da29851cc
This commit is contained in:
parent
b14c77ab85
commit
1af6ea82b7
|
@ -1089,6 +1089,63 @@ testcase TC_lu_imsi_auth_tmsi_encr_13_13() runs on MTC_CT {
|
||||||
vc_conn.done;
|
vc_conn.done;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Test Complete L3 without payload */
|
||||||
|
private function f_tc_cl3_no_payload(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr {
|
||||||
|
g_pars := pars;
|
||||||
|
|
||||||
|
/* Send Complete L3 Info with empty L3 frame */
|
||||||
|
BSSAP.send(ts_BSSAP_Conn_Req(g_pars.sccp_addr_peer, g_pars.sccp_addr_own,
|
||||||
|
valueof(ts_BSSMAP_ComplL3(g_pars.cell_id, ''O))));
|
||||||
|
|
||||||
|
alt {
|
||||||
|
[] BSSAP.receive(BSSAP_Conn_Prim:MSC_CONN_PRIM_DISC_IND) {}
|
||||||
|
/* Expect LU REJECT with Cause == Illegal MS */
|
||||||
|
[] BSSAP.receive(tr_BSSMAP_ClearCommand) {
|
||||||
|
BSSAP.send(ts_BSSMAP_ClearComplete);
|
||||||
|
BSSAP.receive(BSSAP_Conn_Prim:MSC_CONN_PRIM_DISC_IND);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
setverdict(pass);
|
||||||
|
}
|
||||||
|
testcase TC_cl3_no_payload() runs on MTC_CT {
|
||||||
|
var BSC_ConnHdlr vc_conn;
|
||||||
|
f_init();
|
||||||
|
|
||||||
|
vc_conn := f_start_handler(refers(f_tc_cl3_no_payload), testcasename(), 24);
|
||||||
|
vc_conn.done;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Test Complete L3 with random payload */
|
||||||
|
private function f_tc_cl3_rnd_payload(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr {
|
||||||
|
g_pars := pars;
|
||||||
|
|
||||||
|
var integer len := float2int(rnd() * 256.0);
|
||||||
|
var octetstring payl := f_rnd_octstring(len);
|
||||||
|
|
||||||
|
/* Send Complete L3 Info with empty L3 frame */
|
||||||
|
BSSAP.send(ts_BSSAP_Conn_Req(g_pars.sccp_addr_peer, g_pars.sccp_addr_own,
|
||||||
|
valueof(ts_BSSMAP_ComplL3(g_pars.cell_id, payl))));
|
||||||
|
|
||||||
|
alt {
|
||||||
|
/* Immediate disconnect */
|
||||||
|
[] BSSAP.receive(BSSAP_Conn_Prim:MSC_CONN_PRIM_DISC_IND) {}
|
||||||
|
/* Expect LU REJECT with Cause == Illegal MS */
|
||||||
|
[] BSSAP.receive(tr_BSSMAP_ClearCommand) {
|
||||||
|
BSSAP.send(ts_BSSMAP_ClearComplete);
|
||||||
|
BSSAP.receive(BSSAP_Conn_Prim:MSC_CONN_PRIM_DISC_IND);
|
||||||
|
}
|
||||||
|
[] BSSAP.receive(tr_PDU_DTAP_MT(?)) { repeat; }
|
||||||
|
}
|
||||||
|
setverdict(pass);
|
||||||
|
}
|
||||||
|
testcase TC_cl3_rnd_payload() runs on MTC_CT {
|
||||||
|
var BSC_ConnHdlr vc_conn;
|
||||||
|
f_init();
|
||||||
|
|
||||||
|
vc_conn := f_start_handler(refers(f_tc_cl3_rnd_payload), testcasename(), 24);
|
||||||
|
vc_conn.done;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* TODO:
|
/* TODO:
|
||||||
* continue to send repeated MO signalling messages to keep channel open: does MSC tmeout?
|
* continue to send repeated MO signalling messages to keep channel open: does MSC tmeout?
|
||||||
|
@ -1096,8 +1153,6 @@ testcase TC_lu_imsi_auth_tmsi_encr_13_13() runs on MTC_CT {
|
||||||
* MT call while LU or is ongoing: Do we use existing lchan or page while lchan active?
|
* MT call while LU or is ongoing: Do we use existing lchan or page while lchan active?
|
||||||
* 3G/2G auth permutations
|
* 3G/2G auth permutations
|
||||||
* encryption algorithms vs. classmark vs. vty config
|
* encryption algorithms vs. classmark vs. vty config
|
||||||
* emergency call
|
|
||||||
* IMSI DETACH
|
|
||||||
* send new transaction after/during clear (like SMS, ...)
|
* send new transaction after/during clear (like SMS, ...)
|
||||||
* too long L3 INFO in DTAP
|
* too long L3 INFO in DTAP
|
||||||
* too long / padded BSSAP
|
* too long / padded BSSAP
|
||||||
|
@ -1127,6 +1182,10 @@ control {
|
||||||
execute( TC_cm_serv_req_vbs_reject() );
|
execute( TC_cm_serv_req_vbs_reject() );
|
||||||
execute( TC_cm_serv_req_lcs_reject() );
|
execute( TC_cm_serv_req_lcs_reject() );
|
||||||
execute( TC_cm_reest_req_reject() );
|
execute( TC_cm_reest_req_reject() );
|
||||||
|
execute( TC_lu_auth_2G_fail() );
|
||||||
|
execute( TC_lu_imsi_auth_tmsi_encr_13_13() );
|
||||||
|
execute( TC_cl3_no_payload() );
|
||||||
|
execute( TC_cl3_rnd_payload() );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue