diff options
author | Alexander Couzens <lynxis@fe80.eu> | 2019-10-08 17:31:10 +0200 |
---|---|---|
committer | laforge <laforge@osmocom.org> | 2019-10-17 08:01:16 +0000 |
commit | 4d1d2e78b1f598101dadc8a6212b2c2e43044f5c (patch) | |
tree | 1adc3d471ea8735f5b0cfaca482de96b572fbee4 /src | |
parent | 030824e172bbcc29edd01a9906e2108615541cf0 (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
Diffstat (limited to 'src')
-rw-r--r-- | src/sgsn/sgsn_libgtp.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/sgsn/sgsn_libgtp.c b/src/sgsn/sgsn_libgtp.c index a39687f8a..c45431ae3 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 " |