aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2020-05-25 03:57:35 +0200
committerneels <nhofmeyr@sysmocom.de>2020-06-03 15:29:42 +0000
commitd3cb71b5510476f6f8aed1b3e9e5585dac317b5e (patch)
treee9b5b3e03247ac8aaf163d23dcdbd2f9151985b0
parent3a986ba3c9b8f15330dfb1020e7cae2433be2085 (diff)
CTRL: determine MSC connection status from RESET-ACK, not AS_ACTIVE
-rw-r--r--src/osmo-bsc/osmo_bsc_ctrl.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/src/osmo-bsc/osmo_bsc_ctrl.c b/src/osmo-bsc/osmo_bsc_ctrl.c
index 12b2f4db6..b94a749bf 100644
--- a/src/osmo-bsc/osmo_bsc_ctrl.c
+++ b/src/osmo-bsc/osmo_bsc_ctrl.c
@@ -26,6 +26,7 @@
#include <osmocom/bsc/osmo_bsc_rf.h>
#include <osmocom/bsc/bsc_msc_data.h>
#include <osmocom/bsc/signal.h>
+#include <osmocom/bsc/a_reset.h>
#include <osmocom/core/linuxlist.h>
#include <osmocom/core/signal.h>
@@ -179,21 +180,12 @@ CTRL_CMD_DEFINE_RO(msc_connection_status, "connection_status");
static int get_msc_connection_status(struct ctrl_cmd *cmd, void *data)
{
struct bsc_msc_data *msc = (struct bsc_msc_data *)cmd->node;
- struct osmo_ss7_as *as;
- const char *as_state_name;
if (msc == NULL) {
cmd->reply = "msc not found";
return CTRL_CMD_ERROR;
}
- as = msc_get_ss7_as(msc);
- if (!as) {
- cmd->reply = "AS not found for MSC";
- return CTRL_CMD_ERROR;
- }
-
- as_state_name = osmo_fsm_inst_state_name(as->fi);
- if (!strcmp(as_state_name, "AS_ACTIVE"))
+ if (a_reset_conn_ready(msc))
cmd->reply = "connected";
else
cmd->reply = "disconnected";