Pau Espin Pedrol has uploaded this change for review. ( 
https://gerrit.osmocom.org/10548


Change subject: mgcp: add VTY Option to force-realloc endpoints
......................................................................

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.

Backport from osmo-mgw.git.

Change-Id: Ic8740512c5ea0766ff6ceb1c28b9c2b3fe46e75f
---
M openbsc/src/libmgcp/mgcp_vty.c
M openbsc/src/osmo-bsc_mgcp/mgcp_main.c
M openbsc/src/osmo-bsc_nat/bsc_mgcp_utils.c
M openbsc/src/osmo-bsc_nat/bsc_nat.c
4 files changed, 18 insertions(+), 2 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/48/10548/1

diff --git a/openbsc/src/libmgcp/mgcp_vty.c b/openbsc/src/libmgcp/mgcp_vty.c
index d5908f3..23207df 100644
--- a/openbsc/src/libmgcp/mgcp_vty.c
+++ b/openbsc/src/libmgcp/mgcp_vty.c
@@ -604,6 +604,16 @@
        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>",
@@ -816,9 +826,10 @@
                                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
@@ -1448,6 +1459,7 @@
        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 4ea0700..6cf9ab7 100644
--- a/openbsc/src/osmo-bsc_mgcp/mgcp_main.c
+++ b/openbsc/src/osmo-bsc_mgcp/mgcp_main.c
@@ -218,6 +218,8 @@
        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 8cf4e94..986306c 100644
--- a/openbsc/src/osmo-bsc_nat/bsc_mgcp_utils.c
+++ b/openbsc/src/osmo-bsc_nat/bsc_mgcp_utils.c
@@ -1111,7 +1111,6 @@
        /* 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 0559758..45f53bc 100644
--- a/openbsc/src/osmo-bsc_nat/bsc_nat.c
+++ b/openbsc/src/osmo-bsc_nat/bsc_nat.c
@@ -1652,6 +1652,9 @@
        rate_ctr_init(tall_bsc_ctx);
        osmo_stats_init(tall_bsc_ctx);

+       /* Ensure that forced enpoint allocation is turned on by default */
+       nat->mgcp_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);

--
To view, visit https://gerrit.osmocom.org/10548
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: openbsc
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic8740512c5ea0766ff6ceb1c28b9c2b3fe46e75f
Gerrit-Change-Number: 10548
Gerrit-PatchSet: 1
Gerrit-Owner: Pau Espin Pedrol <pes...@sysmocom.de>

Reply via email to