WIP: attempt at IPA extended StreamID support
diff --git a/library/IPA_CodecPort.ttcn b/library/IPA_CodecPort.ttcn
index ad94a92..de47a16 100644
--- a/library/IPA_CodecPort.ttcn
+++ b/library/IPA_CodecPort.ttcn
@@ -7,12 +7,14 @@
 	type record IPA_RecvFrom {
 		ConnectionId	connId,
 		IpaStreamId	streamId,
+		IpaExtStreamId	streamIdExt optional,
 		octetstring	msg
 	}
 
 	type record IPA_Send {
 		ConnectionId	connId,
 		IpaStreamId	streamId,
+		IpaExtStreamId	streamIdExt optional,
 		octetstring	msg
 	}
 
@@ -33,11 +35,12 @@
 		var PDU_IPA ipa := dec_PDU_IPA(pin.msg);
 		pout.connId := pin.connId;
 		pout.streamId := ipa.streamId
+		pout.streamIdExt := ipa.streamIdExt
 		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 };
+		var PDU_IPA ipa := { 0, pin.streamId, pin.streamIdExt, pin.msg };
 		pout.connId := pin.connId;
 		pout.proto := { tcp := {} };
 		pout.msg := enc_PDU_IPA(ipa);
diff --git a/library/IPA_Emulation.ttcn b/library/IPA_Emulation.ttcn
index ed51110..57edb00 100644
--- a/library/IPA_Emulation.ttcn
+++ b/library/IPA_Emulation.ttcn
@@ -19,6 +19,7 @@
 
 type record ASP_IPA_Unitdata {
 	IpaStreamId	streamId,
+	IpaStreamIdExt	streamIdExt optional,
 	octetstring	payload
 }
 
@@ -105,6 +106,7 @@
 	var IPA_Send ipa_tx := {
 		connId := g_ipa_conn_id,
 		streamId := IPAC_PROTO_CCM,
+		streamIdExt := omit,
 		msg := enc_PDU_IPA_CCM(ccm)
 	}
 	log("CCM Tx:", ccm);
@@ -151,6 +153,7 @@
 private function f_to_asp(IPA_RecvFrom ipa_rx) return ASP_IPA_Unitdata {
 	var ASP_IPA_Unitdata ret := {
 		streamId := ipa_rx.streamId,
+		streamIdExt := ipa_rx.streamIdExt,
 		payload := ipa_rx.msg
 	}
 	return ret;
@@ -160,6 +163,7 @@
 	var IPA_Send ret := {
 		connId := connId,
 		streamId := ipa_tx.streamId,
+		streamIdExt := ipa_tx.streamIdExt,
 		msg := ipa_tx.payload
 	}
 	return ret;
diff --git a/library/IPA_Types.ttcn b/library/IPA_Types.ttcn
index 1636f44..eb8081c 100644
--- a/library/IPA_Types.ttcn
+++ b/library/IPA_Types.ttcn
@@ -37,11 +37,13 @@
 {
 	uint16_t	lengthInd,
 	IpaStreamId	streamId,
+	IpaExtStreamId	streamIdExt optional,
 	octetstring	payloadData
 } with {
 	variant (lengthInd) "LENGTHTO(payloadData)";
 	variant (lengthInd) "FIELDLENGTH(16)";
 	variant (lengthInd) "BYTEORDER(last)";
+	variant (streamIdExt) "PRESENCE(streamId=IPAC_PROTO_OSMO)";
 }