diff options
author | Philipp Maier <pmaier@sysmocom.de> | 2017-08-08 12:04:30 +0200 |
---|---|---|
committer | Philipp Maier <pmaier@sysmocom.de> | 2017-08-08 12:04:30 +0200 |
commit | 1e61f9e13cc6a80707aaab1d1ad86c2fe0f303ac (patch) | |
tree | d01ae05e52bce0557975ad3eea24501d48ca5e79 | |
parent | 8f1d1fc2a4d88830b1889b710e0ecc662e1dedab (diff) |
mgcp: add VTY Option to force-realloc endpoints
Currently the force_realloc feature is turnd on and of in a
hardcoded way. This patch makes the option available via VTY.
-rw-r--r-- | openbsc/src/libmgcp/mgcp_vty.c | 14 | ||||
-rw-r--r-- | openbsc/src/osmo-bsc_mgcp/mgcp_main.c | 2 | ||||
-rw-r--r-- | openbsc/src/osmo-bsc_nat/bsc_mgcp_utils.c | 1 | ||||
-rw-r--r-- | openbsc/src/osmo-bsc_nat/bsc_nat.c | 3 |
4 files changed, 16 insertions, 4 deletions
diff --git a/openbsc/src/libmgcp/mgcp_vty.c b/openbsc/src/libmgcp/mgcp_vty.c index 7d4b2da84..51889d9a4 100644 --- a/openbsc/src/libmgcp/mgcp_vty.c +++ b/openbsc/src/libmgcp/mgcp_vty.c @@ -591,6 +591,16 @@ DEFUN(cfg_mgcp_loop, return CMD_SUCCESS; } +DEFUN(cfg_mgcp_force_realloc, + cfg_mgcp_force_realloc_cmd, + "force-realloc (0|1)", + "Force endpoint reallocation when the endpoint is still seized\n" + "Don't force reallocation\n" "force reallocation\n") +{ + g_cfg->trunk.force_realloc = atoi(argv[0]); + return CMD_SUCCESS; +} + DEFUN(cfg_mgcp_number_endp, cfg_mgcp_number_endp_cmd, "number endpoints <0-65534>", @@ -803,9 +813,10 @@ static int config_write_trunk(struct vty *vty) trunk->keepalive_interval, VTY_NEWLINE); else vty_out(vty, " no rtp keep-alive%s", VTY_NEWLINE); - vty_out(vty, " loop %d%s", trunk->audio_loop, VTY_NEWLINE); + vty_out(vty, " force-realloc %d%s", + trunk->force_realloc, VTY_NEWLINE); if (trunk->omit_rtcp) vty_out(vty, " rtcp-omit%s", VTY_NEWLINE); else @@ -1379,6 +1390,7 @@ int mgcp_vty_init(void) install_element(MGCP_NODE, &cfg_mgcp_sdp_payload_number_cmd_old); install_element(MGCP_NODE, &cfg_mgcp_sdp_payload_name_cmd_old); install_element(MGCP_NODE, &cfg_mgcp_loop_cmd); + install_element(MGCP_NODE, &cfg_mgcp_force_realloc_cmd); install_element(MGCP_NODE, &cfg_mgcp_number_endp_cmd); install_element(MGCP_NODE, &cfg_mgcp_omit_rtcp_cmd); install_element(MGCP_NODE, &cfg_mgcp_no_omit_rtcp_cmd); diff --git a/openbsc/src/osmo-bsc_mgcp/mgcp_main.c b/openbsc/src/osmo-bsc_mgcp/mgcp_main.c index 6cf9ab786..4ea070079 100644 --- a/openbsc/src/osmo-bsc_mgcp/mgcp_main.c +++ b/openbsc/src/osmo-bsc_mgcp/mgcp_main.c @@ -218,8 +218,6 @@ int main(int argc, char **argv) cfg->get_net_downlink_format_cb = &mgcp_transcoding_net_downlink_format; #endif - cfg->trunk.force_realloc = 1; - vty_info.copyright = openbsc_copyright; vty_init(&vty_info); logging_vty_add_cmds(NULL); diff --git a/openbsc/src/osmo-bsc_nat/bsc_mgcp_utils.c b/openbsc/src/osmo-bsc_nat/bsc_mgcp_utils.c index 48847865c..7df362f89 100644 --- a/openbsc/src/osmo-bsc_nat/bsc_mgcp_utils.c +++ b/openbsc/src/osmo-bsc_nat/bsc_mgcp_utils.c @@ -1101,7 +1101,6 @@ int bsc_mgcp_nat_init(struct bsc_nat *nat) /* some more MGCP config handling */ cfg->data = nat; cfg->policy_cb = bsc_mgcp_policy_cb; - cfg->trunk.force_realloc = 1; if (cfg->bts_ip) talloc_free(cfg->bts_ip); diff --git a/openbsc/src/osmo-bsc_nat/bsc_nat.c b/openbsc/src/osmo-bsc_nat/bsc_nat.c index daa066d05..d15ba8762 100644 --- a/openbsc/src/osmo-bsc_nat/bsc_nat.c +++ b/openbsc/src/osmo-bsc_nat/bsc_nat.c @@ -1628,6 +1628,9 @@ int main(int argc, char **argv) rate_ctr_init(tall_bsc_ctx); osmo_stats_init(tall_bsc_ctx); + /* Ensure that forced enpoint allocation is turned on by default */ + cfg->trunk.force_realloc = 1; + /* init vty and parse */ if (mgcp_parse_config(config_file, nat->mgcp_cfg, MGCP_BSC_NAT) < 0) { fprintf(stderr, "Failed to parse the config file: '%s'\n", config_file); |