<p>dexter has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19794">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">BSC_Tests: test emergency call preemption<br><br>Fill all channels of the BTS and then try to do a channel request for an<br>emergency call. Osmo-bsc should pick one of the TCH channels and release<br>it so that there is room for the emergency call.<br><br>Change-Id: I7d544680f492cb825d909b86b2e1131ab652df13<br>Related: OS#4549<br>---<br>M bsc/BSC_Tests.ttcn<br>1 file changed, 44 insertions(+), 0 deletions(-)<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/94/19794/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 003df49..375b85d 100644</span><br><span>--- a/bsc/BSC_Tests.ttcn</span><br><span>+++ b/bsc/BSC_Tests.ttcn</span><br><span>@@ -6285,6 +6285,48 @@</span><br><span>     vc_conn.done;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* Test what happens when an emergency call arrives while all TCH channels are</span><br><span style="color: hsl(120, 100%, 40%);">+ * busy, the BSC is expected to terminate one call in favor of the incoming</span><br><span style="color: hsl(120, 100%, 40%);">+ * emergency call */</span><br><span style="color: hsl(120, 100%, 40%);">+testcase TC_emerg_premption() runs on test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+    var ASP_RSL_Unitdata rsl_ud;</span><br><span style="color: hsl(120, 100%, 40%);">+  var integer i;</span><br><span style="color: hsl(120, 100%, 40%);">+        var integer chreq_total, chreq_nochan;</span><br><span style="color: hsl(120, 100%, 40%);">+        var RSL_Message rx_rsl;</span><br><span style="color: hsl(120, 100%, 40%);">+       var RslChannelNr chan_nr;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   f_init(1);</span><br><span style="color: hsl(120, 100%, 40%);">+    f_sleep(1.0);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       f_vty_allow_emerg_msc(true);</span><br><span style="color: hsl(120, 100%, 40%);">+  f_vty_allow_emerg_bts(true, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     /* Fill up all channels on the BTS */</span><br><span style="color: hsl(120, 100%, 40%);">+ chreq_total := f_ctrl_get_ratectr_abs(IPA_CTRL, "bts", 0, "chreq:total");</span><br><span style="color: hsl(120, 100%, 40%);">+ chreq_nochan := f_ctrl_get_ratectr_abs(IPA_CTRL, "bts", 0, "chreq:no_channel");</span><br><span style="color: hsl(120, 100%, 40%);">+   for (i := 0; i < NUM_TCHF_PER_BTS + NUM_TCHH_PER_BTS + NUM_SDCCH_PER_BTS; i := i+1) {</span><br><span style="color: hsl(120, 100%, 40%);">+              chan_nr := f_chreq_act_ack('33'O, i);</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+     IPA_RSL[0].clear;</span><br><span style="color: hsl(120, 100%, 40%);">+     f_ctrl_get_exp_ratectr_abs(IPA_CTRL, "bts", 0, "chreq:total",</span><br><span style="color: hsl(120, 100%, 40%);">+                                chreq_total + NUM_TCHF_PER_BTS + NUM_TCHH_PER_BTS + NUM_SDCCH_PER_BTS);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  /* Send Channel request for emegergency call */</span><br><span style="color: hsl(120, 100%, 40%);">+       f_ipa_tx(0, ts_RSL_CHAN_RQD('A5'O, 23));</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    /* Expect the BSC to release one (the first) TCH/F on the BTS */</span><br><span style="color: hsl(120, 100%, 40%);">+      chan_nr := valueof(t_RslChanNr_Bm(1));</span><br><span style="color: hsl(120, 100%, 40%);">+        f_expect_chan_rel(0, chan_nr, expect_rr_chan_rel := false, expect_rll_rel_req := false);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    /* Expect the BSC to send activate/assign the a channel for the emergency call */</span><br><span style="color: hsl(120, 100%, 40%);">+     rx_rsl := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV));</span><br><span style="color: hsl(120, 100%, 40%);">+        chan_nr := rx_rsl.ies[0].body.chan_nr;</span><br><span style="color: hsl(120, 100%, 40%);">+        f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(chan_nr, 33));</span><br><span style="color: hsl(120, 100%, 40%);">+        rx_rsl := f_exp_ipa_rx(0, tr_RSL_IMM_ASSIGN(0));</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    setverdict(pass);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> /* Dyn PDCH todo:</span><br><span>    * activate OSMO as TCH/F</span><br><span>    * activate OSMO as TCH/H</span><br><span>@@ -6506,6 +6548,8 @@</span><br><span>    execute( TC_assignment_emerg_setup_allow() );</span><br><span>        execute( TC_assignment_emerg_setup_deny_msc() );</span><br><span>     execute( TC_assignment_emerg_setup_deny_bts() );</span><br><span style="color: hsl(120, 100%, 40%);">+      execute( TC_emerg_premption() );</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> }</span><br><span> </span><br><span> }</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19794">change 19794</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/+/19794"/><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: I7d544680f492cb825d909b86b2e1131ab652df13 </div>
<div style="display:none"> Gerrit-Change-Number: 19794 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: dexter <pmaier@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>