From d3270a9c053c33b7d460bf3f84f7975c06cace52 Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Thu, 2 Feb 2017 01:07:28 +0100 Subject: subscriber conn: add indicator for originating RAN Add via_ran to gsm_subscriber_connection to indicate whether a conn is coming in via 2G/GERAN/A-Interface or 3G/UTRAN/Iu-Interface. Prepares for Iu, but also for libvlr to decide between GSM or UMTS Auth. Until actual Iu support is merged to master, this indicator will aid VLR unit testing. At some point we may also add RAN_GERAN_IU; it's not on the agenda yet, but to clearly distinguish the names if we want to add it, explicitly name the ones we have RAN_GERAN_A and RAN_UTRAN_IU. Change-Id: I93b870522f725170e4265a5543f6b680383d7465 --- openbsc/include/openbsc/gsm_data.h | 8 ++++++++ openbsc/src/libbsc/bsc_api.c | 1 + openbsc/src/libmsc/gsm_04_08.c | 2 +- 3 files changed, 10 insertions(+), 1 deletion(-) (limited to 'openbsc') diff --git a/openbsc/include/openbsc/gsm_data.h b/openbsc/include/openbsc/gsm_data.h index a14e59f7c..620b6e4e0 100644 --- a/openbsc/include/openbsc/gsm_data.h +++ b/openbsc/include/openbsc/gsm_data.h @@ -106,6 +106,12 @@ struct neigh_meas_proc { uint8_t last_seen_nr; }; +enum ran_type { + RAN_UNKNOWN, + RAN_GERAN_A, /* 2G / A-interface */ + RAN_UTRAN_IU, /* 3G / Iu-interface (IuCS or IuPS) */ +}; + /* active radio connection of a mobile subscriber */ struct gsm_subscriber_connection { struct llist_head entry; @@ -148,6 +154,8 @@ struct gsm_subscriber_connection { struct osmo_timer_list T10; /* BSC */ struct gsm_lchan *secondary_lchan; /* BSC */ + /* connected via 2G or 3G? */ + enum ran_type via_ran; }; diff --git a/openbsc/src/libbsc/bsc_api.c b/openbsc/src/libbsc/bsc_api.c index 7a48296ac..54978e50c 100644 --- a/openbsc/src/libbsc/bsc_api.c +++ b/openbsc/src/libbsc/bsc_api.c @@ -251,6 +251,7 @@ struct gsm_subscriber_connection *bsc_subscr_con_allocate(struct gsm_lchan *lcha conn->network = net; conn->lchan = lchan; conn->bts = lchan->ts->trx->bts; + conn->via_ran = RAN_GERAN_A; lchan->conn = conn; llist_add_tail(&conn->entry, &net->subscr_conns); return conn; diff --git a/openbsc/src/libmsc/gsm_04_08.c b/openbsc/src/libmsc/gsm_04_08.c index 3cc86ba37..fff902d7a 100644 --- a/openbsc/src/libmsc/gsm_04_08.c +++ b/openbsc/src/libmsc/gsm_04_08.c @@ -1235,7 +1235,7 @@ static int gsm48_rx_mm_auth_resp(struct gsm_subscriber_connection *conn, struct osmo_hexdump_nospc(res, res_len)); /* Future: vlr_sub_rx_auth_resp(conn->vsub, is_r99, - * conn->via_iface == IFACE_IU, + * conn->via_ran == RAN_UTRAN_IU, * res, res_len); */ -- cgit v1.2.3