Revert "mgcp_client: don't configure "bts base"" until osmo-msc is ready
OsmoMSC is in the odd situation that it is already using the new
libosmo-mgcp-client, which is targeted at osmo-mgw, to configure talking to the
old osmo-bsc_mgcp. By removing the bts_base, we break current OsmoMSC.
Removing bts_base makes sense, but let's revert this until OsmoMSC is ready
after merging Ieea9630358b3963261fa1993cf1f3b563ff23538 (which moves the
osmo-msc over to osmo-mgw).
This reverts commit 0be3ce66c058f39e07f7a1c93a9bf632fb936edf.
Change-Id: Ibce214c2bfc35623097abbb647619426ef3dcc94
diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c
index 5cd14f7..ee8d267 100644
--- a/src/libosmo-mgcp-client/mgcp_client.c
+++ b/src/libosmo-mgcp-client/mgcp_client.c
@@ -45,6 +45,7 @@
.remote_port = -1,
.first_endpoint = 0,
.last_endpoint = 0,
+ .bts_base = 0,
};
}
@@ -439,6 +440,7 @@
mgcp->actual.first_endpoint = conf->first_endpoint > 0 ? (uint16_t)conf->first_endpoint : 0;
mgcp->actual.last_endpoint = conf->last_endpoint > 0 ? (uint16_t)conf->last_endpoint : 0;
+ mgcp->actual.bts_base = conf->bts_base > 0 ? (uint16_t)conf->bts_base : 4000;
return mgcp;
}
diff --git a/src/libosmo-mgcp-client/mgcp_client_vty.c b/src/libosmo-mgcp-client/mgcp_client_vty.c
index 1d58bb5..f8129c0 100644
--- a/src/libosmo-mgcp-client/mgcp_client_vty.c
+++ b/src/libosmo-mgcp-client/mgcp_client_vty.c
@@ -123,12 +123,32 @@
"set first useable endpoint identifier\n"
"set the last useable endpoint identifier\n")
+#define BTS_START_STR "First UDP port allocated for the BTS side\n"
+#define UDP_PORT_STR "UDP Port number\n"
+DEFUN(cfg_mgw_rtp_bts_base_port,
+ cfg_mgw_rtp_bts_base_port_cmd,
+ "mgw bts-base <0-65534>",
+ MGW_STR
+ BTS_START_STR
+ UDP_PORT_STR)
+{
+ global_mgcp_client_conf->bts_base = atoi(argv[0]);
+ return CMD_SUCCESS;
+}
+ALIAS_DEPRECATED(cfg_mgw_rtp_bts_base_port,
+ cfg_mgcpgw_rtp_bts_base_port_cmd,
+ "mgcpgw bts-base <0-65534>",
+ MGW_STR
+ BTS_START_STR
+ UDP_PORT_STR)
+
int mgcp_client_config_write(struct vty *vty, const char *indent)
{
const char *addr;
int port;
uint16_t first_endpoint;
uint16_t last_endpoint;
+ uint16_t bts_base;
addr = global_mgcp_client_conf->local_addr;
if (addr)
@@ -155,6 +175,12 @@
first_endpoint, last_endpoint, VTY_NEWLINE);
}
+ bts_base = global_mgcp_client_conf->bts_base;
+ if (bts_base) {
+ vty_out(vty, "%smgw bts-base %u%s", indent,
+ bts_base, VTY_NEWLINE);
+ }
+
return CMD_SUCCESS;
}
@@ -168,6 +194,7 @@
install_element(node, &cfg_mgw_remote_ip_cmd);
install_element(node, &cfg_mgw_remote_port_cmd);
install_element(node, &cfg_mgw_endpoint_range_cmd);
+ install_element(node, &cfg_mgw_rtp_bts_base_port_cmd);
/* deprecated 'mgcpgw' commands */
install_element(node, &cfg_mgcpgw_local_ip_cmd);
@@ -175,4 +202,5 @@
install_element(node, &cfg_mgcpgw_remote_ip_cmd);
install_element(node, &cfg_mgcpgw_remote_port_cmd);
install_element(node, &cfg_mgcpgw_endpoint_range_cmd);
+ install_element(node, &cfg_mgcpgw_rtp_bts_base_port_cmd);
}