diff --git a/library/IPA_Emulation.ttcnpp b/library/IPA_Emulation.ttcnpp
index 7a26a6b..413d290 100644
--- a/library/IPA_Emulation.ttcnpp
+++ b/library/IPA_Emulation.ttcnpp
@@ -8,7 +8,7 @@
  * GSUP.  IT hence transcodes messages so the user can work with abstract data types rather
  * than binary messages.  It handles multiple packets inside one TCP segment.
  *
- * (C) 2017 by Harald Welte <laforge@gnumonks.org>
+ * (C) 2017-2018 by Harald Welte <laforge@gnumonks.org>
  * All rights reserved.
  *
  * Released under the terms of GNU General Public License, Version 2 or
@@ -39,6 +39,12 @@
 import from GSUP_Types all;
 #endif
 
+#ifdef IPA_EMULATION_RSPRO
+import from RSPRO all;
+import from RSPRO_Types all;
+#endif
+
+
 import from Osmocom_CTRL_Types all;
 
 modulepar {
@@ -137,6 +143,14 @@
 } with { extension "internal" }
 #endif
 
+#ifdef IPA_EMULATION_RSPRO
+type port IPA_RSPRO_PT message {
+	inout RsproPDU, ASP_IPA_Event;
+} with { extension "internal" }
+#endif
+
+
+
 
 type component IPA_Emulation_CT {
 	/* down-facing port to IPA codec port */
@@ -159,6 +173,10 @@
 	/* up-facing port for GSUP */
 	port IPA_GSUP_PT IPA_GSUP_PORT;
 #endif
+#ifdef IPA_EMULATION_RSPRO
+	/* up-facing port for RSPRO */
+	port IPA_RSPRO_PT IPA_RSPRO_PORT;
+#endif
 
 	/* up-facing port for other streams */
 	port IPA_SP_PT IPA_SP_PORT;
@@ -266,6 +284,11 @@
 		IPA_GSUP_PORT.send(evt);
 	}
 #endif
+#ifdef IPA_EMULATION_RSPRO
+	if (IPA_RSPRO_PORT.checkstate("Connected")) {
+		IPA_RSPRO_PORT.send(evt);
+	}
+#endif
 	/* FIXME: to other ports */
 }
 
@@ -455,6 +478,13 @@
 }
 #endif
 
+#ifdef IPA_EMULATION_RSPRO
+private function f_rspro_to_user(octetstring msg) runs on IPA_Emulation_CT {
+	var RsproPDU rspro := dec_RsproPDU(msg);
+	IPA_RSPRO_PORT.send(rspro);
+}
+#endif
+
 #ifdef IPA_EMULATION_MGCP
 private function f_mgcp_to_user(octetstring msg) runs on IPA_Emulation_CT {
 	var charstring msg_ch := oct2char(msg);
@@ -497,6 +527,9 @@
 #ifdef IPA_EMULATION_RSL
 	var ASP_RSL_Unitdata rsl;
 #endif
+#ifdef IPA_EMULATION_RSPRO
+	var RsproPDU rspro;
+#endif
 
 	/* Set function for dissecting the binary */
 	var f_IPL4_getMsgLen vl_f := refers(f_IPL4_fixedMsgLen);
@@ -559,6 +592,11 @@
 						f_gsup_to_user(ipa_rx.msg);
 					}
 #endif
+#ifdef IPA_EMULATION_RSPRO
+					case (IPAC_PROTO_EXT_RSPRO) {
+						f_rspro_to_user(ipa_rx.msg);
+					}
+#endif
 					case else {
 						IPA_SP_PORT.send(f_to_asp(ipa_rx));
 					}
@@ -639,6 +677,14 @@
 		}
 #endif
 
+#ifdef IPA_EMULATION_RSPRO
+		[] IPA_RSPRO_PORT.receive(RsproPDU:?) -> value rspro {
+			payload := enc_RsproPDU(rspro);
+			ipa_ud := valueof(t_ASP_IPA_UD(IPAC_PROTO_OSMO, payload, IPAC_PROTO_EXT_RSPRO));
+			IPA_PORT.send(f_from_asp(g_ipa_conn_id, ipa_ud));
+		}
+#endif
+
 #ifdef IPA_EMULATION_RSL
 		/* Received RSL -> down into IPA */
 		[] IPA_RSL_PORT.receive(ASP_RSL_Unitdata:?) -> value rsl {
