aboutsummaryrefslogtreecommitdiffstats
path: root/include/osmocom/ranap/iu_client.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/osmocom/ranap/iu_client.h')
-rw-r--r--include/osmocom/ranap/iu_client.h12
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);