BSSMAP_Templates: Add templates for HANDOVER REQUIRED

In order to form a minimal HANDOVER REQUIRED message additional
Templates (ts_) are needed.

- Add Template ts_BSSMAP_IE_SpeechVersion
- Add Template ts_BSSMAP_IE_CurrentChannelType1
- Add Template ts_BSSMAP_IE_OldToNewBSSInfo

Change-Id: I41c2a036465d422db9348d4d2d66bb332e16e155
Related: OS#1609
diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn
index 8156ca8..91de5fb 100644
--- a/library/BSSMAP_Templates.ttcn
+++ b/library/BSSMAP_Templates.ttcn
@@ -15,6 +15,10 @@
 import from BSSAP_Types all;
 
 type integer BssmapCause;
+type integer SpeechVersion;
+type integer Channel;
+type integer ChannelMode;
+type octetstring oldToNewBSSIEs;
 
 /* 48.008 3.2.2.5 - this actually belongs to BSSAP_Types.ttcn */
 type enumerated myBSSMAP_Cause {
@@ -134,7 +138,6 @@
 	}
 }
 
-
 template (value) BSSMAP_IE_Cause ts_BSSMAP_IE_Cause(BssmapCause val) := {
 	elementIdentifier := '04'O,
 	lengthIndicator := 0,
@@ -143,6 +146,24 @@
 	spare1 := omit
 }
 
+template (value) BSSMAP_IE_SpeechVersion ts_BSSMAP_IE_SpeechVersion(SpeechVersion val) := {
+	elementIdentifier := '40'O,
+	speechVersionIdentifier := int2bit(val, 7),
+	spare1_1 := '0'B
+}
+
+template (value) BSSMAP_IE_CurrentChannelType1 ts_BSSMAP_IE_CurrentChannelType1(Channel c, ChannelMode cm) := {
+	elementIdentifier := '31'O,
+	channel := int2bit(c, 4),
+	channelMode := int2bit(cm, 4)
+}
+
+template (value) BSSMAP_IE_OldToNewBSSInfo ts_BSSMAP_IE_OldToNewBSSInfo(oldToNewBSSIEs val) := {
+	elementIdentifier := '3A'O,
+	lengthIndicator := 0,	/* overwritten by codec */
+	oldToNewBSSIEs := val
+}
+
 template (value) PDU_BSSAP ts_BSSMAP_Reset(BssmapCause cause) modifies ts_BSSAP_BSSMAP := {
 	pdu := {
 		bssmap := {