SGSN: add TC_hlr_location_cancel_request_update

MS <-> SGSN: GMM Attach
HLR -> SGSN: Cancel Location Request
HLR <- SGSN: Cancel Location Ack

Change-Id: I5d3a818eb0a4eb3b0d4bd7bd88874bd2ac6adb11
This commit is contained in:
Alexander Couzens 2018-05-22 18:12:20 +02:00 committed by Harald Welte
parent 68a9b35746
commit 5e307b49ab
1 changed files with 41 additions and 0 deletions

View File

@ -1249,6 +1249,46 @@ testcase TC_attach_second_attempt() runs on test_CT {
}
private function f_TC_hlr_location_cancel_request_update(charstring id) runs on BSSGP_ConnHdlr {
/* MS: perform regular attach */
f_TC_attach(id);
/* HLR: cancel the location request */
GSUP.send(ts_GSUP_CL_REQ(g_pars.imsi, OSMO_GSUP_CANCEL_TYPE_UPDATE));
GSUP.receive(tr_GSUP_CL_RES(g_pars.imsi));
GSUP.send(ts_GSUP_UL_RES(g_pars.imsi));
/* ensure no Detach Request got received */
timer T := 5.0;
T.start;
alt {
[] BSSGP.receive(tr_BD_L3_MT(tr_GMM_DET_REQ_MT(*, *, *))) {
T.stop;
setverdict(fail, "Unexpected GMM Detach Request");
}
[] T.timeout {
setverdict(pass);
self.stop;
}
[] BSSGP.receive {
repeat;
}
}
}
testcase TC_hlr_location_cancel_request_update() runs on test_CT {
/* MS <-> SGSN: GMM Attach
* HLR -> SGSN: Cancel Location Request
* HLR <- SGSN: Cancel Location Ack
*/
var BSSGP_ConnHdlr vc_conn;
f_init();
f_sleep(1.0);
vc_conn := f_start_handler(refers(f_TC_hlr_location_cancel_request_update), testcasename(), g_gb[0], 31);
vc_conn.done;
}
private function f_TC_hlr_location_cancel_request_withdraw(charstring id) runs on BSSGP_ConnHdlr {
/* MS: perform regular attach */
f_TC_attach(id);
@ -1340,6 +1380,7 @@ control {
execute( TC_attach_combined() );
execute( TC_attach_accept_all() );
execute( TC_attach_closed() );
execute( TC_hlr_location_cancel_request_update(), 10.0 );
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 );