aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@soleta.eu>2014-08-28 16:43:38 +0200
committerPablo Neira Ayuso <pablo@soleta.eu>2014-08-28 16:43:38 +0200
commit0fe78d39bd0de11645e930252b4b1e05c99eba19 (patch)
tree68e78b61b29409ce49a18514daff72c4c289610b /openbsc
parent36a03bdfcb059ef22d7d2a52c5093194b5c12574 (diff)
osmux: allow to specify the Osmux port
via mgcp section from the configuration file.
Diffstat (limited to 'openbsc')
-rw-r--r--openbsc/include/openbsc/mgcp.h2
-rw-r--r--openbsc/src/libmgcp/mgcp_vty.c10
-rw-r--r--openbsc/src/libmgcp/osmux.c5
3 files changed, 16 insertions, 1 deletions
diff --git a/openbsc/include/openbsc/mgcp.h b/openbsc/include/openbsc/mgcp.h
index c75637fa7..bf240a342 100644
--- a/openbsc/include/openbsc/mgcp.h
+++ b/openbsc/include/openbsc/mgcp.h
@@ -217,6 +217,8 @@ struct mgcp_config {
int osmux_init;
/* osmux batch factor: from 1 to 4 maximum */
int osmux_batch;
+ /* osmux port */
+ uint16_t osmux_port;
};
/* config management */
diff --git a/openbsc/src/libmgcp/mgcp_vty.c b/openbsc/src/libmgcp/mgcp_vty.c
index 86336680c..f0e1703e8 100644
--- a/openbsc/src/libmgcp/mgcp_vty.c
+++ b/openbsc/src/libmgcp/mgcp_vty.c
@@ -1132,6 +1132,15 @@ DEFUN(cfg_mgcp_osmux_batch_factor,
return CMD_SUCCESS;
}
+DEFUN(cfg_mgcp_osmux_port,
+ cfg_mgcp_osmux_port_cmd,
+ "osmux port <1-65535>",
+ OSMUX_STR "port\n" "UDP port\n")
+{
+ g_cfg->osmux_port = atoi(argv[0]);
+ return CMD_SUCCESS;
+}
+
int mgcp_vty_init(void)
{
install_element_ve(&show_mgcp_cmd);
@@ -1187,6 +1196,7 @@ int mgcp_vty_init(void)
install_element(MGCP_NODE, &cfg_mgcp_no_sdp_payload_send_ptime_cmd);
install_element(MGCP_NODE, &cfg_mgcp_osmux_cmd);
install_element(MGCP_NODE, &cfg_mgcp_osmux_batch_factor_cmd);
+ install_element(MGCP_NODE, &cfg_mgcp_osmux_port_cmd);
install_element(MGCP_NODE, &cfg_mgcp_trunk_cmd);
install_node(&trunk_node, config_write_trunk);
diff --git a/openbsc/src/libmgcp/osmux.c b/openbsc/src/libmgcp/osmux.c
index c9f344def..a8f5da816 100644
--- a/openbsc/src/libmgcp/osmux.c
+++ b/openbsc/src/libmgcp/osmux.c
@@ -416,7 +416,10 @@ int osmux_init(int role, struct mgcp_config *cfg)
}
osmux_fd.data = cfg;
- ret = mgcp_create_bind("0.0.0.0", &osmux_fd, OSMUX_PORT);
+ if (!cfg->osmux_port)
+ cfg->osmux_port = OSMUX_PORT;
+
+ ret = mgcp_create_bind("0.0.0.0", &osmux_fd, cfg->osmux_port);
if (ret < 0) {
LOGP(DMGCP, LOGL_ERROR, "cannot bind OSMUX socket\n");
return ret;