bsc: Simplify the trap sending by using the location state method
This commit is contained in:
parent
158a382212
commit
7c13f4b975
|
@ -320,11 +320,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;
|
||||
|
@ -332,24 +330,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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue