aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2021-04-13 20:00:10 +0200
committerPau Espin Pedrol <pespin@sysmocom.de>2021-04-13 20:36:06 +0200
commit223754fde5cf1b8720232b0185faa3c4d940e5a7 (patch)
tree97fb383f871cb5b24f5ec716752d12f6ca1677a9
parentf025e582bb278f4b263ec8f695fdd14c3ba84fa9 (diff)
mm_state_iu_fsm: T3314 expiry must lead to PMM IDLE, not PMM DETACHED
This Iu timer is Osmocom specific, but is made to resemble T3314 timer from GERAN (also named READY timer). The READY timer mission is to make the MM state transition from READY to STANDBY, which in PMM (UTRAN) matches the transition from CONNECTED to IDLE. Instead, the patch introducing the timer was making it transition to DETACHED directly, but this was clearly not the intention: * Detaching a UE after 44 seconds (default value for T3314) is overkill. * The comment describing it says: "Iu User inactivity timer. On expiry release Iu connection". The release of Iu connection happens during the CONNECTED->IDLE transition (that's basically the difference between both states). The transition CONNECTED->IDLE is done by means of calling sgsn_ranap_iu_release_free(), which will eventually answer with a event RANAP_IU_EVENT_IU_RELEASE from lower layers when the Release Complete is received. At that point, osmo-sgsn code frees the connection and transitions to IDLE state. This way we maintain the state according to the connection existance. Related: SYS#5389 Related: osmo-iuh.git Change-Id Iac822c74e56750dc40e94573eae0e20853ff68c0 Fixes: 3bad31bcb42c3449e6847ea7495578817029a2e1 Change-Id: I7279102ad51b0c39eb6d04c129986984112d15cc
-rw-r--r--src/sgsn/gprs_mm_state_iu_fsm.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/src/sgsn/gprs_mm_state_iu_fsm.c b/src/sgsn/gprs_mm_state_iu_fsm.c
index 69b4ef008..7f2d3b4d3 100644
--- a/src/sgsn/gprs_mm_state_iu_fsm.c
+++ b/src/sgsn/gprs_mm_state_iu_fsm.c
@@ -64,7 +64,6 @@ static void st_pmm_connected(struct osmo_fsm_inst *fi, uint32_t event, void *dat
break;
case E_PMM_USER_INACTIVITY:
sgsn_ranap_iu_release_free(ctx, &user_inactive_cause);
- mm_state_iu_fsm_state_chg(fi, ST_PMM_DETACHED);
break;
case E_PMM_RA_UPDATE:
break;