diff options
author | Oliver Smith <osmith@sysmocom.de> | 2022-11-25 10:56:35 +0100 |
---|---|---|
committer | Oliver Smith <osmith@sysmocom.de> | 2022-11-25 13:57:41 +0100 |
commit | d27f8a33dd42ebf22b512b87c784308903c01810 (patch) | |
tree | 75e36d07f4cf75d26d28f863f3aa3762a09beb61 | |
parent | 346c6011bc6ca86cb3978c00536cfe530cfbd775 (diff) |
WIP: fsms: use configurable timers instead of T23042osmith/wip-timers
It looks like T23042 was a placeholder for timers to be filled in later,
it cannot be configured via VTY and I cannot find it mentioned in any
specs on etsi.org. git blame shows it first appeard in 31f525e ("large
refactoring: use FSMs for lchans; add inter-BSC HO"). Replace T23042
with timers that can be configured via VTY.
Previous timeout for the states was 5s.
* ASSIGNMENT_ST_WAIT_MGW_ENDPOINT_TO_MSC and
HO_ST_WAIT_MGW_ENDPOINT_TO_MSC:
* Runs gscon_connect_mgw_to_msc() on enter, which waits for one MGCP
CRCX or MDCX response (or changes state immediatelly)
* Use existing X9 ("Timeout for availability of MGW endpoint"), 5s,
which was previously being used by lchan_rtp_fsm for a similar
purpuse
* HO_ST_WAIT_LCHAN_ACTIVE:
* Runs lchan_activate() on enter, and waits for the lchan fsm to go
through LCHAN_ST_WAIT_TS_READY (X5) and LCHAN_ST_WAIT_ACTIV_ACK
(X6).
* Use new X29, 10s (5s from X5 + 5s from X6)
Change-Id: Id0d4d0788f609f3272fc81c80a754383dde25c16
-rw-r--r-- | src/osmo-bsc/assignment_fsm.c | 2 | ||||
-rw-r--r-- | src/osmo-bsc/handover_fsm.c | 4 | ||||
-rw-r--r-- | src/osmo-bsc/net_init.c | 1 |
3 files changed, 4 insertions, 3 deletions
diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index f00b26da5..3a832a42a 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -54,7 +54,7 @@ static const struct osmo_tdef_state_timeout assignment_fsm_timeouts[32] = { [ASSIGNMENT_ST_WAIT_LCHAN_ACTIVE] = { .T = 10 }, [ASSIGNMENT_ST_WAIT_RR_ASS_COMPLETE] = { .keep_timer = true }, [ASSIGNMENT_ST_WAIT_LCHAN_ESTABLISHED] = { .keep_timer = true }, - [ASSIGNMENT_ST_WAIT_MGW_ENDPOINT_TO_MSC] = { .T = 23042 }, + [ASSIGNMENT_ST_WAIT_MGW_ENDPOINT_TO_MSC] = { .T = -9 }, }; /* Transition to a state, using the T timer defined in assignment_fsm_timeouts. diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 0d888e024..94c69bdfd 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -193,8 +193,8 @@ struct gsm_subscriber_connection *ho_fi_conn(struct osmo_fsm_inst *fi) } static const struct osmo_tdef_state_timeout ho_fsm_timeouts[32] = { - [HO_ST_WAIT_LCHAN_ACTIVE] = { .T = 23042 }, - [HO_ST_WAIT_MGW_ENDPOINT_TO_MSC] = { .T = 23042 }, + [HO_ST_WAIT_LCHAN_ACTIVE] = { .T = -29 }, + [HO_ST_WAIT_MGW_ENDPOINT_TO_MSC] = { .T = -9 }, [HO_ST_WAIT_RR_HO_DETECT] = { .T = 23042 }, [HO_ST_WAIT_RR_HO_COMPLETE] = { .T = 23042 }, [HO_ST_WAIT_LCHAN_ESTABLISHED] = { .T = 23042 }, diff --git a/src/osmo-bsc/net_init.c b/src/osmo-bsc/net_init.c index ad2f9bfca..159906ee0 100644 --- a/src/osmo-bsc/net_init.c +++ b/src/osmo-bsc/net_init.c @@ -73,6 +73,7 @@ static struct osmo_tdef gsm_network_T_defs[] = { " after this amount of idle time, forget internally cumulated time remainders. Zero to always" " keep remainders. See also X16, X17." }, { .T = -25, .default_val = 5, .desc = "Timeout for initial user data after an MSC initiated an SCCP connection to the BSS" }, + { .T = -29, .default_val = 10, .desc = "Timeout for activating an lchan for handover (should be X5 + X6)" }, { .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" }, {} |