bsc: Introduce test TC_paging_imsi_nochan_ci_resp_invalid_mi

Related: SYS#6280
Change-Id: Id0d069f00bc77be33ca61ce469bea8079ae9bd16
This commit is contained in:
Pau Espin 2023-01-03 12:08:05 +01:00
parent e8a51010d7
commit 07657aedc1
1 changed files with 46 additions and 0 deletions

View File

@ -3514,6 +3514,51 @@ testcase TC_paging_imsi_nochan_cgi_unknown_cid() runs on test_CT {
f_shutdown_helper();
}
/* Send paging response containing invalid (wrongly formatted) MobileIdentity IE. */
testcase TC_paging_imsi_nochan_ci_resp_invalid_mi() runs on test_CT {
var template BSSMAP_FIELD_CellIdentificationList cid_list;
var BSSAP_N_CONNECT_ind rx_c_ind;
var DchanTuple dt;
var octetstring rr_pag_resp := '06270003535992617965720000'O;
/* { 06 27 } is { GSM48_PDISC_RR, GSM48_MT_RR_PAG_RESP }
* see 3GPP TS 44.018, table 9.1.25.1
* { 00 } or { 01 } is CKSN + Spare Half Octet, not important
* { 03 53 59 92 } is Mobile Station Classmark
* { 61 79 65 72 00 00 } is the invalid Mobile Identity IE (3GPP TS 24.008, 10.5.1.4),
* Length is 0x61 (97 in decimal).
*/
cid_list := { cIl_CI := { ts_BSSMAP_CI_CI(cid.ci) } };
f_pageing_helper('001010000000008'H, cid_list, { 0 });
/* Send CHAN RQD and wait for allocation; acknowledge it */
dt.rsl_chan_nr := f_chreq_act_ack();
dt.idx := {0, 0};
/* Send unsolicited Paging response (no matching Paging CMD stored in BSC) */
f_ipa_tx(ts_RSL_EST_IND(dt.rsl_chan_nr, valueof(ts_RslLinkID_DCCH(0)), rr_pag_resp));
/* Expevct a CR with a matching Paging response on the A-Interface */
timer T := 5.0;
T.start;
alt {
[] BSSAP.receive(tr_BSSAP_CONNECT_ind(?, ?, tr_BSSMAP_ComplL3(rr_pag_resp))) -> value rx_c_ind {
setverdict(pass);
dt.sccp_conn_id := rx_c_ind.connectionId;
BSSAP.send(ts_BSSAP_CONNECT_res(dt.sccp_conn_id));
}
[] BSSAP.receive {
setverdict(fail, "Received unexpected message on A-Interface!");
}
[] T.timeout {
setverdict(fail, "Received nothing on A-Interface!");
}
}
f_perform_clear_test_ct(dt);
f_shutdown_helper();
}
/* Verify paging retransmission interval + count */
/* Verify paging stops after channel establishment */
/* Test behavior under paging overload */
@ -12237,6 +12282,7 @@ control {
execute( TC_paging_resp_unsol() );
execute( TC_paging_500req() );
execute( TC_paging_450req_no_paging_load_ind() );
execute( TC_paging_imsi_nochan_ci_resp_invalid_mi() );
execute( TC_rsl_drop_counter() );
execute( TC_rsl_unknown_unit_id() );