diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2011-08-22 23:29:00 +0200 |
---|---|---|
committer | Daniel Willmann <daniel@totalueberwachung.de> | 2011-11-04 12:27:12 +0100 |
commit | 9f24040da22dfe2f1753a67d462ce960f6e0cc1f (patch) | |
tree | f74f38fce8c9c20b5d3f413deb514ef5d93048e6 /openbsc/src/osmo-bsc | |
parent | 8088c8873277cc2704ef622d1616d9a288fc3dd4 (diff) |
bsc: Simplify the trap sending by using the location state method
Diffstat (limited to 'openbsc/src/osmo-bsc')
-rw-r--r-- | openbsc/src/osmo-bsc/osmo_bsc_ctrl.c | 19 |
1 files changed, 2 insertions, 17 deletions
diff --git a/openbsc/src/osmo-bsc/osmo_bsc_ctrl.c b/openbsc/src/osmo-bsc/osmo_bsc_ctrl.c index e74f08ebd..53814d599 100644 --- a/openbsc/src/osmo-bsc/osmo_bsc_ctrl.c +++ b/openbsc/src/osmo-bsc/osmo_bsc_ctrl.c @@ -426,11 +426,9 @@ static int verify_net_rf_lock(struct ctrl_cmd *cmd, const char *value, void *dat static int msc_signal_handler(unsigned int subsys, unsigned int signal, void *handler_data, void *signal_data) { - struct ctrl_cmd *cmd; struct msc_signal_data *msc; struct gsm_network *net; struct gsm_bts *bts; - char *loc_fmt = "net.bts.%i.location"; if (subsys != SS_MSC) return 0; @@ -438,24 +436,11 @@ static int msc_signal_handler(unsigned int subsys, unsigned int signal, return 0; msc = signal_data; - cmd = ctrl_cmd_create(msc->data, CTRL_TYPE_TRAP); - if (!cmd) { - LOGP(DCTRL, LOGL_ERROR, "Failed to create TRAP for location.\n"); - return 0; - } - - cmd->id = "0"; net = msc->data->network; - llist_for_each_entry(bts, &net->bts_list, list) { - cmd->node = bts; - cmd->variable = talloc_asprintf(cmd, loc_fmt, bts->nr); - get_bts_loc(cmd, NULL); - osmo_bsc_send_trap(cmd, msc->data->msc_con); - talloc_free(cmd->variable); - } + llist_for_each_entry(bts, &net->bts_list, list) + generate_location_state_trap(bts, msc->data->msc_con); - talloc_free(cmd); return 0; } |