diff options
author | Daniel Willmann <daniel@totalueberwachung.de> | 2011-08-19 19:38:31 +0200 |
---|---|---|
committer | Daniel Willmann <daniel@totalueberwachung.de> | 2011-08-26 12:30:19 +0200 |
commit | d936e97c7db652f0ec1e849527819b539945feb2 (patch) | |
tree | c8b555afbacf62b12800046b2d8113d7f751ef21 /openbsc/src/osmo-bsc/osmo_bsc_ctrl.c | |
parent | efda919e2da1a566cf449b6925df97d4fd2e9b02 (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')
-rw-r--r-- | openbsc/src/osmo-bsc/osmo_bsc_ctrl.c | 7 |
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); } |