break GTP_Templates dependency on Osmo_Gb_Types, BSSGP_Types, NS_Types

The resulting set of dependencies needed just to have one simple CellId
struct is huge. That was fine for sgsn testsuite since anyway those were
being used, but it's not acceptable for other testsuites (hnodeb) which
only really require the GTP side.

After this change, GTP_Templates only requires GSM_Types, which ends up
in a much smaller subset of dependencies being pulled in.

Change-Id: Icd8234908af445b798517fe110cd0648969179a4
diff --git a/library/GTP_Templates.ttcn b/library/GTP_Templates.ttcn
index 1bd56e1..9c8d1b6 100644
--- a/library/GTP_Templates.ttcn
+++ b/library/GTP_Templates.ttcn
@@ -17,7 +17,17 @@
 	import from GTPU_Types all;
 	import from GTP_CodecPort all;
 	import from IPCP_Types all;
-	import from Osmocom_Gb_Types all; // BssgpCellId
+	import from GSM_Types all; // RoutingAreaIdentification, CellIdentity
+
+	type record GTP_CellId {
+		RoutingAreaIdentification	ra_id,
+		CellIdentity			cell_id
+	} with { encode "RAW" };
+
+	template (value) GTP_CellId ts_GTP_CellId(template (value) RoutingAreaIdentification rai, CellIdentity cell_id) := {
+		ra_id := rai,
+		cell_id := cell_id
+	};
 
 	/* Table 38 of 3GPP TS 29.060 */
 	type enumerated GTP_Cause {
@@ -673,7 +683,7 @@
 		 },
 		 rIMProtocolVersionNumber := int2oct(ver, 1)
 	}
-	function tr_GTPC_Cell_Identifier_V(template BssgpCellId cid) return template Cell_Identifier_V_GTPC {
+	function tr_GTPC_Cell_Identifier_V(template GTP_CellId cid) return template Cell_Identifier_V_GTPC {
 		var template Cell_Identifier_V_GTPC ret := {
 			mccDigit1 := ?,
 			mccDigit2 := ?,
@@ -713,7 +723,7 @@
 		}
 		return ret;
 	}
-	template (value) Cell_Identifier_V_GTPC ts_GTPC_Cell_Identifier_V(BssgpCellId cid) := {
+	template (value) Cell_Identifier_V_GTPC ts_GTPC_Cell_Identifier_V(GTP_CellId cid) := {
 		mccDigit1 := cid.ra_id.lai.mcc_mnc[0],
 		mccDigit2 := cid.ra_id.lai.mcc_mnc[1],
 		mccDigit3 := cid.ra_id.lai.mcc_mnc[2],
@@ -724,10 +734,10 @@
 		rac := int2oct(cid.ra_id.rac, 1),
 		cI_value := int2oct(cid.cell_id, 2)
 	}
-	template RIM_Routing_Address_GTPC t_GTPC_RIM_Routing_Address_cid(BssgpCellId cid) := {
+	template RIM_Routing_Address_GTPC t_GTPC_RIM_Routing_Address_cid(GTP_CellId cid) := {
 		 cell_Identifier := ts_GTPC_Cell_Identifier_V(cid)
 	}
-	function tr_GTPC_ENB_Identifier(template BssgpCellId cid, template integer tac, template octetstring gnbid) return template ENB_Identifier {
+	function tr_GTPC_ENB_Identifier(template GTP_CellId cid, template integer tac, template octetstring gnbid) return template ENB_Identifier {
 		var template ENB_Identifier ret := {
 			mccDigit1 := ?,
 			mccDigit2 := ?,
@@ -764,7 +774,7 @@
 
 		return ret;
 	}
-	template (value) ENB_Identifier ts_GTPC_ENB_Identifier(BssgpCellId cid, integer tac, octetstring gnbid) := {
+	template (value) ENB_Identifier ts_GTPC_ENB_Identifier(GTP_CellId cid, integer tac, octetstring gnbid) := {
 		mccDigit1 := cid.ra_id.lai.mcc_mnc[0],
 		mccDigit2 := cid.ra_id.lai.mcc_mnc[1],
 		mccDigit3 := cid.ra_id.lai.mcc_mnc[2],
@@ -774,7 +784,7 @@
 		tAC := int2oct(tac, 2),
 		globalENB_ID := gnbid
 	}
-	template RIM_Routing_Address_GTPC t_GTPC_RIM_Routing_Address_enbid(BssgpCellId cid, integer tac, octetstring gnbid) := {
+	template RIM_Routing_Address_GTPC t_GTPC_RIM_Routing_Address_enbid(GTP_CellId cid, integer tac, octetstring gnbid) := {
 		 eNB_Identifier := ts_GTPC_ENB_Identifier(cid, tac, gnbid)
 	}
 	template RIM_Routing_Information_GTPC
@@ -801,7 +811,7 @@
 	}
 	/* 3GPP TS 48.018 11.3.63.1.1 */
 	template RAN_Information_Request_Application_Container_NACC_GTPC
-	tr_GTPC_RAN_Information_Request_Application_Container_NACC(template BssgpCellId cid) := {
+	tr_GTPC_RAN_Information_Request_Application_Container_NACC(template GTP_CellId cid) := {
 		iEI := '4D'O,
 		ext := '1'B,
 		lengthIndicator := {
@@ -810,7 +820,7 @@
 		reporting_Cell_Identifier := tr_GTPC_Cell_Identifier_V(cid)
 	}
 	template (value) RAN_Information_Request_Application_Container_NACC_GTPC
-	ts_GTPC_RAN_Information_Request_Application_Container_NACC(BssgpCellId cid) := {
+	ts_GTPC_RAN_Information_Request_Application_Container_NACC(GTP_CellId cid) := {
 		iEI := '4D'O,
 		ext := '1'B,
 		lengthIndicator := {
@@ -820,16 +830,16 @@
 	}
 	/* 3GPP TS 48.018 11.3.63.1 */
 	template RAN_Information_Request_Application_Container_GTPC
-	tru_GTPC_RAN_Information_Request_Application_Container_NACC(template BssgpCellId cid) := {
+	tru_GTPC_RAN_Information_Request_Application_Container_NACC(template GTP_CellId cid) := {
 		nacc := tr_GTPC_RAN_Information_Request_Application_Container_NACC(cid)
 	}
 	template (value) RAN_Information_Request_Application_Container_GTPC
-	tsu_GTPC_RAN_Information_Request_Application_Container_NACC(BssgpCellId cid) := {
+	tsu_GTPC_RAN_Information_Request_Application_Container_NACC(GTP_CellId cid) := {
 		nacc := ts_GTPC_RAN_Information_Request_Application_Container_NACC(cid)
 	}
 	/* 3GPP TS 48.018 11.3.63.2.1 */
 	template RAN_Information_Application_Container_NACC_GTPC
-	tr_GTPC_RAN_Information_Application_Container_NACC(template BssgpCellId cid, boolean psi_type, integer si_psi_num, octetstring si_psi) := {
+	tr_GTPC_RAN_Information_Application_Container_NACC(template GTP_CellId cid, boolean psi_type, integer si_psi_num, octetstring si_psi) := {
 		 iEI := '4E'O,
 		 ext := '1'B,
 		 lengthIndicator := {
@@ -841,7 +851,7 @@
 		 sI_PSI := si_psi
 	}
 	template (value) RAN_Information_Application_Container_NACC_GTPC
-	ts_GTPC_RAN_Information_Application_Container_NACC(BssgpCellId cid, boolean psi_type, integer si_psi_num, octetstring si_psi) := {
+	ts_GTPC_RAN_Information_Application_Container_NACC(GTP_CellId cid, boolean psi_type, integer si_psi_num, octetstring si_psi) := {
 		 iEI := '4E'O,
 		 ext := '1'B,
 		 lengthIndicator := {
@@ -892,11 +902,11 @@
 
 	/* RAN_Information */
 	template ApplContainer_or_ApplErrContainer_NACC_GTPC
-	tru_GTPC_ApplContainer_NACC(BssgpCellId cid, boolean psi_type, integer si_psi_num, octetstring si_psi) := {
+	tru_GTPC_ApplContainer_NACC(GTP_CellId cid, boolean psi_type, integer si_psi_num, octetstring si_psi) := {
 		application_Container := tr_GTPC_RAN_Information_Application_Container_NACC(cid, psi_type, si_psi_num, si_psi)
 	}
 	template (value) ApplContainer_or_ApplErrContainer_NACC_GTPC
-	tsu_GTPC_ApplContainer_NACC(BssgpCellId cid, boolean psi_type, integer si_psi_num, octetstring si_psi) := {
+	tsu_GTPC_ApplContainer_NACC(GTP_CellId cid, boolean psi_type, integer si_psi_num, octetstring si_psi) := {
 		application_Container := ts_GTPC_RAN_Information_Application_Container_NACC(cid, psi_type, si_psi_num, si_psi)
 	}
 	template ApplContainer_or_ApplErrContainer_GTPC