<p>laforge <strong>merged</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14387">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  laforge: Looks good to me, approved

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">bsc: Only append Osmux IEs in BSSAP AoIP<br><br>Previous to this commit, BSSAP Reset (Ack) messages contained Osmux<br>Support IE even if transport was SCCPLite, where those IEs are actually<br>meaningless.<br><br>Change-Id: If6cc0f65a0f273297a4523e5d6a7564d966f0aa6<br>---<br>M bsc/MSC_ConnectionHandler.ttcn<br>M library/RAN_Emulation.ttcnpp<br>2 files changed, 20 insertions(+), 11 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn</span><br><span>index 3cc8f8a..c7f6495 100644</span><br><span>--- a/bsc/MSC_ConnectionHandler.ttcn</span><br><span>+++ b/bsc/MSC_ConnectionHandler.ttcn</span><br><span>@@ -379,10 +379,12 @@</span><br><span> private function UnitdataCallback(PDU_BSSAP bssap)</span><br><span> runs on RAN_Emulation_CT return template PDU_BSSAP {</span><br><span>        var template PDU_BSSAP resp := omit;</span><br><span style="color: hsl(120, 100%, 40%);">+  var boolean append_osmux_support := g_ran_ops.use_osmux and</span><br><span style="color: hsl(120, 100%, 40%);">+                                       (g_ran_ops.transport == BSSAP_TRANSPORT_AoIP);</span><br><span> </span><br><span>       /* answer all RESET with a RESET ACK */</span><br><span style="color: hsl(0, 100%, 40%);">- if (match(bssap, tr_BSSMAP_Reset(g_ran_ops.use_osmux))) {</span><br><span style="color: hsl(0, 100%, 40%);">-               resp := ts_BSSMAP_ResetAck(g_ran_ops.use_osmux);</span><br><span style="color: hsl(120, 100%, 40%);">+      if (match(bssap, tr_BSSMAP_Reset(append_osmux_support))) {</span><br><span style="color: hsl(120, 100%, 40%);">+            resp := ts_BSSMAP_ResetAck(append_osmux_support);</span><br><span>    }</span><br><span> </span><br><span>        return resp;</span><br><span>diff --git a/library/RAN_Emulation.ttcnpp b/library/RAN_Emulation.ttcnpp</span><br><span>index 85ae084..ba018b4 100644</span><br><span>--- a/library/RAN_Emulation.ttcnpp</span><br><span>+++ b/library/RAN_Emulation.ttcnpp</span><br><span>@@ -445,6 +445,11 @@</span><br><span> type function BssmapUnitdataCallback(PDU_BSSAP bssap)</span><br><span> runs on RAN_Emulation_CT return template PDU_BSSAP;</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+private function append_osmux_ie()</span><br><span style="color: hsl(120, 100%, 40%);">+runs on RAN_Emulation_CT return boolean {</span><br><span style="color: hsl(120, 100%, 40%);">+   return g_ran_ops.use_osmux and (g_ran_ops.transport == BSSAP_TRANSPORT_AoIP);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> /* handle common Unitdata such as Paging */</span><br><span> private function CommonBssmapUnitdataCallback(PDU_BSSAP bssap)</span><br><span> runs on RAN_Emulation_CT return template PDU_BSSAP {</span><br><span>@@ -469,14 +474,15 @@</span><br><span> private function f_bssap_wait_for_reset() runs on RAN_Emulation_CT {</span><br><span>  var BSSAP_N_UNITDATA_ind ud_ind;</span><br><span>     timer T := 20.0;</span><br><span style="color: hsl(120, 100%, 40%);">+      var boolean append_osmux_support := append_osmux_ie();</span><br><span> </span><br><span>   T.start;</span><br><span>     alt {</span><br><span style="color: hsl(0, 100%, 40%);">-   [] BSSAP.receive(tr_BSSAP_UNITDATA_ind(?, ?, tr_BSSMAP_Reset(g_ran_ops.use_osmux))) -> value ud_ind {</span><br><span style="color: hsl(120, 100%, 40%);">+      [] BSSAP.receive(tr_BSSAP_UNITDATA_ind(?, ?, tr_BSSMAP_Reset(append_osmux_support))) -> value ud_ind {</span><br><span>            BSSAP.send(ts_BSSAP_UNITDATA_req(ud_ind.callingAddress, ud_ind.calledAddress,</span><br><span style="color: hsl(0, 100%, 40%);">-                      ts_BSSMAP_ResetAck(g_ran_ops.use_osmux)));</span><br><span style="color: hsl(120, 100%, 40%);">+                    ts_BSSMAP_ResetAck(append_osmux_support)));</span><br><span>               }</span><br><span style="color: hsl(0, 100%, 40%);">-       [] as_reset_ack();</span><br><span style="color: hsl(120, 100%, 40%);">+    [] as_reset_ack(append_osmux_support);</span><br><span>       [] BSSAP.receive {</span><br><span>           repeat;</span><br><span>              }</span><br><span>@@ -489,14 +495,15 @@</span><br><span> </span><br><span> function f_bssap_reset(SCCP_PAR_Address peer, SCCP_PAR_Address own) runs on RAN_Emulation_CT {</span><br><span>      timer T := 5.0;</span><br><span style="color: hsl(120, 100%, 40%);">+       var boolean append_osmux_support := append_osmux_ie();</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-      BSSAP.send(ts_BSSAP_UNITDATA_req(peer, own, ts_BSSMAP_Reset(0, g_ran_ops.use_osmux)));</span><br><span style="color: hsl(120, 100%, 40%);">+        BSSAP.send(ts_BSSAP_UNITDATA_req(peer, own, ts_BSSMAP_Reset(0, append_osmux_support)));</span><br><span>      T.start;</span><br><span>     alt {</span><br><span style="color: hsl(0, 100%, 40%);">-   [] BSSAP.receive(tr_BSSAP_UNITDATA_ind(own, peer, tr_BSSMAP_ResetAck(g_ran_ops.use_osmux))) {</span><br><span style="color: hsl(120, 100%, 40%);">+ [] BSSAP.receive(tr_BSSAP_UNITDATA_ind(own, peer, tr_BSSMAP_ResetAck(append_osmux_support))) {</span><br><span>               log("Received RESET-ACK in response to RESET, we're ready to go!");</span><br><span>            }</span><br><span style="color: hsl(0, 100%, 40%);">-       [] as_reset_ack();</span><br><span style="color: hsl(120, 100%, 40%);">+    [] as_reset_ack(append_osmux_support);</span><br><span>       [] BSSAP.receive { repeat };</span><br><span>         [] T.timeout {</span><br><span>               setverdict(fail, "Timeout waiting for RESET-ACK after sending RESET");</span><br><span>@@ -728,7 +735,7 @@</span><br><span>       f_ML3_patch_seq_nr(seq_nr, enc_l3);</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-private altstep as_reset_ack() runs on RAN_Emulation_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+private altstep as_reset_ack(boolean append_osmux_support := false) runs on RAN_Emulation_CT {</span><br><span> #ifdef RAN_EMULATION_BSSAP</span><br><span>  var BSSAP_N_UNITDATA_ind ud_ind;</span><br><span> #endif</span><br><span>@@ -736,10 +743,10 @@</span><br><span>   var RANAP_N_UNITDATA_ind rud_ind;</span><br><span> #endif</span><br><span> #ifdef RAN_EMULATION_BSSAP</span><br><span style="color: hsl(0, 100%, 40%);">-       [] BSSAP.receive(tr_BSSAP_UNITDATA_ind(?, ?, tr_BSSMAP_Reset(g_ran_ops.use_osmux))) -> value ud_ind {</span><br><span style="color: hsl(120, 100%, 40%);">+      [] BSSAP.receive(tr_BSSAP_UNITDATA_ind(?, ?, tr_BSSMAP_Reset(append_osmux_support))) -> value ud_ind {</span><br><span>            log("Respoding to inbound RESET with RESET-ACK");</span><br><span>          BSSAP.send(ts_BSSAP_UNITDATA_req(ud_ind.callingAddress, ud_ind.calledAddress,</span><br><span style="color: hsl(0, 100%, 40%);">-                      ts_BSSMAP_ResetAck(g_ran_ops.use_osmux)));</span><br><span style="color: hsl(120, 100%, 40%);">+                    ts_BSSMAP_ResetAck(append_osmux_support)));</span><br><span>               repeat;</span><br><span>      }</span><br><span> #endif</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14387">change 14387</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/+/14387"/><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: If6cc0f65a0f273297a4523e5d6a7564d966f0aa6 </div>
<div style="display:none"> Gerrit-Change-Number: 14387 </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-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>