diff options
author | Alexander Couzens <lynxis@fe80.eu> | 2019-09-10 21:00:18 +0200 |
---|---|---|
committer | lynxis lazus <lynxis@fe80.eu> | 2019-10-03 20:29:37 +0000 |
commit | eb5aee580d01d9f0f30c1190697f8499ce1f070a (patch) | |
tree | ed6512105799d6cfe46a2b365f65aa128471d45f /include | |
parent | e30f19542bcfa3493dc428a638580f34c773081b (diff) |
gprs_ranap: release Iu UE Context when exiting PMM Connected
PMM Connected defines a Iu signaling connection. The 2 other
PMM states do not have an active Iu signaling connection.
Change-Id: Ie05d2bdf8dfb593b4c7e837107a3a06f22e90119
Diffstat (limited to 'include')
-rw-r--r-- | include/osmocom/sgsn/gprs_ranap.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/include/osmocom/sgsn/gprs_ranap.h b/include/osmocom/sgsn/gprs_ranap.h index b300130ac..62fdf6f2d 100644 --- a/include/osmocom/sgsn/gprs_ranap.h +++ b/include/osmocom/sgsn/gprs_ranap.h @@ -12,8 +12,19 @@ void activate_pdp_rabs(struct sgsn_mm_ctx *ctx); int sgsn_ranap_iu_event(struct ranap_ue_conn_ctx *ctx, enum ranap_iu_event_type type, void *data); int iu_rab_act_ps(uint8_t rab_id, struct sgsn_pdp_ctx *pdp); +/* free the Iu UE context */ +void sgsn_ranap_iu_free(struct sgsn_mm_ctx *ctx); + +/* send a Iu Release Command and free afterwards the UE context */ +void sgsn_ranap_iu_release_free(struct sgsn_mm_ctx *ctx, + const struct RANAP_Cause *cause); + int gsm0408_gprs_rcvmsg_iu(struct msgb *msg, struct gprs_ra_id *ra_id, uint16_t *sai); -#endif + +#else /* ifndef BUILD_IU */ +inline static void sgsn_ranap_iu_free(void *ctx) {}; +inline static void sgsn_ranap_iu_release_free(void *ctx, void *cause) {}; +#endif /* BUILD_IU*/ struct ranap_ue_conn_ctx; /* On RANAP, Returns pointer to he associated ranap_ue_conn_ctx in msg, filled |