aboutsummaryrefslogtreecommitdiffstats
path: root/include/openbsc/gsm_data.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/openbsc/gsm_data.h')
-rw-r--r--include/openbsc/gsm_data.h39
1 files changed, 36 insertions, 3 deletions
diff --git a/include/openbsc/gsm_data.h b/include/openbsc/gsm_data.h
index c307fee6b..849381a84 100644
--- a/include/openbsc/gsm_data.h
+++ b/include/openbsc/gsm_data.h
@@ -12,12 +12,14 @@
#include <osmocom/core/stats.h>
#include <osmocom/crypt/auth.h>
+#include <osmocom/sigtran/sccp_sap.h>
#include <openbsc/common.h>
#include <openbsc/rest_octets.h>
#include <openbsc/common_cs.h>
#include <openbsc/mgcpgw_client.h>
+
/** annotations for msgb ownership */
#define __uses
@@ -193,14 +195,33 @@ struct gsm_subscriber_connection {
uint16_t lac;
struct gsm_encr encr;
+ struct {
+ unsigned int mgcp_rtp_endpoint;
+ uint16_t port_subscr;
+ uint16_t port_cn;
+ } rtp;
+
/* which Iu-CS connection, if any. */
struct {
struct ue_conn_ctx *ue_ctx;
- unsigned int mgcp_rtp_endpoint;
- uint16_t mgcp_rtp_port_ue;
- uint16_t mgcp_rtp_port_cn;
uint8_t rab_id;
} iu;
+
+ struct {
+ /* A pointer to the SCCP user that handles
+ * the SCCP connections for this subscriber
+ * connection */
+ struct osmo_sccp_user *scu;
+
+ /* The address of the BSC that is associated
+ * with this subscirber connection */
+ struct osmo_sccp_addr bsc_addr;
+
+ /* The connection identifier that is used
+ * to reference the SCCP connection that is
+ * associated with this subscriber connection */
+ int conn_id;
+ } a;
};
@@ -462,8 +483,20 @@ struct gsm_network {
} mgcpgw;
struct {
+ /* CS7 instance id number (set via VTY) */
+ uint32_t cs7_instance;
enum nsap_addr_enc rab_assign_addr_enc;
+ struct osmo_sccp_instance *sccp;
} iu;
+
+ struct {
+ /* CS7 instance id number (set via VTY) */
+ uint32_t cs7_instance;
+ /* A list with the context information about
+ * all BSCs we have connections with */
+ struct llist_head bscs;
+ struct osmo_sccp_instance *sccp;
+ } a;
};
struct osmo_esme;