neels submitted this change.

View Change

Approvals: laforge: Looks good to me, but someone else must approve neels: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified
bsc: TC_emerg_premption: check BSSMAP Clear Req cause

On the first TCH, establish Layer 3 so that the BSC will issue a Clear
Request at all.

Verify the cause value of the Clear Request.

Tear down the established Layer 3: clean up for the leak check.

Related: OS#5535
Depends: I20108f7b4769400b89b7b0d65c8dab883bf87c46 (osmo-bsc)
Change-Id: Ib13be73119cfc96712f32899c02e655e1751d547
---
M bsc/BSC_Tests.ttcn
1 file changed, 21 insertions(+), 0 deletions(-)

diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index 59b87dd..5779990 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -9029,6 +9029,12 @@
var octetstring l3 := '00010203040506'O;
f_ipa_tx(0, ts_RSL_EST_IND(first_tch, valueof(ts_RslLinkID_DCCH(0)), l3));

+ /* Accept BSSAP conn, so we get to test the Clear Request cause */
+ var BSSAP_N_CONNECT_ind rx_c_ind;
+ BSSAP.receive(tr_BSSAP_CONNECT_ind(?, ?, tr_BSSMAP_ComplL3(l3))) -> value rx_c_ind;
+ var integer sccp_conn_id := rx_c_ind.connectionId;
+ BSSAP.send(ts_BSSAP_CONNECT_res(rx_c_ind.connectionId));
+
/* Send Channel request for emegergency call */
f_ipa_tx(0, ts_RSL_CHAN_RQD('A5'O, 23));

@@ -9036,6 +9042,15 @@
f_expect_chan_rel(0, first_tch, expect_rr_chan_rel := true, expect_rll_rel_req := false,
expect_rr_cause := GSM48_RR_CAUSE_PREMPTIVE_REL);

+ /* Also expect a BSSMAP Clear Request with PREEMPTION */
+ var BSSAP_N_DATA_ind rx_clear_req;
+ const myBSSMAP_Cause preemption := GSM0808_CAUSE_PREEMPTION;
+ BSSAP.receive(tr_BSSAP_DATA_ind(sccp_conn_id, tr_BSSMAP_ClearRequest)) -> value rx_clear_req;
+ log("XXX ", rx_clear_req);
+ if (rx_clear_req.userData.pdu.bssmap.clearRequest.cause.causeValue != int2bit(enum2int(preemption), 7)) {
+ setverdict(fail, "BSSMAP Clear Request: expected cause PREEMPTION");
+ }
+
/* Expect the BSC to send activate/assign the channel for the emergency call */
rx_rsl := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV));
if (first_tch != rx_rsl.ies[0].body.chan_nr) {
@@ -9044,6 +9059,12 @@
f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(first_tch, 33));
rx_rsl := f_exp_ipa_rx(0, tr_RSL_IMM_ASSIGN(0));

+ /* complete the BSSMAP Clear to satisfy the conn leak check */
+ BSSAP.send(ts_BSSAP_DATA_req(sccp_conn_id, ts_BSSMAP_ClearCommand(enum2int(preemption))));
+ BSSAP.receive(tr_BSSAP_DATA_ind(sccp_conn_id, tr_BSSMAP_ClearComplete)) {
+ BSSAP.send(ts_BSSAP_DISC_req(sccp_conn_id, 0));
+ }
+
f_shutdown_helper();
}


To view, visit change 27915. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: Ib13be73119cfc96712f32899c02e655e1751d547
Gerrit-Change-Number: 27915
Gerrit-PatchSet: 2
Gerrit-Owner: neels <nhofmeyr@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge@osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr@sysmocom.de>
Gerrit-Reviewer: pespin <pespin@sysmocom.de>
Gerrit-MessageType: merged