aboutsummaryrefslogtreecommitdiffstats
path: root/include/openbsc
diff options
context:
space:
mode:
Diffstat (limited to 'include/openbsc')
-rw-r--r--include/openbsc/Makefile.am1
-rw-r--r--include/openbsc/gprs_sgsn.h4
-rw-r--r--include/openbsc/gsm_data.h2
-rw-r--r--include/openbsc/iu.h83
-rw-r--r--include/openbsc/iucs.h2
-rw-r--r--include/openbsc/iucs_ranap.h4
-rw-r--r--include/openbsc/sgsn.h3
7 files changed, 8 insertions, 91 deletions
diff --git a/include/openbsc/Makefile.am b/include/openbsc/Makefile.am
index 4a5223666..7c0e453c0 100644
--- a/include/openbsc/Makefile.am
+++ b/include/openbsc/Makefile.am
@@ -48,7 +48,6 @@ noinst_HEADERS = \
handover.h \
handover_decision.h \
ipaccess.h \
- iu.h \
iucs.h \
iucs_ranap.h \
meas_feed.h \
diff --git a/include/openbsc/gprs_sgsn.h b/include/openbsc/gprs_sgsn.h
index fd86174be..52fba66d5 100644
--- a/include/openbsc/gprs_sgsn.h
+++ b/include/openbsc/gprs_sgsn.h
@@ -117,7 +117,7 @@ struct service_info {
uint16_t pdp_status;
};
-struct ue_conn_ctx;
+struct ranap_ue_conn_ctx;
/* According to TS 03.60, Table 5: SGSN MM and PDP Contexts */
/* Extended by 3GPP TS 23.060, Table 6: SGSN MM and PDP Contexts */
@@ -159,7 +159,7 @@ struct sgsn_mm_ctx {
/* CSG Subscription Data */
/* LIPA Allowed */
/* Voice Support Match Indicator */
- struct ue_conn_ctx *ue_ctx;
+ struct ranap_ue_conn_ctx *ue_ctx;
struct service_info service;
} iu;
/* VLR number */
diff --git a/include/openbsc/gsm_data.h b/include/openbsc/gsm_data.h
index 283b5498c..813164dbd 100644
--- a/include/openbsc/gsm_data.h
+++ b/include/openbsc/gsm_data.h
@@ -202,7 +202,7 @@ struct gsm_subscriber_connection {
/* which Iu-CS connection, if any. */
struct {
- struct ue_conn_ctx *ue_ctx;
+ struct ranap_ue_conn_ctx *ue_ctx;
int integrity_protection;
unsigned int mgcp_rtp_endpoint;
uint8_t rab_id;
diff --git a/include/openbsc/iu.h b/include/openbsc/iu.h
deleted file mode 100644
index 65d41ad74..000000000
--- a/include/openbsc/iu.h
+++ /dev/null
@@ -1,83 +0,0 @@
-#pragma once
-
-#include <stdbool.h>
-#include <stdint.h>
-
-#include <osmocom/core/linuxlist.h>
-#include <osmocom/gsm/gsm48.h>
-#include <osmocom/sigtran/sccp_sap.h>
-
-#include <openbsc/common.h>
-
-struct sgsn_pdp_ctx;
-struct msgb;
-struct gsm_auth_tuple;
-struct osmo_sccp_addr;
-struct osmo_ss7_instance;
-
-struct RANAP_RAB_SetupOrModifiedItemIEs_s;
-struct RANAP_GlobalRNC_ID;
-struct RANAP_Cause;
-
-/* Debugging switches from asn1c and osmo-iuh */
-extern int asn_debug;
-extern int asn1_xer_print;
-
-struct ue_conn_ctx {
- struct llist_head list;
- /* TODO: It's not needed to store the full SCCP address for each
- * UE. Rather than that, a pointer to the RNC should be far
- * sufficient */
- struct osmo_sccp_addr sccp_addr;
- uint32_t conn_id;
- int integrity_active;
- struct gprs_ra_id ra_id;
- enum nsap_addr_enc rab_assign_addr_enc;
-};
-
-enum iu_event_type {
- IU_EVENT_RAB_ASSIGN,
- IU_EVENT_SECURITY_MODE_COMPLETE,
- IU_EVENT_IU_RELEASE, /* An actual Iu Release message was received */
- IU_EVENT_LINK_INVALIDATED, /* A SUA link was lost or closed down */
- /* FIXME: maybe IU_EVENT_IU_RELEASE and IU_EVENT_LINK_INVALIDATED
- * should be combined to one generic event that simply means the
- * ue_conn_ctx should no longer be used, for whatever reason. */
-};
-
-extern const struct value_string iu_event_type_names[];
-static inline const char *iu_event_type_str(enum iu_event_type e)
-{
- return get_value_string(iu_event_type_names, e);
-}
-
-/* Implementations of iu_recv_cb_t shall find the ue_conn_ctx in msg->dst. */
-typedef int (* iu_recv_cb_t )(struct msgb *msg, struct gprs_ra_id *ra_id,
- /* TODO "gprs_" in generic CS+PS domain ^ */
- uint16_t *sai);
-
-typedef int (* iu_event_cb_t )(struct ue_conn_ctx *ue_ctx,
- enum iu_event_type type, void *data);
-
-typedef int (* iu_rab_ass_resp_cb_t )(struct ue_conn_ctx *ue_ctx, uint8_t rab_id,
- struct RANAP_RAB_SetupOrModifiedItemIEs_s *setup_ies);
-
-int iu_init(void *ctx, struct osmo_sccp_instance *sccp,
- iu_recv_cb_t iu_recv_cb, iu_event_cb_t iu_event_cb);
-
-int iu_tx(struct msgb *msg, uint8_t sapi);
-
-int iu_page_cs(const char *imsi, const uint32_t *tmsi, uint16_t lac);
-int iu_page_ps(const char *imsi, const uint32_t *ptmsi, uint16_t lac, uint8_t rac);
-
-int iu_rab_act(struct ue_conn_ctx *ue_ctx, struct msgb *msg);
-int iu_rab_deact(struct ue_conn_ctx *ue_ctx, uint8_t rab_id);
-int iu_tx_sec_mode_cmd(struct ue_conn_ctx *uectx, struct gsm_auth_tuple *tp,
- int send_ck, int new_key);
-int iu_tx_common_id(struct ue_conn_ctx *ue_ctx, const char *imsi);
-int iu_tx_release(struct ue_conn_ctx *ctx, const struct RANAP_Cause *cause);
-
-void iu_vty_init(int iu_parent_node, enum nsap_addr_enc *rab_assign_addr_enc);
-int iu_vty_config_write(struct vty *vty, const char *indent);
-
-struct ue_conn_ctx *ue_conn_ctx_alloc(struct osmo_sccp_addr *addr, uint32_t conn_id);
diff --git a/include/openbsc/iucs.h b/include/openbsc/iucs.h
index fb61a5cf1..b7d60645d 100644
--- a/include/openbsc/iucs.h
+++ b/include/openbsc/iucs.h
@@ -4,4 +4,4 @@ int gsm0408_rcvmsg_iucs(struct gsm_network *network, struct msgb *msg,
uint16_t *lac);
struct gsm_subscriber_connection *subscr_conn_lookup_iu(struct gsm_network *network,
- struct ue_conn_ctx *ue);
+ struct ranap_ue_conn_ctx *ue);
diff --git a/include/openbsc/iucs_ranap.h b/include/openbsc/iucs_ranap.h
index 748de23d7..c2ff5f90e 100644
--- a/include/openbsc/iucs_ranap.h
+++ b/include/openbsc/iucs_ranap.h
@@ -1,7 +1,7 @@
#pragma once
struct gsm_network;
-struct ue_conn_ctx;
+struct ranap_ue_conn_ctx;
int iucs_rx_ranap_event(struct gsm_network *network,
- struct ue_conn_ctx *ue_ctx, int type, void *data);
+ struct ranap_ue_conn_ctx *ue_ctx, int type, void *data);
diff --git a/include/openbsc/sgsn.h b/include/openbsc/sgsn.h
index 57b2978ff..6581ca1c4 100644
--- a/include/openbsc/sgsn.h
+++ b/include/openbsc/sgsn.h
@@ -5,6 +5,7 @@
#include <osmocom/core/msgb.h>
#include <osmocom/crypt/gprs_cipher.h>
#include <osmocom/gprs/gprs_ns.h>
+#include <osmocom/ranap/iu_client.h>
#include <openbsc/gprs_sgsn.h>
#include <openbsc/oap_client.h>
#include <openbsc/common.h>
@@ -112,7 +113,7 @@ struct sgsn_config {
} dcomp_v42bis;
struct {
- enum nsap_addr_enc rab_assign_addr_enc;
+ enum ranap_nsap_addr_enc rab_assign_addr_enc;
} iu;
};