diff options
author | Daniel Willmann <dwillmann@sysmocom.de> | 2016-05-02 16:46:43 +0200 |
---|---|---|
committer | Daniel Willmann <dwillmann@sysmocom.de> | 2016-05-04 19:04:10 +0200 |
commit | 8c6732909bd8dc090c079755a4166e813bac826a (patch) | |
tree | 8ab96a49e5b25788ffaa2eac1f90c24024b03a28 /openbsc/include | |
parent | 960d28087e18263027f7dbdb5e5bc641053c7e64 (diff) |
gprs: Track PMM states
For Iu mode it is important to know when the UE is in PMM-IDLE mode since the
SGSN will need to page the UE if there is data for it.
Diffstat (limited to 'openbsc/include')
-rw-r--r-- | openbsc/include/openbsc/gprs_sgsn.h | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/openbsc/include/openbsc/gprs_sgsn.h b/openbsc/include/openbsc/gprs_sgsn.h index 10c2d9a7f..7dadfd214 100644 --- a/openbsc/include/openbsc/gprs_sgsn.h +++ b/openbsc/include/openbsc/gprs_sgsn.h @@ -24,7 +24,7 @@ struct gsm_subscriber; enum gsm48_gsm_cause; /* TS 04.08 4.1.3.3 GMM mobility management states on the network side */ -enum gprs_mm_state { +enum gprs_gmm_state { GMM_DEREGISTERED, /* 4.1.3.3.1.1 */ GMM_COMMON_PROC_INIT, /* 4.1.3.3.1.2 */ GMM_REGISTERED_NORMAL, /* 4.1.3.3.2.1 */ @@ -32,6 +32,16 @@ enum gprs_mm_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,7 +127,8 @@ struct sgsn_mm_ctx { enum sgsn_ran_type ran_type; char imsi[GSM_IMSI_LENGTH]; - enum gprs_mm_state mm_state; + enum gprs_gmm_state mm_state; + enum gprs_pmm_state pmm_state; uint32_t p_tmsi; uint32_t p_tmsi_old; /* old P-TMSI before new is confirmed */ uint32_t p_tmsi_sig; |