<p>pespin has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/26257">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">pcu: Introduce test TC_ul_tbf_reestablish_with_pkt_dl_ack_nack<br><br>Change-Id: I2058862cf11d0027b040eb6d9c0a27524df593b5<br>---<br>M pcu/PCU_Tests.ttcn<br>1 file changed, 56 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/57/26257/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn</span><br><span>index 336a4e0..db57755 100644</span><br><span>--- a/pcu/PCU_Tests.ttcn</span><br><span>+++ b/pcu/PCU_Tests.ttcn</span><br><span>@@ -3398,6 +3398,60 @@</span><br><span>  f_shutdown(__BFILE__, __LINE__, final := true);</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* Test scenario where MS wants to request a new UL TBF using a DL (EGPRS) ACK/NACK</span><br><span style="color: hsl(120, 100%, 40%);">+ * transmitted on ul slot provided by its DL TBF.</span><br><span style="color: hsl(120, 100%, 40%);">+ * See 3GPP TS 44.060 sec 9.3.2.4.2 "Non-extended uplink TBF mode" */</span><br><span style="color: hsl(120, 100%, 40%);">+function f_TC_ul_tbf_reestablish_with_pkt_dl_ack_nack(boolean use_egprs) runs on RAW_PCU_Test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+ var GprsMS ms;</span><br><span style="color: hsl(120, 100%, 40%);">+        var octetstring data := f_rnd_octstring(10);</span><br><span style="color: hsl(120, 100%, 40%);">+  var RlcmacDlBlock dl_block;</span><br><span style="color: hsl(120, 100%, 40%);">+   var template RlcmacDlBlock rej_tmpl;</span><br><span style="color: hsl(120, 100%, 40%);">+  var uint32_t dl_fn;</span><br><span style="color: hsl(120, 100%, 40%);">+   var uint32_t sched_fn;</span><br><span style="color: hsl(120, 100%, 40%);">+        var template (value) MSRadioAccessCapabilityV_BSSGP racap_tmpl;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     if (use_egprs == true) {</span><br><span style="color: hsl(120, 100%, 40%);">+              racap_tmpl := bssgp_ms_racap_egprs_def;</span><br><span style="color: hsl(120, 100%, 40%);">+       } else {</span><br><span style="color: hsl(120, 100%, 40%);">+              racap_tmpl := bssgp_ms_racap_gprs_def;</span><br><span style="color: hsl(120, 100%, 40%);">+        }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   /* Initialize NS/BSSGP side */</span><br><span style="color: hsl(120, 100%, 40%);">+        f_init_bssgp();</span><br><span style="color: hsl(120, 100%, 40%);">+       /* Initialize GPRS MS side */</span><br><span style="color: hsl(120, 100%, 40%);">+ f_init_gprs_ms();</span><br><span style="color: hsl(120, 100%, 40%);">+     ms := g_ms[0]; /* We only use first MS in this test */</span><br><span style="color: hsl(120, 100%, 40%);">+        /* Initialize the PCU interface abstraction */</span><br><span style="color: hsl(120, 100%, 40%);">+        f_init_raw(testcasename());</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ /* Establish BSSGP connection to the PCU */</span><br><span style="color: hsl(120, 100%, 40%);">+   f_bssgp_establish();</span><br><span style="color: hsl(120, 100%, 40%);">+  f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  /* SGSN sends some DL data, PCU will page on CCCH (PCH) */</span><br><span style="color: hsl(120, 100%, 40%);">+    BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data, racap_tmpl));</span><br><span style="color: hsl(120, 100%, 40%);">+     f_ms_exp_dl_tbf_ass_ccch(ms, PCU_IF_SAPI_PCH);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */</span><br><span style="color: hsl(120, 100%, 40%);">+  f_sleep(X2002);</span><br><span style="color: hsl(120, 100%, 40%);">+       f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, data, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    /* ACK the DL block, asking for new UL TBF by including ChanReqDesc */</span><br><span style="color: hsl(120, 100%, 40%);">+        f_dltbf_ack_block(ms.dl_tbf, dl_block, '1'B);</span><br><span style="color: hsl(120, 100%, 40%);">+ f_ms_tx_ul_block(ms, f_dltbf_ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf, use_egprs, ts_ChannelReqDescription()),</span><br><span style="color: hsl(120, 100%, 40%);">+                  f_dl_block_ack_fn(dl_block, dl_fn));</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       /* We should receive a Pkt Ul ASS */</span><br><span style="color: hsl(120, 100%, 40%);">+  f_ms_rx_pkt_ass_pacch(ms, sched_fn, tr_RLCMAC_UL_PACKET_ASS);</span><br><span style="color: hsl(120, 100%, 40%);">+ f_shutdown(__BFILE__, __LINE__, final := true);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+testcase TC_ul_tbf_reestablish_with_pkt_dl_ack_nack() runs on RAW_PCU_Test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+   f_TC_ul_tbf_reestablish_with_pkt_dl_ack_nack(false);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+testcase TC_ul_tbf_reestablish_with_pkt_dl_ack_nack_egprs() runs on RAW_PCU_Test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+        f_TC_ul_tbf_reestablish_with_pkt_dl_ack_nack(true);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> /* Test CS paging over the BTS<->PCU socket.</span><br><span>  * When a (class B or C, not A) MS has an active TBF (or is on the PDCH), the MS can not react on CS paging over CCCH.</span><br><span>  * Paging should be send on the PACCH.</span><br><span>@@ -6740,6 +6794,8 @@</span><br><span>   execute( TC_ul_multislot_tbf_ms_class_from_2phase() );</span><br><span>       execute( TC_ul_tbf_reestablish_with_pkt_resource_req() );</span><br><span>    execute( TC_ul_tbf_reestablish_with_pkt_resource_req_n3105_max() );</span><br><span style="color: hsl(120, 100%, 40%);">+   execute( TC_ul_tbf_reestablish_with_pkt_dl_ack_nack() );</span><br><span style="color: hsl(120, 100%, 40%);">+      execute( TC_ul_tbf_reestablish_with_pkt_dl_ack_nack_egprs() );</span><br><span> </span><br><span>   execute( TC_multiplex_dl_gprs_egprs() );</span><br><span> </span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/26257">change 26257</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/+/26257"/><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: I2058862cf11d0027b040eb6d9c0a27524df593b5 </div>
<div style="display:none"> Gerrit-Change-Number: 26257 </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>