bsc: Add module for handling BSSAP input

The current implementation is a stub. The code from
bssap.c of on-waves/bsc-master will be migrated into
this new structure
diff --git a/openbsc/src/bsc/osmo_bsc_sccp.c b/openbsc/src/bsc/osmo_bsc_sccp.c
index a30708b..ad2ee51 100644
--- a/openbsc/src/bsc/osmo_bsc_sccp.c
+++ b/openbsc/src/bsc/osmo_bsc_sccp.c
@@ -42,6 +42,10 @@
 static void msc_outgoing_sccp_data(struct sccp_connection *conn,
 				   struct msgb *msg, unsigned int len)
 {
+	struct osmo_bsc_sccp_con *bsc_con =
+			(struct osmo_bsc_sccp_con *) conn->data_ctx;
+
+	bsc_handle_dt1(bsc_con, msg, len);
 }
 
 static void msc_outgoing_sccp_state(struct sccp_connection *conn, int old_state)
@@ -118,29 +122,8 @@
 
 static int msc_sccp_read(struct msgb *msgb, unsigned int length, void *data)
 {
-	struct bssmap_header *bs;
-
-	LOGP(DMSC, LOGL_DEBUG, "Incoming SCCP message ftom MSC: %s\n",
-		hexdump(msgb->l3h, length));
-
-	if (length < sizeof(*bs)) {
-		LOGP(DMSC, LOGL_ERROR, "The header is too short.\n");
-		return -1;
-	}
-
-	bs = (struct bssmap_header *) msgb->l3h;
-	if (bs->length < length - sizeof(*bs))
-		return -1;
-
-	switch (bs->type) {
-	case BSSAP_MSG_BSS_MANAGEMENT:
-		LOGP(DMSC, LOGL_ERROR, "BSS management not implemented.\n");
-		break;
-	default:
-		LOGP(DMSC, LOGL_ERROR, "Unimplemented msg type: %d\n", bs->type);
-	}
-
-	return 0;
+	struct gsm_network *net = (struct gsm_network *) data;
+	return bsc_handle_udt(net, net->msc_data->msc_con, msgb, length);
 }
 
 int bsc_queue_for_msc(struct gsm_subscriber_connection *conn, struct msgb *msg)
@@ -258,7 +241,7 @@
 	sccp_set_log_area(DSCCP);
 	sccp_system_init(msc_sccp_write_ipa, gsmnet);
 	sccp_connection_set_incoming(&sccp_ssn_bssap, msc_sccp_accept, NULL);
-	sccp_set_read(&sccp_ssn_bssap, msc_sccp_read, NULL);
+	sccp_set_read(&sccp_ssn_bssap, msc_sccp_read, gsmnet);
 
 	register_signal_handler(SS_MSC, handle_msc_signal, gsmnet);