<p>laforge has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/22783">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">stp: Ignore M3UA SSNM messages in tests<br><br>The tests were written without considering the arrival of such messages;<br>however, it is well within the M3UA spec that such messages appear at<br>any time indicating remote point code availability etc.<br><br>In libosmo-sccp.git Id92be4691b0fd77598a6edb642c028bbd8c5b623 we start<br>generating those messages in osmo-stp.<br><br>Let's ignore them in the tests to avoid unexpected failures.<br><br>Later on, we likely will introduce / adapt tests to actually expect<br>those messages whenever appropriate.<br><br>Change-Id: I85ce8fd4f26db184833cf348293f0255bb5eaac3<br>Related: OS#2623<br>---<br>M library/M3UA_Templates.ttcn<br>M library/SCCP_Templates.ttcn<br>M stp/STP_Tests_M3UA.ttcn<br>3 files changed, 150 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/83/22783/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/library/M3UA_Templates.ttcn b/library/M3UA_Templates.ttcn</span><br><span>index 1063b50..1c95024 100644</span><br><span>--- a/library/M3UA_Templates.ttcn</span><br><span>+++ b/library/M3UA_Templates.ttcn</span><br><span>@@ -379,6 +379,97 @@</span><br><span>        }</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/***********************************************************************</span><br><span style="color: hsl(120, 100%, 40%);">+ * SSNM Class</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%);">+template (present) PDU_M3UA tr_M3UA_DUNA := {</span><br><span style="color: hsl(120, 100%, 40%);">+       m3UA_DUNA := {</span><br><span style="color: hsl(120, 100%, 40%);">+                version := c_M3UA_VERSION,</span><br><span style="color: hsl(120, 100%, 40%);">+            reserved := '00'O,</span><br><span style="color: hsl(120, 100%, 40%);">+            messageClassAndType := '0201'O,</span><br><span style="color: hsl(120, 100%, 40%);">+               messageLength := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+           messageParameters := {</span><br><span style="color: hsl(120, 100%, 40%);">+                        network_Appearance := *,</span><br><span style="color: hsl(120, 100%, 40%);">+                      routing_Context := *,</span><br><span style="color: hsl(120, 100%, 40%);">+                 affected_Point_Codes := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+                    info_String := *</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 style="color: hsl(120, 100%, 40%);">+template (present) PDU_M3UA tr_M3UA_DAVA := {</span><br><span style="color: hsl(120, 100%, 40%);">+ m3UA_DAVA := {</span><br><span style="color: hsl(120, 100%, 40%);">+                version := c_M3UA_VERSION,</span><br><span style="color: hsl(120, 100%, 40%);">+            reserved := '00'O,</span><br><span style="color: hsl(120, 100%, 40%);">+            messageClassAndType := '0202'O,</span><br><span style="color: hsl(120, 100%, 40%);">+               messageLength := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+           messageParameters := {</span><br><span style="color: hsl(120, 100%, 40%);">+                        network_Appearance := *,</span><br><span style="color: hsl(120, 100%, 40%);">+                      routing_Context := *,</span><br><span style="color: hsl(120, 100%, 40%);">+                 affected_Point_Codes := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+                    info_String := *</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 style="color: hsl(120, 100%, 40%);">+template (present) PDU_M3UA tr_M3UA_DAUD := {</span><br><span style="color: hsl(120, 100%, 40%);">+ m3UA_DAUD := {</span><br><span style="color: hsl(120, 100%, 40%);">+                version := c_M3UA_VERSION,</span><br><span style="color: hsl(120, 100%, 40%);">+            reserved := '00'O,</span><br><span style="color: hsl(120, 100%, 40%);">+            messageClassAndType := '0203'O,</span><br><span style="color: hsl(120, 100%, 40%);">+               messageLength := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+           messageParameters := {</span><br><span style="color: hsl(120, 100%, 40%);">+                        network_Appearance := *,</span><br><span style="color: hsl(120, 100%, 40%);">+                      routing_Context := *,</span><br><span style="color: hsl(120, 100%, 40%);">+                 affected_Point_Codes := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+                    info_String := *</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 style="color: hsl(120, 100%, 40%);">+template (present) PDU_M3UA tr_M3UA_SCON := {</span><br><span style="color: hsl(120, 100%, 40%);">+ m3UA_SCON := {</span><br><span style="color: hsl(120, 100%, 40%);">+                version := c_M3UA_VERSION,</span><br><span style="color: hsl(120, 100%, 40%);">+            reserved := '00'O,</span><br><span style="color: hsl(120, 100%, 40%);">+            messageClassAndType := '0204'O,</span><br><span style="color: hsl(120, 100%, 40%);">+               messageLength := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+           messageParameters := {</span><br><span style="color: hsl(120, 100%, 40%);">+                        network_Appearance := *,</span><br><span style="color: hsl(120, 100%, 40%);">+                      routing_Context := *,</span><br><span style="color: hsl(120, 100%, 40%);">+                 affected_Point_Codes := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+                    info_String := *</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 style="color: hsl(120, 100%, 40%);">+template (present) PDU_M3UA tr_M3UA_DUPU := {</span><br><span style="color: hsl(120, 100%, 40%);">+ m3UA_DUPU := {</span><br><span style="color: hsl(120, 100%, 40%);">+                version := c_M3UA_VERSION,</span><br><span style="color: hsl(120, 100%, 40%);">+            reserved := '00'O,</span><br><span style="color: hsl(120, 100%, 40%);">+            messageClassAndType := '0205'O,</span><br><span style="color: hsl(120, 100%, 40%);">+               messageLength := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+           messageParameters := {</span><br><span style="color: hsl(120, 100%, 40%);">+                        network_Appearance := *,</span><br><span style="color: hsl(120, 100%, 40%);">+                      routing_Context := *,</span><br><span style="color: hsl(120, 100%, 40%);">+                 affected_Point_Codes := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+                    info_String := *</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 style="color: hsl(120, 100%, 40%);">+template (present) PDU_M3UA tr_M3UA_DRST := {</span><br><span style="color: hsl(120, 100%, 40%);">+ m3UA_DRST := {</span><br><span style="color: hsl(120, 100%, 40%);">+                version := c_M3UA_VERSION,</span><br><span style="color: hsl(120, 100%, 40%);">+            reserved := '00'O,</span><br><span style="color: hsl(120, 100%, 40%);">+            messageClassAndType := '0206'O,</span><br><span style="color: hsl(120, 100%, 40%);">+               messageLength := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+           messageParameters := ?</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%);">+template (present) PDU_M3UA tr_M3UA_SSNM := (tr_M3UA_DUNA, tr_M3UA_DAVA, tr_M3UA_DAUD,</span><br><span style="color: hsl(120, 100%, 40%);">+                                             tr_M3UA_SCON, tr_M3UA_DUPU, tr_M3UA_DRST);</span><br><span> </span><br><span> /***********************************************************************</span><br><span>  * MGMT Class</span><br><span>diff --git a/library/SCCP_Templates.ttcn b/library/SCCP_Templates.ttcn</span><br><span>index b0e6df7..2b279c6 100644</span><br><span>--- a/library/SCCP_Templates.ttcn</span><br><span>+++ b/library/SCCP_Templates.ttcn</span><br><span>@@ -215,5 +215,55 @@</span><br><span>     }</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+template (value) PDU_SCMG_message ts_SCCP_SSA(template (value) SCMG_param_AffectedSSN ssn,</span><br><span style="color: hsl(120, 100%, 40%);">+                                              template (value) SCMG_param_AffectedPointCode pc) := {</span><br><span style="color: hsl(120, 100%, 40%);">+  messageType := sSAallowed,</span><br><span style="color: hsl(120, 100%, 40%);">+    affectedSSN := ssn,</span><br><span style="color: hsl(120, 100%, 40%);">+   affectedPC := pc,</span><br><span style="color: hsl(120, 100%, 40%);">+     smi := { '00'B, '000000'B },</span><br><span style="color: hsl(120, 100%, 40%);">+  congLevel := omit</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+template (present) PDU_SCMG_message tr_SCCP_SSA(template (present) SCMG_param_AffectedSSN ssn := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+                                             template (present) SCMG_param_AffectedPointCode pc := ?) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ messageType := sSAallowed,</span><br><span style="color: hsl(120, 100%, 40%);">+    affectedSSN := ssn,</span><br><span style="color: hsl(120, 100%, 40%);">+   affectedPC := pc,</span><br><span style="color: hsl(120, 100%, 40%);">+     smi := { ?, '000000'B },</span><br><span style="color: hsl(120, 100%, 40%);">+      congLevel := omit</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%);">+template (value) PDU_SCMG_message ts_SCCP_SSP(template (value) SCMG_param_AffectedSSN ssn,</span><br><span style="color: hsl(120, 100%, 40%);">+                                          template (value) SCMG_param_AffectedPointCode pc) := {</span><br><span style="color: hsl(120, 100%, 40%);">+  messageType := sSPprohib,</span><br><span style="color: hsl(120, 100%, 40%);">+     affectedSSN := ssn,</span><br><span style="color: hsl(120, 100%, 40%);">+   affectedPC := pc,</span><br><span style="color: hsl(120, 100%, 40%);">+     smi := { '00'B, '000000'B },</span><br><span style="color: hsl(120, 100%, 40%);">+  congLevel := omit</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+template (present) PDU_SCMG_message tr_SCCP_SSP(template (present) SCMG_param_AffectedSSN ssn := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+                                             template (present) SCMG_param_AffectedPointCode pc := ?) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ messageType := sSPprohib,</span><br><span style="color: hsl(120, 100%, 40%);">+     affectedSSN := ssn,</span><br><span style="color: hsl(120, 100%, 40%);">+   affectedPC := pc,</span><br><span style="color: hsl(120, 100%, 40%);">+     smi := { ?, '000000'B },</span><br><span style="color: hsl(120, 100%, 40%);">+      congLevel := omit</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%);">+template (value) PDU_SCMG_message ts_SCCP_SST(template (value) SCMG_param_AffectedSSN ssn,</span><br><span style="color: hsl(120, 100%, 40%);">+                                          template (value) SCMG_param_AffectedPointCode pc) := {</span><br><span style="color: hsl(120, 100%, 40%);">+  messageType := sSTstaTest,</span><br><span style="color: hsl(120, 100%, 40%);">+    affectedSSN := ssn,</span><br><span style="color: hsl(120, 100%, 40%);">+   affectedPC := pc,</span><br><span style="color: hsl(120, 100%, 40%);">+     smi := { '00'B, '000000'B },</span><br><span style="color: hsl(120, 100%, 40%);">+  congLevel := omit</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+template (present) PDU_SCMG_message tr_SCCP_SST(template (present) SCMG_param_AffectedSSN ssn := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+                                             template (present) SCMG_param_AffectedPointCode pc := ?) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ messageType := sSTstaTest,</span><br><span style="color: hsl(120, 100%, 40%);">+    affectedSSN := ssn,</span><br><span style="color: hsl(120, 100%, 40%);">+   affectedPC := pc,</span><br><span style="color: hsl(120, 100%, 40%);">+     smi := { ?, '000000'B },</span><br><span style="color: hsl(120, 100%, 40%);">+      congLevel := omit</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span> </span><br><span> }</span><br><span>diff --git a/stp/STP_Tests_M3UA.ttcn b/stp/STP_Tests_M3UA.ttcn</span><br><span>index 22272f3..b76d9be 100644</span><br><span>--- a/stp/STP_Tests_M3UA.ttcn</span><br><span>+++ b/stp/STP_Tests_M3UA.ttcn</span><br><span>@@ -75,6 +75,14 @@</span><br><span>  [] any from M3UA.receive(tr_SctpPeerAddrChange) { repeat; }</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+private altstep as_m3ua_ssnm_ignore() runs on RAW_M3UA_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+     var M3UA_RecvFrom rx;</span><br><span style="color: hsl(120, 100%, 40%);">+ [] any from M3UA.receive(t_M3UA_RecvFrom(tr_M3UA_SSNM)) -> value rx {</span><br><span style="color: hsl(120, 100%, 40%);">+              log("Ignoring M3UA SSNM", rx);</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%);">+</span><br><span> friend function f_M3UA_send(integer idx, template (present) PDU_M3UA msg, template integer stream := 0)</span><br><span> runs on RAW_M3UA_CT {</span><br><span>   M3UA[idx].send(t_M3UA_Send(g_m3ua_conn_id[idx], msg, stream));</span><br><span>@@ -183,6 +191,7 @@</span><br><span>         f_init_common();</span><br><span> </span><br><span>         activate(as_m3ua_sctp());</span><br><span style="color: hsl(120, 100%, 40%);">+     activate(as_m3ua_ssnm_ignore());</span><br><span> </span><br><span>         for (i := 0; i < NR_M3UA; i:=i+1) {</span><br><span>               map(self:M3UA[i], system:M3UA_CODEC_PT);</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/22783">change 22783</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/+/22783"/><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: I85ce8fd4f26db184833cf348293f0255bb5eaac3 </div>
<div style="display:none"> Gerrit-Change-Number: 22783 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>