bsc: add MSC pooling tests

The MSC pooling feature is implemented in osmo-bsc
Ifbdea197b26e88751a391c8a80c41f04e7d5e047.

A VTY command ('mscpool roundrobin next') that allows deterministic testing is
added in I2155d906505a26744966f442ffb1e87a6a9b494c.

osmo-bsc.cfg changes needed for these tests to succeed are in docker-playground
I1986e4ef43beee161c82193694421b56136c1afe

The new tests will fail until the above have been merged.

Change-Id: I21cbab193cd0de2e5692665442eae113d5f61904
diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn
index ba91180..8b09572 100644
--- a/library/L3_Templates.ttcn
+++ b/library/L3_Templates.ttcn
@@ -278,6 +278,78 @@
 	}
 };
 
+template LocationUpdatingType LU_Type_Normal := {
+	lut := '00'B,
+	spare1_1 := '0'B,
+	fop := '0'B
+};
+
+template LocationUpdatingType LU_Type_Periodic := {
+	lut := '01'B,
+	spare1_1 := '0'B,
+	fop := '0'B
+};
+
+template LocationUpdatingType LU_Type_IMSI_Attach := {
+	lut := '10'B,
+	spare1_1 := '0'B,
+	fop := '0'B
+};
+
+/* Send template for LOCATION UPDATING REQUEST */
+template PDU_ML3_MS_NW ts_LU_REQ(template LocationUpdatingType lu_type, MobileIdentityLV mi_lv,
+				 OCT3 mcc_mnc := '123456'O) := {
+	discriminator := '0000'B, /* overwritten */
+	tiOrSkip := {
+		skipIndicator := '0000'B
+	},
+	msgs := {
+		mm := {
+			locationUpdateRequest := {
+				messageType := '000000'B, /* overwritten */
+				nsd := '00'B,
+				locationUpdatingType := lu_type,
+				cipheringKeySequenceNumber := { '000'B, '0'B },
+				locationAreaIdentification := {
+						mcc_mnc := mcc_mnc,
+						lac := '172A'O
+					},
+				mobileStationClassmark1 := ts_CM1,
+				mobileIdentityLV := mi_lv,
+				classmarkInformationType2_forUMTS := omit,
+				additionalUpdateParameterTV := omit,
+				deviceProperties := omit,
+				mS_NetworkFeatureSupport := omit
+			}
+		}
+	}
+}
+
+template PDU_ML3_NW_MS ts_LU_ACCEPT(template MobileIdentityTLV mi_tlv := omit) := {
+	discriminator := '0000'B, /* overwritten */
+	tiOrSkip := {
+		skipIndicator := '0000'B
+	},
+	msgs := {
+		mm := {
+			locationUpdateAccept := {
+				messageType := '000000'B, /* overwritten */
+				nsd := '00'B,
+				locationAreaIdentification := {
+						mcc_mnc := '123456'O,
+						lac := '172A'O
+					},
+				mobileIdentityTLV := mi_tlv,
+				followOnProceed := omit,
+				cTS_Permission := omit,
+				equivalentPLMNs := omit,
+				emergencyNumberList := omit,
+				perMS_T3212 := omit
+			}
+		}
+	}
+}
+
 /* Send template for CM SERVICE REQUEST */
 template (value) PDU_ML3_MS_NW ts_CM_SERV_REQ(CmServiceType serv_type, MobileIdentityLV mi_lv) := {
 	discriminator := '0000'B, /* overwritten */