From f7d3335817c199bbc25dc736f85b94e1e97b1290 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Tue, 15 Jun 2010 18:50:26 +0800 Subject: [PATCH] nat: Add MGCP code and parsing to the nat code.. For the nat we will have NAT and MGCP in the same process and this commit starts with that. We are linking in the MGCP code and one can embed MGCP config snippets... --- openbsc/include/openbsc/bsc_nat.h | 7 +++++++ openbsc/src/nat/bsc_nat.c | 4 +++- openbsc/src/nat/bsc_nat_vty.c | 3 +++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/openbsc/include/openbsc/bsc_nat.h b/openbsc/include/openbsc/bsc_nat.h index 638791a8b..ab80cb401 100644 --- a/openbsc/include/openbsc/bsc_nat.h +++ b/openbsc/include/openbsc/bsc_nat.h @@ -22,6 +22,8 @@ #ifndef BSC_NAT_H #define BSC_NAT_H +#include "mgcp.h" + #include #include @@ -33,6 +35,8 @@ #define DIR_BSC 1 #define DIR_MSC 2 +#define NAT_IPAC_PROTO_MGCP + struct bsc_nat; /* @@ -135,6 +139,9 @@ struct bsc_nat { /* known BSC's */ struct llist_head bsc_configs; int num_bsc; + + /* MGCP config */ + struct mgcp_config *mgcp_cfg; }; /* create and init the structures */ diff --git a/openbsc/src/nat/bsc_nat.c b/openbsc/src/nat/bsc_nat.c index 156823033..e8ba42802 100644 --- a/openbsc/src/nat/bsc_nat.c +++ b/openbsc/src/nat/bsc_nat.c @@ -703,10 +703,12 @@ int main(int argc, char** argv) return -4; } + nat->mgcp_cfg = talloc_zero(nat, struct mgcp_config); + /* init vty and parse */ bsc_nat_vty_init(nat); telnet_init(NULL, 4244); - if (vty_read_config_file(config_file) < 0) { + if (mgcp_parse_config(config_file, nat->mgcp_cfg) < 0) { fprintf(stderr, "Failed to parse the config file: '%s'\n", config_file); return -3; } diff --git a/openbsc/src/nat/bsc_nat_vty.c b/openbsc/src/nat/bsc_nat_vty.c index 6dae0d65c..3a468e9fa 100644 --- a/openbsc/src/nat/bsc_nat_vty.c +++ b/openbsc/src/nat/bsc_nat_vty.c @@ -25,6 +25,7 @@ #include #include +#include #include @@ -208,6 +209,8 @@ int bsc_nat_vty_init(struct bsc_nat *nat) install_element(BSC_NODE, &cfg_bsc_token_cmd); install_element(BSC_NODE, &cfg_bsc_lac_cmd); + mgcp_vty_init(); + return 0; }