diff --git a/library/IPA_CodecPort.ttcn b/library/IPA_CodecPort.ttcn
new file mode 100644
index 0000000..70d3ccb
--- /dev/null
+++ b/library/IPA_CodecPort.ttcn
@@ -0,0 +1,44 @@
+module IPA_CodecPort {
+
+	import from IPL4asp_PortType all;
+	import from IPL4asp_Types all;
+	import from IPA_Types all;
+
+	type record IPA_RecvFrom {
+		ConnectionId	connId,
+		IpaStreamId	streamId,
+		octetstring	msg
+	}
+
+	type record IPA_Send {
+		ConnectionId	connId,
+		IpaStreamId	streamId,
+		octetstring	msg
+	}
+
+	private function IPL4_to_IPA_RecvFrom(in ASP_RecvFrom pin, out IPA_RecvFrom pout) {
+		var PDU_IPA ipa := dec_PDU_IPA(pin.msg);
+		pout.connId := pin.connId;
+		pout.streamId := ipa.streamId
+		pout.msg := ipa.payloadData;
+	} with { extension "prototype(fast)" }
+
+	private function IPA_to_IPL4_Send(in IPA_Send pin, out ASP_Send pout) {
+		var PDU_IPA ipa := { 0, pin.streamId, pin.msg };
+		pout.connId := pin.connId;
+		pout.proto := { tcp := {} };
+		pout.msg := enc_PDU_IPA(ipa);
+	} with { extension "prototype(fast)" }
+
+	type port IPA_CODEC_PT message {
+		out	IPA_Send;
+		in	IPA_RecvFrom,
+			ASP_ConnId_ReadyToRelease,
+			ASP_Event;
+	} with { extension "user IPL4asp_PT
+		out(IPA_Send -> ASP_Send:function(IPA_to_IPL4_Send))
+		in(ASP_RecvFrom -> IPA_RecvFrom: function(IPL4_to_IPA_RecvFrom);
+		   ASP_ConnId_ReadyToRelease -> ASP_ConnId_ReadyToRelease: simple;
+		   ASP_Event -> ASP_Event: simple)"
+	}
+}
