<p>neels has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-hlr/+/16210">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">add mslookup_manual_test<br><br>This can be used for manually testing proxy routing. It is not run as part of<br>the testsuite.<br><br>Change-Id: I80473528c9524263b60fc3ba37ba246c80bfe452<br>---<br>M .gitignore<br>M configure.ac<br>M tests/Makefile.am<br>A tests/mslookup_manual_test/Makefile.am<br>A tests/mslookup_manual_test/fake_msc.c<br>A tests/mslookup_manual_test/osmo-hlr-1.cfg<br>A tests/mslookup_manual_test/osmo-hlr-2.cfg<br>A tests/mslookup_manual_test/run.sh<br>8 files changed, 241 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/10/16210/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/.gitignore b/.gitignore</span><br><span>index 1dfa33b..4162ab9 100644</span><br><span>--- a/.gitignore</span><br><span>+++ b/.gitignore</span><br><span>@@ -51,6 +51,7 @@</span><br><span> tests/gsup/gsup_test</span><br><span> tests/db/db_test</span><br><span> tests/hlr_vty_test.db*</span><br><span style="color: hsl(120, 100%, 40%);">+tests/mslookup_manual_test/fake_msc</span><br><span> </span><br><span> # manuals</span><br><span> doc/manuals/*.html</span><br><span>diff --git a/configure.ac b/configure.ac</span><br><span>index ae18286..bd74527 100644</span><br><span>--- a/configure.ac</span><br><span>+++ b/configure.ac</span><br><span>@@ -192,4 +192,5 @@</span><br><span>       tests/db/Makefile</span><br><span>    tests/db_upgrade/Makefile</span><br><span>    tests/mslookup/Makefile</span><br><span style="color: hsl(120, 100%, 40%);">+       tests/mslookup_manual_test/Makefile</span><br><span>  )</span><br><span>diff --git a/tests/Makefile.am b/tests/Makefile.am</span><br><span>index bc5fc87..396a731 100644</span><br><span>--- a/tests/Makefile.am</span><br><span>+++ b/tests/Makefile.am</span><br><span>@@ -4,6 +4,7 @@</span><br><span>         db \</span><br><span>         db_upgrade \</span><br><span>         mslookup \</span><br><span style="color: hsl(120, 100%, 40%);">+    mslookup_manual_test \</span><br><span>       $(NULL)</span><br><span> </span><br><span> # The `:;' works around a Bash 3.2 bug when the output is not writeable.</span><br><span>diff --git a/tests/mslookup_manual_test/Makefile.am b/tests/mslookup_manual_test/Makefile.am</span><br><span>new file mode 100644</span><br><span>index 0000000..5a0331b</span><br><span>--- /dev/null</span><br><span>+++ b/tests/mslookup_manual_test/Makefile.am</span><br><span>@@ -0,0 +1,41 @@</span><br><span style="color: hsl(120, 100%, 40%);">+AM_CPPFLAGS = \</span><br><span style="color: hsl(120, 100%, 40%);">+ $(all_includes) \</span><br><span style="color: hsl(120, 100%, 40%);">+     -I$(top_srcdir)/include \</span><br><span style="color: hsl(120, 100%, 40%);">+     $(NULL)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+AM_CFLAGS = \</span><br><span style="color: hsl(120, 100%, 40%);">+      -Wall \</span><br><span style="color: hsl(120, 100%, 40%);">+       -ggdb3 \</span><br><span style="color: hsl(120, 100%, 40%);">+      -I$(top_srcdir)/include \</span><br><span style="color: hsl(120, 100%, 40%);">+     $(LIBOSMOCORE_CFLAGS) \</span><br><span style="color: hsl(120, 100%, 40%);">+       $(LIBOSMOGSM_CFLAGS) \</span><br><span style="color: hsl(120, 100%, 40%);">+        $(LIBOSMOABIS_CFLAGS) \</span><br><span style="color: hsl(120, 100%, 40%);">+       $(NULL)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+AM_LDFLAGS = \</span><br><span style="color: hsl(120, 100%, 40%);">+     -no-install \</span><br><span style="color: hsl(120, 100%, 40%);">+ $(NULL)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+EXTRA_DIST = \</span><br><span style="color: hsl(120, 100%, 40%);">+     run.sh \</span><br><span style="color: hsl(120, 100%, 40%);">+      osmo-hlr-1.cfg \</span><br><span style="color: hsl(120, 100%, 40%);">+      osmo-hlr-2.cfg \</span><br><span style="color: hsl(120, 100%, 40%);">+      $(NULL)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+noinst_PROGRAMS = \</span><br><span style="color: hsl(120, 100%, 40%);">+        fake_msc \</span><br><span style="color: hsl(120, 100%, 40%);">+    $(NULL)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+fake_msc_SOURCES = \</span><br><span style="color: hsl(120, 100%, 40%);">+       fake_msc.c \</span><br><span style="color: hsl(120, 100%, 40%);">+  $(NULL)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+fake_msc_LDADD = \</span><br><span style="color: hsl(120, 100%, 40%);">+ $(top_builddir)/src/gsupclient/libosmo-gsup-client.la \</span><br><span style="color: hsl(120, 100%, 40%);">+       $(LIBOSMOCORE_LIBS) \</span><br><span style="color: hsl(120, 100%, 40%);">+ $(LIBOSMOGSM_LIBS) \</span><br><span style="color: hsl(120, 100%, 40%);">+  $(LIBOSMOABIS_LIBS) \</span><br><span style="color: hsl(120, 100%, 40%);">+ $(NULL)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+run:</span><br><span style="color: hsl(120, 100%, 40%);">+       $(srcdir)/run.sh $(srcdir) $(builddir)</span><br><span>diff --git a/tests/mslookup_manual_test/fake_msc.c b/tests/mslookup_manual_test/fake_msc.c</span><br><span>new file mode 100644</span><br><span>index 0000000..93439d2</span><br><span>--- /dev/null</span><br><span>+++ b/tests/mslookup_manual_test/fake_msc.c</span><br><span>@@ -0,0 +1,95 @@</span><br><span style="color: hsl(120, 100%, 40%);">+#include <osmocom/core/select.h></span><br><span style="color: hsl(120, 100%, 40%);">+#include <osmocom/core/application.h></span><br><span style="color: hsl(120, 100%, 40%);">+#include <osmocom/gsupclient/gsup_client.h></span><br><span style="color: hsl(120, 100%, 40%);">+#include <osmocom/hlr/logging.h></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+void *ctx;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+int gsup_client_read_cb(struct osmo_gsup_client *gsupc, struct msgb *msg)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+    struct osmo_gsup_message gsup;</span><br><span style="color: hsl(120, 100%, 40%);">+        if (osmo_gsup_decode(msgb_l2(msg), msgb_l2len(msg), &gsup)) {</span><br><span style="color: hsl(120, 100%, 40%);">+             printf("fake_msc: GSUP rx, but failed to decode\n");</span><br><span style="color: hsl(120, 100%, 40%);">+                return 0;</span><br><span style="color: hsl(120, 100%, 40%);">+     }</span><br><span style="color: hsl(120, 100%, 40%);">+     printf("fake_msc: GSUP rx %s %s (destination_name=%s)\n",</span><br><span style="color: hsl(120, 100%, 40%);">+          gsup.imsi, osmo_gsup_message_type_name(gsup.message_type),</span><br><span style="color: hsl(120, 100%, 40%);">+            osmo_quote_str((const char*)gsup.destination_name, gsup.destination_name_len));</span><br><span style="color: hsl(120, 100%, 40%);">+        return 0;</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%);">+struct osmo_gsup_client *gsupc;</span><br><span style="color: hsl(120, 100%, 40%);">+struct osmo_timer_list do_stuff_timer;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+static void gsup_send(const struct osmo_gsup_message *gsup)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+     printf("fake_msc: GSUP tx %s %s\n", gsup->imsi, osmo_gsup_message_type_name(gsup->message_type));</span><br><span style="color: hsl(120, 100%, 40%);">+     osmo_gsup_client_enc_send(gsupc, gsup);</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%);">+void do_stuff(void *data)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+    static int i = 0;</span><br><span style="color: hsl(120, 100%, 40%);">+     int seq = 0;</span><br><span style="color: hsl(120, 100%, 40%);">+  if (i == seq++) {</span><br><span style="color: hsl(120, 100%, 40%);">+             struct osmo_gsup_message gsup = {</span><br><span style="color: hsl(120, 100%, 40%);">+                     .message_type = OSMO_GSUP_MSGT_SEND_AUTH_INFO_REQUEST,</span><br><span style="color: hsl(120, 100%, 40%);">+                        .imsi = "901700000014701",</span><br><span style="color: hsl(120, 100%, 40%);">+                  .cn_domain = OSMO_GSUP_CN_DOMAIN_CS,</span><br><span style="color: hsl(120, 100%, 40%);">+          };</span><br><span style="color: hsl(120, 100%, 40%);">+            gsup_send(&gsup);</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%);">+   seq += 3;</span><br><span style="color: hsl(120, 100%, 40%);">+     if (i == seq++) {</span><br><span style="color: hsl(120, 100%, 40%);">+             struct osmo_gsup_message gsup = {</span><br><span style="color: hsl(120, 100%, 40%);">+                     .message_type = OSMO_GSUP_MSGT_UPDATE_LOCATION_REQUEST,</span><br><span style="color: hsl(120, 100%, 40%);">+                       .imsi = "901700000014701",</span><br><span style="color: hsl(120, 100%, 40%);">+                  .cn_domain = OSMO_GSUP_CN_DOMAIN_CS,</span><br><span style="color: hsl(120, 100%, 40%);">+          };</span><br><span style="color: hsl(120, 100%, 40%);">+            gsup_send(&gsup);</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%);">+   if (i == seq++) {</span><br><span style="color: hsl(120, 100%, 40%);">+             struct osmo_gsup_message gsup = {</span><br><span style="color: hsl(120, 100%, 40%);">+                     .message_type = OSMO_GSUP_MSGT_INSERT_DATA_RESULT,</span><br><span style="color: hsl(120, 100%, 40%);">+                    .imsi = "901700000014701",</span><br><span style="color: hsl(120, 100%, 40%);">+                  .cn_domain = OSMO_GSUP_CN_DOMAIN_CS,</span><br><span style="color: hsl(120, 100%, 40%);">+          };</span><br><span style="color: hsl(120, 100%, 40%);">+            gsup_send(&gsup);</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%);">+   seq += 60;</span><br><span style="color: hsl(120, 100%, 40%);">+    if (i == seq++) {</span><br><span style="color: hsl(120, 100%, 40%);">+             exit(0);</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%);">+   i++;</span><br><span style="color: hsl(120, 100%, 40%);">+  osmo_timer_schedule(&do_stuff_timer, 1, 0);</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%);">+int main()</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+   ctx = talloc_named_const(NULL, 0, "main");</span><br><span style="color: hsl(120, 100%, 40%);">+  osmo_init_logging2(ctx, NULL);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      log_set_print_filename(osmo_stderr_target, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+        log_set_print_level(osmo_stderr_target, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+   log_set_print_category(osmo_stderr_target, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+        log_set_print_category_hex(osmo_stderr_target, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+    log_set_use_color(osmo_stderr_target, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+     log_set_category_filter(osmo_stderr_target, DMSLOOKUP, true, LOGL_DEBUG);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   struct ipaccess_unit gsup_client_name = {</span><br><span style="color: hsl(120, 100%, 40%);">+             .unit_name = "fake-msc-1",</span><br><span style="color: hsl(120, 100%, 40%);">+          .serno = "fake-msc-1",</span><br><span style="color: hsl(120, 100%, 40%);">+      };</span><br><span style="color: hsl(120, 100%, 40%);">+    gsupc = osmo_gsup_client_create2(ctx, &gsup_client_name, "127.0.0.42", OSMO_GSUP_PORT, gsup_client_read_cb,</span><br><span style="color: hsl(120, 100%, 40%);">+                                      NULL);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     osmo_timer_setup(&do_stuff_timer, do_stuff, NULL);</span><br><span style="color: hsl(120, 100%, 40%);">+        osmo_timer_schedule(&do_stuff_timer, 1, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+       for (;;) {</span><br><span style="color: hsl(120, 100%, 40%);">+            osmo_select_main_ctx(0);</span><br><span style="color: hsl(120, 100%, 40%);">+      }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span>diff --git a/tests/mslookup_manual_test/osmo-hlr-1.cfg b/tests/mslookup_manual_test/osmo-hlr-1.cfg</span><br><span>new file mode 100644</span><br><span>index 0000000..2f33e3e</span><br><span>--- /dev/null</span><br><span>+++ b/tests/mslookup_manual_test/osmo-hlr-1.cfg</span><br><span>@@ -0,0 +1,40 @@</span><br><span style="color: hsl(120, 100%, 40%);">+hlr</span><br><span style="color: hsl(120, 100%, 40%);">+ gsup</span><br><span style="color: hsl(120, 100%, 40%);">+  bind ip 127.0.0.1</span><br><span style="color: hsl(120, 100%, 40%);">+  ipa-name testHLR-1</span><br><span style="color: hsl(120, 100%, 40%);">+ ussd route prefix *0# internal own-msisdn</span><br><span style="color: hsl(120, 100%, 40%);">+ ussd route prefix *1# internal own-imsi</span><br><span style="color: hsl(120, 100%, 40%);">+ ussd route prefix *#100# internal own-msisdn</span><br><span style="color: hsl(120, 100%, 40%);">+ ussd route prefix *#101# internal own-imsi</span><br><span style="color: hsl(120, 100%, 40%);">+ store-imei</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+line vty</span><br><span style="color: hsl(120, 100%, 40%);">+ bind 127.0.0.1</span><br><span style="color: hsl(120, 100%, 40%);">+ctrl</span><br><span style="color: hsl(120, 100%, 40%);">+ bind 127.0.0.1</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+mslookup</span><br><span style="color: hsl(120, 100%, 40%);">+ mdns</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+log stderr</span><br><span style="color: hsl(120, 100%, 40%);">+ logging filter all 1</span><br><span style="color: hsl(120, 100%, 40%);">+ logging color 1</span><br><span style="color: hsl(120, 100%, 40%);">+ logging print level 1</span><br><span style="color: hsl(120, 100%, 40%);">+ logging print category 1</span><br><span style="color: hsl(120, 100%, 40%);">+ logging print category-hex 0</span><br><span style="color: hsl(120, 100%, 40%);">+ logging print file basename last</span><br><span style="color: hsl(120, 100%, 40%);">+ logging print extended-timestamp 1</span><br><span style="color: hsl(120, 100%, 40%);">+ logging level set-all debug</span><br><span style="color: hsl(120, 100%, 40%);">+ logging level linp error</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+log gsmtap 127.0.0.1</span><br><span style="color: hsl(120, 100%, 40%);">+ logging filter all 1</span><br><span style="color: hsl(120, 100%, 40%);">+ logging color 1</span><br><span style="color: hsl(120, 100%, 40%);">+ logging print level 1</span><br><span style="color: hsl(120, 100%, 40%);">+ logging print category 1</span><br><span style="color: hsl(120, 100%, 40%);">+ logging print category-hex 0</span><br><span style="color: hsl(120, 100%, 40%);">+ logging print file basename last</span><br><span style="color: hsl(120, 100%, 40%);">+ logging print extended-timestamp 1</span><br><span style="color: hsl(120, 100%, 40%);">+ logging level set-all debug</span><br><span style="color: hsl(120, 100%, 40%);">+ logging level linp error</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>diff --git a/tests/mslookup_manual_test/osmo-hlr-2.cfg b/tests/mslookup_manual_test/osmo-hlr-2.cfg</span><br><span>new file mode 100644</span><br><span>index 0000000..06ddd4f</span><br><span>--- /dev/null</span><br><span>+++ b/tests/mslookup_manual_test/osmo-hlr-2.cfg</span><br><span>@@ -0,0 +1,40 @@</span><br><span style="color: hsl(120, 100%, 40%);">+hlr</span><br><span style="color: hsl(120, 100%, 40%);">+ gsup</span><br><span style="color: hsl(120, 100%, 40%);">+  bind ip 127.0.0.2</span><br><span style="color: hsl(120, 100%, 40%);">+  ipa-name testHLR-2</span><br><span style="color: hsl(120, 100%, 40%);">+ ussd route prefix *0# internal own-msisdn</span><br><span style="color: hsl(120, 100%, 40%);">+ ussd route prefix *1# internal own-imsi</span><br><span style="color: hsl(120, 100%, 40%);">+ ussd route prefix *#100# internal own-msisdn</span><br><span style="color: hsl(120, 100%, 40%);">+ ussd route prefix *#101# internal own-imsi</span><br><span style="color: hsl(120, 100%, 40%);">+ store-imei</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+line vty</span><br><span style="color: hsl(120, 100%, 40%);">+ bind 127.0.0.2</span><br><span style="color: hsl(120, 100%, 40%);">+ctrl</span><br><span style="color: hsl(120, 100%, 40%);">+ bind 127.0.0.2</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+mslookup</span><br><span style="color: hsl(120, 100%, 40%);">+ mdns</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+log stderr</span><br><span style="color: hsl(120, 100%, 40%);">+ logging filter all 1</span><br><span style="color: hsl(120, 100%, 40%);">+ logging color 1</span><br><span style="color: hsl(120, 100%, 40%);">+ logging print level 1</span><br><span style="color: hsl(120, 100%, 40%);">+ logging print category 1</span><br><span style="color: hsl(120, 100%, 40%);">+ logging print category-hex 0</span><br><span style="color: hsl(120, 100%, 40%);">+ logging print file basename last</span><br><span style="color: hsl(120, 100%, 40%);">+ logging timestamp 1</span><br><span style="color: hsl(120, 100%, 40%);">+ logging level set-all debug</span><br><span style="color: hsl(120, 100%, 40%);">+ logging level linp error</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+log gsmtap 127.0.0.1</span><br><span style="color: hsl(120, 100%, 40%);">+ logging filter all 1</span><br><span style="color: hsl(120, 100%, 40%);">+ logging color 1</span><br><span style="color: hsl(120, 100%, 40%);">+ logging print level 1</span><br><span style="color: hsl(120, 100%, 40%);">+ logging print category 1</span><br><span style="color: hsl(120, 100%, 40%);">+ logging print category-hex 0</span><br><span style="color: hsl(120, 100%, 40%);">+ logging print file basename last</span><br><span style="color: hsl(120, 100%, 40%);">+ logging print extended-timestamp 1</span><br><span style="color: hsl(120, 100%, 40%);">+ logging level set-all debug</span><br><span style="color: hsl(120, 100%, 40%);">+ logging level linp error</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>diff --git a/tests/mslookup_manual_test/run.sh b/tests/mslookup_manual_test/run.sh</span><br><span>new file mode 100755</span><br><span>index 0000000..ea4dabf</span><br><span>--- /dev/null</span><br><span>+++ b/tests/mslookup_manual_test/run.sh</span><br><span>@@ -0,0 +1,22 @@</span><br><span style="color: hsl(120, 100%, 40%);">+#!/bin/sh</span><br><span style="color: hsl(120, 100%, 40%);">+srcdir="${1:-.}"</span><br><span style="color: hsl(120, 100%, 40%);">+builddir="${2:-.}"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+cd "$builddir"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+osmo-hlr -c "$srcdir/osmo-hlr-1.cfg" -l hlr1.db &</span><br><span style="color: hsl(120, 100%, 40%);">+sleep 1</span><br><span style="color: hsl(120, 100%, 40%);">+osmo-hlr -c "$srcdir/osmo-hlr-2.cfg" -l hlr2.db &</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+sleep 1</span><br><span style="color: hsl(120, 100%, 40%);">+osmo_interact_vty.py -H 127.0.0.1 -p 4258 -c 'enable; subscriber imsi 111111 create; subscriber imsi 111111 update msisdn 1'</span><br><span style="color: hsl(120, 100%, 40%);">+osmo_interact_vty.py -H 127.0.0.2 -p 4258 -c 'enable; subscriber imsi 222222 create; subscriber imsi 222222 update msisdn 2'</span><br><span style="color: hsl(120, 100%, 40%);">+sleep 1</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+./fake_msc &</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+echo enter to exit</span><br><span style="color: hsl(120, 100%, 40%);">+read enter_to_exit</span><br><span style="color: hsl(120, 100%, 40%);">+kill %1 %2 %3</span><br><span style="color: hsl(120, 100%, 40%);">+killall osmo-hlr</span><br><span style="color: hsl(120, 100%, 40%);">+killall fake_msc</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-hlr/+/16210">change 16210</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/+/16210"/><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: I80473528c9524263b60fc3ba37ba246c80bfe452 </div>
<div style="display:none"> Gerrit-Change-Number: 16210 </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-CC: Jenkins Builder </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>