aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/libmsc/sgs_iface.c2
-rw-r--r--src/libmsc/sgs_vty.c16
-rw-r--r--src/osmo-msc/msc_main.c6
3 files changed, 16 insertions, 8 deletions
diff --git a/src/libmsc/sgs_iface.c b/src/libmsc/sgs_iface.c
index 95b68f8a6..450d552fb 100644
--- a/src/libmsc/sgs_iface.c
+++ b/src/libmsc/sgs_iface.c
@@ -1258,8 +1258,6 @@ struct sgs_state *sgs_iface_init(void *ctx, struct gsm_network *network)
return NULL;
g_sgs = sgs;
- sgs_server_open(sgs);
-
return sgs;
}
diff --git a/src/libmsc/sgs_vty.c b/src/libmsc/sgs_vty.c
index 8ba5a7944..dbf2607d3 100644
--- a/src/libmsc/sgs_vty.c
+++ b/src/libmsc/sgs_vty.c
@@ -56,9 +56,11 @@ DEFUN(cfg_sgs_local_ip, cfg_sgs_local_ip_cmd,
osmo_strlcpy(sgs->cfg.local_addr, argv[0], sizeof(sgs->cfg.local_addr));
osmo_stream_srv_link_set_addr(sgs->srv_link, sgs->cfg.local_addr);
- rc = sgs_server_open(sgs);
- if (rc < 0)
- return CMD_WARNING;
+ if (vty->type != VTY_FILE) {
+ rc = sgs_server_open(sgs);
+ if (rc < 0)
+ return CMD_WARNING;
+ }
return CMD_SUCCESS;
}
@@ -74,9 +76,11 @@ DEFUN(cfg_sgs_local_port, cfg_sgs_local_port_cmd,
sgs->cfg.local_port = atoi(argv[0]);
osmo_stream_srv_link_set_port(sgs->srv_link, sgs->cfg.local_port);
- rc = sgs_server_open(sgs);
- if (rc < 0)
- return CMD_WARNING;
+ if (vty->type != VTY_FILE) {
+ rc = sgs_server_open(sgs);
+ if (rc < 0)
+ return CMD_WARNING;
+ }
return CMD_SUCCESS;
}
diff --git a/src/osmo-msc/msc_main.c b/src/osmo-msc/msc_main.c
index f29b2a839..b55d38f9c 100644
--- a/src/osmo-msc/msc_main.c
+++ b/src/osmo-msc/msc_main.c
@@ -62,6 +62,7 @@
#include <osmocom/sigtran/osmo_ss7.h>
#include <osmocom/mgcp_client/mgcp_client.h>
#include <osmocom/msc/sgs_iface.h>
+#include <osmocom/msc/sgs_server.h>
#ifdef BUILD_IU
#include <osmocom/ranap/iu_client.h>
@@ -692,6 +693,11 @@ TODO: we probably want some of the _net_ ctrl commands from bsc_base_ctrl_cmds_i
return 8;
}
+ if (sgs_server_open(g_sgs)) {
+ printf("Starting SGs server failed\n");
+ return 9;
+ }
+
#ifdef BUILD_IU
/* Set up IuCS */
ranap_iu_init(tall_msc_ctx, DRANAP, "OsmoMSC-IuCS", msc_network->iu.sccp, rcvmsg_iu_cs, rx_iu_event);