diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/openbsc/Makefile.am | 1 | ||||
-rw-r--r-- | include/openbsc/gprs_sgsn.h | 4 | ||||
-rw-r--r-- | include/openbsc/gsm_data.h | 2 | ||||
-rw-r--r-- | include/openbsc/iu.h | 83 | ||||
-rw-r--r-- | include/openbsc/iucs.h | 2 | ||||
-rw-r--r-- | include/openbsc/iucs_ranap.h | 4 | ||||
-rw-r--r-- | include/openbsc/sgsn.h | 3 |
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; }; |