<p>Harald Welte <strong>merged</strong> this change.</p><p><a href="https://gerrit.osmocom.org/10249">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Harald Welte: Looks good to me, approved
  Jenkins Builder: Verified

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">USSD: Add new "DSS" logging category and use it appropriately<br><br>Change-Id: I0ac198a49ba70ea40fea18464325f1925797a6e8<br>---<br>M doc/examples/osmo-hlr.cfg<br>M src/hlr_ussd.c<br>M src/logging.c<br>M src/logging.h<br>M tests/test_nodes.vty<br>5 files changed, 21 insertions(+), 11 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/doc/examples/osmo-hlr.cfg b/doc/examples/osmo-hlr.cfg</span><br><span>index cda1712..ebc22ec 100644</span><br><span>--- a/doc/examples/osmo-hlr.cfg</span><br><span>+++ b/doc/examples/osmo-hlr.cfg</span><br><span>@@ -11,6 +11,7 @@</span><br><span>   logging level main notice</span><br><span>   logging level db notice</span><br><span>   logging level auc notice</span><br><span style="color: hsl(120, 100%, 40%);">+  logging level ss info</span><br><span>   logging level linp error</span><br><span> !</span><br><span> line vty</span><br><span>diff --git a/src/hlr_ussd.c b/src/hlr_ussd.c</span><br><span>index 8710061..d23debf 100644</span><br><span>--- a/src/hlr_ussd.c</span><br><span>+++ b/src/hlr_ussd.c</span><br><span>@@ -111,14 +111,14 @@</span><br><span>               struct hlr_euse_route *rt;</span><br><span>           llist_for_each_entry(rt, &euse->routes, list) {</span><br><span>                       if (!strncmp(ussd_code, rt->prefix, strlen(rt->prefix))) {</span><br><span style="color: hsl(0, 100%, 40%);">-                                LOGP(DMAIN, LOGL_DEBUG, "Found EUSE %s (prefix %s) for USSD Code '%s'\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                           LOGP(DSS, LOGL_DEBUG, "Found EUSE %s (prefix %s) for USSD Code '%s'\n",</span><br><span>                                    rt->euse->name, rt->prefix, ussd_code);</span><br><span>                             return rt->euse;</span><br><span>                  }</span><br><span>            }</span><br><span>    }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   LOGP(DMAIN, LOGL_DEBUG, "Could not find Route/EUSE for USSD Code '%s'\n", ussd_code);</span><br><span style="color: hsl(120, 100%, 40%);">+       LOGP(DSS, LOGL_DEBUG, "Could not find Route/EUSE for USSD Code '%s'\n", ussd_code);</span><br><span>        return NULL;</span><br><span> }</span><br><span> </span><br><span>@@ -127,7 +127,7 @@</span><br><span>  ***********************************************************************/</span><br><span> </span><br><span> #define LOGPSS(ss, lvl, fmt, args...) \</span><br><span style="color: hsl(0, 100%, 40%);">- LOGP(DMAIN, lvl, "%s/0x%08x: " fmt, (ss)->imsi, (ss)->session_id, ## args)</span><br><span style="color: hsl(120, 100%, 40%);">+    LOGP(DSS, lvl, "%s/0x%08x: " fmt, (ss)->imsi, (ss)->session_id, ## args)</span><br><span> </span><br><span> struct ss_session {</span><br><span>  /* link us to hlr->ss_sessions */</span><br><span>@@ -361,13 +361,13 @@</span><br><span>         struct ss_session *ss;</span><br><span>       struct ss_request req = {0};</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-        LOGP(DMAIN, LOGL_INFO, "%s/0x%08x: Process SS (%s)\n", gsup->imsi, gsup->session_id,</span><br><span style="color: hsl(120, 100%, 40%);">+  LOGP(DSS, LOGL_DEBUG, "%s/0x%08x: Process SS (%s)\n", gsup->imsi, gsup->session_id,</span><br><span>          osmo_gsup_session_state_name(gsup->session_state));</span><br><span> </span><br><span>   /* decode and find out what kind of SS message it is */</span><br><span>      if (gsup->ss_info && gsup->ss_info_len) {</span><br><span>              if (gsm0480_parse_facility_ie(gsup->ss_info, gsup->ss_info_len, &req)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                      LOGP(DMAIN, LOGL_ERROR, "%s/0x%082x: Unable to parse SS request: %s\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                     LOGP(DSS, LOGL_ERROR, "%s/0x%082x: Unable to parse SS request: %s\n",</span><br><span>                              gsup->imsi, gsup->session_id,</span><br><span>                          osmo_hexdump(gsup->ss_info, gsup->ss_info_len));</span><br><span>                       /* FIXME: Send a Reject component? */</span><br><span>@@ -379,13 +379,13 @@</span><br><span>        case OSMO_GSUP_SESSION_STATE_BEGIN:</span><br><span>          /* Check for overlapping Session ID usage */</span><br><span>                 if (ss_session_find(hlr, gsup->imsi, gsup->session_id)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                 LOGP(DMAIN, LOGL_ERROR, "%s/0x%08x: BEGIN with non-unique session ID!\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                   LOGP(DSS, LOGL_ERROR, "%s/0x%08x: BEGIN with non-unique session ID!\n",</span><br><span>                            gsup->imsi, gsup->session_id);</span><br><span>                         goto out_err;</span><br><span>                }</span><br><span>            ss = ss_session_alloc(hlr, gsup->imsi, gsup->session_id);</span><br><span>              if (!ss) {</span><br><span style="color: hsl(0, 100%, 40%);">-                      LOGP(DMAIN, LOGL_ERROR, "%s/0x%08x: Unable to allocate SS session\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                       LOGP(DSS, LOGL_ERROR, "%s/0x%08x: Unable to allocate SS session\n",</span><br><span>                                gsup->imsi, gsup->session_id);</span><br><span>                         goto out_err;</span><br><span>                }</span><br><span>@@ -407,7 +407,7 @@</span><br><span>      case OSMO_GSUP_SESSION_STATE_CONTINUE:</span><br><span>               ss = ss_session_find(hlr, gsup->imsi, gsup->session_id);</span><br><span>               if (!ss) {</span><br><span style="color: hsl(0, 100%, 40%);">-                      LOGP(DMAIN, LOGL_ERROR, "%s/0x%08x: CONTINUE for unknown SS session\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                     LOGP(DSS, LOGL_ERROR, "%s/0x%08x: CONTINUE for unknown SS session\n",</span><br><span>                              gsup->imsi, gsup->session_id);</span><br><span>                         goto out_err;</span><br><span>                }</span><br><span>@@ -422,7 +422,7 @@</span><br><span>      case OSMO_GSUP_SESSION_STATE_END:</span><br><span>            ss = ss_session_find(hlr, gsup->imsi, gsup->session_id);</span><br><span>               if (!ss) {</span><br><span style="color: hsl(0, 100%, 40%);">-                      LOGP(DMAIN, LOGL_ERROR, "%s/0x%08x: END for unknown SS session\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                  LOGP(DSS, LOGL_ERROR, "%s/0x%08x: END for unknown SS session\n",</span><br><span>                           gsup->imsi, gsup->session_id);</span><br><span>                         goto out_err;</span><br><span>                }</span><br><span>@@ -436,7 +436,7 @@</span><br><span>              ss_session_free(ss);</span><br><span>                 break;</span><br><span>       default:</span><br><span style="color: hsl(0, 100%, 40%);">-                LOGP(DMAIN, LOGL_ERROR, "%s/0x%08x: Unknown SS State %d\n", gsup->imsi,</span><br><span style="color: hsl(120, 100%, 40%);">+          LOGP(DSS, LOGL_ERROR, "%s/0x%08x: Unknown SS State %d\n", gsup->imsi,</span><br><span>                   gsup->session_id, gsup->session_state);</span><br><span>                goto out_err;</span><br><span>        }</span><br><span>@@ -449,7 +449,7 @@</span><br><span> </span><br><span> int rx_proc_ss_error(struct osmo_gsup_conn *conn, const struct osmo_gsup_message *gsup)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">-     LOGP(DMAIN, LOGL_NOTICE, "%s/0x%08x: Process SS ERROR (%s)\n", gsup->imsi, gsup->session_id,</span><br><span style="color: hsl(120, 100%, 40%);">+  LOGP(DSS, LOGL_NOTICE, "%s/0x%08x: Process SS ERROR (%s)\n", gsup->imsi, gsup->session_id,</span><br><span>           osmo_gsup_session_state_name(gsup->session_state));</span><br><span>       return 0;</span><br><span> }</span><br><span>diff --git a/src/logging.c b/src/logging.c</span><br><span>index f81781d..3fa2a69 100644</span><br><span>--- a/src/logging.c</span><br><span>+++ b/src/logging.c</span><br><span>@@ -19,6 +19,13 @@</span><br><span>                 .color = "\033[1;33m",</span><br><span>             .enabled = 1, .loglevel = LOGL_NOTICE,</span><br><span>       },</span><br><span style="color: hsl(120, 100%, 40%);">+    [DSS] = {</span><br><span style="color: hsl(120, 100%, 40%);">+             .name = "DSS",</span><br><span style="color: hsl(120, 100%, 40%);">+              .description = "Supplementary Services",</span><br><span style="color: hsl(120, 100%, 40%);">+            .color = "\033[1;34m",</span><br><span style="color: hsl(120, 100%, 40%);">+              .enabled = 1, .loglevel = LOGL_NOTICE,</span><br><span style="color: hsl(120, 100%, 40%);">+        },</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> };</span><br><span> </span><br><span> const struct log_info hlr_log_info = {</span><br><span>diff --git a/src/logging.h b/src/logging.h</span><br><span>index fdaf5d1..ed24075 100644</span><br><span>--- a/src/logging.h</span><br><span>+++ b/src/logging.h</span><br><span>@@ -7,6 +7,7 @@</span><br><span>  DDB,</span><br><span>         DGSUP,</span><br><span>       DAUC,</span><br><span style="color: hsl(120, 100%, 40%);">+ DSS,</span><br><span> };</span><br><span> </span><br><span> extern const struct log_info hlr_log_info;</span><br><span>diff --git a/tests/test_nodes.vty b/tests/test_nodes.vty</span><br><span>index 8857860..4badad5 100644</span><br><span>--- a/tests/test_nodes.vty</span><br><span>+++ b/tests/test_nodes.vty</span><br><span>@@ -111,6 +111,7 @@</span><br><span>   logging level main notice</span><br><span>   logging level db notice</span><br><span>   logging level auc notice</span><br><span style="color: hsl(120, 100%, 40%);">+  logging level ss info</span><br><span> ...</span><br><span> !</span><br><span> line vty</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/10249">change 10249</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/10249"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-hlr </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: merged </div>
<div style="display:none"> Gerrit-Change-Id: I0ac198a49ba70ea40fea18464325f1925797a6e8 </div>
<div style="display:none"> Gerrit-Change-Number: 10249 </div>
<div style="display:none"> Gerrit-PatchSet: 4 </div>
<div style="display:none"> Gerrit-Owner: Harald Welte <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-Reviewer: Harald Welte <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>