gbproxy: Register IMSI + TLLI with BSSGP_Emulation

If we don't do that, the BSSGP code will not know what to route to us
and what not.

Change-Id: Ife8b8918f0eb69c6dc502d67d2566e78975c9f91
diff --git a/gbproxy/GBProxy_Tests.ttcn b/gbproxy/GBProxy_Tests.ttcn
index 5d312f7..64827aa 100644
--- a/gbproxy/GBProxy_Tests.ttcn
+++ b/gbproxy/GBProxy_Tests.ttcn
@@ -396,11 +396,19 @@
 /* first function called in every ConnHdlr */
 private function f_handler_init(void_fn fn, charstring id, BSSGP_ConnHdlrPars pars)
 runs on BSSGP_ConnHdlr {
+	var integer i;
 	/* do some common stuff like setting up g_pars */
 	g_pars := pars;
 
 	llc := f_llc_create(false);
 
+	/* register for our IMSI + TLLI */
+	for (i := 0; i < sizeof(SGSN_PROC); i := i+1) {
+		f_client_register(g_pars.imsi, g_pars.tlli, SGSN_PROC[i]);
+	}
+	for (i := 0; i < sizeof(PCU_PROC); i := i+1) {
+		f_client_register(g_pars.imsi, g_pars.tlli, PCU_PROC[i]);
+	}
 
 	g_Tguard.start(pars.t_guard);
 	activate(as_Tguard());
@@ -409,6 +417,21 @@
 	fn.apply(id);
 }
 
+private function f_client_register(hexstring imsi, OCT4 tlli, BSSGP_PROC_PT PT)
+runs on BSSGP_ConnHdlr {
+	PT.call(BSSGP_register_client:{imsi, tlli}) {
+		[] PT.getreply(BSSGP_register_client:{imsi, tlli}) {};
+	}
+}
+
+private function f_client_unregister(hexstring imsi, BSSGP_PROC_PT PT)
+runs on BSSGP_ConnHdlr {
+	PT.call(BSSGP_unregister_client:{imsi}) {
+		[] PT.getreply(BSSGP_unregister_client:{imsi}) {};
+	}
+}
+
+
 /* TODO:
    * Detach without Attach
    * SM procedures without attach / RAU