aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include/openbsc/gprs_sgsn.h
diff options
context:
space:
mode:
authorDaniel Willmann <dwillmann@sysmocom.de>2016-05-21 00:01:21 +0200
committerNeels Hofmeyr <nhofmeyr@sysmocom.de>2016-09-02 04:29:01 +0200
commit5b2363ebb281f0e3428ed1949d7ab1ee533d7e19 (patch)
treeb95efa691f89715b7a2bf79ad18ef97d92ffa7ab /openbsc/include/openbsc/gprs_sgsn.h
parentaf241727a9f03f9259529e1e374329adf4ca0626 (diff)
IuPS: sgsn_mm_ctx: add enum gprs_pmm_state field, track PMM state
Iu needs to page to transfer data in PMM-IDLE state. Change-Id: Id37778cb9a0328a21c8e8246998ecdb43dd687d8
Diffstat (limited to 'openbsc/include/openbsc/gprs_sgsn.h')
-rw-r--r--openbsc/include/openbsc/gprs_sgsn.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/openbsc/include/openbsc/gprs_sgsn.h b/openbsc/include/openbsc/gprs_sgsn.h
index 18cbab834..24e286c70 100644
--- a/openbsc/include/openbsc/gprs_sgsn.h
+++ b/openbsc/include/openbsc/gprs_sgsn.h
@@ -31,6 +31,16 @@ enum gprs_gmm_state {
GMM_DEREGISTERED_INIT, /* 4.1.3.3.1.4 */
};
+/* TS 23.060 6.1.1 and 6.1.2 Mobility management states A/Gb and Iu mode */
+enum gprs_pmm_state {
+ PMM_DETACHED,
+ PMM_CONNECTED,
+ PMM_IDLE,
+ MM_IDLE = PMM_DETACHED,
+ MM_READY = PMM_CONNECTED,
+ MM_STANDBY = PMM_IDLE,
+};
+
enum gprs_mm_ctr {
GMM_CTR_PKTS_SIG_IN,
GMM_CTR_PKTS_SIG_OUT,
@@ -117,6 +127,7 @@ struct sgsn_mm_ctx {
char imsi[GSM23003_IMSI_MAX_DIGITS+1];
enum gprs_gmm_state mm_state;
+ enum gprs_pmm_state pmm_state; /* Iu: page when in PMM-IDLE mode */
uint32_t p_tmsi;
uint32_t p_tmsi_old; /* old P-TMSI before new is confirmed */
uint32_t p_tmsi_sig;