sgsn: add f_cellid_to_RAI()

Returns a RoutingAreaIdentificationV from GbInstance. This will be useful
when using multiple BSSGP and the g_pars.ra field is not the needed ra.

Change-Id: Ide96213ab2f210590b86deaf370486c8a0a78058
diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn
index b55da88..6d91738 100644
--- a/sgsn/SGSN_Tests.ttcn
+++ b/sgsn/SGSN_Tests.ttcn
@@ -110,6 +110,22 @@
 	float t_guard
 };
 
+private function f_cellid_to_RAI(in BssgpCellId cell_id) return RoutingAreaIdentificationV {
+	var BcdMccMnc mcc_mnc := cell_id.ra_id.lai.mcc_mnc;
+
+        var RoutingAreaIdentificationV ret := {
+                mccDigit1 := mcc_mnc[0],
+                mccDigit2 := mcc_mnc[1],
+                mccDigit3 := mcc_mnc[2],
+                mncDigit3 := mcc_mnc[5],
+                mncDigit1 := mcc_mnc[3],
+                mncDigit2 := mcc_mnc[4],
+                lac := int2oct(cell_id.ra_id.lai.lac, 16),
+                rac := int2oct(cell_id.ra_id.rac, 8)
+        }
+        return ret;
+};
+
 private function f_init_gb(inout GbInstance gb, charstring id, integer offset) runs on test_CT {
 	gb.vc_NS := NS_CT.create(id & "-NS" & int2str(offset));
 	gb.vc_BSSGP := BSSGP_CT.create(id & "-BSSGP" & int2str(offset));