aboutsummaryrefslogtreecommitdiffstats
path: root/include/osmocom
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2021-06-15 14:14:21 +0200
committerpespin <pespin@sysmocom.de>2021-06-17 14:05:40 +0000
commitb9a62638230b65d3620adb949ad1a55e1130d8f9 (patch)
tree417740935d0a142cb8b494b25c1b72e325a2d8fd /include/osmocom
parent35b6b25433b4bc1c1f20cc9d0fa477591cb0e0e7 (diff)
Introduce VTY command to disable srvcc fast-return on target BTS
Diffstat (limited to 'include/osmocom')
-rw-r--r--include/osmocom/bsc/bsc_subscr_conn_fsm.h6
-rw-r--r--include/osmocom/bsc/bts.h3
-rw-r--r--include/osmocom/bsc/gsm_data.h7
3 files changed, 12 insertions, 4 deletions
diff --git a/include/osmocom/bsc/bsc_subscr_conn_fsm.h b/include/osmocom/bsc/bsc_subscr_conn_fsm.h
index a681bc4aa..d7deb06a8 100644
--- a/include/osmocom/bsc/bsc_subscr_conn_fsm.h
+++ b/include/osmocom/bsc/bsc_subscr_conn_fsm.h
@@ -93,6 +93,8 @@ bool gscon_is_sccplite(struct gsm_subscriber_connection *conn);
static inline const struct osmo_plmn_id *gscon_last_eutran_plmn(const struct gsm_subscriber_connection *conn)
{
- return (conn && conn->last_eutran_plmn_valid) ?
- &conn->last_eutran_plmn : NULL;
+ return (conn && conn->fast_return.allowed &&
+ conn->fast_return.last_eutran_plmn_valid) ?
+ &conn->fast_return.last_eutran_plmn :
+ NULL;
}
diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h
index 72f83ebef..4436ed024 100644
--- a/include/osmocom/bsc/bts.h
+++ b/include/osmocom/bsc/bts.h
@@ -539,6 +539,9 @@ struct gsm_bts {
/* We will ignore CHAN RQD with access delay greater than rach_max_delay */
uint8_t rach_max_delay;
+
+ /* Is Fast return to LTE allowed during Chan Release in this BTS? */
+ bool srvcc_fast_return_allowed;
};
#define GSM_BTS_SI2Q(bts, i) (struct gsm48_system_information_type_2quater *)((bts)->si_buf[SYSINFO_TYPE_2quater][i])
diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h
index d3d5b7dee..37e38993d 100644
--- a/include/osmocom/bsc/gsm_data.h
+++ b/include/osmocom/bsc/gsm_data.h
@@ -388,8 +388,11 @@ struct gsm_subscriber_connection {
struct gsm48_classmark3 cm3;
bool cm3_valid;
- bool last_eutran_plmn_valid;
- struct osmo_plmn_id last_eutran_plmn;
+ struct {
+ bool allowed; /* Is fast return to LTE allowed once the conn is released? */
+ bool last_eutran_plmn_valid; /* Is information stored in field below available? */
+ struct osmo_plmn_id last_eutran_plmn;
+ } fast_return;
};