IPA_Emulation: Introduce template for ASP_IPA_Unitdata
diff --git a/library/IPA_Emulation.ttcn b/library/IPA_Emulation.ttcn
index 3b8d931..146c421 100644
--- a/library/IPA_Emulation.ttcn
+++ b/library/IPA_Emulation.ttcn
@@ -25,6 +25,13 @@
 	octetstring	payload
 }
 
+template ASP_IPA_Unitdata t_ASP_IPA_UD(IpaStreamId sid, octetstring pl,
+					template IpaExtStreamId esid := omit) := {
+	streamId := sid,
+	streamIdExt := esid,
+	payload := pl
+}
+
 type port IPA_SP_PT message {
 	inout ASP_IPA_Unitdata;
 } with { extension "internal" }
@@ -203,6 +210,7 @@
 	var ASP_Event asp_evt;
 	var MgcpCommand mgcp_cmd;
 	var MgcpResponse mgcp_rsp;
+	var octetstring payload;
 
 	while (true) {
 		alt {
@@ -257,19 +265,13 @@
 
 		/* Received MGCP -> down into IPA */
 		[] IPA_MGCP_PORT.receive(MgcpCommand:?) -> value mgcp_cmd {
-			ipa_ud := {
-				streamId := IPAC_PROTO_OSMO,
-				streamIdExt := IPAC_PROTO_EXT_MGCP,
-				payload := char2oct(enc_MgcpCommand(mgcp_cmd))
-			}
+			payload := char2oct(enc_MgcpResponse(mgcp_rsp));
+			ipa_ud := valueof(t_ASP_IPA_UD(IPAC_PROTO_OSMO, payload, IPAC_PROTO_EXT_MGCP));
 			IPA_PORT.send(f_from_asp(g_ipa_conn_id, ipa_ud));
 		}
 		[] IPA_MGCP_PORT.receive(MgcpResponse:?) -> value mgcp_rsp {
-			ipa_ud := {
-				streamId := IPAC_PROTO_OSMO,
-				streamIdExt := IPAC_PROTO_EXT_MGCP,
-				payload := char2oct(enc_MgcpResponse(mgcp_rsp))
-			}
+			payload := char2oct(enc_MgcpResponse(mgcp_rsp));
+			ipa_ud := valueof(t_ASP_IPA_UD(IPAC_PROTO_OSMO, payload, IPAC_PROTO_EXT_MGCP));
 			IPA_PORT.send(f_from_asp(g_ipa_conn_id, ipa_ud));
 		}