gbproxy: Test for SGSN-INVOKE-TRACE

Change-Id: I1e46e5c403712eb7972c57e6b6f6eb0850b96ae3
diff --git a/library/BSSGP_Emulation.ttcnpp b/library/BSSGP_Emulation.ttcnpp
index a65dd87..d747ca2 100644
--- a/library/BSSGP_Emulation.ttcnpp
+++ b/library/BSSGP_Emulation.ttcnpp
@@ -301,7 +301,8 @@
 
 private template PDU_BSSGP tr_GLOBAL := (
 	{pDU_BSSGP_SUSPEND:=?}, {pDU_BSSGP_SUSPEND_ACK:=?}, {pDU_BSSGP_SUSPEND_NACK:=?},
-	{pDU_BSSGP_RESUME:=?}, {pDU_BSSGP_RESUME_ACK:=?}, {pDU_BSSGP_RESUME_NACK:=?}
+	{pDU_BSSGP_RESUME:=?}, {pDU_BSSGP_RESUME_ACK:=?}, {pDU_BSSGP_RESUME_NACK:=?},
+	{pDU_BSSGP_SGSN_INVOKE_TRACE:=?}
 );
 
 /* We are in BVC_S_UNBLOCKED state */
diff --git a/library/Osmocom_Gb_Types.ttcn b/library/Osmocom_Gb_Types.ttcn
index 30eb09f..7894cf1 100644
--- a/library/Osmocom_Gb_Types.ttcn
+++ b/library/Osmocom_Gb_Types.ttcn
@@ -2023,7 +2023,59 @@
 		}
 	}
 
-
+	/* 10.4.15 */
+	template (value) PDU_BSSGP
+	ts_BSSGP_INVOKE_TRACE(OCT1 eq_trace, OCT2 ref) := {
+		pDU_BSSGP_SGSN_INVOKE_TRACE := {
+			bssgpPduType := '40'O,
+			traceType := {
+				iEI := '22'O,
+				ext := '1'B,
+				lengthIndicator := {
+					length1 := 1
+				},
+				equipment_Trace := eq_trace
+			},
+			traceReference := {
+				iEI := '21'O,
+				ext := '1'B,
+				lengthIndicator := {
+					length1 := 2
+				},
+				trace_Reference := ref
+			},
+			triggerId := omit,
+			mobileId := omit,
+			omcId := omit,
+			transactionId := omit
+		}
+	}
+	template (present) PDU_BSSGP
+	tr_BSSGP_INVOKE_TRACE(template (present) OCT1 eq_trace, template (present) OCT2 ref) := {
+		pDU_BSSGP_SGSN_INVOKE_TRACE := {
+			bssgpPduType := '40'O,
+			traceType := {
+				iEI := '22'O,
+				ext := '1'B,
+				lengthIndicator := {
+					length1 := 1
+				},
+				equipment_Trace := eq_trace
+			},
+			traceReference := {
+				iEI := '21'O,
+				ext := '1'B,
+				lengthIndicator := {
+					length1 := 2
+				},
+				trace_Reference := ref
+			},
+			triggerId := *,
+			mobileId := *,
+			omcId := *,
+			transactionId := *
+		}
+	}
 
 	/* PDU permitted on PTP BVC only (TS 48.018 Section 5.4.1) */
 	template (present) PDU_BSSGP tr_BSSGP_PERMITTED_PTP_ONLY := (