<p>laforge has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21308">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">gbproxy: Add paging for all situations of unknown identity<br><br>CS-PAGING and PS-PAGING for unknown RAC, LAC and BVCI on either PTP or SIG BVC.<br><br>Change-Id: I9874d54939daa28201b82139c9d8e3022432e621<br>---<br>M gbproxy/GBProxy_Tests.ttcn<br>1 file changed, 300 insertions(+), 0 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/08/21308/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/gbproxy/GBProxy_Tests.ttcn b/gbproxy/GBProxy_Tests.ttcn</span><br><span>index 5e4555d..2ce85a4 100644</span><br><span>--- a/gbproxy/GBProxy_Tests.ttcn</span><br><span>+++ b/gbproxy/GBProxy_Tests.ttcn</span><br><span>@@ -1014,6 +1014,34 @@</span><br><span>         }</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* send a PS-PAGING but don't expect it to show up on any PTP or SIG BVC */</span><br><span style="color: hsl(120, 100%, 40%);">+private function f_send_paging_ps_exp_no_bss(template (value) Paging_Field4 p4, integer sgsn_idx := 0,</span><br><span style="color: hsl(120, 100%, 40%);">+                                         boolean use_sig := false)</span><br><span style="color: hsl(120, 100%, 40%);">+runs on BSSGP_ConnHdlr {</span><br><span style="color: hsl(120, 100%, 40%);">+     var template (present) PDU_BSSGP exp_rx;</span><br><span style="color: hsl(120, 100%, 40%);">+      exp_rx := f_send_paging_ps(p4, sgsn_idx, use_sig);</span><br><span style="color: hsl(120, 100%, 40%);">+    /* Expect paging to propagate to no BSS */</span><br><span style="color: hsl(120, 100%, 40%);">+    timer T := 2.0;</span><br><span style="color: hsl(120, 100%, 40%);">+       T.start;</span><br><span style="color: hsl(120, 100%, 40%);">+      alt {</span><br><span style="color: hsl(120, 100%, 40%);">+ [] any from PCU.receive(exp_rx) {</span><br><span style="color: hsl(120, 100%, 40%);">+             setverdict(fail, "Paging received on unexpected BVC");</span><br><span style="color: hsl(120, 100%, 40%);">+              }</span><br><span style="color: hsl(120, 100%, 40%);">+     [] any from PCU_SIG.receive(exp_rx) {</span><br><span style="color: hsl(120, 100%, 40%);">+         setverdict(fail, "Paging received on unexpected BVC");</span><br><span style="color: hsl(120, 100%, 40%);">+              }</span><br><span style="color: hsl(120, 100%, 40%);">+     [] any from PCU.receive(PDU_BSSGP:{pDU_BSSGP_PAGING_PS:=?}) {</span><br><span style="color: hsl(120, 100%, 40%);">+         setverdict(fail, "Different Paging received on PTP BVC");</span><br><span style="color: hsl(120, 100%, 40%);">+           }</span><br><span style="color: hsl(120, 100%, 40%);">+     [] any from PCU_SIG.receive(PDU_BSSGP:{pDU_BSSGP_PAGING_PS:=?}) {</span><br><span style="color: hsl(120, 100%, 40%);">+             setverdict(fail, "Different Paging received on SIGNALING BVC");</span><br><span style="color: hsl(120, 100%, 40%);">+             }</span><br><span style="color: hsl(120, 100%, 40%);">+     [] T.timeout {</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%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> private function f_TC_paging_ps_ptp_bss(charstring id) runs on BSSGP_ConnHdlr</span><br><span> {</span><br><span>         /* doesn't really make sense: Sending to a single BVCI means the message ends up</span><br><span>@@ -1048,6 +1076,26 @@</span><br><span>        f_cleanup();</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* PS-PAGING on PTP-BVC for unknown Location Area */</span><br><span style="color: hsl(120, 100%, 40%);">+private function f_TC_paging_ps_ptp_lac_unknown(charstring id) runs on BSSGP_ConnHdlr</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+ var GSM_Types.LocationAreaIdentification unknown_la := {</span><br><span style="color: hsl(120, 100%, 40%);">+              mcc_mnc := '567F99'H,</span><br><span style="color: hsl(120, 100%, 40%);">+         lac := 33333</span><br><span style="color: hsl(120, 100%, 40%);">+  };</span><br><span style="color: hsl(120, 100%, 40%);">+    /* as it's sent on the PTP BVC, we expect it to pass even for unknown LAC */</span><br><span style="color: hsl(120, 100%, 40%);">+      f_send_paging_ps_exp_one_bss(ts_BssgpP4LAC(unknown_la), 0, false, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+testcase TC_paging_ps_ptp_lac_unknown() runs on test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+   var BSSGP_ConnHdlr vc_conn;</span><br><span style="color: hsl(120, 100%, 40%);">+   f_init();</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   vc_conn := f_start_handler(refers(f_TC_paging_ps_ptp_lac_unknown), testcasename(), g_pcu, g_sgsn, 11);</span><br><span style="color: hsl(120, 100%, 40%);">+        vc_conn.done;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       f_cleanup();</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> /* PS-PAGING on PTP-BVC for Routeing Area */</span><br><span> private function f_TC_paging_ps_ptp_rac(charstring id) runs on BSSGP_ConnHdlr</span><br><span> {</span><br><span>@@ -1065,6 +1113,29 @@</span><br><span>     f_cleanup();</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* PS-PAGING on PTP-BVC for unknown Routeing Area */</span><br><span style="color: hsl(120, 100%, 40%);">+private function f_TC_paging_ps_ptp_rac_unknown(charstring id) runs on BSSGP_ConnHdlr</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+ var RoutingAreaIdentification unknown_ra := {</span><br><span style="color: hsl(120, 100%, 40%);">+         lai := {</span><br><span style="color: hsl(120, 100%, 40%);">+                      mcc_mnc := '567F99'H,</span><br><span style="color: hsl(120, 100%, 40%);">+                 lac := 33333</span><br><span style="color: hsl(120, 100%, 40%);">+          },</span><br><span style="color: hsl(120, 100%, 40%);">+            rac := 254</span><br><span style="color: hsl(120, 100%, 40%);">+    };</span><br><span style="color: hsl(120, 100%, 40%);">+    /* as it's sent on the PTP BVC, we expect it to pass even for unknown RAC */</span><br><span style="color: hsl(120, 100%, 40%);">+      f_send_paging_ps_exp_one_bss(ts_BssgpP4RAC(unknown_ra), 0, false, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+testcase TC_paging_ps_ptp_rac_unknown() runs on test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+   var BSSGP_ConnHdlr vc_conn;</span><br><span style="color: hsl(120, 100%, 40%);">+   f_init();</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   vc_conn := f_start_handler(refers(f_TC_paging_ps_ptp_rac_unknown), testcasename(), g_pcu, g_sgsn, 11);</span><br><span style="color: hsl(120, 100%, 40%);">+        vc_conn.done;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       f_cleanup();</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> /* PS-PAGING on PTP-BVC for BVCI (one cell) */</span><br><span> private function f_TC_paging_ps_ptp_bvci(charstring id) runs on BSSGP_ConnHdlr</span><br><span> {</span><br><span>@@ -1081,6 +1152,22 @@</span><br><span>  f_cleanup();</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* PS-PAGING on PTP-BVC for unknown BVCI */</span><br><span style="color: hsl(120, 100%, 40%);">+private function f_TC_paging_ps_ptp_bvci_unknown(charstring id) runs on BSSGP_ConnHdlr</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+ /* as it's sent on the PTP BVC, we expect it to pass even for unknown BVCI */</span><br><span style="color: hsl(120, 100%, 40%);">+     f_send_paging_ps_exp_one_bss(ts_BssgpP4Bvci(33333), 0, false, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+testcase TC_paging_ps_ptp_bvci_unknown() runs on test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+      var BSSGP_ConnHdlr vc_conn;</span><br><span style="color: hsl(120, 100%, 40%);">+   f_init();</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   vc_conn := f_start_handler(refers(f_TC_paging_ps_ptp_bvci_unknown), testcasename(), g_pcu, g_sgsn, 11);</span><br><span style="color: hsl(120, 100%, 40%);">+       vc_conn.done;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       f_cleanup();</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> /* altstep for expecting BSSGP PDU on signaling BVC of given pcu_idx + storing in 'roi' */</span><br><span> private altstep as_paging_sig_pcu(integer pcu_idx, template (present) PDU_BSSGP exp_rx, inout ro_integer roi)</span><br><span> runs on BSSGP_ConnHdlr {</span><br><span>@@ -1168,6 +1255,25 @@</span><br><span>        f_cleanup();</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* PS-PAGING on SIG-BVC for unknown Location Area */</span><br><span style="color: hsl(120, 100%, 40%);">+private function f_TC_paging_ps_sig_lac_unknown(charstring id) runs on BSSGP_ConnHdlr</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+ var GSM_Types.LocationAreaIdentification unknown_la := {</span><br><span style="color: hsl(120, 100%, 40%);">+              mcc_mnc := '567F99'H,</span><br><span style="color: hsl(120, 100%, 40%);">+         lac := 33333</span><br><span style="color: hsl(120, 100%, 40%);">+  };</span><br><span style="color: hsl(120, 100%, 40%);">+    f_send_paging_ps_exp_no_bss(ts_BssgpP4LAC(unknown_la), 0, true);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+testcase TC_paging_ps_sig_lac_unknown() runs on test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+        var BSSGP_ConnHdlr vc_conn;</span><br><span style="color: hsl(120, 100%, 40%);">+   f_init();</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   vc_conn := f_start_handler(refers(f_TC_paging_ps_sig_lac_unknown), testcasename(), g_pcu, g_sgsn, 11);</span><br><span style="color: hsl(120, 100%, 40%);">+        vc_conn.done;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       f_cleanup();</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> /* PS-PAGING on SIG-BVC for Routeing Area */</span><br><span> private function f_TC_paging_ps_sig_rac(charstring id) runs on BSSGP_ConnHdlr</span><br><span> {</span><br><span>@@ -1184,6 +1290,28 @@</span><br><span>     f_cleanup();</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* PS-PAGING on SIG-BVC for unknown Routeing Area */</span><br><span style="color: hsl(120, 100%, 40%);">+private function f_TC_paging_ps_sig_rac_unknown(charstring id) runs on BSSGP_ConnHdlr</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+ var RoutingAreaIdentification unknown_ra := {</span><br><span style="color: hsl(120, 100%, 40%);">+         lai := {</span><br><span style="color: hsl(120, 100%, 40%);">+                      mcc_mnc := '567F99'H,</span><br><span style="color: hsl(120, 100%, 40%);">+                 lac := 33333</span><br><span style="color: hsl(120, 100%, 40%);">+          },</span><br><span style="color: hsl(120, 100%, 40%);">+            rac := 254</span><br><span style="color: hsl(120, 100%, 40%);">+    };</span><br><span style="color: hsl(120, 100%, 40%);">+    f_send_paging_ps_exp_no_bss(ts_BssgpP4RAC(unknown_ra), 0, true);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+testcase TC_paging_ps_sig_rac_unknown() runs on test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+        var BSSGP_ConnHdlr vc_conn;</span><br><span style="color: hsl(120, 100%, 40%);">+   f_init();</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   vc_conn := f_start_handler(refers(f_TC_paging_ps_sig_rac_unknown), testcasename(), g_pcu, g_sgsn, 11);</span><br><span style="color: hsl(120, 100%, 40%);">+        vc_conn.done;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       f_cleanup();</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> /* PS-PAGING on SIG-BVC for BVCI (one cell) */</span><br><span> private function f_TC_paging_ps_sig_bvci(charstring id) runs on BSSGP_ConnHdlr</span><br><span> {</span><br><span>@@ -1199,6 +1327,22 @@</span><br><span>  f_cleanup();</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* PS-PAGING on SIG-BVC for unknown BVCI */</span><br><span style="color: hsl(120, 100%, 40%);">+private function f_TC_paging_ps_sig_bvci_unknown(charstring id) runs on BSSGP_ConnHdlr</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+ f_send_paging_ps_exp_no_bss(ts_BssgpP4Bvci(33333), 0, true);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+testcase TC_paging_ps_sig_bvci_unknown() runs on test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+   var BSSGP_ConnHdlr vc_conn;</span><br><span style="color: hsl(120, 100%, 40%);">+   f_init();</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   vc_conn := f_start_handler(refers(f_TC_paging_ps_sig_bvci_unknown), testcasename(), g_pcu, g_sgsn, 11);</span><br><span style="color: hsl(120, 100%, 40%);">+       vc_conn.done;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       f_cleanup();</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> </span><br><span> /***********************************************************************</span><br><span>  * PAGING CS procedure</span><br><span>@@ -1273,6 +1417,34 @@</span><br><span>       }</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* send a CS-PAGING but don't expect it to show up on any PTP or SIG BVC */</span><br><span style="color: hsl(120, 100%, 40%);">+private function f_send_paging_cs_exp_no_bss(template (value) Paging_Field4 p4, integer sgsn_idx := 0,</span><br><span style="color: hsl(120, 100%, 40%);">+                                         boolean use_sig := false)</span><br><span style="color: hsl(120, 100%, 40%);">+runs on BSSGP_ConnHdlr {</span><br><span style="color: hsl(120, 100%, 40%);">+     var template (present) PDU_BSSGP exp_rx;</span><br><span style="color: hsl(120, 100%, 40%);">+      exp_rx := f_send_paging_cs(p4, sgsn_idx, use_sig);</span><br><span style="color: hsl(120, 100%, 40%);">+    /* Expect paging to propagate to no BSS */</span><br><span style="color: hsl(120, 100%, 40%);">+    timer T := 2.0;</span><br><span style="color: hsl(120, 100%, 40%);">+       T.start;</span><br><span style="color: hsl(120, 100%, 40%);">+      alt {</span><br><span style="color: hsl(120, 100%, 40%);">+ [] any from PCU.receive(exp_rx) {</span><br><span style="color: hsl(120, 100%, 40%);">+             setverdict(fail, "Paging received on unexpected BVC");</span><br><span style="color: hsl(120, 100%, 40%);">+              }</span><br><span style="color: hsl(120, 100%, 40%);">+     [] any from PCU_SIG.receive(exp_rx) {</span><br><span style="color: hsl(120, 100%, 40%);">+         setverdict(fail, "Paging received on unexpected BVC");</span><br><span style="color: hsl(120, 100%, 40%);">+              }</span><br><span style="color: hsl(120, 100%, 40%);">+     [] any from PCU.receive(PDU_BSSGP:{pDU_BSSGP_PAGING_CS:=?}) {</span><br><span style="color: hsl(120, 100%, 40%);">+         setverdict(fail, "Different Paging received on PTP BVC");</span><br><span style="color: hsl(120, 100%, 40%);">+           }</span><br><span style="color: hsl(120, 100%, 40%);">+     [] any from PCU_SIG.receive(PDU_BSSGP:{pDU_BSSGP_PAGING_CS:=?}) {</span><br><span style="color: hsl(120, 100%, 40%);">+             setverdict(fail, "Different Paging received on SIGNALING BVC");</span><br><span style="color: hsl(120, 100%, 40%);">+             }</span><br><span style="color: hsl(120, 100%, 40%);">+     [] T.timeout {</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%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> private function f_TC_paging_cs_ptp_bss(charstring id) runs on BSSGP_ConnHdlr</span><br><span> {</span><br><span>         /* doesn't really make sense: Sending to a single BVCI means the message ends up</span><br><span>@@ -1307,6 +1479,26 @@</span><br><span>        f_cleanup();</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* CS-PAGING on PTP-BVC for unknown Location Area */</span><br><span style="color: hsl(120, 100%, 40%);">+private function f_TC_paging_cs_ptp_lac_unknown(charstring id) runs on BSSGP_ConnHdlr</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+ var GSM_Types.LocationAreaIdentification unknown_la := {</span><br><span style="color: hsl(120, 100%, 40%);">+              mcc_mnc := '567F99'H,</span><br><span style="color: hsl(120, 100%, 40%);">+         lac := 33333</span><br><span style="color: hsl(120, 100%, 40%);">+  };</span><br><span style="color: hsl(120, 100%, 40%);">+    /* as it's sent on the PTP BVC, we expect it to pass even for unknown LAC */</span><br><span style="color: hsl(120, 100%, 40%);">+      f_send_paging_cs_exp_one_bss(ts_BssgpP4LAC(unknown_la), 0, false, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+testcase TC_paging_cs_ptp_lac_unknown() runs on test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+   var BSSGP_ConnHdlr vc_conn;</span><br><span style="color: hsl(120, 100%, 40%);">+   f_init();</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   vc_conn := f_start_handler(refers(f_TC_paging_cs_ptp_lac_unknown), testcasename(), g_pcu, g_sgsn, 11);</span><br><span style="color: hsl(120, 100%, 40%);">+        vc_conn.done;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       f_cleanup();</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> /* CS-PAGING on PTP-BVC for Routeing Area */</span><br><span> private function f_TC_paging_cs_ptp_rac(charstring id) runs on BSSGP_ConnHdlr</span><br><span> {</span><br><span>@@ -1324,6 +1516,29 @@</span><br><span>     f_cleanup();</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* CS-PAGING on PTP-BVC for unknown Routeing Area */</span><br><span style="color: hsl(120, 100%, 40%);">+private function f_TC_paging_cs_ptp_rac_unknown(charstring id) runs on BSSGP_ConnHdlr</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+ var RoutingAreaIdentification unknown_ra := {</span><br><span style="color: hsl(120, 100%, 40%);">+         lai := {</span><br><span style="color: hsl(120, 100%, 40%);">+                      mcc_mnc := '567F99'H,</span><br><span style="color: hsl(120, 100%, 40%);">+                 lac := 33333</span><br><span style="color: hsl(120, 100%, 40%);">+          },</span><br><span style="color: hsl(120, 100%, 40%);">+            rac := 254</span><br><span style="color: hsl(120, 100%, 40%);">+    };</span><br><span style="color: hsl(120, 100%, 40%);">+    /* as it's sent on the PTP BVC, we expect it to pass even for unknown RAC */</span><br><span style="color: hsl(120, 100%, 40%);">+      f_send_paging_cs_exp_one_bss(ts_BssgpP4RAC(unknown_ra), 0, false, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+testcase TC_paging_cs_ptp_rac_unknown() runs on test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+   var BSSGP_ConnHdlr vc_conn;</span><br><span style="color: hsl(120, 100%, 40%);">+   f_init();</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   vc_conn := f_start_handler(refers(f_TC_paging_cs_ptp_rac_unknown), testcasename(), g_pcu, g_sgsn, 11);</span><br><span style="color: hsl(120, 100%, 40%);">+        vc_conn.done;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       f_cleanup();</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> /* CS-PAGING on PTP-BVC for BVCI (one cell) */</span><br><span> private function f_TC_paging_cs_ptp_bvci(charstring id) runs on BSSGP_ConnHdlr</span><br><span> {</span><br><span>@@ -1340,6 +1555,22 @@</span><br><span>  f_cleanup();</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* CS-PAGING on PTP-BVC for unknown BVCI */</span><br><span style="color: hsl(120, 100%, 40%);">+private function f_TC_paging_cs_ptp_bvci_unknown(charstring id) runs on BSSGP_ConnHdlr</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+ /* as it's sent on the PTP BVC, we expect it to pass even for unknown BVCI */</span><br><span style="color: hsl(120, 100%, 40%);">+     f_send_paging_cs_exp_one_bss(ts_BssgpP4Bvci(33333), 0, false, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+testcase TC_paging_cs_ptp_bvci_unknown() runs on test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+      var BSSGP_ConnHdlr vc_conn;</span><br><span style="color: hsl(120, 100%, 40%);">+   f_init();</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   vc_conn := f_start_handler(refers(f_TC_paging_cs_ptp_bvci_unknown), testcasename(), g_pcu, g_sgsn, 11);</span><br><span style="color: hsl(120, 100%, 40%);">+       vc_conn.done;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       f_cleanup();</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> /* send CS-PAGING on SIG BVC, expect it to arrive on given list of PCU indexes */</span><br><span> private function f_send_paging_cs_exp_multi(template (value) Paging_Field4 p4, integer sgsn_idx := 0,</span><br><span>                                          ro_integer exp_on_pcu_idx) runs on BSSGP_ConnHdlr</span><br><span>@@ -1404,6 +1635,25 @@</span><br><span>       f_cleanup();</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* CS-PAGING on SIG-BVC for unknown Location Area */</span><br><span style="color: hsl(120, 100%, 40%);">+private function f_TC_paging_cs_sig_lac_unknown(charstring id) runs on BSSGP_ConnHdlr</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+ var GSM_Types.LocationAreaIdentification unknown_la := {</span><br><span style="color: hsl(120, 100%, 40%);">+              mcc_mnc := '567F99'H,</span><br><span style="color: hsl(120, 100%, 40%);">+         lac := 33333</span><br><span style="color: hsl(120, 100%, 40%);">+  };</span><br><span style="color: hsl(120, 100%, 40%);">+    f_send_paging_cs_exp_no_bss(ts_BssgpP4LAC(unknown_la), 0, true);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+testcase TC_paging_cs_sig_lac_unknown() runs on test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+        var BSSGP_ConnHdlr vc_conn;</span><br><span style="color: hsl(120, 100%, 40%);">+   f_init();</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   vc_conn := f_start_handler(refers(f_TC_paging_cs_sig_lac_unknown), testcasename(), g_pcu, g_sgsn, 11);</span><br><span style="color: hsl(120, 100%, 40%);">+        vc_conn.done;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       f_cleanup();</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> /* CS-PAGING on SIG-BVC for Routeing Area */</span><br><span> private function f_TC_paging_cs_sig_rac(charstring id) runs on BSSGP_ConnHdlr</span><br><span> {</span><br><span>@@ -1420,6 +1670,28 @@</span><br><span>     f_cleanup();</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* CS-PAGING on SIG-BVC for unknown Routeing Area */</span><br><span style="color: hsl(120, 100%, 40%);">+private function f_TC_paging_cs_sig_rac_unknown(charstring id) runs on BSSGP_ConnHdlr</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+ var RoutingAreaIdentification unknown_ra := {</span><br><span style="color: hsl(120, 100%, 40%);">+         lai := {</span><br><span style="color: hsl(120, 100%, 40%);">+                      mcc_mnc := '567F99'H,</span><br><span style="color: hsl(120, 100%, 40%);">+                 lac := 33333</span><br><span style="color: hsl(120, 100%, 40%);">+          },</span><br><span style="color: hsl(120, 100%, 40%);">+            rac := 254</span><br><span style="color: hsl(120, 100%, 40%);">+    };</span><br><span style="color: hsl(120, 100%, 40%);">+    f_send_paging_cs_exp_no_bss(ts_BssgpP4RAC(unknown_ra), 0, true);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+testcase TC_paging_cs_sig_rac_unknown() runs on test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+        var BSSGP_ConnHdlr vc_conn;</span><br><span style="color: hsl(120, 100%, 40%);">+   f_init();</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   vc_conn := f_start_handler(refers(f_TC_paging_cs_sig_rac_unknown), testcasename(), g_pcu, g_sgsn, 11);</span><br><span style="color: hsl(120, 100%, 40%);">+        vc_conn.done;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       f_cleanup();</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> /* CS-PAGING on SIG-BVC for BVCI (one cell) */</span><br><span> private function f_TC_paging_cs_sig_bvci(charstring id) runs on BSSGP_ConnHdlr</span><br><span> {</span><br><span>@@ -1435,6 +1707,22 @@</span><br><span>  f_cleanup();</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* CS-PAGING on SIG-BVC for unknown BVCI */</span><br><span style="color: hsl(120, 100%, 40%);">+private function f_TC_paging_cs_sig_bvci_unknown(charstring id) runs on BSSGP_ConnHdlr</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+ f_send_paging_cs_exp_no_bss(ts_BssgpP4Bvci(33333), 0, true);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+testcase TC_paging_cs_sig_bvci_unknown() runs on test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+   var BSSGP_ConnHdlr vc_conn;</span><br><span style="color: hsl(120, 100%, 40%);">+   f_init();</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   vc_conn := f_start_handler(refers(f_TC_paging_cs_sig_bvci_unknown), testcasename(), g_pcu, g_sgsn, 11);</span><br><span style="color: hsl(120, 100%, 40%);">+       vc_conn.done;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       f_cleanup();</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> </span><br><span> control {</span><br><span>         execute( TC_BVC_bringup() );</span><br><span>@@ -1453,26 +1741,38 @@</span><br><span>       /* PAGING-PS over PTP BVC */</span><br><span>         execute( TC_paging_ps_ptp_bss() );</span><br><span>   execute( TC_paging_ps_ptp_lac() );</span><br><span style="color: hsl(120, 100%, 40%);">+    execute( TC_paging_ps_ptp_lac_unknown() );</span><br><span>   execute( TC_paging_ps_ptp_rac() );</span><br><span style="color: hsl(120, 100%, 40%);">+    execute( TC_paging_ps_ptp_rac_unknown() );</span><br><span>   execute( TC_paging_ps_ptp_bvci() );</span><br><span style="color: hsl(120, 100%, 40%);">+   execute( TC_paging_ps_ptp_bvci_unknown() );</span><br><span> </span><br><span>      /* PAGING-PS over SIG BVC */</span><br><span>         execute( TC_paging_ps_sig_bss() );</span><br><span>   execute( TC_paging_ps_sig_lac() );</span><br><span style="color: hsl(120, 100%, 40%);">+    execute( TC_paging_ps_sig_lac_unknown() );</span><br><span>   execute( TC_paging_ps_sig_rac() );</span><br><span style="color: hsl(120, 100%, 40%);">+    execute( TC_paging_ps_sig_rac_unknown() );</span><br><span>   execute( TC_paging_ps_sig_bvci() );</span><br><span style="color: hsl(120, 100%, 40%);">+   execute( TC_paging_ps_sig_bvci_unknown() );</span><br><span> </span><br><span>      /* PAGING-CS over PTP BVC */</span><br><span>         execute( TC_paging_cs_ptp_bss() );</span><br><span>   execute( TC_paging_cs_ptp_lac() );</span><br><span style="color: hsl(120, 100%, 40%);">+    execute( TC_paging_cs_ptp_lac_unknown() );</span><br><span>   execute( TC_paging_cs_ptp_rac() );</span><br><span style="color: hsl(120, 100%, 40%);">+    execute( TC_paging_cs_ptp_rac_unknown() );</span><br><span>   execute( TC_paging_cs_ptp_bvci() );</span><br><span style="color: hsl(120, 100%, 40%);">+   execute( TC_paging_cs_ptp_bvci_unknown() );</span><br><span> </span><br><span>      /* PAGING-CS over SIG BVC */</span><br><span>         execute( TC_paging_cs_sig_bss() );</span><br><span>   execute( TC_paging_cs_sig_lac() );</span><br><span style="color: hsl(120, 100%, 40%);">+    execute( TC_paging_cs_sig_lac_unknown() );</span><br><span>   execute( TC_paging_cs_sig_rac() );</span><br><span style="color: hsl(120, 100%, 40%);">+    execute( TC_paging_cs_sig_rac_unknown() );</span><br><span>   execute( TC_paging_cs_sig_bvci() );</span><br><span style="color: hsl(120, 100%, 40%);">+   execute( TC_paging_cs_sig_bvci_unknown() );</span><br><span> </span><br><span> </span><br><span> }</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21308">change 21308</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/+/21308"/><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: I9874d54939daa28201b82139c9d8e3022432e621 </div>
<div style="display:none"> Gerrit-Change-Number: 21308 </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>