From 09384634ccce20673419d3927e23fdaa8164464c Mon Sep 17 00:00:00 2001 From: Anthony Minessale <anthony.minessale@gmail.com> Date: Tue, 9 Jan 2007 00:39:11 +0000 Subject: [PATCH] add getvar git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3931 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- .../mod_event_socket/mod_event_socket.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) 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 4eebbf76cf..df0885cd8c 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 @@ -613,6 +613,9 @@ static switch_status_t parse_command(listener_t *listener, switch_event_t *event if (listener->session) { + switch_channel_t *channel = switch_core_session_get_channel(listener->session); + assert(channel != NULL); + if (!strncasecmp(cmd, "connect", 7)) { snprintf(reply, reply_len, "+OK"); goto done; @@ -628,6 +631,21 @@ static switch_status_t parse_command(listener_t *listener, switch_event_t *event snprintf(reply, reply_len, "+OK"); } goto done; + } else if (!strncasecmp(cmd, "getvar", 6)) { + char *arg; + char *val = ""; + + strip_cr(cmd); + + if ((arg = strchr(cmd, ' '))) { + *arg++ = '\0'; + if (!(val = switch_channel_get_variable(channel, arg))) { + val = ""; + } + + } + snprintf(reply, reply_len, val); + goto done; } else if (!strncasecmp(cmd, "myevents", 8)) { listener->event_list[SWITCH_EVENT_CHANNEL_CREATE] = 1; listener->event_list[SWITCH_EVENT_CHANNEL_DESTROY] = 1;