aboutsummaryrefslogtreecommitdiffstats
path: root/include/osmocom/bsc/gsm_data_shared.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/osmocom/bsc/gsm_data_shared.h')
-rw-r--r--include/osmocom/bsc/gsm_data_shared.h43
1 files changed, 36 insertions, 7 deletions
diff --git a/include/osmocom/bsc/gsm_data_shared.h b/include/osmocom/bsc/gsm_data_shared.h
index 0639c81e0..2d8562092 100644
--- a/include/osmocom/bsc/gsm_data_shared.h
+++ b/include/osmocom/bsc/gsm_data_shared.h
@@ -721,22 +721,51 @@ struct gsm_bts {
struct amr_multirate_conf mr_full;
struct amr_multirate_conf mr_half;
- /* handover config */
+ /* handover/assignment config */
struct {
- int active;
+ /* enable handover for this cell */
+ int ho_active;
+ /* enable assignment for this cell */
+ int as_active;
+
+ /* use FULL instead of SUB measurements */
+ int8_t full;
+ /* minimum RXLEV before forcing handover */
+ int8_t min_rxlev; /* dBm */
/* Window RXLEV averaging */
unsigned int win_rxlev_avg; /* number of SACCH frames */
- /* Window RXQUAL averaging */
- unsigned int win_rxqual_avg; /* number of SACCH frames */
/* Window RXLEV neighbouring cells averaging */
unsigned int win_rxlev_avg_neigh; /* number of SACCH frames */
-
- /* how often should we check for power budget HO */
- unsigned int pwr_interval; /* SACCH frames */
/* how much better does a neighbor cell have to be ? */
unsigned int pwr_hysteresis; /* dBm */
+ /* how often should we check for power budget HO */
+ unsigned int pwr_interval; /* SACCH frames */
+ /* how mucht improvement of RXLEV do we get when using AFS */
+ int8_t afs_rxlev_improve; /* dB */
+
+ /* minimum RXQUAL before forcing handover */
+ int8_t min_rxqual; /* dB */
+ /* Window RXQUAL averaging */
+ unsigned int win_rxqual_avg; /* number of SACCH frames */
+ /* how mucht improvement of RXQUAL do we get when using AFS */
+ int8_t afs_rxqual_improve; /* dB */
+
/* maximum distacne before we try a handover */
unsigned int max_distance; /* TA values */
+
+ /* minimum number of free TCH/F slots trying to maintain */
+ unsigned int min_free_tchf;
+ /* minimum number of free TCH/H slots trying to maintain */
+ unsigned int min_free_tchh;
+ /* maximum number of unsynchronized handovers at a time */
+ unsigned int max_unsync_ho;
+
+ /* penalty time for a cell that exceed maximum distance */
+ unsigned int penalty_max_dist; /* seconds */
+ /* penalty time for a cell after handover failure */
+ unsigned int penalty_ho_fail; /* seconds */
+ /* penalty time for a cell after assignment failure */
+ unsigned int penalty_as_fail; /* seconds */
} handover;
#endif /* ROLE_BSC */
void *role;