SGSN: add TC_hlr_location_cancel_request_unknown_subscriber_{withdraw,update}

Cancel Location using an unknown IMSI.

HLR -> SGSN: Cancel Location Request
HLR <- SGSN: Cancel Location Error

Change-Id: Iad90c3cc25d72b9ab40e358fe60aa6f62163f146
This commit is contained in:
Alexander Couzens 2018-05-22 17:09:49 +02:00 committed by Harald Welte
parent 4cfff3a2bf
commit 6c47f29495
1 changed files with 49 additions and 0 deletions

View File

@ -1280,6 +1280,53 @@ testcase TC_hlr_location_cancel_request_withdraw() runs on test_CT {
}
private function f_hlr_location_cancel_request_unknown_subscriber(
charstring id,
GSUP_CancelType canceltype) runs on BSSGP_ConnHdlr {
/* HLR: cancel the location request */
GSUP.send(ts_GSUP_CL_REQ(g_pars.imsi, canceltype));
/* cause 2 = IMSI_UNKNOWN */
GSUP.receive(tr_GSUP_CL_ERR(g_pars.imsi, 2));
setverdict(pass);
}
private function f_TC_hlr_location_cancel_request_unknown_subscriber_withdraw(charstring id) runs on BSSGP_ConnHdlr {
f_hlr_location_cancel_request_unknown_subscriber(id, OSMO_GSUP_CANCEL_TYPE_WITHDRAW);
}
testcase TC_hlr_location_cancel_request_unknown_subscriber_withdraw() runs on test_CT {
/* HLR -> SGSN: Cancel Location Request
* HLR <- SGSN: Cancel Location Error
*/
var BSSGP_ConnHdlr vc_conn;
f_init();
f_sleep(1.0);
vc_conn := f_start_handler(refers(f_TC_hlr_location_cancel_request_unknown_subscriber_withdraw), testcasename(), g_gb[0], 30);
vc_conn.done;
}
private function f_TC_hlr_location_cancel_request_unknown_subscriber_update(charstring id) runs on BSSGP_ConnHdlr {
f_hlr_location_cancel_request_unknown_subscriber(id, OSMO_GSUP_CANCEL_TYPE_WITHDRAW);
}
testcase TC_hlr_location_cancel_request_unknown_subscriber_update() runs on test_CT {
/* HLR -> SGSN: Cancel Location Request
* HLR <- SGSN: Cancel Location Error
*/
var BSSGP_ConnHdlr vc_conn;
f_init();
f_sleep(1.0);
vc_conn := f_start_handler(refers(f_TC_hlr_location_cancel_request_unknown_subscriber_update), testcasename(), g_gb[0], 30);
vc_conn.done;
}
control {
execute( TC_attach() );
execute( TC_attach_mnc3() );
@ -1294,6 +1341,8 @@ control {
execute( TC_attach_accept_all() );
execute( TC_attach_closed() );
execute( TC_hlr_location_cancel_request_withdraw(), 5.0 );
execute( TC_hlr_location_cancel_request_unknown_subscriber_withdraw(), 5.0 );
execute( TC_hlr_location_cancel_request_unknown_subscriber_update(), 5.0 );
execute( TC_rau_unknown() );
execute( TC_attach_rau() );
execute( TC_detach_unknown_nopoweroff() );