aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2021-04-15 20:17:18 +0200
committerNeels Hofmeyr <neels@hofmeyr.de>2021-04-28 16:32:19 +0200
commit496274b4eee9c843a68aaca8a32112665727bbba (patch)
treebbff7e846fe0295ce8a7c2f3caafadb4bcd4abc6
parente8bb7438cb05a74a5f1a103c6d080944e761571e (diff)
lchan_fsm: mode modify: fix missing timeouts and error transitions
-rw-r--r--src/osmo-bsc/lchan_fsm.c6
-rw-r--r--src/osmo-bsc/net_init.c2
-rw-r--r--tests/timer.vty4
3 files changed, 10 insertions, 2 deletions
diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c
index d2b717239..4eb95ff05 100644
--- a/src/osmo-bsc/lchan_fsm.c
+++ b/src/osmo-bsc/lchan_fsm.c
@@ -217,6 +217,8 @@ struct osmo_tdef_state_timeout lchan_fsm_timeouts[32] = {
[LCHAN_ST_WAIT_BEFORE_RF_RELEASE] = { .T=3111 },
[LCHAN_ST_WAIT_RF_RELEASE_ACK] = { .T=3111 },
[LCHAN_ST_WAIT_AFTER_ERROR] = { .T=-3111 },
+ [LCHAN_ST_WAIT_RR_CHAN_MODE_MODIFY_ACK] = { .T=-13 },
+ [LCHAN_ST_WAIT_RSL_CHAN_MODE_MODIFY_ACK] = { .T=-14 },
};
/* Transition to a state, using the T timer defined in lchan_fsm_timeouts.
@@ -261,8 +263,8 @@ uint32_t lchan_fsm_on_error[34] = {
[LCHAN_ST_WAIT_RF_RELEASE_ACK] = LCHAN_ST_BORKEN,
[LCHAN_ST_WAIT_AFTER_ERROR] = LCHAN_ST_UNUSED,
[LCHAN_ST_BORKEN] = LCHAN_ST_BORKEN,
- [LCHAN_ST_WAIT_RR_CHAN_MODE_MODIFY_ACK] = LCHAN_ST_BORKEN,
- [LCHAN_ST_WAIT_RSL_CHAN_MODE_MODIFY_ACK] = LCHAN_ST_BORKEN,
+ [LCHAN_ST_WAIT_RR_CHAN_MODE_MODIFY_ACK] = LCHAN_ST_WAIT_RF_RELEASE_ACK,
+ [LCHAN_ST_WAIT_RSL_CHAN_MODE_MODIFY_ACK] = LCHAN_ST_WAIT_RF_RELEASE_ACK,
};
#define lchan_fail(fmt, args...) lchan_fail_to(lchan_fsm_on_error[fi->state], fmt, ## args)
diff --git a/src/osmo-bsc/net_init.c b/src/osmo-bsc/net_init.c
index 478c62fe4..6d88adb3f 100644
--- a/src/osmo-bsc/net_init.c
+++ b/src/osmo-bsc/net_init.c
@@ -54,6 +54,8 @@ static struct osmo_tdef gsm_network_T_defs[] = {
{ .T=-10, .default_val=5, .desc="Timeout for fully configured MGW endpoint" },
{ .T=-11, .default_val=5, .desc="Timeout for Perform Location Response from SMLC" },
{ .T=-12, .default_val=5, .desc="Timeout for obtaining TA after BSSLAP TA Request" },
+ { .T=-13, .default_val=5, .desc="Timeout for RR Channel Mode Modify ACK (BSC <-> MS)" },
+ { .T=-14, .default_val=5, .desc="Timeout for RSL Channel Mode Modify ACK (BSC <-> BTS)" },
{ .T=-3111, .default_val=4, .desc="Wait time after lchan was released in error (should be T3111 + 2s)" },
{ .T=-3210, .default_val=20, .desc="After L3 Complete, wait for MSC to confirm" },
{}
diff --git a/tests/timer.vty b/tests/timer.vty
index 4b9ddbb9b..71dd2c19f 100644
--- a/tests/timer.vty
+++ b/tests/timer.vty
@@ -27,6 +27,8 @@ net: X9 = 5 s Timeout for availability of MGW endpoint (default: 5 s)
net: X10 = 5 s Timeout for fully configured MGW endpoint (default: 5 s)
net: X11 = 5 s Timeout for Perform Location Response from SMLC (default: 5 s)
net: X12 = 5 s Timeout for obtaining TA after BSSLAP TA Request (default: 5 s)
+net: X13 = 5 s Timeout for RR Channel Mode Modify ACK (BSC <-> MS) (default: 5 s)
+net: X14 = 5 s Timeout for RSL Channel Mode Modify ACK (BSC <-> BTS) (default: 5 s)
net: X3111 = 4 s Wait time after lchan was released in error (should be T3111 + 2s) (default: 4 s)
net: X3210 = 20 s After L3 Complete, wait for MSC to confirm (default: 20 s)
mgw: X2427 = 5 s timeout for MGCP response from MGW (default: 5 s)
@@ -74,6 +76,8 @@ net: X9 = 5 s Timeout for availability of MGW endpoint (default: 5 s)
net: X10 = 5 s Timeout for fully configured MGW endpoint (default: 5 s)
net: X11 = 5 s Timeout for Perform Location Response from SMLC (default: 5 s)
net: X12 = 5 s Timeout for obtaining TA after BSSLAP TA Request (default: 5 s)
+net: X13 = 5 s Timeout for RR Channel Mode Modify ACK (BSC <-> MS) (default: 5 s)
+net: X14 = 5 s Timeout for RSL Channel Mode Modify ACK (BSC <-> BTS) (default: 5 s)
net: X3111 = 4 s Wait time after lchan was released in error (should be T3111 + 2s) (default: 4 s)
net: X3210 = 20 s After L3 Complete, wait for MSC to confirm (default: 20 s)
mgw: X2427 = 5 s timeout for MGCP response from MGW (default: 5 s)