msc: new test: TC_lu_and_mo_csd

Related: OS#4394
Depends: https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.MobileL3_v13.4.0/-/merge_requests/3
Change-Id: Ia863a63a318a9b0a8b4bfc1dc425cbc0235256b3
diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn
index de7063f..edec440 100644
--- a/library/L3_Templates.ttcn
+++ b/library/L3_Templates.ttcn
@@ -1305,6 +1305,7 @@
 template (value) Speech_AuxiliarySpeech ts_SpeechAuxFR(SpeechVer ver) := ts_SpeechAux(ver, '0'B);
 template (value) Speech_AuxiliarySpeech ts_SpeechAuxHR(SpeechVer ver) := ts_SpeechAux(ver, '1'B);
 
+/* TS 3GPP 24.008 § 10.5.4.5 */
 template (value) BearerCapability_TLV ts_Bcap_voice := {
 	elementIdentifier := '04'O,
 	lengthIndicator := 0, /* overwritten */
@@ -1328,6 +1329,86 @@
 	octet7 := omit
 }
 
+/* TS 3GPP 24.008 § 10.5.4.5 */
+template (value) BearerCapability_TLV ts_Bcap_csd := {
+	elementIdentifier := '04'O,
+	lengthIndicator := 0, /* overwritten */
+	octet3 := {
+		informationTransferCapability := '001'B,
+		transferMode := '0'B,
+		codingStandard := '0'B,
+		radioChannelRequirement := '11'B,
+		extension_octet_3 := '0'B,
+		speech_aux_3a_3b := omit
+	},
+	octet4 := {
+		establishment := '0'B,
+		nirr := '1'B,
+		configuration := '0'B,
+		duplexMode := '1'B,
+		structure := '00'B,
+		compression := '0'B,
+		extension_octet_4 := '1'B
+	},
+	octet5 := {
+		signallingAccessProtocol := '001'B,
+		rateAdaptation := '01'B, /* V.110 */
+		accessId := '00'B,
+		extension_octet_5 := '0'B,
+		spare2_3 := omit,
+		otherRateAdaptation := omit,
+		otherInformationTransferCapability := omit,
+		extension_octet_5a := omit,
+		spare3_1 := omit,
+		inbandNegotiation := omit,
+		assignor_assignee := omit,
+		lli := omit,
+		mode := omit,
+		multiframe := omit,
+		hdrNohdr := omit,
+		extension_octet_5b := omit
+	},
+	octet6 := {
+		synchronous_asynchronous := '1'B, /* 0: sync, 1: async */
+		userInformationLayer1Protocol := '0000'B,
+		layer1Id := '01'B,
+		extension_octet_6 := '0'B,
+		/* octet 6a */
+		userRate := '0100'B, /* 4.8 kbit/s */
+		numberDataBits := '0'B,
+		negotiation := '0'B,
+		numberStopBits := '0'B,
+		extension_octet_6a := '1'B,
+		/* octet 6b */
+		parity := '000'B,
+		nicOnRX := '0'B,
+		nicOnTX := '0'B,
+		intermediateRate := '10'B,
+		extension_octet_6b := '1'B,
+		/* octet 6c */
+		modemType := '00000'B,
+		connectionElement := '00'B, /* 00: T / 01: NT */
+		extension_octet_6c := '0'B,
+		/* octet 6d */
+		fixedNetworkUserRate := omit,
+		otherModemType := omit,
+		extension_octet_6d := omit,
+		/* octet 6e */
+		maxNumberOfTrafficChannels := omit,
+		acceptableChannelCodings := omit,
+		extension_octet_6e := omit,
+		wantedAirInterfaceUserRate := omit,
+		uimi := omit,
+		/* octet 6f */
+		extension_octet_6f := omit,
+		spare := omit,
+		asymetryIndication := omit,
+		acceptableChannelCodingsExt := omit,
+		extension_octet_6g := omit
+	},
+	octet7 := omit
+}
+
 template PDU_ML3_MS_NW ts_ML3_MO_CC_SETUP(integer tid, hexstring called, template BearerCapability_TLV bcap := ts_Bcap_voice) := {
 	discriminator := '0011'B,
 	tiOrSkip := {