From e47596fca5b3406df98f38a4554d7c2b941898c4 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Mon, 2 Apr 2007 20:20:46 +0000 Subject: [PATCH] cleanup git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4832 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- src/include/switch_types.h | 4 ++++ src/mod/endpoints/mod_sofia/sofia_presence.c | 5 ++--- src/mod/languages/mod_spidermonkey/mod_spidermonkey.c | 3 ++- src/switch_event.c | 4 +++- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/include/switch_types.h b/src/include/switch_types.h index bbfb3e4218..c20ee6e1d1 100644 --- a/src/include/switch_types.h +++ b/src/include/switch_types.h @@ -796,6 +796,8 @@ typedef enum { SWITCH_EVENT_PRESENCE_IN - Presence in SWITCH_EVENT_PRESENCE_OUT - Presence out SWITCH_EVENT_PRESENCE_PROBE - Presence probe + SWITCH_EVENT_MESSAGE_WAITING - A message is waiting + SWITCH_EVENT_MESSAGE_QUERY - A query for MESSAGE_WAITING events SWITCH_EVENT_CODEC - Codec Change SWITCH_EVENT_BACKGROUND_JOB - Background Job SWITCH_EVENT_DETECTED_SPEECH - Detected Speech @@ -841,6 +843,8 @@ typedef enum { SWITCH_EVENT_PRESENCE_IN, SWITCH_EVENT_PRESENCE_OUT, SWITCH_EVENT_PRESENCE_PROBE, + SWITCH_EVENT_MESSAGE_WAITING, + SWITCH_EVENT_MESSAGE_QUERY, SWITCH_EVENT_ROSTER, SWITCH_EVENT_CODEC, SWITCH_EVENT_BACKGROUND_JOB, diff --git a/src/mod/endpoints/mod_sofia/sofia_presence.c b/src/mod/endpoints/mod_sofia/sofia_presence.c index bc9f27b9b5..eb7775b5f2 100644 --- a/src/mod/endpoints/mod_sofia/sofia_presence.c +++ b/src/mod/endpoints/mod_sofia/sofia_presence.c @@ -454,9 +454,8 @@ static int sofia_presence_sub_reg_callback(void *pArg, int argc, char **argv, ch char *event_name = argv[5]; if (!strcasecmp(event_name, "message-summary")) { - if (switch_event_create(&event, SWITCH_EVENT_MESSAGE_WAITING) == SWITCH_STATUS_SUCCESS) { - switch_event_add_header(event, SWITCH_STACK_BOTTOM, "MWI-Messages-Waiting", "no"); - switch_event_add_header(event, SWITCH_STACK_BOTTOM, "MWI-Message-Account", "sip:%s@%s", user, host); + if (switch_event_create(&event, SWITCH_EVENT_MESSAGE_QUERY) == SWITCH_STATUS_SUCCESS) { + switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Message-Account", "sip:%s@%s", user, host); switch_event_fire(&event); } return 0; diff --git a/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c b/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c index 047b830b06..7536f42954 100644 --- a/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c +++ b/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c @@ -128,6 +128,7 @@ static JSBool event_construct(JSContext * cx, JSObject * obj, uintN argc, jsval if ((eo = malloc(sizeof(*eo)))) { if (switch_name_event(ename, &etype) != SWITCH_STATUS_SUCCESS) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Unknown event %s\n", ename); *rval = BOOLEAN_TO_JSVAL(JS_FALSE); return JS_TRUE; } @@ -146,7 +147,7 @@ static JSBool event_construct(JSContext * cx, JSObject * obj, uintN argc, jsval } } else { - if (!switch_event_create(&event, etype) != SWITCH_STATUS_SUCCESS) { + if (switch_event_create(&event, etype) != SWITCH_STATUS_SUCCESS) { *rval = BOOLEAN_TO_JSVAL(JS_FALSE); return JS_TRUE; } diff --git a/src/switch_event.c b/src/switch_event.c index a3a02770e8..980fcddd03 100644 --- a/src/switch_event.c +++ b/src/switch_event.c @@ -126,6 +126,8 @@ static char *EVENT_NAMES[] = { "PRESENCE_IN", "PRESENCE_OUT", "PRESENCE_PROBE", + "MESSAGE_WAITING", + "MESSAGE_QUERY", "ROSTER", "CODEC", "BACKGROUND_JOB", @@ -313,7 +315,7 @@ SWITCH_DECLARE(switch_status_t) switch_name_event(char *name, switch_event_types assert(RUNTIME_POOL != NULL); for (x = 0; x <= SWITCH_EVENT_ALL; x++) { - if (!strcasecmp(name, EVENT_NAMES[x])) { + if ((strlen(name) > 13 && !strcasecmp(name + 13, EVENT_NAMES[x])) || !strcasecmp(name, EVENT_NAMES[x])) { *type = x; return SWITCH_STATUS_SUCCESS; }