aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include/openbsc/bsc_nat.h
diff options
context:
space:
mode:
Diffstat (limited to 'openbsc/include/openbsc/bsc_nat.h')
-rw-r--r--openbsc/include/openbsc/bsc_nat.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/openbsc/include/openbsc/bsc_nat.h b/openbsc/include/openbsc/bsc_nat.h
index 08a2a931e..abafd6f51 100644
--- a/openbsc/include/openbsc/bsc_nat.h
+++ b/openbsc/include/openbsc/bsc_nat.h
@@ -265,7 +265,7 @@ struct bsc_nat {
int bsc_ip_dscp;
/* MGCP config */
- struct mgcp_config *mgcp_cfg;
+ struct llist_head mgcp_cfgs;
uint8_t mgcp_msg[4096];
int mgcp_length;
int mgcp_ipa;
@@ -281,8 +281,6 @@ struct bsc_nat {
int ping_timeout;
int pong_timeout;
- struct bsc_endpoint *bsc_endpoints;
-
/* path to file with BSC config */
char *include_file;
char *include_base;
@@ -343,6 +341,11 @@ struct bsc_nat_ussd_con {
struct osmo_timer_list auth_timeout;
};
+struct mgcp_nat_config {
+ struct bsc_nat *nat;
+ struct bsc_endpoint *bsc_endpoints;
+};
+
/* create and init the structures */
struct bsc_config *bsc_config_alloc(struct bsc_nat *nat, const char *token,
unsigned int number);
@@ -401,7 +404,7 @@ int bsc_mgcp_assign_patch(struct nat_sccp_connection *, struct msgb *msg);
void bsc_mgcp_init(struct nat_sccp_connection *);
void bsc_mgcp_dlcx(struct nat_sccp_connection *);
void bsc_mgcp_free_endpoints(struct bsc_nat *nat);
-int bsc_mgcp_nat_init(struct bsc_nat *nat);
+int bsc_mgcp_nat_init(struct bsc_nat *nat, struct llist_head* cfgs);
struct nat_sccp_connection *bsc_mgcp_find_con(struct bsc_nat *, int endpoint_number);
struct msgb *bsc_mgcp_rewrite(char *input, int length, int endp, const char *ip,