aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include/openbsc
diff options
context:
space:
mode:
authorPhilipp Maier <pmaier@sysmocom.de>2017-06-23 10:13:27 +0200
committerNeels Hofmeyr <nhofmeyr@sysmocom.de>2017-06-28 01:24:32 +0200
commita494d00c2fe76c00003f9bd196a04386c5c974aa (patch)
tree0a5e4f3963e573b09a494da9cb6ebfbc2a9abd15 /openbsc/include/openbsc
parent155d638af04627e5512f3bad27c10b33fc3b90e7 (diff)
wip: vty: make msc sccp addressesconfigurable
Currently all sccp addresses on the msc (and bsc) side are hardcoded. Prepare the msc code to make the associated BSCs configurble. Make the compiler link libosmo-sccp properly and start using the sccp addressbook feature of libosmoc-sccp. Change-Id: I0171da40cfc2d90a4ca8e423b51cf7275c3d5571
Diffstat (limited to 'openbsc/include/openbsc')
-rw-r--r--openbsc/include/openbsc/a_iface.h19
-rw-r--r--openbsc/include/openbsc/gsm_data.h3
2 files changed, 20 insertions, 2 deletions
diff --git a/openbsc/include/openbsc/a_iface.h b/openbsc/include/openbsc/a_iface.h
index f40356ab4..1d63571f1 100644
--- a/openbsc/include/openbsc/a_iface.h
+++ b/openbsc/include/openbsc/a_iface.h
@@ -18,6 +18,23 @@
*
*/
+#pragma once
+
+#include <openbsc/a_reset.h>
+
+/* A struct to keep a context information about the BSCs we are associated with */
+struct bsc_context {
+ struct llist_head list;
+
+ /* To be filled up by the user (VTY) */
+ struct osmo_sccp_addr called_addr; /* BSC (remote) */
+ struct osmo_sccp_addr calling_addr; /* MSC (local) */
+
+ /* Automatically filled up by a_init() */
+ struct a_reset_ctx reset; /* Reset FSM (one per BSC) */
+ struct osmo_sccp_user *sccp_user; /* SCCP user (the same for all) */
+};
+
/* Initalize A interface connection between to MSC and BSC */
int a_init(void *ctx, struct osmo_sccp_instance *sccp, struct gsm_network *network);
@@ -39,5 +56,3 @@ void a_clear_all(struct osmo_sccp_user *scu, struct osmo_sccp_addr *bsc_addr);
/* Delete info of a closed connection from the active connection list */
void a_delete_bsc_con(uint32_t conn_id);
-
-#pragma once
diff --git a/openbsc/include/openbsc/gsm_data.h b/openbsc/include/openbsc/gsm_data.h
index 13178ae6c..be583d958 100644
--- a/openbsc/include/openbsc/gsm_data.h
+++ b/openbsc/include/openbsc/gsm_data.h
@@ -483,6 +483,9 @@ struct gsm_network {
} iu;
struct osmo_sccp_instance *sccp;
+
+ /* A list with all associated BSCs */
+ struct llist_head bscs;
};
struct osmo_esme;