diff options
author | Philipp Maier <pmaier@sysmocom.de> | 2020-08-10 22:52:51 +0200 |
---|---|---|
committer | Philipp Maier <pmaier@sysmocom.de> | 2020-08-10 23:36:11 +0200 |
commit | 5a71251229c8ac5fe7196c62bb25a8b5780a27b3 (patch) | |
tree | e9b0a7f79d6024b16bc2be896b8389c0cea85902 | |
parent | 113141d4f98fed6345bf509530db96da7d32e0e7 (diff) |
mgcp_trunk: drop "trunk 0" limitationpmaier/mgw2
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
-rw-r--r-- | src/libosmo-mgcp/mgcp_trunk.c | 4 | ||||
-rw-r--r-- | src/libosmo-mgcp/mgcp_vty.c | 7 |
2 files changed, 3 insertions, 8 deletions
diff --git a/src/libosmo-mgcp/mgcp_trunk.c b/src/libosmo-mgcp/mgcp_trunk.c index 617993fd4..84ad22052 100644 --- a/src/libosmo-mgcp/mgcp_trunk.c +++ b/src/libosmo-mgcp/mgcp_trunk.c @@ -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 diff --git a/src/libosmo-mgcp/mgcp_vty.c b/src/libosmo-mgcp/mgcp_vty.c index d2d4b23a5..22863c708 100644 --- a/src/libosmo-mgcp/mgcp_vty.c +++ b/src/libosmo-mgcp/mgcp_vty.c @@ -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); |