diff options
Diffstat (limited to 'src/sgsn/sgsn_cdr.c')
-rw-r--r-- | src/sgsn/sgsn_cdr.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/sgsn/sgsn_cdr.c b/src/sgsn/sgsn_cdr.c index a50b4dfdd..1536c135a 100644 --- a/src/sgsn/sgsn_cdr.c +++ b/src/sgsn/sgsn_cdr.c @@ -27,6 +27,9 @@ #include <osmocom/gsm/apn.h> #include <osmocom/sgsn/vty.h> +#include <osmocom/sgsn/gtp_ggsn.h> +#include <osmocom/sgsn/pdpctx.h> +#include <osmocom/sgsn/mmctx.h> #include <gtp.h> #include <pdp.h> @@ -38,10 +41,6 @@ #include <stdio.h> #include <inttypes.h> -/* TODO...avoid going through a global */ -extern struct sgsn_instance *sgsn; -extern struct ctrl_handle *g_ctrlh; - /** * The CDR module will generate an entry like: * @@ -64,7 +63,7 @@ extern struct ctrl_handle *g_ctrlh; static void send_cdr_trap(char *value) { - if (ctrl_cmd_send_trap(g_ctrlh, "cdr-v1", value) < 0) + if (ctrl_cmd_send_trap(sgsn->ctrlh, "cdr-v1", value) < 0) LOGP(DGPRS, LOGL_ERROR, "Failed to create and send TRAP cdr-v1\n"); } @@ -299,3 +298,8 @@ int sgsn_cdr_init(struct sgsn_instance *sgsn) return 0; } + +void sgsn_cdr_release(struct sgsn_instance *sgsn) +{ + osmo_signal_unregister_handler(SS_SGSN, handle_sgsn_sig, sgsn); +} |