add some more specific events

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@9789 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Anthony Minessale 2008-10-02 17:10:05 +00:00
parent f23c88d9fa
commit 003847dd0d
21 changed files with 53 additions and 43 deletions

View File

@ -1128,6 +1128,10 @@ typedef enum {
SWITCH_EVENT_NOTIFY,
SWITCH_EVENT_SEND_MESSAGE,
SWITCH_EVENT_RECV_MESSAGE,
SWITCH_EVENT_REQUEST_PARAMS,
SWITCH_EVENT_CHANNEL_DATA,
SWITCH_EVENT_GENERAL,
SWITCH_EVENT_COMMAND,
SWITCH_EVENT_ALL
} switch_event_types_t;

View File

@ -70,7 +70,7 @@ SWITCH_STANDARD_API(user_data_function)
domain = "cluecon.com";
}
switch_event_create(&params, SWITCH_EVENT_MESSAGE);
switch_event_create(&params, SWITCH_EVENT_REQUEST_PARAMS);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "user", user);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "domain", domain);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "type", type);
@ -224,7 +224,7 @@ SWITCH_STANDARD_API(eval_function)
}
switch_event_create(&event, SWITCH_EVENT_MESSAGE);
switch_event_create(&event, SWITCH_EVENT_CHANNEL_DATA);
if (*uuid) {
if ((session = switch_core_session_locate(uuid))) {
switch_channel_event_set_data(switch_core_session_get_channel(session), event);
@ -337,7 +337,7 @@ SWITCH_STANDARD_API(xml_locate_function)
tag_attr_name = argv[2];
tag_attr_val = argv[3];
switch_event_create(&params, SWITCH_EVENT_MESSAGE);
switch_event_create(&params, SWITCH_EVENT_REQUEST_PARAMS);
switch_assert(params);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "section", section);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "tag", tag);
@ -1051,7 +1051,7 @@ SWITCH_STANDARD_API(uuid_chat)
} else {
if ((tsession = switch_core_session_locate(uuid))) {
switch_event_t *event;
if (switch_event_create(&event, SWITCH_EVENT_MESSAGE) == SWITCH_STATUS_SUCCESS) {
if (switch_event_create(&event, SWITCH_EVENT_COMMAND) == SWITCH_STATUS_SUCCESS) {
switch_event_add_body(event, "%s", text);
if (switch_core_session_receive_event(tsession, &event) != SWITCH_STATUS_SUCCESS) {
switch_event_destroy(&event);
@ -2462,7 +2462,7 @@ SWITCH_STANDARD_API(uuid_dump_function)
channel = switch_core_session_get_channel(psession);
if (switch_event_create(&event, SWITCH_EVENT_MESSAGE) == SWITCH_STATUS_SUCCESS) {
if (switch_event_create(&event, SWITCH_EVENT_CHANNEL_DATA) == SWITCH_STATUS_SUCCESS) {
switch_xml_t xml;
switch_channel_event_set_data(channel, event);
if (!strcasecmp(format, "xml")) {

View File

@ -3390,7 +3390,7 @@ static switch_status_t conf_api_sub_transfer(conference_obj_t *conference, switc
goto done;
}
switch_event_create(&params, SWITCH_EVENT_MESSAGE);
switch_event_create(&params, SWITCH_EVENT_REQUEST_PARAMS);
switch_assert(params);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "conf_name", conf_name);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "profile_name", profile_name);
@ -4248,7 +4248,7 @@ SWITCH_STANDARD_APP(conference_function)
}
#endif
switch_event_create(&params, SWITCH_EVENT_MESSAGE);
switch_event_create(&params, SWITCH_EVENT_COMMAND);
switch_assert(params);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "conf_name", conf_name);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "profile_name", profile_name);
@ -5221,7 +5221,7 @@ static void send_presence(switch_event_types_t id)
switch_xml_t cxml, cfg, advertise, room;
switch_event_t *params = NULL;
switch_event_create(&params, SWITCH_EVENT_MESSAGE);
switch_event_create(&params, SWITCH_EVENT_COMMAND);
switch_assert(params);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "presence", "true");

View File

@ -894,7 +894,7 @@ SWITCH_STANDARD_APP(info_function)
switch_event_t *event;
char *buf;
if (switch_event_create(&event, SWITCH_EVENT_MESSAGE) == SWITCH_STATUS_SUCCESS) {
if (switch_event_create(&event, SWITCH_EVENT_CHANNEL_DATA) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(switch_core_session_get_channel(session), event);
switch_event_serialize(event, &buf, SWITCH_FALSE);
switch_assert(buf);
@ -1111,7 +1111,7 @@ SWITCH_STANDARD_APP(ivr_application_function)
switch_xml_t cxml = NULL, cfg = NULL, xml_menus = NULL, xml_menu = NULL;
/* Open the config from the xml registry */
switch_event_create(&params, SWITCH_EVENT_MESSAGE);
switch_event_create(&params, SWITCH_EVENT_REQUEST_PARAMS);
switch_assert(params);
switch_channel_event_set_data(channel, params);
@ -1998,7 +1998,7 @@ static switch_call_cause_t user_outgoing_channel(switch_core_session_t *session,
*domain++ = '\0';
switch_event_create(&params, SWITCH_EVENT_MESSAGE);
switch_event_create(&params, SWITCH_EVENT_REQUEST_PARAMS);
switch_assert(params);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "as_channel", "true");
@ -2062,7 +2062,7 @@ static switch_call_cause_t user_outgoing_channel(switch_core_session_t *session,
} else {
switch_event_t *event = var_event;
if (!event) {
switch_event_create(&event, SWITCH_EVENT_MESSAGE);
switch_event_create(&event, SWITCH_EVENT_REQUEST_PARAMS);
switch_assert(event);
}

View File

@ -1504,7 +1504,7 @@ static switch_status_t listen_file(switch_core_session_t *session, vm_profile_t
header_string = switch_core_session_sprintf(session, "%s\nX-Voicemail-Length: %u", headers, message_len);
if (switch_event_create(&event, SWITCH_EVENT_MESSAGE) == SWITCH_STATUS_SUCCESS) {
if (switch_event_create(&event, SWITCH_EVENT_GENERAL) == SWITCH_STATUS_SUCCESS) {
/* this isnt done? it was in the other place
* switch_channel_event_set_data(channel, event);
*/
@ -1927,7 +1927,7 @@ static void voicemail_check_main(switch_core_session_t *session, const char *pro
int ok = 1;
switch_event_create(&params, SWITCH_EVENT_MESSAGE);
switch_event_create(&params, SWITCH_EVENT_GENERAL);
switch_assert(params);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "mailbox", myid);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "destination_number", caller_profile->destination_number);
@ -2097,7 +2097,7 @@ static switch_status_t deliver_vm(vm_profile_t *profile,
}
if (params) {
switch_event_create(&local_event, SWITCH_EVENT_MESSAGE);
switch_event_create(&local_event, SWITCH_EVENT_REQUEST_PARAMS);
params = local_event;
}
@ -2440,7 +2440,7 @@ static switch_status_t voicemail_inject(const char *data)
switch_event_t *my_params = NULL;
switch_xml_t ut;
switch_event_create(&my_params, SWITCH_EVENT_MESSAGE);
switch_event_create(&my_params, SWITCH_EVENT_REQUEST_PARAMS);
switch_assert(my_params);
switch_event_add_header_string(my_params, SWITCH_STACK_BOTTOM, "domain", domain);
switch_event_add_header_string(my_params, SWITCH_STACK_BOTTOM, "purpose", "publish-vm");
@ -2458,7 +2458,7 @@ static switch_status_t voicemail_inject(const char *data)
if (!isall && !istag) {
if ((ut = switch_xml_find_child(x_domain, "user", "id", user))) {
switch_event_create(&my_params, SWITCH_EVENT_MESSAGE);
switch_event_create(&my_params, SWITCH_EVENT_REQUEST_PARAMS);
status = deliver_vm(profile, ut, domain, path, 0, "B", my_params, pool, cid_name, cid_num, SWITCH_TRUE);
switch_event_destroy(&my_params);
} else {
@ -2469,7 +2469,7 @@ static switch_status_t voicemail_inject(const char *data)
const char *tag;
if (isall || (istag && (tag=switch_xml_attr(ut, "vm-tag")) && !strcasecmp(tag, user))) {
switch_event_create(&my_params, SWITCH_EVENT_MESSAGE);
switch_event_create(&my_params, SWITCH_EVENT_REQUEST_PARAMS);
status = deliver_vm(profile, ut, domain, path, 0, "B", my_params, pool, cid_name, cid_num, SWITCH_TRUE);
switch_event_destroy(&my_params);
}
@ -2546,7 +2546,7 @@ static switch_status_t voicemail_leave_main(switch_core_session_t *session, cons
switch_event_t *params = NULL;
const char *email_addr = NULL;
switch_event_create(&params, SWITCH_EVENT_MESSAGE);
switch_event_create(&params, SWITCH_EVENT_REQUEST_PARAMS);
switch_assert(params);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "mailbox", id);

View File

@ -201,7 +201,7 @@ static switch_status_t dialplan_xml_locate(switch_core_session_t *session, switc
switch_status_t status = SWITCH_STATUS_GENERR;
switch_event_t *params = NULL;
switch_event_create(&params, SWITCH_EVENT_MESSAGE);
switch_event_create(&params, SWITCH_EVENT_REQUEST_PARAMS);
switch_assert(params);
switch_channel_event_set_data(channel, params);

View File

@ -2267,7 +2267,7 @@ static void do_vcard(ldl_handle_t *handle, char *to, char *from, char *id)
goto end;
}
switch_event_create(&params, SWITCH_EVENT_MESSAGE);
switch_event_create(&params, SWITCH_EVENT_REQUEST_PARAMS);
switch_assert(params);
switch_event_add_header(params, SWITCH_STACK_BOTTOM, "to", "%s@%s", to_user, to_host);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "from", from);

View File

@ -999,7 +999,7 @@ switch_status_t reconfig_sofia(sofia_profile_t *profile)
switch_event_t *params = NULL;
switch_status_t status = SWITCH_STATUS_FALSE;
switch_event_create(&params, SWITCH_EVENT_MESSAGE);
switch_event_create(&params, SWITCH_EVENT_REQUEST_PARAMS);
switch_assert(params);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "profile", profile->name);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "reconfig", "true");
@ -1346,7 +1346,7 @@ switch_status_t config_sofia(int reload, char *profile_name)
return status;
}
switch_event_create(&params, SWITCH_EVENT_MESSAGE);
switch_event_create(&params, SWITCH_EVENT_REQUEST_PARAMS);
switch_assert(params);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "profile", profile_name);

View File

@ -1251,7 +1251,7 @@ auth_res_t sofia_reg_parse_auth(sofia_profile_t *profile, sip_authorization_t co
free(sql);
}
switch_event_create(&params, SWITCH_EVENT_MESSAGE);
switch_event_create(&params, SWITCH_EVENT_REQUEST_PARAMS);
switch_assert(params);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "action", "sip_auth");
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "sip_profile", profile->name);
@ -1420,7 +1420,7 @@ auth_res_t sofia_reg_parse_auth(sofia_profile_t *profile, sip_authorization_t co
if (first && ret == AUTH_OK) {
if (v_event) {
switch_event_create(v_event, SWITCH_EVENT_MESSAGE);
switch_event_create(v_event, SWITCH_EVENT_REQUEST_PARAMS);
}
if (v_event && *v_event) {
switch_xml_t xparams[2];

View File

@ -199,7 +199,7 @@ static switch_status_t my_on_hangup(switch_core_session_t *session)
if (globals.debug) {
switch_event_t *event;
if (switch_event_create(&event, SWITCH_EVENT_MESSAGE) == SWITCH_STATUS_SUCCESS) {
if (switch_event_create(&event, SWITCH_EVENT_COMMAND) == SWITCH_STATUS_SUCCESS) {
char *buf;
switch_channel_event_set_data(channel, event);
switch_event_serialize(event, &buf, SWITCH_FALSE);

View File

@ -467,7 +467,7 @@ static switch_status_t read_packet(listener_t *listener, switch_event_t **event,
}
count++;
if (count == 1) {
switch_event_create(event, SWITCH_EVENT_MESSAGE);
switch_event_create(event, SWITCH_EVENT_COMMAND);
switch_event_add_header(*event, SWITCH_STACK_BOTTOM, "Command", "%s", mbuf);
} else if (cur) {
char *var, *val;
@ -1177,7 +1177,7 @@ static void *SWITCH_THREAD_FUNC listener_run(switch_thread_t *thread, void *obj)
goto done;
}
if (switch_event_create(&call_event, SWITCH_EVENT_MESSAGE) != SWITCH_STATUS_SUCCESS) {
if (switch_event_create(&call_event, SWITCH_EVENT_COMMAND) != SWITCH_STATUS_SUCCESS) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Memory Error!\n");
switch_clear_flag_locked(listener, LFLAG_RUNNING);
goto done;

View File

@ -202,7 +202,7 @@ static abyss_bool http_directory_auth(TSession * r, char *domain_name)
goto authed;
}
switch_event_create(&params, SWITCH_EVENT_MESSAGE);
switch_event_create(&params, SWITCH_EVENT_REQUEST_PARAMS);
switch_assert(params);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "mailbox", "check");

View File

@ -200,7 +200,7 @@ SWITCH_DECLARE(switch_status_t) switch_channel_alloc(switch_channel_t **channel,
return SWITCH_STATUS_MEMERR;
}
switch_event_create(&(*channel)->variables, SWITCH_EVENT_MESSAGE);
switch_event_create(&(*channel)->variables, SWITCH_EVENT_GENERAL);
switch_core_hash_init(&(*channel)->private_hash, pool);
switch_queue_create(&(*channel)->dtmf_queue, 128, pool);
@ -1134,7 +1134,9 @@ SWITCH_DECLARE(void) switch_channel_event_set_data(switch_channel_t *channel, sw
event->event_id == SWITCH_EVENT_CHANNEL_ANSWER ||
event->event_id == SWITCH_EVENT_CHANNEL_PROGRESS ||
event->event_id == SWITCH_EVENT_CHANNEL_PROGRESS_MEDIA ||
event->event_id == SWITCH_EVENT_CHANNEL_HANGUP
event->event_id == SWITCH_EVENT_CHANNEL_HANGUP ||
event->event_id == SWITCH_EVENT_REQUEST_PARAMS ||
event->event_id == SWITCH_EVENT_CHANNEL_DATA
) {
/* Index Caller's Profile */

View File

@ -876,7 +876,7 @@ SWITCH_DECLARE(void) switch_load_network_lists(switch_bool_t reload)
switch_xml_t x_domain, xml_root;
switch_xml_t ut;
switch_event_create(&my_params, SWITCH_EVENT_MESSAGE);
switch_event_create(&my_params, SWITCH_EVENT_GENERAL);
switch_assert(my_params);
switch_event_add_header_string(my_params, SWITCH_STACK_BOTTOM, "domain", domain);
switch_event_add_header_string(my_params, SWITCH_STACK_BOTTOM, "purpose", "network-list");

View File

@ -797,7 +797,7 @@ static void *SWITCH_THREAD_FUNC switch_core_session_thread(switch_thread_t *thre
switch_set_flag(session, SSF_DESTROYED);
if ((val = switch_channel_get_variable(session->channel, "memory_debug")) && switch_true(val)) {
if (switch_event_create(&event, SWITCH_EVENT_MESSAGE) == SWITCH_STATUS_SUCCESS) {
if (switch_event_create(&event, SWITCH_EVENT_GENERAL) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(session->channel, event);
switch_event_serialize(event, &event_str, SWITCH_FALSE);
switch_assert(event_str);

View File

@ -161,6 +161,10 @@ static char *EVENT_NAMES[] = {
"NOTIFY",
"SEND_MESSAGE",
"RECV_MESSAGE",
"REQUEST_PARAMS",
"CHANNEL_DATA",
"GENERAL",
"COMMAND",
"ALL"
};

View File

@ -1232,7 +1232,7 @@ static switch_bool_t tone_detect_callback(switch_media_bug_t *bug, void *user_da
cont->list[i].up = 0;
if (cont->list[i].app) {
if (switch_event_create(&event, SWITCH_EVENT_MESSAGE) == SWITCH_STATUS_SUCCESS) {
if (switch_event_create(&event, SWITCH_EVENT_COMMAND) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "call-command", "execute");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "execute-app-name", cont->list[i].app);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "execute-app-arg", cont->list[i].data);
@ -2068,7 +2068,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_broadcast(const char *uuid, const cha
if ((flags & SMF_ECHO_BLEG) && (other_uuid = switch_channel_get_variable(channel, SWITCH_SIGNAL_BOND_VARIABLE))
&& (other_session = switch_core_session_locate(other_uuid))) {
if (switch_event_create(&event, SWITCH_EVENT_MESSAGE) == SWITCH_STATUS_SUCCESS) {
if (switch_event_create(&event, SWITCH_EVENT_COMMAND) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "call-command", "execute");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "execute-app-name", app);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "execute-app-arg", path);
@ -2090,7 +2090,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_broadcast(const char *uuid, const cha
}
if ((flags & SMF_ECHO_ALEG)) {
if (switch_event_create(&event, SWITCH_EVENT_MESSAGE) == SWITCH_STATUS_SUCCESS) {
if (switch_event_create(&event, SWITCH_EVENT_COMMAND) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "call-command", "execute");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "execute-app-name", app);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "execute-app-arg", path);
@ -2109,7 +2109,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_broadcast(const char *uuid, const cha
}
if (nomedia) {
if (switch_event_create(&event, SWITCH_EVENT_MESSAGE) == SWITCH_STATUS_SUCCESS) {
if (switch_event_create(&event, SWITCH_EVENT_COMMAND) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "call-command", "nomedia");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "nomedia-uuid", uuid);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "event-lock", "true");
@ -2118,7 +2118,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_broadcast(const char *uuid, const cha
}
if (cause) {
if (switch_event_create(&event, SWITCH_EVENT_MESSAGE) == SWITCH_STATUS_SUCCESS) {
if (switch_event_create(&event, SWITCH_EVENT_COMMAND) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "call-command", "execute");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "execute-app-name", "hangup");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "execute-app-arg", cause);

View File

@ -274,7 +274,7 @@ static void *audio_bridge_thread(switch_thread_t *thread, void *obj)
status = input_callback(session_a, event, SWITCH_INPUT_TYPE_EVENT, user_data, 0);
}
if (event->event_id != SWITCH_EVENT_MESSAGE || switch_core_session_receive_event(session_b, &event) != SWITCH_STATUS_SUCCESS) {
if (event->event_id != SWITCH_EVENT_COMMAND || switch_core_session_receive_event(session_b, &event) != SWITCH_STATUS_SUCCESS) {
switch_event_destroy(&event);
}

View File

@ -596,7 +596,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_originate(switch_core_session_t *sess
so we will normalize dialstring params and channel variables (when there is an originator) into an event that we
will use as a pseudo hash to consult for params as needed.
*/
if (switch_event_create(&var_event, SWITCH_EVENT_MESSAGE) != SWITCH_STATUS_SUCCESS) {
if (switch_event_create(&var_event, SWITCH_EVENT_GENERAL) != SWITCH_STATUS_SUCCESS) {
abort();
}

View File

@ -121,7 +121,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_phrase_macro(switch_core_session_t *s
module_name = chan_lang;
switch_event_create(&hint_data, SWITCH_EVENT_MESSAGE);
switch_event_create(&hint_data, SWITCH_EVENT_REQUEST_PARAMS);
switch_assert(hint_data);
switch_event_add_header_string(hint_data, SWITCH_STACK_BOTTOM, "macro_name", macro_name);

View File

@ -1437,7 +1437,7 @@ SWITCH_DECLARE(switch_status_t) switch_xml_locate_domain(const char *domain_name
*domain = NULL;
if (!params) {
switch_event_create(&my_params, SWITCH_EVENT_MESSAGE);
switch_event_create(&my_params, SWITCH_EVENT_REQUEST_PARAMS);
switch_assert(my_params);
switch_event_add_header_string(my_params, SWITCH_STACK_BOTTOM, "domain", domain_name);
params = my_params;
@ -1467,7 +1467,7 @@ SWITCH_DECLARE(switch_status_t) switch_xml_locate_user(const char *key,
*domain = NULL;
if (!params) {
switch_event_create(&my_params, SWITCH_EVENT_MESSAGE);
switch_event_create(&my_params, SWITCH_EVENT_REQUEST_PARAMS);
switch_assert(my_params);
params = my_params;
}