<p>neels has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/20624">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">BSSAP_LE_Emulation: on register_imsi, make sure to wait for RESET ACK<br><br>Change-Id: Id0d087a90394369ef60846baa4d02289e9d0be1e<br>---<br>M library/BSSAP_LE_Emulation.ttcn<br>1 file changed, 26 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/24/20624/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/library/BSSAP_LE_Emulation.ttcn b/library/BSSAP_LE_Emulation.ttcn</span><br><span>index 294ac62..d95506c 100644</span><br><span>--- a/library/BSSAP_LE_Emulation.ttcn</span><br><span>+++ b/library/BSSAP_LE_Emulation.ttcn</span><br><span>@@ -115,6 +115,7 @@</span><br><span>      var charstring g_ran_id;</span><br><span>     var integer g_next_e1_ts := 1;</span><br><span>       var BssapLeOps g_ran_ops;</span><br><span style="color: hsl(120, 100%, 40%);">+     var boolean g_reset_ack_ready := false;</span><br><span> };</span><br><span> </span><br><span> private function f_conn_id_known(integer sccp_conn_id)</span><br><span>@@ -315,6 +316,7 @@</span><br><span>    alt {</span><br><span>        [] BSSAP_LE.receive(tr_BSSAP_LE_UNITDATA_ind(own, peer, tr_BSSMAP_LE_ResetAck)) {</span><br><span>            log("Received RESET-ACK in response to RESET, we're ready to go!");</span><br><span style="color: hsl(120, 100%, 40%);">+             g_reset_ack_ready := true;</span><br><span>           }</span><br><span>    [] as_reset_ack();</span><br><span>   [] BSSAP_LE.receive { repeat };</span><br><span>@@ -348,6 +350,7 @@</span><br><span>                log("Responding to inbound RESET with RESET-ACK");</span><br><span>                 BSSAP_LE.send(ts_BSSAP_LE_UNITDATA_req(ud_ind.callingAddress, ud_ind.calledAddress,</span><br><span>                     ts_BSSMAP_LE_ResetAck));</span><br><span style="color: hsl(120, 100%, 40%);">+           g_reset_ack_ready := true;</span><br><span>           repeat;</span><br><span>      }</span><br><span> }</span><br><span>@@ -549,6 +552,29 @@</span><br><span> </span><br><span>            [] PROC.getcall(BSSAP_LE_register_imsi:{?,?,?}) -> param(imsi, tmsi, vc_hdlr) {</span><br><span>                   f_create_imsi(imsi, tmsi, vc_hdlr);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                 /* Wait for RESET-ACK if not received yet */</span><br><span style="color: hsl(120, 100%, 40%);">+                  if (not g_reset_ack_ready) {</span><br><span style="color: hsl(120, 100%, 40%);">+                          var integer wait_seconds := 10;</span><br><span style="color: hsl(120, 100%, 40%);">+                               timer T_reset_ack := 1.0;</span><br><span style="color: hsl(120, 100%, 40%);">+                             T_reset_ack.start;</span><br><span style="color: hsl(120, 100%, 40%);">+                            alt {</span><br><span style="color: hsl(120, 100%, 40%);">+                         [wait_seconds > 0] T_reset_ack.timeout {</span><br><span style="color: hsl(120, 100%, 40%);">+                                   if (g_reset_ack_ready) {</span><br><span style="color: hsl(120, 100%, 40%);">+                                              break;</span><br><span style="color: hsl(120, 100%, 40%);">+                                        }</span><br><span style="color: hsl(120, 100%, 40%);">+                                     wait_seconds := wait_seconds - 1;</span><br><span style="color: hsl(120, 100%, 40%);">+                                     T_reset_ack.start;</span><br><span style="color: hsl(120, 100%, 40%);">+                                    repeat;</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%);">+                           [wait_seconds == 0] T_reset_ack.timeout {</span><br><span style="color: hsl(120, 100%, 40%);">+                                     setverdict(fail, "Timeout waiting for BSSMAP-LE RESET-ACK");</span><br><span style="color: hsl(120, 100%, 40%);">+                                        mtc.stop;</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%);">+</span><br><span>                  PROC.reply(BSSAP_LE_register_imsi:{imsi, tmsi, vc_hdlr}) to vc_hdlr;</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/+/20624">change 20624</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/+/20624"/><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: Id0d087a90394369ef60846baa4d02289e9d0be1e </div>
<div style="display:none"> Gerrit-Change-Number: 20624 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: neels <nhofmeyr@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>