diff --git a/openbsc/include/openbsc/bsc_api.h b/openbsc/include/openbsc/bsc_api.h
index 166ce31..22982f0 100644
--- a/openbsc/include/openbsc/bsc_api.h
+++ b/openbsc/include/openbsc/bsc_api.h
@@ -14,7 +14,8 @@
 				  struct msgb *msg, uint8_t chosen_encr);
 	int (*compl_l3)(struct gsm_subscriber_connection *conn,
 			struct msgb *msg, uint16_t chosen_channel); 
-	void (*dtap)(struct gsm_subscriber_connection *conn, struct msgb *msg);
+	void (*dtap)(struct gsm_subscriber_connection *conn, uint8_t link_id,
+			struct msgb *msg);
 	void (*assign_compl)(struct gsm_subscriber_connection *conn,
 			  uint8_t rr_cause, uint8_t chosen_channel,
 			  uint8_t encr_alg_id, uint8_t speech_mode);
diff --git a/openbsc/src/bsc/osmo_bsc_api.c b/openbsc/src/bsc/osmo_bsc_api.c
index f22e9a7..f26d6a9 100644
--- a/openbsc/src/bsc/osmo_bsc_api.c
+++ b/openbsc/src/bsc/osmo_bsc_api.c
@@ -35,7 +35,7 @@
 	return BSC_API_CONN_POL_REJECT;
 }
 
-static void bsc_dtap(struct gsm_subscriber_connection *conn, struct msgb *msg)
+static void bsc_dtap(struct gsm_subscriber_connection *conn, uint8_t link_id, struct msgb *msg)
 {
 }
 
diff --git a/openbsc/src/bsc_api.c b/openbsc/src/bsc_api.c
index df806ba..3abf4ba 100644
--- a/openbsc/src/bsc_api.c
+++ b/openbsc/src/bsc_api.c
@@ -232,7 +232,8 @@
 	return work;
 }
 
-static void dispatch_dtap(struct gsm_subscriber_connection *conn, struct msgb *msg)
+static void dispatch_dtap(struct gsm_subscriber_connection *conn,
+			  uint8_t link_id, struct msgb *msg)
 {
 	struct bsc_api *api = msg->lchan->ts->trx->bts->network->bsc_api;
 	struct gsm48_hdr *gh;
@@ -280,7 +281,7 @@
 
 	/* default case */
 	if (api->dtap)
-		api->dtap(conn, msg);
+		api->dtap(conn, link_id, msg);
 }
 
 int gsm0408_rcvmsg(struct msgb *msg, uint8_t link_id)
@@ -297,7 +298,7 @@
 
 
 	if (lchan->conn) {
-		dispatch_dtap(lchan->conn, msg);
+		dispatch_dtap(lchan->conn, link_id, msg);
 	} else {
 		rc = BSC_API_CONN_POL_REJECT;
 		lchan->conn = subscr_con_allocate(msg->lchan);
diff --git a/openbsc/src/osmo_msc.c b/openbsc/src/osmo_msc.c
index 0ed973b..c982fd0 100644
--- a/openbsc/src/osmo_msc.c
+++ b/openbsc/src/osmo_msc.c
@@ -52,7 +52,7 @@
 	return BSC_API_CONN_POL_ACCEPT;
 }
 
-static void msc_dtap(struct gsm_subscriber_connection *conn, struct msgb *msg)
+static void msc_dtap(struct gsm_subscriber_connection *conn, uint8_t link_id, struct msgb *msg)
 {
 	gsm0408_dispatch(conn, msg);
 }
