diff options
author | Pablo Neira Ayuso <pablo@soleta.eu> | 2014-08-28 16:43:38 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@soleta.eu> | 2014-08-28 16:43:38 +0200 |
commit | 0fe78d39bd0de11645e930252b4b1e05c99eba19 (patch) | |
tree | 68e78b61b29409ce49a18514daff72c4c289610b | |
parent | 36a03bdfcb059ef22d7d2a52c5093194b5c12574 (diff) |
osmux: allow to specify the Osmux port
via mgcp section from the configuration file.
-rw-r--r-- | openbsc/include/openbsc/mgcp.h | 2 | ||||
-rw-r--r-- | openbsc/src/libmgcp/mgcp_vty.c | 10 | ||||
-rw-r--r-- | openbsc/src/libmgcp/osmux.c | 5 |
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; |