Change in osmo-sgsn[master]: Treat RAU as implicit RESUME if GMM is suspended

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

pespin gerrit-no-reply at lists.osmocom.org
Wed Jun 17 21:26:40 UTC 2020


pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/18877 )

Change subject: Treat RAU as implicit RESUME if GMM is suspended
......................................................................

Treat RAU as implicit RESUME if GMM is suspended

We so far only resumed from suspend upon receiving an explicit BSSGP
RESUME message from the BSS.  The latter is only possible in
BSC-colocated PCU, where the BSC can trigger the message when releasing
the dedicated channel.  In BTS-colocated PCUs, this is not possible,
and we have to rely on the MS resuming by RAU.

See 3GPP TS 23.060 section 16.2.1.1.1 clause 6:

The MS shall resume GPRS services by sending a Routeing Area Update Request message to the SGSN:
* if the BSS did not successfully request the SGSN to resume GPRS services,
* if the RR Channel Release message was not received before the MS left dedicated mode,
* if the MS locally determines that the conditions for the GPRS suspension have disappeared

Without this patch, the GMM state would forever be stuck in SUSPEND,
which in turn causes the SGSN to page the MS all the time.

Change-Id: I3c09187a27483d95fa0070bbb467f94a2ea3978f
Related: OS4616
---
M src/sgsn/gprs_gmm_fsm.c
1 file changed, 8 insertions(+), 3 deletions(-)

Approvals:
  Jenkins Builder: Verified
  neels: Looks good to me, but someone else must approve
  fixeria: Looks good to me, approved
  laforge: Looks good to me, approved



diff --git a/src/sgsn/gprs_gmm_fsm.c b/src/sgsn/gprs_gmm_fsm.c
index 37ea904..11b4e4e 100644
--- a/src/sgsn/gprs_gmm_fsm.c
+++ b/src/sgsn/gprs_gmm_fsm.c
@@ -69,9 +69,12 @@
 static void st_gmm_registered_suspended(struct osmo_fsm_inst *fi, uint32_t event, void *data)
 {
 	switch(event) {
-	case E_GMM_RESUME:
+	case E_GMM_RESUME:		/* explicit BSSGP RESUME from BSS */
 		gmm_fsm_state_chg(fi, ST_GMM_REGISTERED_NORMAL);
 		break;
+	case E_GMM_COMMON_PROC_INIT_REQ: /* implicit resume from MS */
+		gmm_fsm_state_chg(fi, ST_GMM_COMMON_PROC_INIT);
+		break;
 	}
 }
 
@@ -123,10 +126,12 @@
 		.action = st_gmm_registered_normal,
 	},
 	[ST_GMM_REGISTERED_SUSPENDED] = {
-		.in_event_mask = X(E_GMM_RESUME),
+		.in_event_mask = X(E_GMM_RESUME) |
+				 X(E_GMM_COMMON_PROC_INIT_REQ),
 		.out_state_mask =
 			X(ST_GMM_DEREGISTERED) |
-			X(ST_GMM_REGISTERED_NORMAL),
+			X(ST_GMM_REGISTERED_NORMAL) |
+			X(ST_GMM_COMMON_PROC_INIT),
 		.name = "Registered.SUSPENDED",
 		.action = st_gmm_registered_suspended,
 	},

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/18877
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-sgsn
Gerrit-Branch: master
Gerrit-Change-Id: I3c09187a27483d95fa0070bbb467f94a2ea3978f
Gerrit-Change-Number: 18877
Gerrit-PatchSet: 3
Gerrit-Owner: laforge <laforge at osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy at sysmocom.de>
Gerrit-Reviewer: laforge <laforge at osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr at sysmocom.de>
Gerrit-Reviewer: pespin <pespin at sysmocom.de>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200617/ea6be8a3/attachment.htm>


More information about the gerrit-log mailing list