diff options
Diffstat (limited to 'include/osmocom/ranap/iu_client.h')
-rw-r--r-- | include/osmocom/ranap/iu_client.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/osmocom/ranap/iu_client.h b/include/osmocom/ranap/iu_client.h index 0cb84da..2e72839 100644 --- a/include/osmocom/ranap/iu_client.h +++ b/include/osmocom/ranap/iu_client.h @@ -30,6 +30,11 @@ struct ranap_ue_conn_ctx { int integrity_active; struct gprs_ra_id ra_id; enum ranap_nsap_addr_enc rab_assign_addr_enc; + bool notification; /* send notification to the upstream user */ + /* if true the ue_ctx will be free on Iu release complete */ + bool free_on_release; + /* Will be set when the Iu Release Command has been sent */ + struct osmo_timer_list release_timeout; }; enum ranap_iu_event_type { @@ -70,6 +75,13 @@ int ranap_iu_tx_sec_mode_cmd(struct ranap_ue_conn_ctx *uectx, struct osmo_auth_v int ranap_iu_tx_common_id(struct ranap_ue_conn_ctx *ue_ctx, const char *imsi); int ranap_iu_tx_release(struct ranap_ue_conn_ctx *ctx, const struct RANAP_Cause *cause); +/* Transmit a Iu Release Command and submit event RANAP_IU_EVENT_IU_RELEASE upon + * Release Complete or timeout. Caller is responsible to free the context and + * closing the SCCP connection (ranap_iu_free_ue) upon recieval of the event. */ +void ranap_iu_tx_release_free(struct ranap_ue_conn_ctx *ctx, + const struct RANAP_Cause *cause, + int timeout); + /* freeing the UE will release all resources * This will close the SCCP connection connected to the UE */ void ranap_iu_free_ue(struct ranap_ue_conn_ctx *ue_ctx); |