aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2020-10-12 18:44:41 +0000
committerlaforge <laforge@osmocom.org>2020-10-13 08:43:10 +0000
commit66e1509ae10f841700f6e9ccf72d7c2d5cba4456 (patch)
treef503098d17bf472bde58ba10a9b32d76d73328cf
parent0aa719bca448af1ac3cee9b87ea4ac44be4f3365 (diff)
f_perform_compl_l3: make receiving bssmap optional
Adding LCS to OsmoBSC creates the possibility of a Paging for LCS, where the Paging Response should not emit a Complete Layer 3 on the A-interface. Change-Id: Icb402b7436d844d939790f3cfb3725ffcf1136d2
-rw-r--r--bsc/BSC_Tests.ttcn54
1 files changed, 28 insertions, 26 deletions
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index 3fb2a867..d926ad80 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -6206,7 +6206,7 @@ private function f_perform_clear(RSL_DCHAN_PT rsl) runs on MSC_ConnHdlr {
}
}
-private function f_perform_compl_l3(RSL_DCHAN_PT rsl, template PDU_ML3_MS_NW l3_info, boolean do_clear := true)
+private function f_perform_compl_l3(RSL_DCHAN_PT rsl, template PDU_ML3_MS_NW l3_info, boolean do_clear := true, boolean expect_bssmap_l3 := true)
runs on MSC_ConnHdlr {
timer T := 10.0;
var octetstring l3_enc := enc_PDU_ML3_MS_NW(valueof(l3_info));
@@ -6249,34 +6249,36 @@ runs on MSC_ConnHdlr {
rsl.send(ts_RSL_EST_IND(g_chan_nr, valueof(g_pars.link_id), l3_enc));
- f_logp(BSCVTY, "expect BSSAP Complete Layer 3 Info at MSC");
- var template PDU_BSSAP exp_l3_compl;
- exp_l3_compl := tr_BSSMAP_ComplL3()
- if (g_pars.aoip == false) {
- exp_l3_compl.pdu.bssmap.completeLayer3Information.codecList := omit;
- } else {
- exp_l3_compl.pdu.bssmap.completeLayer3Information.codecList := ?;
- }
-
- var PDU_BSSAP bssap;
- T.start;
- alt {
- [] BSSAP.receive(exp_l3_compl) -> value bssap {
- f_logp(BSCVTY, "received expected Complete Layer 3 Info at MSC");
- log("rx exp_l3_compl = ", bssap);
- }
- [] BSSAP.receive(tr_BSSMAP_ComplL3) {
- Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Received non-matching COMPLETE LAYER 3 INFORMATION");
+ if (expect_bssmap_l3) {
+ f_logp(BSCVTY, "expect BSSAP Complete Layer 3 Info at MSC");
+ var template PDU_BSSAP exp_l3_compl;
+ exp_l3_compl := tr_BSSMAP_ComplL3()
+ if (g_pars.aoip == false) {
+ exp_l3_compl.pdu.bssmap.completeLayer3Information.codecList := omit;
+ } else {
+ exp_l3_compl.pdu.bssmap.completeLayer3Information.codecList := ?;
}
- [] T.timeout {
- Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Timeout waiting for COMPLETE LAYER 3 INFORMATION");
+
+ var PDU_BSSAP bssap;
+ T.start;
+ alt {
+ [] BSSAP.receive(exp_l3_compl) -> value bssap {
+ f_logp(BSCVTY, "received expected Complete Layer 3 Info at MSC");
+ log("rx exp_l3_compl = ", bssap);
+ }
+ [] BSSAP.receive(tr_BSSMAP_ComplL3) {
+ Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Received non-matching COMPLETE LAYER 3 INFORMATION");
+ }
+ [] T.timeout {
+ Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Timeout waiting for COMPLETE LAYER 3 INFORMATION");
+ }
}
- }
- /* start ciphering, if requested */
- if (ispresent(g_pars.encr)) {
- f_logp(BSCVTY, "start ciphering");
- f_cipher_mode(g_pars.encr.enc_alg, g_pars.encr.enc_key);
+ /* start ciphering, if requested */
+ if (ispresent(g_pars.encr)) {
+ f_logp(BSCVTY, "start ciphering");
+ f_cipher_mode(g_pars.encr.enc_alg, g_pars.encr.enc_key);
+ }
}
if (do_clear) {