path: root/openbsc/src/osmo-bsc/osmo_bsc_ctrl.c
diff options
authorDaniel Willmann <daniel@totalueberwachung.de>2011-08-19 19:38:31 +0200
committerDaniel Willmann <daniel@totalueberwachung.de>2011-08-26 12:30:19 +0200
commitd936e97c7db652f0ec1e849527819b539945feb2 (patch)
treec8b555afbacf62b12800046b2d8113d7f751ef21 /openbsc/src/osmo-bsc/osmo_bsc_ctrl.c
parentefda919e2da1a566cf449b6925df97d4fd2e9b02 (diff)
osmo-bsc: Include rf stati in the location-state TRAP as well
The first fields are still the location up to the height. The next field is "operational" if any of the trx are operational, otherwise "inoperational" The second to last field contains "locked" if all of the trx are in the admin state, otherwise "unlocked". The last field represents the rf policy currently in effect. It is one of (on|off|grace|unknown). <tstamp>,<valid>,<lat>,<lon>,<height>,<oper>,<admin>,<policy>
Diffstat (limited to 'openbsc/src/osmo-bsc/osmo_bsc_ctrl.c')
1 files changed, 7 insertions, 0 deletions
diff --git a/openbsc/src/osmo-bsc/osmo_bsc_ctrl.c b/openbsc/src/osmo-bsc/osmo_bsc_ctrl.c
index 58a281818..1508aa941 100644
--- a/openbsc/src/osmo-bsc/osmo_bsc_ctrl.c
+++ b/openbsc/src/osmo-bsc/osmo_bsc_ctrl.c
@@ -53,6 +53,7 @@ static int get_bts_loc(struct ctrl_cmd *cmd, void *data);
static void generate_location_state_trap(struct gsm_bts *bts, struct bsc_msc_connection *msc_con)
struct ctrl_cmd *cmd;
+ const char *oper, *admin, *policy;
cmd = ctrl_cmd_create(msc_con, CTRL_TYPE_TRAP);
@@ -63,6 +64,12 @@ static void generate_location_state_trap(struct gsm_bts *bts, struct bsc_msc_con
cmd->node = bts;
get_bts_loc(cmd, NULL);
+ oper = osmo_bsc_rf_get_opstate_name(osmo_bsc_rf_get_opstate_by_bts(bts));
+ admin = osmo_bsc_rf_get_adminstate_name(osmo_bsc_rf_get_adminstate_by_bts(bts));
+ policy = osmo_bsc_rf_get_policy_name(osmo_bsc_rf_get_policy_by_bts(bts));
+ cmd->reply = talloc_asprintf_append(cmd->reply, ",%s,%s,%s", oper, admin, policy);
osmo_bsc_send_trap(cmd, msc_con);