diff options
Diffstat (limited to 'openbsc/include/openbsc/bsc_nat.h')
-rw-r--r-- | openbsc/include/openbsc/bsc_nat.h | 11 |
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, |