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. Change-Id: Ic8740512c5ea0766ff6ceb1c28b9c2b3fe46e75f
This commit is contained in:
parent
efe85d33d4
commit
4179ebdec1
|
@ -591,6 +591,16 @@ DEFUN(cfg_mgcp_loop,
|
||||||
return CMD_SUCCESS;
|
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,
|
DEFUN(cfg_mgcp_number_endp,
|
||||||
cfg_mgcp_number_endp_cmd,
|
cfg_mgcp_number_endp_cmd,
|
||||||
"number endpoints <0-65534>",
|
"number endpoints <0-65534>",
|
||||||
|
@ -803,9 +813,10 @@ static int config_write_trunk(struct vty *vty)
|
||||||
trunk->keepalive_interval, VTY_NEWLINE);
|
trunk->keepalive_interval, VTY_NEWLINE);
|
||||||
else
|
else
|
||||||
vty_out(vty, " no rtp keep-alive%s", VTY_NEWLINE);
|
vty_out(vty, " no rtp keep-alive%s", VTY_NEWLINE);
|
||||||
|
|
||||||
vty_out(vty, " loop %d%s",
|
vty_out(vty, " loop %d%s",
|
||||||
trunk->audio_loop, VTY_NEWLINE);
|
trunk->audio_loop, VTY_NEWLINE);
|
||||||
|
vty_out(vty, " force-realloc %d%s",
|
||||||
|
trunk->force_realloc, VTY_NEWLINE);
|
||||||
if (trunk->omit_rtcp)
|
if (trunk->omit_rtcp)
|
||||||
vty_out(vty, " rtcp-omit%s", VTY_NEWLINE);
|
vty_out(vty, " rtcp-omit%s", VTY_NEWLINE);
|
||||||
else
|
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_number_cmd_old);
|
||||||
install_element(MGCP_NODE, &cfg_mgcp_sdp_payload_name_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_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_number_endp_cmd);
|
||||||
install_element(MGCP_NODE, &cfg_mgcp_omit_rtcp_cmd);
|
install_element(MGCP_NODE, &cfg_mgcp_omit_rtcp_cmd);
|
||||||
install_element(MGCP_NODE, &cfg_mgcp_no_omit_rtcp_cmd);
|
install_element(MGCP_NODE, &cfg_mgcp_no_omit_rtcp_cmd);
|
||||||
|
|
|
@ -218,6 +218,8 @@ int main(int argc, char **argv)
|
||||||
cfg->get_net_downlink_format_cb = &mgcp_transcoding_net_downlink_format;
|
cfg->get_net_downlink_format_cb = &mgcp_transcoding_net_downlink_format;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
cfg->trunk.force_realloc = 1;
|
||||||
|
|
||||||
vty_info.copyright = openbsc_copyright;
|
vty_info.copyright = openbsc_copyright;
|
||||||
vty_init(&vty_info);
|
vty_init(&vty_info);
|
||||||
logging_vty_add_cmds(NULL);
|
logging_vty_add_cmds(NULL);
|
||||||
|
|
|
@ -1101,7 +1101,6 @@ int bsc_mgcp_nat_init(struct bsc_nat *nat)
|
||||||
/* some more MGCP config handling */
|
/* some more MGCP config handling */
|
||||||
cfg->data = nat;
|
cfg->data = nat;
|
||||||
cfg->policy_cb = bsc_mgcp_policy_cb;
|
cfg->policy_cb = bsc_mgcp_policy_cb;
|
||||||
cfg->trunk.force_realloc = 1;
|
|
||||||
|
|
||||||
if (cfg->bts_ip)
|
if (cfg->bts_ip)
|
||||||
talloc_free(cfg->bts_ip);
|
talloc_free(cfg->bts_ip);
|
||||||
|
|
|
@ -1628,6 +1628,9 @@ int main(int argc, char **argv)
|
||||||
rate_ctr_init(tall_bsc_ctx);
|
rate_ctr_init(tall_bsc_ctx);
|
||||||
osmo_stats_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 */
|
/* init vty and parse */
|
||||||
if (mgcp_parse_config(config_file, nat->mgcp_cfg, MGCP_BSC_NAT) < 0) {
|
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);
|
fprintf(stderr, "Failed to parse the config file: '%s'\n", config_file);
|
||||||
|
|
Loading…
Reference in New Issue