diff options
author | Neels Hofmeyr <neels@hofmeyr.de> | 2020-10-12 18:44:41 +0000 |
---|---|---|
committer | laforge <laforge@osmocom.org> | 2020-10-13 08:43:10 +0000 |
commit | 66e1509ae10f841700f6e9ccf72d7c2d5cba4456 (patch) | |
tree | f503098d17bf472bde58ba10a9b32d76d73328cf /bsc | |
parent | 0aa719bca448af1ac3cee9b87ea4ac44be4f3365 (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
Diffstat (limited to 'bsc')
-rw-r--r-- | bsc/BSC_Tests.ttcn | 54 |
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) { |