aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2010-11-05 11:10:46 +0100
committerHolger Hans Peter Freyther <zecke@selfish.org>2010-11-15 20:06:48 +0100
commitcc48fb80836defe5beeba4b4c9bcc7f895af5ec5 (patch)
treee2fb2ddb0d07cc265b3cbf68cadcb59a4cbe9dd7 /openbsc
parent46c5ab3624c0008b9eec0a1f6eed4f99dbc11211 (diff)
bsc: Call into the SCCP layer to create a new connection.
Diffstat (limited to 'openbsc')
-rw-r--r--openbsc/include/openbsc/osmo_bsc.h2
-rw-r--r--openbsc/src/bsc/osmo_bsc_api.c2
-rw-r--r--openbsc/src/bsc/osmo_bsc_sccp.c7
3 files changed, 11 insertions, 0 deletions
diff --git a/openbsc/include/openbsc/osmo_bsc.h b/openbsc/include/openbsc/osmo_bsc.h
index 4ad94b51b..389fcc930 100644
--- a/openbsc/include/openbsc/osmo_bsc.h
+++ b/openbsc/include/openbsc/osmo_bsc.h
@@ -8,5 +8,7 @@
struct bsc_api *osmo_bsc_api();
int bsc_queue_for_msc(struct gsm_subscriber_connection *conn, struct msgb *msg);
+int bsc_create_new_connection(struct gsm_subscriber_connection *conn,
+ struct msgb *msg, uint16_t chosen_channel);
#endif
diff --git a/openbsc/src/bsc/osmo_bsc_api.c b/openbsc/src/bsc/osmo_bsc_api.c
index 0fe6bd2c8..dc31cd421 100644
--- a/openbsc/src/bsc/osmo_bsc_api.c
+++ b/openbsc/src/bsc/osmo_bsc_api.c
@@ -66,6 +66,8 @@ static void bsc_cipher_mode_compl(struct gsm_subscriber_connection *conn,
static int bsc_compl_l3(struct gsm_subscriber_connection *conn, struct msgb *msg,
uint16_t chosen_channel)
{
+ if (bsc_create_new_connection(conn, msg, chosen_channel) == 0)
+ return BSC_API_CONN_POL_ACCEPT;
return BSC_API_CONN_POL_REJECT;
}
diff --git a/openbsc/src/bsc/osmo_bsc_sccp.c b/openbsc/src/bsc/osmo_bsc_sccp.c
index 5ffbde0cb..694a30f20 100644
--- a/openbsc/src/bsc/osmo_bsc_sccp.c
+++ b/openbsc/src/bsc/osmo_bsc_sccp.c
@@ -75,6 +75,13 @@ int bsc_queue_for_msc(struct gsm_subscriber_connection *conn, struct msgb *msg)
return 0;
}
+int bsc_create_new_connection(struct gsm_subscriber_connection *conn,
+ struct msgb *msg, uint16_t chosen_channel)
+{
+ LOGP(DMSC, LOGL_ERROR, "Not implemented yet.\n");
+ return -1;
+}
+
int osmo_bsc_sccp_init(struct gsm_network *gsmnet)
{
sccp_set_log_area(DSCCP);