bsc: Send the USSD message after the location updating accept.

Make sure to accept the phone first before sending the USSD message.
diff --git a/openbsc/src/osmo-bsc/osmo_bsc_filter.c b/openbsc/src/osmo-bsc/osmo_bsc_filter.c
index 3b657b3..957ceaf 100644
--- a/openbsc/src/osmo-bsc/osmo_bsc_filter.c
+++ b/openbsc/src/osmo-bsc/osmo_bsc_filter.c
@@ -225,23 +225,30 @@
 	return 0;
 }
 
-static void send_welcome_ussd(struct gsm_subscriber_connection *conn)
+static int send_welcome_ussd(struct gsm_subscriber_connection *conn)
 {
 	struct osmo_bsc_sccp_con *bsc_con;
 
 	bsc_con = conn->sccp_con;
 	if (!bsc_con) {
 		LOGP(DMSC, LOGL_DEBUG, "No SCCP connection associated.\n");
-		return;
+		return 0;
 	}
 
 	if (!bsc_con->msc->ussd_welcome_txt) {
 		LOGP(DMSC, LOGL_DEBUG, "No USSD Welcome text defined.\n");
-		return;
+		return 0;
 	}
 
-	gsm0480_send_ussdNotify(conn, 1, bsc_con->msc->ussd_welcome_txt);
+	return BSS_SEND_USSD;
+}
+
+int bsc_send_welcome_ussd(struct gsm_subscriber_connection *conn)
+{
+	gsm0480_send_ussdNotify(conn, 1, conn->sccp_con->msc->ussd_welcome_txt);
 	gsm0480_send_releaseComplete(conn);
+
+	return 0;
 }
 
 /**
@@ -276,7 +283,8 @@
 		}
 
 		if (conn->sccp_con->new_subscriber)
-			send_welcome_ussd(conn);
+			return send_welcome_ussd(conn);
+		return 0;
 	}
 
 	return 0;