mgcp_trunk: drop "trunk 0" limitation

Due to the internal handling of the trunks it was not possible to allow
an E1 trunk that has the ID 0. However this limitation is no longer
present, so we now can allow an E1 trunk with ID 0.

Change-Id: I302c2007628f607033686e277c407232351e66ad
Related: OS#2659
This commit is contained in:
Philipp Maier 2020-08-10 22:52:51 +02:00
parent 113141d4f9
commit 5a71251229
2 changed files with 3 additions and 8 deletions

View File

@ -190,7 +190,7 @@ int e1_trunk_nr_from_epname(const char *epname)
errno = 0;
trunk_nr = strtoul(epname + prefix_len, &str_trunk_nr_end, 10);
if (errno == ERANGE || trunk_nr > 64 || trunk_nr == 0
if (errno == ERANGE || trunk_nr > 64
|| epname + prefix_len == str_trunk_nr_end
|| str_trunk_nr_end[0] != '/')
return -EINVAL;
@ -217,7 +217,7 @@ struct mgcp_trunk *mgcp_trunk_by_name(const struct mgcp_config *cfg, const char
}
trunk_nr = e1_trunk_nr_from_epname(epname);
if (trunk_nr > 0)
if (trunk_nr >= 0)
return mgcp_trunk_by_num(cfg, MGCP_TRUNK_E1, trunk_nr);
/* Earlier versions of osmo-mgw were accepting endpoint names

View File

@ -866,16 +866,11 @@ ALIAS_DEPRECATED(cfg_mgcp_agent_addr, cfg_mgcp_agent_addr_cmd_old,
"IPv4 Address of the callagent\n")
DEFUN(cfg_mgcp_trunk, cfg_mgcp_trunk_cmd,
"trunk <1-64>", "Configure a SS7 trunk\n" "Trunk Nr\n")
"trunk <0-64>", "Configure a SS7 trunk\n" "Trunk Nr\n")
{
struct mgcp_trunk *trunk;
int index = atoi(argv[0]);
/* Due to historical reasons, the trunk id number 0 is reserved for the
* virtual trunk. This trunk is configured with separate VTY
* parameters, so we restrict the access to trunks with id numbers
* greater than 0. */
trunk = mgcp_trunk_by_num(g_cfg, MGCP_TRUNK_E1, index);
if (!trunk) {
trunk = mgcp_trunk_alloc(g_cfg, MGCP_TRUNK_E1, index);