aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include
diff options
context:
space:
mode:
authorNeels Hofmeyr <nhofmeyr@sysmocom.de>2015-10-12 11:57:37 +0200
committerHolger Hans Peter Freyther <holger@moiji-mobile.com>2015-11-02 12:56:47 +0100
commit9c534fdbe8289ccfbf5d2d586acb38fff945aecd (patch)
tree6ae04e4e4c827f201c04a14c8b9eb6b1c01eaeb2 /openbsc/include
parent89ef324eab2aed40a8f530c0ab7534fb93a60151 (diff)
gsup/oap: add OAP to GSUP client.
Trigger an OAP registration upon IPA connect. Feed incoming OAP messages to oap_handle() and send replies returned by it. Add oap_config to sgsn_config (todo: vty). Sponsored-by: On-Waves ehf [hfreyther: Fix coding style]
Diffstat (limited to 'openbsc/include')
-rw-r--r--openbsc/include/openbsc/gprs_gsup_client.h7
-rw-r--r--openbsc/include/openbsc/sgsn.h3
2 files changed, 9 insertions, 1 deletions
diff --git a/openbsc/include/openbsc/gprs_gsup_client.h b/openbsc/include/openbsc/gprs_gsup_client.h
index 9537db4c7..ccfa388bc 100644
--- a/openbsc/include/openbsc/gprs_gsup_client.h
+++ b/openbsc/include/openbsc/gprs_gsup_client.h
@@ -23,6 +23,8 @@
#include <osmocom/core/timer.h>
+#include <openbsc/oap.h>
+
#define GPRS_GSUP_RECONNECT_INTERVAL 10
#define GPRS_GSUP_PING_INTERVAL 20
@@ -38,6 +40,8 @@ struct gprs_gsup_client {
gprs_gsup_read_cb_t read_cb;
void *data;
+ struct oap_state oap_state;
+
struct osmo_timer_list ping_timer;
struct osmo_timer_list connect_timer;
int is_connected;
@@ -46,7 +50,8 @@ struct gprs_gsup_client {
struct gprs_gsup_client *gprs_gsup_client_create(const char *ip_addr,
unsigned int tcp_port,
- gprs_gsup_read_cb_t read_cb);
+ gprs_gsup_read_cb_t read_cb,
+ struct oap_config *oap_config);
void gprs_gsup_client_destroy(struct gprs_gsup_client *gsupc);
int gprs_gsup_client_send(struct gprs_gsup_client *gsupc, struct msgb *msg);
diff --git a/openbsc/include/openbsc/sgsn.h b/openbsc/include/openbsc/sgsn.h
index d4f991310..2b1b97caa 100644
--- a/openbsc/include/openbsc/sgsn.h
+++ b/openbsc/include/openbsc/sgsn.h
@@ -6,6 +6,7 @@
#include <osmocom/gprs/gprs_ns.h>
#include <openbsc/gprs_sgsn.h>
+#include <openbsc/oap.h>
#include <ares.h>
@@ -61,6 +62,8 @@ struct sgsn_config {
} timers;
int dynamic_lookup;
+
+ struct oap_config oap;
};
struct sgsn_instance {