aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2018-05-14 18:14:29 +0200
committerHarald Welte <laforge@gnumonks.org>2018-06-08 16:16:42 +0000
commit0abe84e679cc6bfa3c7db3dd78a7bee3cef91aa5 (patch)
treefff664192eb16351b89e8ec71261d64d724131b0
parent76739a7109c15ac17f6804c56f2ff4c890dc7a14 (diff)
HO: introduce T7, T8, T101 timers
Will be used in upcoming inter-BSC handover. Change-Id: If9ecccc793426d214019f299b19d6ffa5a186546
-rw-r--r--include/osmocom/bsc/gsm_data.h8
-rw-r--r--src/osmo-bsc/bsc_vty.c10
-rw-r--r--src/osmo-bsc/net_init.c3
3 files changed, 20 insertions, 1 deletions
diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h
index 56cca16a7..281f2d413 100644
--- a/include/osmocom/bsc/gsm_data.h
+++ b/include/osmocom/bsc/gsm_data.h
@@ -1187,6 +1187,9 @@ static const struct rate_ctr_group_desc bsc_ctrg_desc = {
#define GSM_T3119_DEFAULT 10
#define GSM_T3122_DEFAULT 10
#define GSM_T3141_DEFAULT 10
+#define GSM_T7_DEFAULT 10 /* inter-BSC MO Handover first timeout, in seconds */
+#define GSM_T8_DEFAULT 10 /* inter-BSC MO Handover second timeout, in seconds */
+#define GSM_T101_DEFAULT 10 /* inter-BSC MT Handover timeout, in seconds */
struct gsm_tz {
int override; /* if 0, use system's time zone instead. */
@@ -1221,7 +1224,7 @@ struct gsm_network {
/* timer values */
int T3101;
- int T3103;
+ int T3103; /*< Handover timeout */
int T3105;
int T3107;
int T3109;
@@ -1232,6 +1235,9 @@ struct gsm_network {
int T3119;
int T3122;
int T3141;
+ int T7; /*< inter-BSC handover MO timeout from Handover Required to Handover Command */
+ int T8; /*< inter-BSC handover MO timeout from Handover Command to final Clear*/
+ int T101; /*< inter-BSC handover MT timeout from Handover Request to Handover Accept */
enum gsm_chan_t ctype_by_chreq[_NUM_CHREQ_T];
diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c
index 5d0feb663..837f43180 100644
--- a/src/osmo-bsc/bsc_vty.c
+++ b/src/osmo-bsc/bsc_vty.c
@@ -1001,6 +1001,10 @@ static int config_write_net(struct vty *vty)
VTY_OUT_TIMER(3119);
VTY_OUT_TIMER(3122);
VTY_OUT_TIMER(3141);
+ VTY_OUT_TIMER(7);
+ VTY_OUT_TIMER(8);
+ VTY_OUT_TIMER(101);
+
if (!gsmnet->dyn_ts_allow_tch_f)
vty_out(vty, " dyn_ts_allow_tch_f 0%s", VTY_NEWLINE);
if (gsmnet->tz.override != 0) {
@@ -1917,6 +1921,9 @@ DECLARE_TIMER(3117, "Currently not used")
DECLARE_TIMER(3119, "Currently not used")
DECLARE_TIMER(3122, "Default waiting time (seconds) after IMM ASS REJECT")
DECLARE_TIMER(3141, "Currently not used")
+DECLARE_TIMER(7, "Set the outgoing inter-BSC Handover timeout, from Handover Required to Handover Command")
+DECLARE_TIMER(8, "Set the outgoing inter-BSC Handover timeout, from Handover Command to final Clear")
+DECLARE_TIMER(101, "Set the incoming inter-BSC Handover timeout, from Handover Request to Accept")
DEFUN_DEPRECATED(cfg_net_dtx,
cfg_net_dtx_cmd,
@@ -4842,6 +4849,9 @@ int bsc_vty_init(struct gsm_network *network)
install_element(GSMNET_NODE, &cfg_net_T3119_cmd);
install_element(GSMNET_NODE, &cfg_net_T3122_cmd);
install_element(GSMNET_NODE, &cfg_net_T3141_cmd);
+ install_element(GSMNET_NODE, &cfg_net_T7_cmd);
+ install_element(GSMNET_NODE, &cfg_net_T8_cmd);
+ install_element(GSMNET_NODE, &cfg_net_T101_cmd);
install_element(GSMNET_NODE, &cfg_net_dtx_cmd);
install_element(GSMNET_NODE, &cfg_net_pag_any_tch_cmd);
/* See also handover commands added on net level from handover_vty.c */
diff --git a/src/osmo-bsc/net_init.c b/src/osmo-bsc/net_init.c
index db84e2a53..5a48988b3 100644
--- a/src/osmo-bsc/net_init.c
+++ b/src/osmo-bsc/net_init.c
@@ -64,6 +64,9 @@ struct gsm_network *gsm_network_init(void *ctx)
net->T3119 = GSM_T3119_DEFAULT;
net->T3122 = GSM_T3122_DEFAULT;
net->T3141 = GSM_T3141_DEFAULT;
+ net->T7 = GSM_T7_DEFAULT;
+ net->T8 = GSM_T8_DEFAULT;
+ net->T101 = GSM_T101_DEFAULT;
return net;
}