aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2019-05-28 18:06:21 +0200
committerHarald Welte <laforge@gnumonks.org>2019-05-28 19:59:07 +0200
commit1e96e31c106aed9192ed9ea78ff1a711464390d7 (patch)
tree26b8f5f2eca56890c92ab70a6c1b8c9456aceb7a /include
parent347fea69a0b97441eaebca488b55d1ff1f539619 (diff)
clear GPRS indicator in SI3 while PCU is disconnected
osmo-bts cannot provide GPRS service while osmo-pcu is not connected. The BSC has no knowledge of the PCU connection state. Prevent MSs from trying to register for GPRS while the PCU is disconnected by erasing the GPRS Indicator in SI3. Change-Id: I1a6f5c636c0fe098ee31c280d4572a3f8122b44b Depends: I690cf308311f910005a325d50f5d5d825678d2b2 (libosmocore.git) Depends: I08e0ca9a8d13c7aa40b9d90f34f0e13adb87d4e0 (libosmocore.git) Depends: I8b1ee2405f6338507e9dfb5f1f437c4c2db2e330 (libosmocore.git) Related: OS#3075
Diffstat (limited to 'include')
-rw-r--r--include/osmo-bts/bts.h1
-rw-r--r--include/osmo-bts/gsm_data_shared.h5
2 files changed, 6 insertions, 0 deletions
diff --git a/include/osmo-bts/bts.h b/include/osmo-bts/bts.h
index d7c4bbf3..970fb1bf 100644
--- a/include/osmo-bts/bts.h
+++ b/include/osmo-bts/bts.h
@@ -48,6 +48,7 @@ int bts_ccch_copy_msg(struct gsm_bts *bts, uint8_t *out_buf, struct gsm_time *gt
int is_ag_res);
uint8_t *bts_sysinfo_get(struct gsm_bts *bts, const struct gsm_time *g_time);
+void regenerate_si3_restoctets(struct gsm_bts *bts);
uint8_t *lchan_sacch_get(struct gsm_lchan *lchan);
int lchan_init_lapdm(struct gsm_lchan *lchan);
diff --git a/include/osmo-bts/gsm_data_shared.h b/include/osmo-bts/gsm_data_shared.h
index 415e6bc0..90772e22 100644
--- a/include/osmo-bts/gsm_data_shared.h
+++ b/include/osmo-bts/gsm_data_shared.h
@@ -15,6 +15,7 @@
#include <osmocom/gsm/rxlev_stat.h>
#include <osmocom/gsm/sysinfo.h>
#include <osmocom/gsm/meas_rep.h>
+#include <osmocom/gsm/gsm48_rest_octets.h>
#include <osmocom/gsm/protocol/gsm_04_08.h>
#include <osmocom/gsm/protocol/gsm_08_58.h>
#include <osmocom/gsm/protocol/gsm_12_21.h>
@@ -620,6 +621,10 @@ struct gsm_bts {
/* offsets used while generating SI2quater */
size_t e_offset;
size_t u_offset;
+ /* decoded SI3 rest octets - *unmodified* as received from BSC */
+ struct osmo_gsm48_si_ro_info si3_ro_decoded;
+ /* is SI3 GPRS Indicator currently disabled due to lack of PCU connection? */
+ bool si3_gprs_ind_disabled;
/* ip.accesss Unit ID's have Site/BTS/TRX layout */
union {