BSSMAP_Templates: Define various ASSIGNMENT related templates/constants

Change-Id: Id4f98120dbedf1a4fd5fb34df0d638eb08d7c3cb
diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn
index 0a86765..071c66d 100644
--- a/library/BSSMAP_Templates.ttcn
+++ b/library/BSSMAP_Templates.ttcn
@@ -316,8 +316,15 @@
 	}
 }
 
+const OCT1 ChRate_ANY := '00'O;
 const OCT1 ChRate_TCHF	:= '08'O;
 const OCT1 ChRate_TCHH	:= '09'O;
+const OCT1 ChRate_TCHForH_Fpref := '0A'O;
+const OCT1 ChRate_TCHForH_Hpref := '0B'O;
+const OCT1 ChRate_TCHForH_Fpref_nochg := '1A'O;
+const OCT1 ChRate_TCHForH_Hpref_nochg := '1B'O;
+const OCT1 ChRate_TCHForH := '0F'O;
+const OCT1 ChRate_TCHForH_nochg := '1F'O;
 
 template (value) BSSMAP_IE_ChannelType ts_BSSMAP_IE_ChannelType := {
 	elementIdentifier := '0B'O,	/* overwritten */
@@ -328,6 +335,36 @@
 	speechId_DataIndicator := '01'O	/* FRv1 */
 }
 
+template (value) BSSMAP_IE_ChannelType ts_BSSMAP_IE_ChannelTypeCTM modifies ts_BSSMAP_IE_ChannelType := {
+	speechOrDataIndicator := '0100'B	/* speech + CTM */
+}
+
+template (value) BSSMAP_IE_ChannelType ts_BSSMAP_IE_ChannelTypeCSD := {
+	elementIdentifier := '0B'O,	/* overwritten */
+	lengthIndicator := 0,		/* overwritten */
+	speechOrDataIndicator := '0010'B,	/* data */
+	spare1_4 := '0000'B,
+	channelRateAndType := ChRate_TCHF,
+	speechId_DataIndicator := '10'O	/* 9600 bps / transparent */
+}
+
+template (value) BSSMAP_IE_ChannelType ts_BSSMAP_IE_ChannelTypeSIGNAL := {
+	elementIdentifier := '0B'O,	/* overwritten */
+	lengthIndicator := 0,		/* overwritten */
+	speechOrDataIndicator := '0011'B,	/* data */
+	spare1_4 := '0000'B,
+	channelRateAndType := ChRate_ANY,
+	speechId_DataIndicator := '00'O	/* spare */
+}
+
+template (value) BSSMAP_IE_EncryptionInformation ts_BSSMAP_IE_EncrInfo(OCT8 kc, OCT1 algs := '05'O) := {
+	elementIdentifier := '0A'O,
+	lengthIndicator := 0,	/* overwritten */
+	permittedAlgorithms := algs,
+	key := kc
+}
+
+
 template (value) BSSMAP_IE_CircuitIdentityCode ts_BSSMAP_IE_CIC(uint11_t span, uint5_t ts) := {
 	elementIdentifier := '01'O,	/* overwritten */
 	cicHigh := bit2oct(substr(int2bit(span, 11) << 5, 0, 8)),
@@ -342,6 +379,11 @@
 	uDPPortValue := udp_port
 }
 
+template (value) BSSMAP_IE_KC128 ts_BSSMAP_IE_Kc128(OCT16 kc128) := {
+	elementIdentifier := '83'O,
+	kC128_Value := kc128
+}
+
 template PDU_BSSAP
 ts_BSSMAP_AssignmentReq(template BSSMAP_IE_CircuitIdentityCode cic := omit,
 			template BSSMAP_IE_AoIP_TransportLayerAddress aoip := omit)