diff --git a/src/mod/event_handlers/mod_event_socket/mod_event_socket.c b/src/mod/event_handlers/mod_event_socket/mod_event_socket.c index e833ec29bc..550b2af5b3 100644 --- a/src/mod/event_handlers/mod_event_socket/mod_event_socket.c +++ b/src/mod/event_handlers/mod_event_socket/mod_event_socket.c @@ -565,10 +565,21 @@ SWITCH_STANDARD_API(event_sink_function) if (!strcasecmp(wcmd, "filter")) { - char *action = switch_event_get_header(stream->param_event, "action");; - char *header_name = switch_event_get_header(stream->param_event, "header_name");; - char *header_val = switch_event_get_header(stream->param_event, "header_val");; - + char *action = switch_event_get_header(stream->param_event, "action"); + char *header_name = switch_event_get_header(stream->param_event, "header-name"); + char *header_val = switch_event_get_header(stream->param_event, "header-val"); + char *id = switch_event_get_header(stream->param_event, "listen-id"); + uint32_t idl = 0; + + if (id) { + idl = (uint32_t) atol(id); + } + + if (!(listener = find_listener(idl))) { + stream->write_function(stream, "Invalid Listen-ID\n"); + goto end; + } + if (switch_strlen_zero(action)) { stream->write_function(stream, "Invalid Syntax\n"); goto end;