bsc: Move the bsc_filter to use the osmo_bsc_sccp_con
diff --git a/openbsc/src/osmo-bsc/osmo_bsc_bssap.c b/openbsc/src/osmo-bsc/osmo_bsc_bssap.c
index a4a5447..42a3897 100644
--- a/openbsc/src/osmo-bsc/osmo_bsc_bssap.c
+++ b/openbsc/src/osmo-bsc/osmo_bsc_bssap.c
@@ -297,7 +297,6 @@
 {
 	struct msgb *resp;
 	struct osmo_msc_data *msc;
-	struct gsm_network *network;
 	struct tlv_parsed tp;
 	uint8_t *data;
 	uint16_t cic;
@@ -311,7 +310,6 @@
 		return -1;
 	}
 
-	network = conn->conn->bts->network;
 	tlv_parse(&tp, gsm0808_att_tlvdef(), msg->l4h + 1, length - 1, 0, 0);
 
 	if (!TLVP_PRESENT(&tp, GSM0808_IE_CHANNEL_TYPE)) {
@@ -358,7 +356,7 @@
 	 * the correct value.
 	 */
 	full_rate = 0;
-	msc = &network->bsc_data->msc;
+	msc = conn->msc;
 	for (supported = 0;
 		chan_mode == GSM48_CMODE_SIGN && supported < msc->audio_length;
 		++supported) {
diff --git a/openbsc/src/osmo-bsc/osmo_bsc_filter.c b/openbsc/src/osmo-bsc/osmo_bsc_filter.c
index fce38ce..9d6909c 100644
--- a/openbsc/src/osmo-bsc/osmo_bsc_filter.c
+++ b/openbsc/src/osmo-bsc/osmo_bsc_filter.c
@@ -122,13 +122,13 @@
 
 static void send_welcome_ussd(struct gsm_subscriber_connection *conn)
 {
-	struct gsm_network *net;
-	net = conn->bts->network;
+	struct osmo_bsc_sccp_con *bsc;
 
-	if (!net->bsc_data->msc.ussd_welcome_txt)
+	bsc = conn->sccp_con;
+	if (!bsc || !bsc->msc->ussd_welcome_txt);
 		return;
 
-	gsm0480_send_ussdNotify(conn, 1, net->bsc_data->msc.ussd_welcome_txt);
+	gsm0480_send_ussdNotify(conn, 1, bsc->msc->ussd_welcome_txt);
 	gsm0480_send_releaseComplete(conn);
 }
 
@@ -137,6 +137,7 @@
  */
 int bsc_scan_msc_msg(struct gsm_subscriber_connection *conn, struct msgb *msg)
 {
+	struct osmo_msc_data *msc;
 	struct gsm_network *net;
 	struct gsm48_loc_area_id *lai;
 	struct gsm48_hdr *gh;
@@ -150,10 +151,10 @@
 	gh = (struct gsm48_hdr *) msgb_l3(msg);
 	mtype = gh->msg_type & 0xbf;
 	net = conn->bts->network;
+	msc = conn->sccp_con->msc;
 
 	if (mtype == GSM48_MT_MM_LOC_UPD_ACCEPT) {
-		if (net->bsc_data->msc.core_ncc != -1 ||
-		    net->bsc_data->msc.core_mcc != -1) {
+		if (msc->core_ncc != -1 || msc->core_mcc != -1) {
 			if (msgb_l3len(msg) >= sizeof(*gh) + sizeof(*lai)) {
 				lai = (struct gsm48_loc_area_id *) &gh->data[0];
 				gsm48_generate_lai(lai, net->country_code,