<p>neels has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-hlr/+/16793">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">esme_dgsm.py: add --always-fail option for debugging SMPP<br><br>Change-Id: Ibacf2676cae40712c89b57ced34085311d9a416d<br>---<br>M contrib/dgsm/esme_dgsm.py<br>1 file changed, 26 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/93/16793/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/contrib/dgsm/esme_dgsm.py b/contrib/dgsm/esme_dgsm.py</span><br><span>index 75cf93d..9d7e040 100755</span><br><span>--- a/contrib/dgsm/esme_dgsm.py</span><br><span>+++ b/contrib/dgsm/esme_dgsm.py</span><br><span>@@ -100,6 +100,9 @@</span><br><span>         time.sleep(args.sleep)</span><br><span>         logging.info("Sleep done")</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+    if args.always_fail is not None:</span><br><span style="color: hsl(120, 100%, 40%);">+        return args.always_fail</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>     result = query_mslookup("smpp.sms", msisdn)</span><br><span>     if 'v4' not in result or not result['v4']:</span><br><span>         logging.info('No IPv4 result from mslookup! This example only'</span><br><span>@@ -147,12 +150,35 @@</span><br><span>     parser.add_argument('--sleep', default=0, type=float,</span><br><span>                         help='sleep time in seconds before forwarding an SMS,'</span><br><span>                              ' to test multithreading (default: 0)')</span><br><span style="color: hsl(120, 100%, 40%);">+    parser.add_argument('--always-fail', default=None, metavar='SMPP_ESME_ERRCODE',</span><br><span style="color: hsl(120, 100%, 40%);">+                        help='test delivery failure: always return an error code on Deliver-SM,'</span><br><span style="color: hsl(120, 100%, 40%);">+                        ' pass an smpplib error code name like RDELIVERYFAILURE (see smpplib/consts.py),'</span><br><span style="color: hsl(120, 100%, 40%);">+                        ' or an SMPP error code in hex digits')</span><br><span>     args = parser.parse_args()</span><br><span> </span><br><span>     logging.basicConfig(level=logging.INFO, format='[%(asctime)s]'</span><br><span>                         ' (%(threadName)s) %(message)s', datefmt="%H:%M:%S")</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    if args.always_fail:</span><br><span style="color: hsl(120, 100%, 40%);">+        resolved = None</span><br><span style="color: hsl(120, 100%, 40%);">+        name = 'SMPP_ESME_' + args.always_fail</span><br><span style="color: hsl(120, 100%, 40%);">+        if hasattr(smpplib.consts, name):</span><br><span style="color: hsl(120, 100%, 40%);">+            resolved = getattr(smpplib.consts, name)</span><br><span style="color: hsl(120, 100%, 40%);">+        if resolved is None:</span><br><span style="color: hsl(120, 100%, 40%);">+            try:</span><br><span style="color: hsl(120, 100%, 40%);">+                resolved = int(args.always_fail, 16)</span><br><span style="color: hsl(120, 100%, 40%);">+            except ValueError:</span><br><span style="color: hsl(120, 100%, 40%);">+                resolved = None</span><br><span style="color: hsl(120, 100%, 40%);">+        if resolved is None:</span><br><span style="color: hsl(120, 100%, 40%);">+            print('Invalid argument for --always-fail: %r' % args.always_fail)</span><br><span style="color: hsl(120, 100%, 40%);">+            exit(1)</span><br><span style="color: hsl(120, 100%, 40%);">+        args.always_fail = resolved</span><br><span style="color: hsl(120, 100%, 40%);">+        logging.info('--always-fail: returning error code %s to all Deliver-SM' % hex(args.always_fail))</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>     smpp_bind()</span><br><span> </span><br><span> </span><br><span> if __name__ == "__main__":</span><br><span>     main()</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# vim: expandtab tabstop=4 shiftwidth=4</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-hlr/+/16793">change 16793</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-hlr/+/16793"/><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-Change-Id: Ibacf2676cae40712c89b57ced34085311d9a416d </div>
<div style="display:none"> Gerrit-Change-Number: 16793 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: neels <nhofmeyr@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>