<p>laforge <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/libosmo-sccp/+/16896">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;">sccp: Add value_string for SCCP message types<br><br>Change-Id: Ibf3ee4be88a4ca633a01fad08d4c714bfa9008bc<br>---<br>M include/osmocom/sccp/sccp_types.h<br>M src/Makefile.am<br>M src/sccp2sua.c<br>A src/sccp_types.c<br>4 files changed, 36 insertions(+), 1 deletion(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/include/osmocom/sccp/sccp_types.h b/include/osmocom/sccp/sccp_types.h</span><br><span>index 18b54f4..71cbb0f 100644</span><br><span>--- a/include/osmocom/sccp/sccp_types.h</span><br><span>+++ b/include/osmocom/sccp/sccp_types.h</span><br><span>@@ -26,6 +26,7 @@</span><br><span> </span><br><span> #include <stdint.h></span><br><span> #include <osmocom/core/endian.h></span><br><span style="color: hsl(120, 100%, 40%);">+#include <osmocom/core/utils.h></span><br><span> </span><br><span> /* Table 1/Q.713 - SCCP message types */</span><br><span> enum sccp_message_types {</span><br><span>@@ -51,6 +52,10 @@</span><br><span>         SCCP_MSG_TYPE_LUDTS     = 20</span><br><span> };</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+extern const struct value_string osmo_sccp_msg_type_names[];</span><br><span style="color: hsl(120, 100%, 40%);">+static inline const char *osmo_sccp_msg_type_name(enum sccp_message_types val)</span><br><span style="color: hsl(120, 100%, 40%);">+{ return get_value_string(osmo_sccp_msg_type_names, val); }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> /* Table 2/Q.713 - SCCP parameter name codes */</span><br><span> enum sccp_parameter_name_codes {</span><br><span>   SCCP_PNC_END_OF_OPTIONAL                = 0,</span><br><span>diff --git a/src/Makefile.am b/src/Makefile.am</span><br><span>index 4ef753c..484886c 100644</span><br><span>--- a/src/Makefile.am</span><br><span>+++ b/src/Makefile.am</span><br><span>@@ -29,7 +29,7 @@</span><br><span> </span><br><span> libosmo_sigtran_la_SOURCES = sccp_sap.c sua.c m3ua.c xua_msg.c sccp_helpers.c \</span><br><span>                          sccp2sua.c sccp_scrc.c sccp_sclc.c sccp_scoc.c \</span><br><span style="color: hsl(0, 100%, 40%);">-                        sccp_user.c xua_rkm.c xua_default_lm_fsm.c \</span><br><span style="color: hsl(120, 100%, 40%);">+                          sccp_user.c sccp_types.c xua_rkm.c xua_default_lm_fsm.c \</span><br><span>                            osmo_ss7.c osmo_ss7_hmrt.c xua_asp_fsm.c xua_as_fsm.c \</span><br><span>                              osmo_ss7_vty.c sccp_vty.c ipa.c</span><br><span> libosmo_sigtran_la_LDFLAGS = -version-info $(LIBVERSION) -no-undefined -export-symbols-regex '^osmo_'</span><br><span>diff --git a/src/sccp2sua.c b/src/sccp2sua.c</span><br><span>index f68f9a9..7e6b3a3 100644</span><br><span>--- a/src/sccp2sua.c</span><br><span>+++ b/src/sccp2sua.c</span><br><span>@@ -1341,6 +1341,10 @@</span><br><span>  case SCCP_MSG_TYPE_XUDTS:</span><br><span>    case SCCP_MSG_TYPE_LUDT:</span><br><span>     case SCCP_MSG_TYPE_LUDTS:</span><br><span style="color: hsl(120, 100%, 40%);">+             LOGP(DLSUA, LOGL_ERROR, "Unsupported SCCP message %s\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                    osmo_sccp_msg_type_name(msg->l2h[0]));</span><br><span style="color: hsl(120, 100%, 40%);">+             xua_msg_free(xua);</span><br><span style="color: hsl(120, 100%, 40%);">+            return NULL;</span><br><span>         default:</span><br><span>             LOGP(DLSUA, LOGL_ERROR, "Unsupported SCCP message type %u\n",</span><br><span>                      msg->l2h[0]);</span><br><span>diff --git a/src/sccp_types.c b/src/sccp_types.c</span><br><span>new file mode 100644</span><br><span>index 0000000..c6e24cc</span><br><span>--- /dev/null</span><br><span>+++ b/src/sccp_types.c</span><br><span>@@ -0,0 +1,26 @@</span><br><span style="color: hsl(120, 100%, 40%);">+#include <osmocom/sccp/sccp_types.h></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* Table 1/Q.713 - SCCP message types */</span><br><span style="color: hsl(120, 100%, 40%);">+const struct value_string osmo_sccp_msg_type_names[] = {</span><br><span style="color: hsl(120, 100%, 40%);">+     { SCCP_MSG_TYPE_CR, "Connection request" },</span><br><span style="color: hsl(120, 100%, 40%);">+ { SCCP_MSG_TYPE_CC, "Connection confirm" },</span><br><span style="color: hsl(120, 100%, 40%);">+ { SCCP_MSG_TYPE_CREF, "Connection refused" },</span><br><span style="color: hsl(120, 100%, 40%);">+       { SCCP_MSG_TYPE_RLSD, "Released" },</span><br><span style="color: hsl(120, 100%, 40%);">+ { SCCP_MSG_TYPE_RLC, "Release complete" },</span><br><span style="color: hsl(120, 100%, 40%);">+  { SCCP_MSG_TYPE_DT1, "Data form 1" },</span><br><span style="color: hsl(120, 100%, 40%);">+       { SCCP_MSG_TYPE_DT2, "Data form 2" },</span><br><span style="color: hsl(120, 100%, 40%);">+       { SCCP_MSG_TYPE_AK, "Data acknowledgement" },</span><br><span style="color: hsl(120, 100%, 40%);">+       { SCCP_MSG_TYPE_UDT, "Unitdata" },</span><br><span style="color: hsl(120, 100%, 40%);">+  { SCCP_MSG_TYPE_UDTS, "Unitdata service" },</span><br><span style="color: hsl(120, 100%, 40%);">+ { SCCP_MSG_TYPE_ED, "Expedited data" },</span><br><span style="color: hsl(120, 100%, 40%);">+     { SCCP_MSG_TYPE_EA, "Expedited data acknowledgement" },</span><br><span style="color: hsl(120, 100%, 40%);">+     { SCCP_MSG_TYPE_RSR, "Reset request" },</span><br><span style="color: hsl(120, 100%, 40%);">+     { SCCP_MSG_TYPE_RSC, "Reset confirmation" },</span><br><span style="color: hsl(120, 100%, 40%);">+        { SCCP_MSG_TYPE_ERR, "Protocol data unit error" },</span><br><span style="color: hsl(120, 100%, 40%);">+  { SCCP_MSG_TYPE_IT, "Inactivity test" },</span><br><span style="color: hsl(120, 100%, 40%);">+    { SCCP_MSG_TYPE_XUDT, "Extended unitdata" },</span><br><span style="color: hsl(120, 100%, 40%);">+        { SCCP_MSG_TYPE_XUDTS, "Extended unitdata service" },</span><br><span style="color: hsl(120, 100%, 40%);">+       { SCCP_MSG_TYPE_LUDT, "Long unitdata" },</span><br><span style="color: hsl(120, 100%, 40%);">+    { SCCP_MSG_TYPE_LUDTS, "Long unitdata service" },</span><br><span style="color: hsl(120, 100%, 40%);">+   {}</span><br><span style="color: hsl(120, 100%, 40%);">+};</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/libosmo-sccp/+/16896">change 16896</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/libosmo-sccp/+/16896"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: libosmo-sccp </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Ibf3ee4be88a4ca633a01fad08d4c714bfa9008bc </div>
<div style="display:none"> Gerrit-Change-Number: 16896 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </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@osmocom.org> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>