GTP_Templates: Add templates for RIM ROUTING ADDRESS

The IE types RIM_RoutingAddress and RIM_RoutingAddress_Discriminator
have not coresponding templates yet.

Related: OS#6095
Change-Id: If79f94ac3b7ec9a76763141ee2d8cac50c69d60b
diff --git a/library/GTP_Templates.ttcn b/library/GTP_Templates.ttcn
index 5ead042..267e2a7 100644
--- a/library/GTP_Templates.ttcn
+++ b/library/GTP_Templates.ttcn
@@ -1442,4 +1442,30 @@
 		peer := peer,
 		gtpu := ts_GTP1U_PDU('FF'O, seq, teid, { g_PDU_IEs := { data := data }})
 	}
+
+	/* 3GPP TS 29.060, section 7.7.57 */
+	template (value) RIM_RoutingAddress ts_RIM_RoutingAddress(octetstring addr_value) := {
+		type_gtpc := '9F'O,
+		lengthf := 0,	/* we assume encoder overwrites this */
+		rIM_RoutingAddressValue := addr_value
+	}
+	template (present) RIM_RoutingAddress tr_RIM_RoutingAddress(template (present) octetstring addr_value := ?) := {
+		type_gtpc := '9F'O,
+		lengthf := ?,
+		rIM_RoutingAddressValue := addr_value
+	}
+
+	/* 3GPP TS 29.060, section 7.7.77 */
+	template (value) RIM_RoutingAddress_Discriminator ts_RIM_RoutingAddress_Discriminator(bitstring addr_discr) := {
+		type_gtpc := 'B2'O,
+		lengthf := 0,	/* we assume encoder overwrites this */
+		rra_discriminator := addr_discr,
+		spare := '0000'B
+	}
+	template (present) RIM_RoutingAddress_Discriminator tr_RIM_RoutingAddress_Discriminator(template (present) bitstring addr_discr := ?) := {
+		type_gtpc := 'B2'O,
+		lengthf := ?,
+		rra_discriminator := addr_discr,
+		spare := '0000'B
+	}
 }