diff --git a/include/openbsc/signal.h b/include/openbsc/signal.h
index e979d5c..9fb8cf3 100644
--- a/include/openbsc/signal.h
+++ b/include/openbsc/signal.h
@@ -32,14 +32,22 @@
 /*
  * Signalling subsystems
  */
-#define SS_PAGING	0x0001
-#define SS_SMS		0x0002
+enum signal_subsystems {
+	SS_PAGING,
+	SS_SMS,
+	SS_ABISIP,
+};
 
 /* SS_PAGING signals */
 enum signal_paging {
 	S_PAGING_COMPLETED,
 };
 
+/* SS_ABISIP signals */
+enum signal_abisip {
+	S_ABISIP_BIND_ACK,
+};
+
 typedef int signal_cbfn(unsigned int subsys, unsigned int signal,
 			void *handler_data, void *signal_data);
 
diff --git a/src/abis_rsl.c b/src/abis_rsl.c
index 034fbb5..7061604 100644
--- a/src/abis_rsl.c
+++ b/src/abis_rsl.c
@@ -26,6 +26,7 @@
 #include <errno.h>
 #include <sys/types.h>
 #include <netinet/in.h>
+#include <arpa/inet.h>
 
 #include <openbsc/gsm_data.h>
 #include <openbsc/gsm_04_08.h>
@@ -34,6 +35,7 @@
 #include <openbsc/debug.h>
 #include <openbsc/tlv.h>
 #include <openbsc/paging.h>
+#include <openbsc/signal.h>
 
 #define RSL_ALLOC_SIZE		1024
 #define RSL_ALLOC_HEADROOM	128
@@ -923,7 +925,7 @@
 	struct abis_rsl_dchan_hdr *dh = msgb_l2(msg);
 	struct tlv_parsed tv;
 	struct gsm_bts_trx_ts *ts = msg->lchan->ts;
-	u_int32_t ip;
+	struct in_addr ip;
 	u_int16_t port, attr_f8;
 
 	/* the BTS has acknowledged a local bind, it now tells us the IP
@@ -938,16 +940,22 @@
 		DEBUGP(DRSL, "mandatory IE missing\n");
 		return -EINVAL;
 	}
-	ip = *((u_int32_t *) TLVP_VAL(&tv, RSL_IE_IPAC_LOCAL_IP));
+	ip.s_addr = *((u_int32_t *) TLVP_VAL(&tv, RSL_IE_IPAC_LOCAL_IP));
 	port = *((u_int16_t *) TLVP_VAL(&tv, RSL_IE_IPAC_LOCAL_PORT));
 	attr_f8 = *((u_int16_t *) TLVP_VAL(&tv, 0xf8));
 
+	DEBUGP(DRSL, "IPAC_BIND_ACK chan_nr=0x%02x IP=%s PORT=%d FC=%d F8=%d\n",
+		dh->chan_nr, inet_ntoa(ip), ntohs(port), *TLVP_VAL(&tv, 0xfc),
+		ntohs(attr_f8));
+
 	/* update our local information about this TS */
-	ts->abis_ip.bound_ip = ntohl(ip);
-	ts->abis_ip.bound_port = ntohl(port);
+	ts->abis_ip.bound_ip = ntohl(ip.s_addr);
+	ts->abis_ip.bound_port = ntohs(port);
 	ts->abis_ip.attr_f8 = ntohs(attr_f8);
 	ts->abis_ip.attr_fc = *TLVP_VAL(&tv, 0xfc);
 
+	dispatch_signal(SS_ABISIP, S_ABISIP_BIND_ACK, msg->lchan);
+
 	return 0;
 }
 
@@ -976,7 +984,6 @@
 	
 	switch (rllh->c.msg_type) {
 	case RSL_MT_IPAC_BIND_ACK:
-		DEBUGP(DRSL, "IPAC_BIND_ACK\n");
 		rc = abis_rsl_rx_ipacc_bindack(msg);
 		break;
 	case RSL_MT_IPAC_BIND_NACK:
