<p>pespin has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24679">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">bsc: Validate new 'srvcc fast-return' VTY command<br><br>Related: SYS#5337<br>Change-Id: I227abc3793255e3916eba0dbc1460f46ec9926fe<br>---<br>M bsc/BSC_Tests.ttcn<br>M bsc/MSC_ConnectionHandler.ttcn<br>2 files changed, 38 insertions(+), 1 deletion(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/79/24679/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn</span><br><span>index 074fa60..5ab2dd1 100644</span><br><span>--- a/bsc/BSC_Tests.ttcn</span><br><span>+++ b/bsc/BSC_Tests.ttcn</span><br><span>@@ -5226,11 +5226,15 @@</span><br><span> }</span><br><span> </span><br><span> private function f_tc_ho_into_this_bsc(charstring id) runs on MSC_ConnHdlr {</span><br><span style="color: hsl(0, 100%, 40%);">-   var template PDU_ML3_NW_MS exp_rr_rel_tmpl := tr_RRM_RR_RELEASE;</span><br><span style="color: hsl(120, 100%, 40%);">+      var template PDU_ML3_NW_MS exp_rr_rel_tmpl;</span><br><span>  var template (omit) BSSMAP_oldToNewBSSIEs oldToNewBSSIEs := omit;</span><br><span>    if (not istemplatekind(g_pars.last_used_eutran_plmn, "omit")) {</span><br><span>            oldToNewBSSIEs := f_ts_BSSMAP_oldToNewBSSIEs(ts_BSSMAP_LastUsedEUTRANPLMNId(g_pars.last_used_eutran_plmn));</span><br><span style="color: hsl(120, 100%, 40%);">+   }</span><br><span style="color: hsl(120, 100%, 40%);">+     if (g_pars.exp_fast_return) {</span><br><span>                exp_rr_rel_tmpl := tr_RRM_RR_RELEASE_CellSelectInd;</span><br><span style="color: hsl(120, 100%, 40%);">+   } else {</span><br><span style="color: hsl(120, 100%, 40%);">+              exp_rr_rel_tmpl := tr_RRM_RR_RELEASE;</span><br><span>        }</span><br><span>    f_ho_into_this_bsc(id, oldToNewBSSIEs);</span><br><span>      f_perform_clear(RSL, exp_rr_rel_tmpl);</span><br><span>@@ -5278,10 +5282,26 @@</span><br><span> testcase TC_srvcc_eutran_to_geran() runs on test_CT {</span><br><span>    var TestHdlrParams pars := f_gen_test_hdlr_pars();</span><br><span>   pars.last_used_eutran_plmn := '323454'O;</span><br><span style="color: hsl(120, 100%, 40%);">+      pars.exp_fast_return := true;</span><br><span>        f_tc_ho_into_this_bsc_main(pars);</span><br><span>    f_shutdown_helper();</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* Same as TC_srvcc_eutran_to_geran, but test explicitly forbiding fast return</span><br><span style="color: hsl(120, 100%, 40%);">+   on the BTS. As a result, RR Release shouldn't contain the EUTRAN neighbor</span><br><span style="color: hsl(120, 100%, 40%);">+   list when the channel is released. */</span><br><span style="color: hsl(120, 100%, 40%);">+testcase TC_srvcc_eutran_to_geran_forbid_fast_return() runs on test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+   f_init_vty();</span><br><span style="color: hsl(120, 100%, 40%);">+ f_vty_allow_srvcc_fast_return(true, 0)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      var TestHdlrParams pars := f_gen_test_hdlr_pars();</span><br><span style="color: hsl(120, 100%, 40%);">+    pars.last_used_eutran_plmn := '323454'O;</span><br><span style="color: hsl(120, 100%, 40%);">+      pars.exp_fast_return := false;</span><br><span style="color: hsl(120, 100%, 40%);">+        f_tc_ho_into_this_bsc_main(pars);</span><br><span style="color: hsl(120, 100%, 40%);">+     f_vty_allow_srvcc_fast_return(false, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+      f_shutdown_helper();</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> private function f_tc_srvcc_eutran_to_geran_ho_out(charstring id) runs on MSC_ConnHdlr {</span><br><span>        var template (omit) BSSMAP_oldToNewBSSIEs oldToNewBSSIEs;</span><br><span>    oldToNewBSSIEs := f_ts_BSSMAP_oldToNewBSSIEs(ts_BSSMAP_LastUsedEUTRANPLMNId(g_pars.last_used_eutran_plmn));</span><br><span>@@ -5303,6 +5323,7 @@</span><br><span>  f_ctrs_bsc_and_bts_init();</span><br><span> </span><br><span>       pars.last_used_eutran_plmn := '323454'O;</span><br><span style="color: hsl(120, 100%, 40%);">+      pars.exp_fast_return := true;</span><br><span>        pars.sccp_addr_msc := g_bssap[0].sccp_addr_own;</span><br><span>      pars.sccp_addr_bsc := g_bssap[0].sccp_addr_peer;</span><br><span> </span><br><span>@@ -7306,6 +7327,19 @@</span><br><span>        f_vty_transceive(BSCVTY, "exit");</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* Allow/Forbid Fast Return after SRVCC on a given BTS via VTY */</span><br><span style="color: hsl(120, 100%, 40%);">+private function f_vty_allow_srvcc_fast_return(boolean allow, integer bts_nr) runs on test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+      f_vty_enter_cfg_bts(BSCVTY, bts_nr);</span><br><span style="color: hsl(120, 100%, 40%);">+  if (allow) {</span><br><span style="color: hsl(120, 100%, 40%);">+          f_vty_transceive(BSCVTY, "srvcc fast-return allow");</span><br><span style="color: hsl(120, 100%, 40%);">+        } else {</span><br><span style="color: hsl(120, 100%, 40%);">+              f_vty_transceive(BSCVTY, "srvcc fast-return forbid");</span><br><span style="color: hsl(120, 100%, 40%);">+       }</span><br><span style="color: hsl(120, 100%, 40%);">+     f_vty_transceive(BSCVTY, "exit");</span><br><span style="color: hsl(120, 100%, 40%);">+   f_vty_transceive(BSCVTY, "exit");</span><br><span style="color: hsl(120, 100%, 40%);">+   f_vty_transceive(BSCVTY, "exit");</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> /* Begin assignmet procedure and send an EMERGENCY SETUP (RR) */</span><br><span> private function f_assignment_emerg_setup() runs on MSC_ConnHdlr {</span><br><span>   var PDU_ML3_MS_NW emerg_setup;</span><br><span>@@ -8950,6 +8984,7 @@</span><br><span>       }</span><br><span>    execute( TC_srvcc_eutran_to_geran() );</span><br><span>       execute( TC_srvcc_eutran_to_geran_ho_out() );</span><br><span style="color: hsl(120, 100%, 40%);">+ execute( TC_srvcc_eutran_to_geran_forbid_fast_return() );</span><br><span>    execute( TC_ho_in_fail_msc_clears() );</span><br><span>       execute( TC_ho_in_fail_msc_clears_after_ho_detect() );</span><br><span>       execute( TC_ho_in_fail_no_detect() );</span><br><span>diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn</span><br><span>index c29ccd4..a4f1f51 100644</span><br><span>--- a/bsc/MSC_ConnectionHandler.ttcn</span><br><span>+++ b/bsc/MSC_ConnectionHandler.ttcn</span><br><span>@@ -590,6 +590,7 @@</span><br><span>     TestHdlrParamsMSCPool mscpool,</span><br><span>       boolean         media_mgw_offer_ipv6,</span><br><span>        OCT3            last_used_eutran_plmn optional,</span><br><span style="color: hsl(120, 100%, 40%);">+       boolean         exp_fast_return, /* RR Release expected to contain CellSelectInd ? */</span><br><span>        boolean         expect_channel_mode_modify,</span><br><span>  uint3_t         expect_tsc optional</span><br><span> };</span><br><span>@@ -628,6 +629,7 @@</span><br><span>      },</span><br><span>   media_mgw_offer_ipv6 := true,</span><br><span>        last_used_eutran_plmn := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+        exp_fast_return := false,</span><br><span>    expect_channel_mode_modify := false,</span><br><span>         expect_tsc := omit</span><br><span> }</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24679">change 24679</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24679"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-ttcn3-hacks </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I227abc3793255e3916eba0dbc1460f46ec9926fe </div>
<div style="display:none"> Gerrit-Change-Number: 24679 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>