diff --git a/src/input/hsl.c b/src/input/hsl.c
index bc8fdb0..0b6b078 100644
--- a/src/input/hsl.c
+++ b/src/input/hsl.c
@@ -338,7 +338,8 @@
 		LOGP(DINP, LOGL_NOTICE, "enabling hsl BTS mode\n");
 
 		link = ipa_client_link_create(tall_hsl_ctx, line, addr,
-						HSL_TCP_PORT, hsl_bts_process);
+						HSL_TCP_PORT, hsl_bts_process,
+						NULL);
 		if (link == NULL) {
 			LOGP(DINP, LOGL_ERROR, "cannot create BTS link: %s\n",
 				strerror(errno));
diff --git a/src/input/ipa.c b/src/input/ipa.c
index d99e310..bb32fe1 100644
--- a/src/input/ipa.c
+++ b/src/input/ipa.c
@@ -179,7 +179,8 @@
 struct ipa_client_link *
 ipa_client_link_create(void *ctx, struct e1inp_line *line,
 		       const char *addr, uint16_t port,
-		       int (*cb)(struct ipa_client_link *link, struct msgb *msgb))
+		       int (*cb)(struct ipa_client_link *link,
+				 struct msgb *msgb), void *data)
 {
 	struct ipa_client_link *ipa_link;
 
@@ -197,6 +198,7 @@
 	ipa_link->port = port;
 	ipa_link->cb = cb;
 	ipa_link->line = line;
+	ipa_link->data = data;
 
 	return ipa_link;
 }
@@ -265,7 +267,8 @@
 struct ipa_server_link *
 ipa_server_link_create(void *ctx, struct e1inp_line *line,
 		       const char *addr, uint16_t port,
-		       int (*accept_cb)(struct ipa_server_link *link, int fd))
+		       int (*accept_cb)(struct ipa_server_link *link, int fd),
+		       void *data)
 {
 	struct ipa_server_link *ipa_link;
 
@@ -280,6 +283,7 @@
 	ipa_link->port = port;
 	ipa_link->accept_cb = accept_cb;
 	ipa_link->line = line;
+	ipa_link->data = data;
 
 	return ipa_link;
 
diff --git a/src/input/ipaccess.c b/src/input/ipaccess.c
index a6d09b3..8ce10ab 100644
--- a/src/input/ipaccess.c
+++ b/src/input/ipaccess.c
@@ -459,7 +459,7 @@
 
 		oml_link = ipa_server_link_create(tall_ipa_ctx, line,
 					          "0.0.0.0", IPA_TCP_PORT_OML,
-						  ipaccess_bsc_oml_cb);
+						  ipaccess_bsc_oml_cb, NULL);
 		if (oml_link == NULL) {
 			LOGP(DINP, LOGL_ERROR, "cannot create OML "
 				"BSC link: %s\n", strerror(errno));
@@ -474,7 +474,7 @@
 		}
 		rsl_link = ipa_server_link_create(tall_ipa_ctx, line,
 						  "0.0.0.0", IPA_TCP_PORT_RSL,
-						  ipaccess_bsc_rsl_cb);
+						  ipaccess_bsc_rsl_cb, NULL);
 		if (rsl_link == NULL) {
 			LOGP(DINP, LOGL_ERROR, "cannot create RSL "
 				"BSC link: %s\n", strerror(errno));
@@ -497,7 +497,7 @@
 
 		link = ipa_client_link_create(tall_ipa_ctx, line,
 					      addr, IPA_TCP_PORT_OML,
-					      ipaccess_bts_cb);
+					      ipaccess_bts_cb, NULL);
 		if (link == NULL) {
 			LOGP(DINP, LOGL_ERROR, "cannot create OML "
 				"BTS link: %s\n", strerror(errno));
@@ -512,7 +512,7 @@
 		}
 		rsl_link = ipa_client_link_create(tall_ipa_ctx, line,
 						  addr, IPA_TCP_PORT_RSL,
-						  ipaccess_bts_cb);
+						  ipaccess_bts_cb, NULL);
 		if (rsl_link == NULL) {
 			LOGP(DINP, LOGL_ERROR, "cannot create RSL "
 				"BTS link: %s\n", strerror(errno));
