filter: Separate SCCP/BSSAP extraction and gsm48 code

For the BSC we will have the gsm48_hdr and don't need to
find data within SCCP. For legacy reasons we need to
initialize con_type, imsi, reject causes early on and
need to do the same in the filter method.
diff --git a/openbsc/include/openbsc/bsc_msg_filter.h b/openbsc/include/openbsc/bsc_msg_filter.h
index 7e66517..a974195 100644
--- a/openbsc/include/openbsc/bsc_msg_filter.h
+++ b/openbsc/include/openbsc/bsc_msg_filter.h
@@ -8,6 +8,7 @@
 #include <regex.h>
 
 struct vty;
+struct gsm48_hdr;
 
 /* TODO: remove */
 struct bsc_nat_parsed;
@@ -64,11 +65,13 @@
 /**
  * Content filtering.
  */
-int bsc_nat_filter_sccp_cr(struct bsc_connection *bsc, struct msgb *msg,
-			struct bsc_nat_parsed *, int *con_type, char **imsi,
+int bsc_msg_filter_initial(struct gsm48_hdr *hdr, size_t size,
+			struct bsc_connection *bsc,
+			int *con_type, char **imsi,
 			struct bsc_filter_reject_cause *cause);
-int bsc_nat_filter_dt(struct bsc_connection *bsc, struct msgb *msg,
-			struct nat_sccp_connection *con, struct bsc_nat_parsed *parsed,
+int bsc_msg_filter_data(struct gsm48_hdr *hdr, size_t size,
+			struct bsc_connection *bsc,
+			struct nat_sccp_connection *con,
 			struct bsc_filter_reject_cause *cause);
 
 /* IMSI allow/deny handling */