From 885f8977fcd604977d75bddda1d3b746846be42b Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Tue, 15 Sep 2009 19:18:20 +0000 Subject: [PATCH] add unique-id check to sendevent to send and event to a session instead of the system git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@14874 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- .../mod_event_socket/mod_event_socket.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) 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 b0e0645310..f5417e695b 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 @@ -1667,6 +1667,8 @@ static switch_status_t parse_command(listener_t *listener, switch_event_t **even if (!strncasecmp(cmd, "sendevent", 9)) { char *ename; + const char *uuid = NULL; + strip_cr(cmd); ename = cmd + 9; @@ -1691,7 +1693,17 @@ static switch_status_t parse_command(listener_t *listener, switch_event_t **even } } - switch_event_fire(event); + if ((uuid = switch_event_get_header(*event, "unique-id"))) { + switch_core_session_t *dsession; + if ((dsession = switch_core_session_locate(uuid))) { + switch_core_session_queue_event(dsession, event); + switch_core_session_rwunlock(dsession); + } + } + + if (*event) { + switch_event_fire(event); + } switch_snprintf(reply, reply_len, "+OK"); goto done; } else if (!strncasecmp(cmd, "api ", 4)) {