aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Couzens <lynxis@fe80.eu>2019-10-08 17:31:10 +0200
committerlaforge <laforge@osmocom.org>2019-10-17 08:01:16 +0000
commit4d1d2e78b1f598101dadc8a6212b2c2e43044f5c (patch)
tree1adc3d471ea8735f5b0cfaca482de96b572fbee4
parent030824e172bbcc29edd01a9906e2108615541cf0 (diff)
sgsn: Gb: implementing PS Paging when MS is MM_STANDBY
When the MS is in MM_STANDBY, the Routing Area is known, but not the exact cell. Start the paging procedure. (Even this is only supported for the last known cell, not the Routing Area. Routing Area paging is not yet supported.) Change-Id: Icc2c6ba70f8f74054546a1e31741fc90b232a23c
-rw-r--r--src/sgsn/sgsn_libgtp.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/sgsn/sgsn_libgtp.c b/src/sgsn/sgsn_libgtp.c
index a39687f8..c45431ae 100644
--- a/src/sgsn/sgsn_libgtp.c
+++ b/src/sgsn/sgsn_libgtp.c
@@ -54,6 +54,7 @@
#include <osmocom/sgsn/gprs_sndcp.h>
#include <osmocom/sgsn/gprs_ranap.h>
#include <osmocom/sgsn/gprs_gmm_fsm.h>
+#include <osmocom/sgsn/gprs_mm_state_gb_fsm.h>
#include <gtp.h>
#include <pdp.h>
@@ -664,6 +665,11 @@ static int cb_data_ind(struct pdp_t *lib, void *packet, unsigned int len)
/* FIXME: queue the packet we received from GTP */
break;
case ST_GMM_REGISTERED_NORMAL:
+ OSMO_ASSERT(mm->gb.mm_state_fsm->state != ST_MM_IDLE);
+ if (mm->gb.mm_state_fsm->state == ST_MM_STANDBY)
+ gprs_gb_page_ps_ra(mm);
+
+ /* FIXME: queue the packet we received from GTP */
break;
default:
LOGP(DGPRS, LOGL_ERROR, "GTP DATA IND for TLLI %08X in state "