aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/examples/osmo-bsc/osmo-bsc.cfg12
-rw-r--r--include/openbsc/gsm_data.h12
-rw-r--r--src/libbsc/bsc_vty.c29
-rw-r--r--src/libbsc/net_init.c9
4 files changed, 35 insertions, 27 deletions
diff --git a/doc/examples/osmo-bsc/osmo-bsc.cfg b/doc/examples/osmo-bsc/osmo-bsc.cfg
index b974b7635..534605a70 100644
--- a/doc/examples/osmo-bsc/osmo-bsc.cfg
+++ b/doc/examples/osmo-bsc/osmo-bsc.cfg
@@ -28,18 +28,6 @@ network
handover power budget interval 6
handover power budget hysteresis 3
handover maximum distance 9999
- timer t3101 10
- timer t3103 0
- timer t3105 0
- timer t3107 0
- timer t3109 0
- timer t3111 0
- timer t3113 60
- timer t3115 0
- timer t3117 0
- timer t3119 0
- timer t3122 0
- timer t3141 0
bts 0
type nanobts
band DCS1800
diff --git a/include/openbsc/gsm_data.h b/include/openbsc/gsm_data.h
index c307fee6b..02823c969 100644
--- a/include/openbsc/gsm_data.h
+++ b/include/openbsc/gsm_data.h
@@ -323,10 +323,18 @@ enum gsm_auth_policy {
GSM_AUTH_POLICY_REGEXP, /* accept IMSIs matching given regexp */
};
-#define GSM_T3101_DEFAULT 10
-#define GSM_T3105_DEFAULT 40
+#define GSM_T3101_DEFAULT 10 /* s */
+#define GSM_T3103_DEFAULT 5 /* s */
+#define GSM_T3105_DEFAULT 100 /* ms */
+#define GSM_T3107_DEFAULT 5 /* s */
+#define GSM_T3109_DEFAULT 19 /* s, must be 2s + radio_link_timeout*0.48 */
+#define GSM_T3111_DEFAULT 2 /* s */
#define GSM_T3113_DEFAULT 60
+#define GSM_T3115_DEFAULT 10
+#define GSM_T3117_DEFAULT 10
+#define GSM_T3119_DEFAULT 10
#define GSM_T3122_DEFAULT 10
+#define GSM_T3141_DEFAULT 10
struct gsm_tz {
int override; /* if 0, use system's time zone instead. */
diff --git a/src/libbsc/bsc_vty.c b/src/libbsc/bsc_vty.c
index f3ab35f39..1e78b08b1 100644
--- a/src/libbsc/bsc_vty.c
+++ b/src/libbsc/bsc_vty.c
@@ -777,6 +777,11 @@ static int config_write_bts(struct vty *v)
return CMD_SUCCESS;
}
+/* small helper macro for conditional dumping of timer */
+#define VTY_OUT_TIMER(number) \
+ if (gsmnet->T##number != GSM_T##number##_DEFAULT) \
+ vty_out(vty, " timer t"#number" %u%s", gsmnet->T##number, VTY_NEWLINE)
+
static int config_write_net(struct vty *vty)
{
struct gsm_network *gsmnet = gsmnet_from_vty(vty);
@@ -813,18 +818,18 @@ static int config_write_net(struct vty *vty)
gsmnet->handover.pwr_hysteresis, VTY_NEWLINE);
vty_out(vty, " handover maximum distance %u%s",
gsmnet->handover.max_distance, VTY_NEWLINE);
- vty_out(vty, " timer t3101 %u%s", gsmnet->T3101, VTY_NEWLINE);
- vty_out(vty, " timer t3103 %u%s", gsmnet->T3103, VTY_NEWLINE);
- vty_out(vty, " timer t3105 %u%s", gsmnet->T3105, VTY_NEWLINE);
- vty_out(vty, " timer t3107 %u%s", gsmnet->T3107, VTY_NEWLINE);
- vty_out(vty, " timer t3109 %u%s", gsmnet->T3109, VTY_NEWLINE);
- vty_out(vty, " timer t3111 %u%s", gsmnet->T3111, VTY_NEWLINE);
- vty_out(vty, " timer t3113 %u%s", gsmnet->T3113, VTY_NEWLINE);
- vty_out(vty, " timer t3115 %u%s", gsmnet->T3115, VTY_NEWLINE);
- vty_out(vty, " timer t3117 %u%s", gsmnet->T3117, VTY_NEWLINE);
- vty_out(vty, " timer t3119 %u%s", gsmnet->T3119, VTY_NEWLINE);
- vty_out(vty, " timer t3122 %u%s", gsmnet->T3122, VTY_NEWLINE);
- vty_out(vty, " timer t3141 %u%s", gsmnet->T3141, VTY_NEWLINE);
+ VTY_OUT_TIMER(3101);
+ VTY_OUT_TIMER(3103);
+ VTY_OUT_TIMER(3105);
+ VTY_OUT_TIMER(3107);
+ VTY_OUT_TIMER(3109);
+ VTY_OUT_TIMER(3111);
+ VTY_OUT_TIMER(3113);
+ VTY_OUT_TIMER(3115);
+ VTY_OUT_TIMER(3117);
+ VTY_OUT_TIMER(3119);
+ VTY_OUT_TIMER(3122);
+ VTY_OUT_TIMER(3141);
vty_out(vty, " dyn_ts_allow_tch_f %d%s",
gsmnet->dyn_ts_allow_tch_f ? 1 : 0, VTY_NEWLINE);
if (gsmnet->tz.override != 0) {
diff --git a/src/libbsc/net_init.c b/src/libbsc/net_init.c
index 4dfc258a5..9d5431964 100644
--- a/src/libbsc/net_init.c
+++ b/src/libbsc/net_init.c
@@ -44,10 +44,17 @@ struct gsm_network *bsc_network_init(void *ctx,
net->num_bts = 0;
net->reject_cause = GSM48_REJECT_ROAMING_NOT_ALLOWED;
net->T3101 = GSM_T3101_DEFAULT;
+ net->T3103 = GSM_T3103_DEFAULT;
net->T3105 = GSM_T3105_DEFAULT;
+ net->T3107 = GSM_T3107_DEFAULT;
+ net->T3109 = GSM_T3109_DEFAULT;
+ net->T3111 = GSM_T3111_DEFAULT;
net->T3113 = GSM_T3113_DEFAULT;
+ net->T3115 = GSM_T3115_DEFAULT;
+ net->T3117 = GSM_T3117_DEFAULT;
+ net->T3119 = GSM_T3119_DEFAULT;
net->T3122 = GSM_T3122_DEFAULT;
- /* FIXME: initialize all other timers! */
+ net->T3141 = GSM_T3141_DEFAULT;
/* default set of handover parameters */
net->handover.win_rxlev_avg = 10;