summaryrefslogtreecommitdiffstats
path: root/bsc
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2019-07-09 19:34:04 +0200
committerNeels Hofmeyr <neels@hofmeyr.de>2019-07-09 19:42:58 +0200
commite1797aab91d89a8927c66b66ea577ccd8f5e863d (patch)
treecea0c827e8b5508950528d1abc186dbe634586db /bsc
parent10f2bfa44496cc10233adaf033284481e304a1b3 (diff)
f_tc_ho_out_fail_no_ho_detect: stricter ordering
Make sure that the RR is released only after the MSC has sent the Clear Command: - first expect a Clear Request from osmo-bsc and return a Clear Command, - only then accept RR release messages. See 3GPP TS 48.008 3.1.5.3.3 "Abnormal Conditions": "The terrestrial resource in the old BSS shall remain assigned until a CLEAR COMMAND message is received from the MSC" osmo-bsc already complies, the test should continue to pass. Change-Id: Iba05336d3c4af8a1c57cdc828dae464eae3510b9
Diffstat (limited to 'bsc')
-rw-r--r--bsc/BSC_Tests.ttcn14
1 files changed, 7 insertions, 7 deletions
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index 454ded7..854dbbc 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -3172,8 +3172,14 @@ private function f_tc_ho_out_fail_no_ho_detect(charstring id) runs on MSC_ConnHd
* TS 48.008 3.1.5.3.3 "Abnormal Conditions": Clear Request should go to the MSC, and RR should be released
* after Clear Command */
- var MgcpCommand mgcp;
var PDU_BSSAP rx_clear_request;
+ BSSAP.receive(tr_BSSMAP_ClearRequest) -> value rx_clear_request;
+ log("Got BSSMAP Clear Request");
+ /* Instruct BSC to clear channel */
+ var BssmapCause cause := bit2int(rx_clear_request.pdu.bssmap.clearRequest.cause.causeValue);
+ BSSAP.send(ts_BSSMAP_ClearCommand(cause));
+
+ var MgcpCommand mgcp;
interleave {
[] RSL.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) {
log("Got Deact SACCH");
@@ -3185,12 +3191,6 @@ private function f_tc_ho_out_fail_no_ho_detect(charstring id) runs on MSC_ConnHd
log("Got RF Chan Rel");
RSL.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr));
}
- [] BSSAP.receive(tr_BSSMAP_ClearRequest) -> value rx_clear_request {
- log("Got BSSMAP Clear Request");
- /* Instruct BSC to clear channel */
- var BssmapCause cause := bit2int(rx_clear_request.pdu.bssmap.clearRequest.cause.causeValue);
- BSSAP.send(ts_BSSMAP_ClearCommand(cause));
- }
}
f_expect_dlcx_conns();