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.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/osmocom/ranap/iu_client.h b/include/osmocom/ranap/iu_client.h
index b388529..a93fff3 100644
--- a/include/osmocom/ranap/iu_client.h
+++ b/include/osmocom/ranap/iu_client.h
@@ -31,6 +31,8 @@ struct ranap_ue_conn_ctx {
struct gprs_ra_id ra_id;
enum ranap_nsap_addr_enc rab_assign_addr_enc;
bool notification; /* send notification to the upstream user */
+ /* Will be set when the Iu Release Command has been sent */
+ struct osmo_timer_list release_timeout;
};
enum ranap_iu_event_type {
@@ -71,6 +73,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 free the ctx afterwards.
+ * If a Release Complete is not received within timeout s,
+ * release the SCCP connection. */
+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);