<p>laforge has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23570">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">SGSN: Some initial SNS tests for IP-SNS in OsmoSGSN<br><br>Change-Id: I821d998704756fa30278f41d0371051db9d3fc58<br>---<br>M library/RAW_NS.ttcnpp<br>M pcu/osmo-pcu-sns.cfg<br>M sgsn/SGSN_Tests_NS.ttcn<br>A sgsn/SGSN_Tests_SNS.cfg<br>A sgsn/osmo-sgsn.sns.cfg<br>5 files changed, 261 insertions(+), 8 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/70/23570/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/library/RAW_NS.ttcnpp b/library/RAW_NS.ttcnpp</span><br><span>index 76ac0a2..ff73348 100644</span><br><span>--- a/library/RAW_NS.ttcnpp</span><br><span>+++ b/library/RAW_NS.ttcnpp</span><br><span>@@ -34,6 +34,7 @@</span><br><span> #endif</span><br><span>      var NSConfiguration g_nsconfig;</span><br><span>      timer g_T_guard;</span><br><span style="color: hsl(120, 100%, 40%);">+      var boolean g_handle_rx_alive := false;</span><br><span> }</span><br><span> </span><br><span> public altstep as_Tguard() runs on RAW_NS_CT {</span><br><span>@@ -99,6 +100,7 @@</span><br><span>      var default d := activate(ax_rx_fail_on_any_ns());</span><br><span>   alt {</span><br><span>        [] NSCP[idx].receive(PDU_NS: exp_rx) -> value nrf { }</span><br><span style="color: hsl(120, 100%, 40%);">+      [g_handle_rx_alive] as_rx_alive_tx_ack();</span><br><span>    }</span><br><span>    deactivate(d);</span><br><span>       return nrf;</span><br><span>@@ -109,6 +111,7 @@</span><br><span>    NSCP[idx].send(t_NS_ALIVE);</span><br><span>  alt {</span><br><span>        [] NSCP[idx].receive(t_NS_ALIVE_ACK);</span><br><span style="color: hsl(120, 100%, 40%);">+ [g_handle_rx_alive] as_rx_alive_tx_ack();</span><br><span>    [] NSCP[idx].receive { repeat; }</span><br><span>     }</span><br><span> }</span><br><span>@@ -122,6 +125,7 @@</span><br><span>         [] NSCP[idx].receive(t_NS_ALIVE_ACK) {</span><br><span>               setverdict(fail, "Received unexpected NS-ALIVE ACK");</span><br><span>              }</span><br><span style="color: hsl(120, 100%, 40%);">+     [g_handle_rx_alive] as_rx_alive_tx_ack();</span><br><span>    [] NSCP[idx].receive { repeat; }</span><br><span>     [] T.timeout {</span><br><span>               setverdict(pass);</span><br><span>@@ -138,6 +142,7 @@</span><br><span>      [] NSCP[idx].receive(ts_NS_RESET_ACK(g_nsconfig.nsvc[idx].nsvci, g_nsconfig.nsei)) {</span><br><span>                 setverdict(pass);</span><br><span>            }</span><br><span style="color: hsl(120, 100%, 40%);">+     [g_handle_rx_alive] as_rx_alive_tx_ack();</span><br><span>    [] NSCP[idx].receive { repeat; }</span><br><span>     [] T.timeout {</span><br><span>               setverdict(fail, "Failed to receive a RESET ACK");</span><br><span>@@ -150,6 +155,7 @@</span><br><span>   NSCP[idx].send(ts_NS_BLOCK(cause, g_nsconfig.nsvc[idx].nsvci));</span><br><span>      alt {</span><br><span>        [] NSCP[idx].receive(tr_NS_BLOCK_ACK(g_nsconfig.nsvc[idx].nsvci));</span><br><span style="color: hsl(120, 100%, 40%);">+    [g_handle_rx_alive] as_rx_alive_tx_ack();</span><br><span>    [] NSCP[idx].receive { repeat; }</span><br><span>     }</span><br><span> }</span><br><span>@@ -159,6 +165,7 @@</span><br><span>         NSCP[idx].send(t_NS_UNBLOCK);</span><br><span>        alt {</span><br><span>        [] NSCP[idx].receive(t_NS_UNBLOCK_ACK);</span><br><span style="color: hsl(120, 100%, 40%);">+       [g_handle_rx_alive] as_rx_alive_tx_ack();</span><br><span>    [] NSCP[idx].receive { repeat; }</span><br><span>     }</span><br><span> }</span><br><span>@@ -198,6 +205,7 @@</span><br><span>         [not exp_ack] T.timeout {</span><br><span>            setverdict(pass);</span><br><span>            }</span><br><span style="color: hsl(120, 100%, 40%);">+     [g_handle_rx_alive] as_rx_alive_tx_ack();</span><br><span>    [] NSCP[idx].receive { repeat; }</span><br><span>     }</span><br><span> }</span><br><span>@@ -298,22 +306,23 @@</span><br><span> }</span><br><span> </span><br><span> /* perform outbound SNS-SIZE procedure */</span><br><span style="color: hsl(0, 100%, 40%);">-function f_outgoing_sns_size(template (omit) NsCause cause := omit, integer idx:= 0)</span><br><span style="color: hsl(120, 100%, 40%);">+function f_outgoing_sns_size(template (omit) NsCause cause := omit, integer max_nsvcs := 1,</span><br><span style="color: hsl(120, 100%, 40%);">+                      integer num_ip := 1, integer idx:= 0)</span><br><span> runs on RAW_NS_CT {</span><br><span>    log("f_outgoing_sns_size(idx=", idx, ")");</span><br><span>       var PDU_NS rx;</span><br><span>       var NSVCConfiguration nsvc_cfg := g_nsconfig.nsvc[idx];</span><br><span> </span><br><span>  if (nsvc_cfg.provider.ip.address_family == AF_INET) {</span><br><span style="color: hsl(0, 100%, 40%);">-           NSCP[idx].send(ts_SNS_SIZE(g_nsconfig.nsei, rst_flag := true, max_nsvcs := 1,</span><br><span style="color: hsl(0, 100%, 40%);">-                                                           num_v4 := 1, num_v6 := omit)</span><br><span style="color: hsl(120, 100%, 40%);">+          NSCP[idx].send(ts_SNS_SIZE(g_nsconfig.nsei, rst_flag := true, max_nsvcs := max_nsvcs,</span><br><span style="color: hsl(120, 100%, 40%);">+                                                         num_v4 := num_ip, num_v6 := omit)</span><br><span>                                    );</span><br><span>   } else {</span><br><span style="color: hsl(0, 100%, 40%);">-                NSCP[idx].send(ts_SNS_SIZE(g_nsconfig.nsei, rst_flag := true, max_nsvcs := 1,</span><br><span style="color: hsl(0, 100%, 40%);">-                                                           num_v4 := omit, num_v6 := 1)</span><br><span style="color: hsl(120, 100%, 40%);">+          NSCP[idx].send(ts_SNS_SIZE(g_nsconfig.nsei, rst_flag := true, max_nsvcs := max_nsvcs,</span><br><span style="color: hsl(120, 100%, 40%);">+                                                         num_v4 := omit, num_v6 := num_ip)</span><br><span>                                    );</span><br><span>   }</span><br><span style="color: hsl(0, 100%, 40%);">-       /* expect one single SNS-SIZE with RESET flag; 4x v4 EP; no v6 EP */</span><br><span style="color: hsl(120, 100%, 40%);">+  /* expect one single SNS-SIZE */</span><br><span>     rx := f_ns_exp(tr_SNS_SIZE_ACK(g_nsconfig.nsei, cause), idx);</span><br><span> }</span><br><span> </span><br><span>diff --git a/pcu/osmo-pcu-sns.cfg b/pcu/osmo-pcu-sns.cfg</span><br><span>index a8a26bd..cfe4ccf 100644</span><br><span>--- a/pcu/osmo-pcu-sns.cfg</span><br><span>+++ b/pcu/osmo-pcu-sns.cfg</span><br><span>@@ -23,3 +23,5 @@</span><br><span>  gamma 0</span><br><span>  pcu-socket /tmp/pcu_bts</span><br><span>  gb-dialect ip-sns</span><br><span style="color: hsl(120, 100%, 40%);">+ns</span><br><span style="color: hsl(120, 100%, 40%);">+ timer tns-test 10</span><br><span>diff --git a/sgsn/SGSN_Tests_NS.ttcn b/sgsn/SGSN_Tests_NS.ttcn</span><br><span>index dd68b05..e5d012f 100644</span><br><span>--- a/sgsn/SGSN_Tests_NS.ttcn</span><br><span>+++ b/sgsn/SGSN_Tests_NS.ttcn</span><br><span>@@ -47,9 +47,74 @@</span><br><span>  f_clean_ns_codec();</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* perform outgoing SNS-SIZE procedure */</span><br><span style="color: hsl(120, 100%, 40%);">+testcase TC_SNS_size() runs on RAW_Test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+ f_init_vty();</span><br><span style="color: hsl(120, 100%, 40%);">+ f_init_ns_codec(mp_nsconfig[0], guard_secs := 10.0);</span><br><span style="color: hsl(120, 100%, 40%);">+  g_handle_rx_alive := true;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  f_outgoing_sns_size();</span><br><span style="color: hsl(120, 100%, 40%);">+        setverdict(pass);</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%);">+/* outgoing SNS-SIZE procedure with more BSS side IPs than SGSN can handle */</span><br><span style="color: hsl(120, 100%, 40%);">+testcase TC_SNS_size_too_big() runs on RAW_Test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+   f_init_vty();</span><br><span style="color: hsl(120, 100%, 40%);">+ f_init_ns_codec(mp_nsconfig[0], guard_secs := 10.0);</span><br><span style="color: hsl(120, 100%, 40%);">+  g_handle_rx_alive := true;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  f_outgoing_sns_size(cause := NS_CAUSE_INVALID_NR_OF_NSVCS, num_ip := 100);</span><br><span style="color: hsl(120, 100%, 40%);">+    setverdict(pass);</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%);">+/* perform outgoing SNS-CONFIG procedure (for BSS) */</span><br><span style="color: hsl(120, 100%, 40%);">+testcase TC_SNS_config_bss() runs on RAW_Test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+     f_init_vty();</span><br><span style="color: hsl(120, 100%, 40%);">+ f_init_ns_codec(mp_nsconfig[0], guard_secs := 10.0);</span><br><span style="color: hsl(120, 100%, 40%);">+  g_handle_rx_alive := true;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  f_outgoing_sns_size();</span><br><span style="color: hsl(120, 100%, 40%);">+        f_outgoing_sns_config();</span><br><span style="color: hsl(120, 100%, 40%);">+      setverdict(pass);</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%);">+/* perform incoming SNS-CONFIG procedure (for SGSN) */</span><br><span style="color: hsl(120, 100%, 40%);">+testcase TC_SNS_config_sgsn() runs on RAW_Test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+   f_init_vty();</span><br><span style="color: hsl(120, 100%, 40%);">+ f_init_ns_codec(mp_nsconfig[0], guard_secs := 10.0);</span><br><span style="color: hsl(120, 100%, 40%);">+  g_handle_rx_alive := true;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  f_outgoing_sns_size();</span><br><span style="color: hsl(120, 100%, 40%);">+        f_outgoing_sns_config();</span><br><span style="color: hsl(120, 100%, 40%);">+      f_incoming_sns_config();</span><br><span style="color: hsl(120, 100%, 40%);">+      setverdict(pass);</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%);">+/* perform full SNS handshake and then outbound NS-ALIVE */</span><br><span style="color: hsl(120, 100%, 40%);">+testcase TC_SNS_and_alive() runs on RAW_Test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+        f_init_vty();</span><br><span style="color: hsl(120, 100%, 40%);">+ f_init_ns_codec(mp_nsconfig[0], guard_secs := 120.0);</span><br><span style="color: hsl(120, 100%, 40%);">+ g_handle_rx_alive := true;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  f_outgoing_sns_size();</span><br><span style="color: hsl(120, 100%, 40%);">+        f_outgoing_sns_config();</span><br><span style="color: hsl(120, 100%, 40%);">+      f_incoming_sns_config();</span><br><span style="color: hsl(120, 100%, 40%);">+      f_outgoing_ns_alive();</span><br><span style="color: hsl(120, 100%, 40%);">+        setverdict(pass);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> control {</span><br><span style="color: hsl(0, 100%, 40%);">-     execute( TC_NS_connect_alive() );</span><br><span style="color: hsl(0, 100%, 40%);">-       execute( TC_NS_connect_reset() );</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   if (mp_nsconfig[0].handle_sns) {</span><br><span style="color: hsl(120, 100%, 40%);">+              execute( TC_SNS_size() );</span><br><span style="color: hsl(120, 100%, 40%);">+             execute( TC_SNS_size_too_big() );</span><br><span style="color: hsl(120, 100%, 40%);">+             execute( TC_SNS_config_bss() );</span><br><span style="color: hsl(120, 100%, 40%);">+               execute( TC_SNS_config_sgsn() );</span><br><span style="color: hsl(120, 100%, 40%);">+              execute( TC_SNS_and_alive() );</span><br><span style="color: hsl(120, 100%, 40%);">+        } else {</span><br><span style="color: hsl(120, 100%, 40%);">+              execute( TC_NS_connect_alive() );</span><br><span style="color: hsl(120, 100%, 40%);">+             execute( TC_NS_connect_reset() );</span><br><span style="color: hsl(120, 100%, 40%);">+     }</span><br><span> }</span><br><span> </span><br><span> }</span><br><span>diff --git a/sgsn/SGSN_Tests_SNS.cfg b/sgsn/SGSN_Tests_SNS.cfg</span><br><span>new file mode 100644</span><br><span>index 0000000..d4dcea0</span><br><span>--- /dev/null</span><br><span>+++ b/sgsn/SGSN_Tests_SNS.cfg</span><br><span>@@ -0,0 +1,72 @@</span><br><span style="color: hsl(120, 100%, 40%);">+[ORDERED_INCLUDE]</span><br><span style="color: hsl(120, 100%, 40%);">+# Common configuration, shared between test suites</span><br><span style="color: hsl(120, 100%, 40%);">+"../Common.cfg"</span><br><span style="color: hsl(120, 100%, 40%);">+# testsuite specific configuration, not expected to change</span><br><span style="color: hsl(120, 100%, 40%);">+"./SGSN_Tests.default"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Local configuration below</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+[LOGGING]</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+[TESTPORT_PARAMETERS]</span><br><span style="color: hsl(120, 100%, 40%);">+*.SGSNVTY.CTRL_HOSTNAME := "127.0.0.10"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+[MODULE_PARAMETERS]</span><br><span style="color: hsl(120, 100%, 40%);">+SGSN_Tests.mp_nsconfig := {</span><br><span style="color: hsl(120, 100%, 40%);">+       {</span><br><span style="color: hsl(120, 100%, 40%);">+             handle_sns := true,</span><br><span style="color: hsl(120, 100%, 40%);">+           nsvc := {</span><br><span style="color: hsl(120, 100%, 40%);">+                     {</span><br><span style="color: hsl(120, 100%, 40%);">+                             provider := {</span><br><span style="color: hsl(120, 100%, 40%);">+                                 ip := {</span><br><span style="color: hsl(120, 100%, 40%);">+                                               address_family := AF_INET,</span><br><span style="color: hsl(120, 100%, 40%);">+                                            local_ip := "127.0.0.103",</span><br><span style="color: hsl(120, 100%, 40%);">+                                          remote_ip := "127.0.0.10"</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%);">+                     }</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%);">+    {</span><br><span style="color: hsl(120, 100%, 40%);">+             handle_sns := true,</span><br><span style="color: hsl(120, 100%, 40%);">+           nsvc := {</span><br><span style="color: hsl(120, 100%, 40%);">+                     {</span><br><span style="color: hsl(120, 100%, 40%);">+                             provider := {</span><br><span style="color: hsl(120, 100%, 40%);">+                                 ip := {</span><br><span style="color: hsl(120, 100%, 40%);">+                                               address_family := AF_INET,</span><br><span style="color: hsl(120, 100%, 40%);">+                                            local_ip := "127.0.0.103",</span><br><span style="color: hsl(120, 100%, 40%);">+                                          remote_ip := "127.0.0.10"</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%);">+                     }</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%);">+    {</span><br><span style="color: hsl(120, 100%, 40%);">+             handle_sns := true,</span><br><span style="color: hsl(120, 100%, 40%);">+           nsvc := {</span><br><span style="color: hsl(120, 100%, 40%);">+                     {</span><br><span style="color: hsl(120, 100%, 40%);">+                             provider := {</span><br><span style="color: hsl(120, 100%, 40%);">+                                 ip := {</span><br><span style="color: hsl(120, 100%, 40%);">+                                               address_family := AF_INET,</span><br><span style="color: hsl(120, 100%, 40%);">+                                            local_ip := "127.0.0.103",</span><br><span style="color: hsl(120, 100%, 40%);">+                                          remote_ip := "127.0.0.10"</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%);">+                     }</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%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+SGSN_Tests.mp_ranap_cfg := {</span><br><span style="color: hsl(120, 100%, 40%);">+    {</span><br><span style="color: hsl(120, 100%, 40%);">+             sctp_addr := { 23908, "127.0.0.103", 2905, "127.0.0.200" }</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%);">+SGSN_Tests.mp_hlr_ip := "127.0.0.103"</span><br><span style="color: hsl(120, 100%, 40%);">+SGSN_Tests.mp_ggsn_ip := "127.0.0.103"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+[MAIN_CONTROLLER]</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+[EXECUTE]</span><br><span style="color: hsl(120, 100%, 40%);">+SGSN_Tests.control</span><br><span style="color: hsl(120, 100%, 40%);">+SGSN_Tests_Iu.control</span><br><span style="color: hsl(120, 100%, 40%);">+SGSN_Tests_NS.control</span><br><span>diff --git a/sgsn/osmo-sgsn.sns.cfg b/sgsn/osmo-sgsn.sns.cfg</span><br><span>new file mode 100644</span><br><span>index 0000000..69f5147</span><br><span>--- /dev/null</span><br><span>+++ b/sgsn/osmo-sgsn.sns.cfg</span><br><span>@@ -0,0 +1,105 @@</span><br><span style="color: hsl(120, 100%, 40%);">+!</span><br><span style="color: hsl(120, 100%, 40%);">+! OsmoSGSN (1.2.0.46-e77e-dirty) configuration saved from vty</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%);">+log gsmtap 127.0.0.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 filter all 1</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 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 timestamp 1</span><br><span style="color: hsl(120, 100%, 40%);">+ logging print extended-timestamp 1</span><br><span style="color: hsl(120, 100%, 40%);">+ logging print file 1</span><br><span style="color: hsl(120, 100%, 40%);">+ logging level all everything</span><br><span style="color: hsl(120, 100%, 40%);">+ logging level mm debug</span><br><span style="color: hsl(120, 100%, 40%);">+ logging level pag notice</span><br><span style="color: hsl(120, 100%, 40%);">+ logging level meas notice</span><br><span style="color: hsl(120, 100%, 40%);">+ logging level ref notice</span><br><span style="color: hsl(120, 100%, 40%);">+ logging level gprs debug</span><br><span style="color: hsl(120, 100%, 40%);">+ logging level lns debug</span><br><span style="color: hsl(120, 100%, 40%);">+ logging level lbssgp info</span><br><span style="color: hsl(120, 100%, 40%);">+ logging level llc debug</span><br><span style="color: hsl(120, 100%, 40%);">+ logging level sndcp debug</span><br><span style="color: hsl(120, 100%, 40%);">+ logging level slhc notice</span><br><span style="color: hsl(120, 100%, 40%);">+ logging level ranap info</span><br><span style="color: hsl(120, 100%, 40%);">+ logging level sua info</span><br><span style="color: hsl(120, 100%, 40%);">+ logging level v42bis info</span><br><span style="color: hsl(120, 100%, 40%);">+ logging level lglobal info</span><br><span style="color: hsl(120, 100%, 40%);">+ logging level llapd notice</span><br><span style="color: hsl(120, 100%, 40%);">+ logging level linp notice</span><br><span style="color: hsl(120, 100%, 40%);">+ logging level lmux notice</span><br><span style="color: hsl(120, 100%, 40%);">+ logging level lmi notice</span><br><span style="color: hsl(120, 100%, 40%);">+ logging level lmib notice</span><br><span style="color: hsl(120, 100%, 40%);">+ logging level lsms notice</span><br><span style="color: hsl(120, 100%, 40%);">+ logging level lctrl notice</span><br><span style="color: hsl(120, 100%, 40%);">+ logging level lgtp debug</span><br><span style="color: hsl(120, 100%, 40%);">+ logging level lstats notice</span><br><span style="color: hsl(120, 100%, 40%);">+ logging level lgsup debug</span><br><span style="color: hsl(120, 100%, 40%);">+ logging level loap notice</span><br><span style="color: hsl(120, 100%, 40%);">+ logging level lss7 notice</span><br><span style="color: hsl(120, 100%, 40%);">+ logging level lsccp info</span><br><span style="color: hsl(120, 100%, 40%);">+ logging level lsua notice</span><br><span style="color: hsl(120, 100%, 40%);">+ logging level lm3ua notice</span><br><span style="color: hsl(120, 100%, 40%);">+ logging level lmgcp notice</span><br><span style="color: hsl(120, 100%, 40%);">+!</span><br><span style="color: hsl(120, 100%, 40%);">+stats interval 5</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%);">+ no login</span><br><span style="color: hsl(120, 100%, 40%);">+ bind 127.0.0.10</span><br><span style="color: hsl(120, 100%, 40%);">+ctrl</span><br><span style="color: hsl(120, 100%, 40%);">+ bind 127.0.0.10</span><br><span style="color: hsl(120, 100%, 40%);">+!</span><br><span style="color: hsl(120, 100%, 40%);">+cs7 instance 0</span><br><span style="color: hsl(120, 100%, 40%);">+ point-code 0.23.4</span><br><span style="color: hsl(120, 100%, 40%);">+ asp asp-clnt-OsmoSGSN-A 2905 0 m3ua</span><br><span style="color: hsl(120, 100%, 40%);">+  remote-ip 127.0.0.200</span><br><span style="color: hsl(120, 100%, 40%);">+ as as-clnt-OsmoSGSN-A m3ua</span><br><span style="color: hsl(120, 100%, 40%);">+  asp asp-clnt-OsmoSGSN-A</span><br><span style="color: hsl(120, 100%, 40%);">+  routing-key 3 0.23.4</span><br><span style="color: hsl(120, 100%, 40%);">+ns</span><br><span style="color: hsl(120, 100%, 40%);">+ timer tns-block 3</span><br><span style="color: hsl(120, 100%, 40%);">+ timer tns-block-retries 3</span><br><span style="color: hsl(120, 100%, 40%);">+ timer tns-reset 3</span><br><span style="color: hsl(120, 100%, 40%);">+ timer tns-reset-retries 3</span><br><span style="color: hsl(120, 100%, 40%);">+ timer tns-test 30</span><br><span style="color: hsl(120, 100%, 40%);">+ timer tns-alive 3</span><br><span style="color: hsl(120, 100%, 40%);">+ timer tns-alive-retries 10</span><br><span style="color: hsl(120, 100%, 40%);">+ bind udp local10</span><br><span style="color: hsl(120, 100%, 40%);">+  listen 127.0.0.10 23000</span><br><span style="color: hsl(120, 100%, 40%);">+  accept-dynamic-ip-sns</span><br><span style="color: hsl(120, 100%, 40%);">+ bind udp local10_1</span><br><span style="color: hsl(120, 100%, 40%);">+  listen 127.0.0.10 23001</span><br><span style="color: hsl(120, 100%, 40%);">+ ip-sns-default bind local10</span><br><span style="color: hsl(120, 100%, 40%);">+ !ip-sns-default bind local10_1</span><br><span style="color: hsl(120, 100%, 40%);">+bssgp</span><br><span style="color: hsl(120, 100%, 40%);">+sgsn</span><br><span style="color: hsl(120, 100%, 40%);">+ gtp local-ip 127.0.0.10</span><br><span style="color: hsl(120, 100%, 40%);">+ ggsn 0 remote-ip 127.0.0.103</span><br><span style="color: hsl(120, 100%, 40%);">+ ggsn 0 gtp-version 1</span><br><span style="color: hsl(120, 100%, 40%);">+ gsup remote-ip 127.0.0.103</span><br><span style="color: hsl(120, 100%, 40%);">+ gsup remote-port 4222</span><br><span style="color: hsl(120, 100%, 40%);">+ auth-policy remote</span><br><span style="color: hsl(120, 100%, 40%);">+ gsup oap-id 0</span><br><span style="color: hsl(120, 100%, 40%);">+ ! apn * ggsn 0</span><br><span style="color: hsl(120, 100%, 40%);">+ no cdr filename</span><br><span style="color: hsl(120, 100%, 40%);">+ no cdr trap</span><br><span style="color: hsl(120, 100%, 40%);">+ cdr interval 600</span><br><span style="color: hsl(120, 100%, 40%);">+ timer t3312 600</span><br><span style="color: hsl(120, 100%, 40%);">+ timer t3322 6</span><br><span style="color: hsl(120, 100%, 40%);">+ timer t3350 6</span><br><span style="color: hsl(120, 100%, 40%);">+ timer t3360 6</span><br><span style="color: hsl(120, 100%, 40%);">+ timer t3370 6</span><br><span style="color: hsl(120, 100%, 40%);">+ timer t3313 30</span><br><span style="color: hsl(120, 100%, 40%);">+ timer t3314 44</span><br><span style="color: hsl(120, 100%, 40%);">+ timer t3316 44</span><br><span style="color: hsl(120, 100%, 40%);">+ timer t3385 8</span><br><span style="color: hsl(120, 100%, 40%);">+ timer t3386 8</span><br><span style="color: hsl(120, 100%, 40%);">+ timer t3395 8</span><br><span style="color: hsl(120, 100%, 40%);">+ timer t3397 8</span><br><span style="color: hsl(120, 100%, 40%);">+ no compression rfc1144</span><br><span style="color: hsl(120, 100%, 40%);">+ no compression v42bis</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23570">change 23570</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-ttcn3-hacks/+/23570"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-ttcn3-hacks </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I821d998704756fa30278f41d0371051db9d3fc58 </div>
<div style="display:none"> Gerrit-Change-Number: 23570 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>