<p>fixeria has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/22719">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">msc: test reaction on Clear Request during a MO/MT Call<br><br>Change-Id: Id16969fe0de04445d1320a96d35cf1d48cc8cf09<br>Related: SYS#5340<br>---<br>M msc/MSC_Tests.ttcn<br>1 file changed, 62 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/19/22719/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn</span><br><span>index 206effa..0974eb8 100644</span><br><span>--- a/msc/MSC_Tests.ttcn</span><br><span>+++ b/msc/MSC_Tests.ttcn</span><br><span>@@ -935,6 +935,66 @@</span><br><span>       vc_conn.done;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* Test reaction on Clear Request during a MO Call */</span><br><span style="color: hsl(120, 100%, 40%);">+friend function f_TC_mo_mt_call_clear_request(charstring id, BSC_ConnHdlrPars pars)</span><br><span style="color: hsl(120, 100%, 40%);">+runs on BSC_ConnHdlr {</span><br><span style="color: hsl(120, 100%, 40%);">+    var CallParameters cpars := valueof(t_CallParams);</span><br><span style="color: hsl(120, 100%, 40%);">+    var MNCC_PDU mncc_pdu;</span><br><span style="color: hsl(120, 100%, 40%);">+        timer T := 2.0;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     f_init_handler(pars);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       f_perform_lu();</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     /* HACK: reducing code duplication ('66'H - MO, '68'H - MT) */</span><br><span style="color: hsl(120, 100%, 40%);">+        if (pars.imsi == '262420002532766'H)</span><br><span style="color: hsl(120, 100%, 40%);">+          { f_mo_call_establish(cpars); }</span><br><span style="color: hsl(120, 100%, 40%);">+       else</span><br><span style="color: hsl(120, 100%, 40%);">+          { f_mt_call_establish(cpars); }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     /* Hold the line for a while... */</span><br><span style="color: hsl(120, 100%, 40%);">+    f_sleep(2.0);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       /* BSC sends BSSMAP Clear Request (e.g. due to RR failure) */</span><br><span style="color: hsl(120, 100%, 40%);">+ BSSAP.send(ts_BSSMAP_ClearRequest(1));</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      /* Expect (optional) CC RELEASE and Clear Command */</span><br><span style="color: hsl(120, 100%, 40%);">+  var default ccrel := activate(as_optional_cc_rel(cpars));</span><br><span style="color: hsl(120, 100%, 40%);">+     f_expect_clear();</span><br><span style="color: hsl(120, 100%, 40%);">+     deactivate(ccrel);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  /* Expect DISconnect notification on the MNCC socket */</span><br><span style="color: hsl(120, 100%, 40%);">+       T.start;</span><br><span style="color: hsl(120, 100%, 40%);">+      alt {</span><br><span style="color: hsl(120, 100%, 40%);">+ [] MNCC.receive(tr_MNCC_DISC_ind(cpars.mncc_callref)) -> value mncc_pdu {</span><br><span style="color: hsl(120, 100%, 40%);">+          log("Rx MNCC DISC.ind, cause := ", mncc_pdu.u.signal.cause);</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%);">+     [] MNCC.receive(MNCC_PDU:?) -> value mncc_pdu {</span><br><span style="color: hsl(120, 100%, 40%);">+            setverdict(fail, "Rx unexpected MNCC PDU: ", mncc_pdu);</span><br><span style="color: hsl(120, 100%, 40%);">+             }</span><br><span style="color: hsl(120, 100%, 40%);">+     [] T.timeout {</span><br><span style="color: hsl(120, 100%, 40%);">+                setverdict(fail, "Timeout waiting for MNCC DISC.ind");</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%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+testcase TC_mo_call_clear_request() runs on MTC_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+    var BSC_ConnHdlr vc_conn;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   f_init();</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   vc_conn := f_start_handler(refers(f_TC_mo_mt_call_clear_request), 2532766); // '66'H - MO</span><br><span style="color: hsl(120, 100%, 40%);">+     vc_conn.done;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+testcase TC_mt_call_clear_request() runs on MTC_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+        var BSC_ConnHdlr vc_conn;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   f_init();</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   vc_conn := f_start_handler(refers(f_TC_mo_mt_call_clear_request), 2532768); // '68'H - MT</span><br><span style="color: hsl(120, 100%, 40%);">+     vc_conn.done;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> /* Test LU but BSC will send a clear request in the middle */</span><br><span> friend function f_tc_lu_disconnect(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr {</span><br><span>       f_init_handler(pars);</span><br><span>@@ -6345,6 +6405,8 @@</span><br><span>        execute( TC_lu_auth_sai_timeout() );</span><br><span>         execute( TC_lu_auth_sai_err() );</span><br><span>     execute( TC_lu_clear_request() );</span><br><span style="color: hsl(120, 100%, 40%);">+     execute( TC_mo_call_clear_request() );</span><br><span style="color: hsl(120, 100%, 40%);">+        execute( TC_mt_call_clear_request() );</span><br><span>       execute( TC_lu_disconnect() );</span><br><span>       execute( TC_lu_by_imei() );</span><br><span>  execute( TC_lu_by_tmsi_noauth_unknown() );</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/22719">change 22719</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/+/22719"/><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: Id16969fe0de04445d1320a96d35cf1d48cc8cf09 </div>
<div style="display:none"> Gerrit-Change-Number: 22719 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: fixeria <vyanitskiy@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>