diff --git a/mgw/MGCP_Types.ttcn b/mgw/MGCP_Types.ttcn
index 9b55659..13d1f89 100644
--- a/mgw/MGCP_Types.ttcn
+++ b/mgw/MGCP_Types.ttcn
@@ -33,11 +33,6 @@
 		variant "END('\r\n', '([\r\n])|(\r\n)')"
 	}
 
-	external function enc_MgcpCommandLine(in MgcpCommandLine id) return charstring
-		with { extension "prototype(convert) encode(TEXT)" };
-	external function dec_MgcpCommandLine(in charstring  id) return MgcpCommandLine
-		with { extension "prototype(convert) decode(TEXT)" };
-
 	type record MgcpParameter {
 		MgcpInfoCode	code,
 		charstring	val optional
@@ -48,20 +43,10 @@
 		variant "END('\r\n', '([\r\n])|(\r\n)')"
 	}
 
-	external function enc_MgcpParameter(in MgcpParameter id) return charstring
-		with { extension "prototype(convert) encode(TEXT)" };
-	external function dec_MgcpParameter(in charstring  id) return MgcpParameter
-		with { extension "prototype(convert) decode(TEXT)" };
-
 	type record of MgcpParameter MgcpParameterList with {
 		variant "BEGIN('')"
 	};
 
-	external function enc_MgcpParameterList(in MgcpParameterList id) return charstring
-		with { extension "prototype(convert) encode(TEXT)" };
-	external function dec_MgcpParameterList(in charstring  id) return MgcpParameterList
-		with { extension "prototype(convert) decode(TEXT)" };
-
 	type record MgcpCommand {
 		MgcpCommandLine		line,
 		MgcpParameterList 	params optional,
@@ -100,5 +85,17 @@
 	external function dec_MgcpResponse(in charstring  id) return MgcpResponse
 		with { extension "prototype(convert) decode(TEXT)" };
 
+	type union MgcpMessage {
+		MgcpCommand	command,
+		MgcpResponse	response
+	} with {
+		variant "BEGIN('')"
+	}
+
+	external function enc_MgcpMessage(in MgcpMessage id) return charstring
+		with { extension "prototype(convert) encode(TEXT)" };
+	external function dec_MgcpMessage(in charstring  id) return MgcpMessage
+		with { extension "prototype(convert) decode(TEXT)" };
+
 
 } with { encode "TEXT" }
