<p>Keith Whyte has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/12597">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Make alert notifications vty configurable per ESME<br><br>Adds (no) alert-notifications as a per-esme vty command,<br>in order to allow some ESMEs to be excluded from alerts.<br><br>The default is still to send alert notifications to all esme,<br>so no changes are required to the config file to maintain<br>identical operation after this patch.<br><br>Change-Id: I57f4d268ca6fe6a233f2caaffce62e4aade01274<br>---<br>M src/libmsc/smpp_openbsc.c<br>M src/libmsc/smpp_smsc.c<br>M src/libmsc/smpp_smsc.h<br>M src/libmsc/smpp_vty.c<br>4 files changed, 35 insertions(+), 2 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/97/12597/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/libmsc/smpp_openbsc.c b/src/libmsc/smpp_openbsc.c</span><br><span>index 10f3cfa..fb9b0f8 100644</span><br><span>--- a/src/libmsc/smpp_openbsc.c</span><br><span>+++ b/src/libmsc/smpp_openbsc.c</span><br><span>@@ -283,8 +283,13 @@</span><br><span>      llist_for_each_entry(esme, &smsc->esme_list, list) {</span><br><span>          /* we currently send an alert notification to each ESME that is</span><br><span>               * connected, and do not require a (non-existant) delivery</span><br><span style="color: hsl(0, 100%, 40%);">-               * pending flag to be set before,  FIXME: make this VTY</span><br><span style="color: hsl(0, 100%, 40%);">-          * configurable */</span><br><span style="color: hsl(120, 100%, 40%);">+             * pending flag to be set before. */</span><br><span style="color: hsl(120, 100%, 40%);">+          if (!esme->acl->alert_notifications) {</span><br><span style="color: hsl(120, 100%, 40%);">+                  LOGP(DSMPP, LOGL_DEBUG,</span><br><span style="color: hsl(120, 100%, 40%);">+                               "[%s] is not set to receive Alert Notifications\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                                 esme->system_id);</span><br><span style="color: hsl(120, 100%, 40%);">+                  continue;</span><br><span style="color: hsl(120, 100%, 40%);">+             }</span><br><span>            if (esme->acl && esme->acl->deliver_src_imsi) {</span><br><span>                     smpp_tx_alert(esme, TON_Subscriber_Number,</span><br><span>                                 NPI_Land_Mobile_E212,</span><br><span>diff --git a/src/libmsc/smpp_smsc.c b/src/libmsc/smpp_smsc.c</span><br><span>index ea5303c..2350d84 100644</span><br><span>--- a/src/libmsc/smpp_smsc.c</span><br><span>+++ b/src/libmsc/smpp_smsc.c</span><br><span>@@ -148,6 +148,7 @@</span><br><span> </span><br><span>   acl->smsc = smsc;</span><br><span>         strcpy(acl->system_id, sys_id);</span><br><span style="color: hsl(120, 100%, 40%);">+    acl->alert_notifications = 1;</span><br><span>     INIT_LLIST_HEAD(&acl->route_list);</span><br><span> </span><br><span>        llist_add_tail(&acl->list, &smsc->acl_list);</span><br><span>diff --git a/src/libmsc/smpp_smsc.h b/src/libmsc/smpp_smsc.h</span><br><span>index 27a2646..dc7b7c1 100644</span><br><span>--- a/src/libmsc/smpp_smsc.h</span><br><span>+++ b/src/libmsc/smpp_smsc.h</span><br><span>@@ -68,6 +68,7 @@</span><br><span>  int deliver_src_imsi;</span><br><span>        int osmocom_ext;</span><br><span>     int dcs_transparent;</span><br><span style="color: hsl(120, 100%, 40%);">+  int alert_notifications;</span><br><span>     struct llist_head route_list;</span><br><span> };</span><br><span> </span><br><span>diff --git a/src/libmsc/smpp_vty.c b/src/libmsc/smpp_vty.c</span><br><span>index be55c4d..5896707 100644</span><br><span>--- a/src/libmsc/smpp_vty.c</span><br><span>+++ b/src/libmsc/smpp_vty.c</span><br><span>@@ -499,6 +499,28 @@</span><br><span>      return CMD_SUCCESS;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+DEFUN(cfg_esme_alert_notif, cfg_esme_alert_notif_cmd,</span><br><span style="color: hsl(120, 100%, 40%);">+   "alert-notifications",</span><br><span style="color: hsl(120, 100%, 40%);">+      "Disable sending of SMPP Alert Notifications for this ESME")</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+     struct osmo_smpp_acl *acl = vty->index;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  acl->alert_notifications = 1;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    return CMD_SUCCESS;</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%);">+DEFUN(cfg_esme_no_alert_notif, cfg_esme_no_alert_notif_cmd,</span><br><span style="color: hsl(120, 100%, 40%);">+ "no alert-notifications", NO_STR</span><br><span style="color: hsl(120, 100%, 40%);">+    "Disable sending of SMPP Alert Notifications for this ESME")</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+     struct osmo_smpp_acl *acl = vty->index;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  acl->alert_notifications = 0;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    return CMD_SUCCESS;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> </span><br><span> static void dump_one_esme(struct vty *vty, struct osmo_esme *esme)</span><br><span> {</span><br><span>@@ -560,6 +582,8 @@</span><br><span>                vty_out(vty, "  osmocom-extensions%s", VTY_NEWLINE);</span><br><span>       if (acl->dcs_transparent)</span><br><span>                 vty_out(vty, "  dcs-transparent%s", VTY_NEWLINE);</span><br><span style="color: hsl(120, 100%, 40%);">+   if (acl->alert_notifications)</span><br><span style="color: hsl(120, 100%, 40%);">+              vty_out(vty, "  alert-notifications%s", VTY_NEWLINE);</span><br><span> </span><br><span>  llist_for_each_entry(r, &acl->route_list, list)</span><br><span>               write_esme_route_single(vty, r);</span><br><span>@@ -603,6 +627,8 @@</span><br><span>       install_element(SMPP_ESME_NODE, &cfg_esme_no_osmo_ext_cmd);</span><br><span>      install_element(SMPP_ESME_NODE, &cfg_esme_dcs_transp_cmd);</span><br><span>       install_element(SMPP_ESME_NODE, &cfg_esme_no_dcs_transp_cmd);</span><br><span style="color: hsl(120, 100%, 40%);">+     install_element(SMPP_ESME_NODE, &cfg_esme_alert_notif_cmd);</span><br><span style="color: hsl(120, 100%, 40%);">+       install_element(SMPP_ESME_NODE, &cfg_esme_no_alert_notif_cmd);</span><br><span> </span><br><span>       install_element_ve(&show_esme_cmd);</span><br><span> </span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/12597">change 12597</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/12597"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-msc </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I57f4d268ca6fe6a233f2caaffce62e4aade01274 </div>
<div style="display:none"> Gerrit-Change-Number: 12597 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Keith Whyte <keith@rhizomatica.org> </div>