[Core] Improve performance avoiding SWITCH_STACK_NODUP check all the time.

This commit is contained in:
Andrey Volk
2022-10-27 23:14:48 +03:00
parent 6184eb5ffd
commit f5291682f2
115 changed files with 2154 additions and 2145 deletions
+2 -2
View File
@@ -180,8 +180,8 @@ SWITCH_STANDARD_API(skel_function)
/* populate the event with some headers */
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "testing", "true");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "foo", "bar");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "testing", "true");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "foo", "bar");
for (x = 0; x < 10; x++) {
char name[128];
+1
View File
@@ -206,6 +206,7 @@ SWITCH_DECLARE(switch_status_t) switch_event_set_subclass_name(switch_event_t *e
\return SWITCH_STATUS_SUCCESS if the header was added
*/
SWITCH_DECLARE(switch_status_t) switch_event_add_header_string(switch_event_t *event, switch_stack_t stack, const char *header_name, const char *data);
SWITCH_DECLARE(switch_status_t) switch_event_add_header_string_dup(switch_event_t *event, switch_stack_t stack, const char *header_name, const char *data);
SWITCH_DECLARE(switch_status_t) switch_event_del_header_val(switch_event_t *event, const char *header_name, const char *val);
#define switch_event_del_header(_e, _h) switch_event_del_header_val(_e, _h, NULL)
+1 -1
View File
@@ -512,7 +512,7 @@ static switch_status_t fst_init_core_and_modload(const char *confdir, const char
fst_requires_module("mod_sndfile"); \
fst_requires(switch_core_running()); \
fst_requires(switch_event_create_plain(&fst_originate_vars, SWITCH_EVENT_CHANNEL_DATA) == SWITCH_STATUS_SUCCESS); \
switch_event_add_header_string(fst_originate_vars, SWITCH_STACK_BOTTOM, "origination_caller_id_number", "+15551112222"); \
switch_event_add_header_string_dup(fst_originate_vars, SWITCH_STACK_BOTTOM, "origination_caller_id_number", "+15551112222"); \
switch_event_add_header(fst_originate_vars, SWITCH_STACK_BOTTOM, "rate", "%d", rate); \
if (switch_ivr_originate(NULL, &fst_session, &fst_cause, "{null_video_codec=" video_codec "}null/+15553334444", 2, NULL, NULL, NULL, NULL, fst_originate_vars, SOF_NONE, NULL, NULL) == SWITCH_STATUS_SUCCESS && fst_session) { \
switch_memory_pool_t *fst_session_pool = switch_core_session_get_pool(fst_session); \
+2 -2
View File
@@ -2173,7 +2173,7 @@ static void parse_profile(avcodec_profile_t *aprofile, switch_xml_t profile)
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%s: %s\n", name, value);
switch_event_add_header_string(aprofile->options, SWITCH_STACK_BOTTOM, name, value);
switch_event_add_header_string_dup(aprofile->options, SWITCH_STACK_BOTTOM, name, value);
}
} // for options
}
@@ -2203,7 +2203,7 @@ static void parse_codecs(avcodec_profile_t *aprofile, switch_xml_t codecs)
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "codec: %s, profile: %s\n", codec_name, profile_name);
switch_event_add_header_string(aprofile->codecs, SWITCH_STACK_BOTTOM, codec_name, profile_name);
switch_event_add_header_string_dup(aprofile->codecs, SWITCH_STACK_BOTTOM, codec_name, profile_name);
}
}
+25 -25
View File
@@ -701,91 +701,91 @@ static void avmd_fire_event(enum avmd_event type, switch_core_session_t *fs_s, d
if (status != SWITCH_STATUS_SUCCESS) {
return;
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Unique-ID", switch_core_session_get_uuid(fs_s));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Call-command", "avmd");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Unique-ID", switch_core_session_get_uuid(fs_s));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Call-command", "avmd");
switch (type)
{
case AVMD_EVENT_BEEP:
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Beep-Status", "DETECTED");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Beep-Status", "DETECTED");
res = snprintf(buf, AVMD_CHAR_BUF_LEN, "%f", freq);
if (res < 0 || res > AVMD_CHAR_BUF_LEN - 1) {
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(fs_s), SWITCH_LOG_ERROR, "Frequency truncated [%s], [%d] attempted!\n", buf, res);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Frequency", "ERROR (TRUNCATED)");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Frequency", "ERROR (TRUNCATED)");
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Frequency", buf);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Frequency", buf);
res = snprintf(buf, AVMD_CHAR_BUF_LEN, "%f", v_freq);
if (res < 0 || res > AVMD_CHAR_BUF_LEN - 1) {
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(fs_s), SWITCH_LOG_ERROR, "Error, truncated [%s], [%d] attempeted!\n", buf, res);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Frequency-variance", "ERROR (TRUNCATED)");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Frequency-variance", "ERROR (TRUNCATED)");
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Frequency-variance", buf);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Frequency-variance", buf);
res = snprintf(buf, AVMD_CHAR_BUF_LEN, "%f", amp);
if (res < 0 || res > AVMD_CHAR_BUF_LEN - 1) {
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(fs_s), SWITCH_LOG_ERROR, "Amplitude truncated [%s], [%d] attempted!\n", buf, res);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Amplitude", "ERROR (TRUNCATED)");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Amplitude", "ERROR (TRUNCATED)");
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Amplitude", buf);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Amplitude", buf);
res = snprintf(buf, AVMD_CHAR_BUF_LEN, "%f", v_amp);
if (res < 0 || res > AVMD_CHAR_BUF_LEN - 1) {
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(fs_s), SWITCH_LOG_ERROR, "Error, truncated [%s], [%d] attempeted!\n", buf, res);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Amplitude-variance", "ERROR (TRUNCATED)");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Amplitude-variance", "ERROR (TRUNCATED)");
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Amplitude-variance", buf);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Amplitude-variance", buf);
detection_time = detection_stop_time - detection_start_time;
res = snprintf(buf, AVMD_CHAR_BUF_LEN, "%" PRId64 "", detection_time);
if (res < 0 || res > AVMD_CHAR_BUF_LEN - 1) {
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(fs_s), SWITCH_LOG_ERROR, "Detection time truncated [%s], [%d] attempted!\n", buf, res);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Detection-time", "ERROR (TRUNCATED)");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Detection-time", "ERROR (TRUNCATED)");
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Detection-time", buf);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Detection-time", buf);
res = snprintf(buf, AVMD_CHAR_BUF_LEN, "%u", resolution);
if (res < 0 || res > AVMD_CHAR_BUF_LEN - 1) {
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(fs_s), SWITCH_LOG_ERROR, "Error, truncated [%s], [%d] attempeted!\n", buf, res);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Detector-resolution", "ERROR (TRUNCATED)");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Detector-resolution", "ERROR (TRUNCATED)");
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Detector-resolution", buf);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Detector-resolution", buf);
res = snprintf(buf, AVMD_CHAR_BUF_LEN, "%u", offset);
if (res < 0 || res > AVMD_CHAR_BUF_LEN - 1) {
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(fs_s), SWITCH_LOG_ERROR, "Error, truncated [%s], [%d] attempeted!\n", buf, res);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Detector-offset", "ERROR (TRUNCATED)");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Detector-offset", "ERROR (TRUNCATED)");
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Detector-offset", buf);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Detector-offset", buf);
res = snprintf(buf, AVMD_CHAR_BUF_LEN, "%u", idx);
if (res < 0 || res > AVMD_CHAR_BUF_LEN - 1) {
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(fs_s), SWITCH_LOG_ERROR, "Error, truncated [%s], [%d] attempeted!\n", buf, res);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Detector-index", "ERROR (TRUNCATED)");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Detector-index", "ERROR (TRUNCATED)");
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Detector-index", buf);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Detector-index", buf);
break;
case AVMD_EVENT_SESSION_START:
res = snprintf(buf, AVMD_CHAR_BUF_LEN, "%" PRId64 "", start_time);
if (res < 0 || res > AVMD_CHAR_BUF_LEN - 1) {
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(fs_s), SWITCH_LOG_ERROR, "Start time truncated [%s], [%d] attempted!\n", buf, res);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Start-time", "ERROR (TRUNCATED)");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Start-time", "ERROR (TRUNCATED)");
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Start-time", buf);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Start-time", buf);
break;
case AVMD_EVENT_SESSION_STOP:
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Beep-Status", beep_status == BEEP_DETECTED ? "DETECTED" : "NOTDETECTED");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Beep-Status", beep_status == BEEP_DETECTED ? "DETECTED" : "NOTDETECTED");
if (info == 0) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Stop-status", "ERROR (AVMD SESSION OBJECT NOT FOUND IN MEDIA BUG)");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Stop-status", "ERROR (AVMD SESSION OBJECT NOT FOUND IN MEDIA BUG)");
}
total_time = stop_time - start_time;
res = snprintf(buf, AVMD_CHAR_BUF_LEN, "%" PRId64 "", total_time);
if (res < 0 || res > AVMD_CHAR_BUF_LEN - 1) {
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(fs_s), SWITCH_LOG_ERROR, "Total time truncated [%s], [%d] attempted!\n", buf, res);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Total-time", "ERROR (TRUNCATED)");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Total-time", "ERROR (TRUNCATED)");
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Total-time", buf);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Total-time", buf);
break;
default:
@@ -723,7 +723,7 @@ static cc_queue_t *load_queue(const char *queue_name, switch_bool_t request_agen
switch_event_create(&params, SWITCH_EVENT_REQUEST_PARAMS);
switch_assert(params);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "CC-Queue", queue_name);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "CC-Queue", queue_name);
if (x_queues_cfg) {
x_queues = x_queues_cfg;
@@ -876,10 +876,10 @@ int cc_queue_count(const char *queue)
count = atoi(res);
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CALLCENTER_EVENT) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Queue", queue);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Action", "members-count");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Count", res);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Selection", event_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Queue", queue);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Action", "members-count");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Count", res);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Selection", event_name);
switch_event_fire(&event);
}
}
@@ -913,9 +913,9 @@ cc_status_t cc_agent_add(const char *agent, const char *type)
switch_safe_free(sql);
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CALLCENTER_EVENT) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Agent", agent);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Agent-Type", type);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Action", "agent-add");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Agent", agent);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Agent-Type", type);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Action", "agent-add");
switch_event_fire(&event);
}
@@ -974,9 +974,9 @@ cc_status_t cc_agent_get(const char *key, const char *agent, char *ret_result, s
} else {
switch_snprintf(tmpname, sizeof(tmpname), "CC-Agent-%c%s", (char) switch_toupper(key[0]), key+1);
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Agent", agent);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Agent", agent);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "CC-Action", "agent-%s-get", key);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, tmpname, res);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, tmpname, res);
switch_event_fire(&event);
}
@@ -1041,9 +1041,9 @@ cc_status_t cc_agent_update(const char *key, const char *value, const char *agen
result = CC_STATUS_SUCCESS;
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CALLCENTER_EVENT) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Agent", agent);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Action", "agent-status-change");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Agent-Status", value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Agent", agent);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Action", "agent-status-change");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Agent-Status", value);
switch_event_fire(&event);
}
@@ -1065,9 +1065,9 @@ cc_status_t cc_agent_update(const char *key, const char *value, const char *agen
result = CC_STATUS_SUCCESS;
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CALLCENTER_EVENT) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Agent", agent);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Action", "agent-state-change");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Agent-State", value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Agent", agent);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Action", "agent-state-change");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Agent-State", value);
switch_event_fire(&event);
}
@@ -1089,9 +1089,9 @@ cc_status_t cc_agent_update(const char *key, const char *value, const char *agen
result = CC_STATUS_SUCCESS;
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CALLCENTER_EVENT) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Agent", agent);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Action", "agent-contact-change");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Agent-Contact", value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Agent", agent);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Action", "agent-contact-change");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Agent-Contact", value);
switch_event_fire(&event);
}
} else if (!strcasecmp(key, "ready_time")) {
@@ -1158,9 +1158,9 @@ cc_status_t cc_agent_update(const char *key, const char *value, const char *agen
if (cc_execute_sql_affected_rows(sql) > 0) {
result = CC_STATUS_SUCCESS;
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CALLCENTER_EVENT) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Agent", agent);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Action", "agent-state-change");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Agent-State", value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Agent", agent);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Action", "agent-state-change");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Agent-State", value);
switch_event_fire(&event);
}
} else {
@@ -1719,16 +1719,16 @@ static void *SWITCH_THREAD_FUNC outbound_agent_thread_run(switch_thread_t *threa
switch_caller_profile_t *member_profile = switch_channel_get_caller_profile(member_channel);
const char *member_dnis = member_profile->rdnis;
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Queue", h->queue_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Action", "agent-offering");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Agent", h->agent_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Agent-Type", h->agent_type);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Agent-System", h->agent_system);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Member-UUID", h->member_uuid);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Member-Session-UUID", h->member_session_uuid);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Member-CID-Name", h->member_cid_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Member-CID-Number", h->member_cid_number);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Member-DNIS", member_dnis);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Queue", h->queue_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Action", "agent-offering");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Agent", h->agent_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Agent-Type", h->agent_type);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Agent-System", h->agent_system);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Member-UUID", h->member_uuid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Member-Session-UUID", h->member_session_uuid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Member-CID-Name", h->member_cid_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Member-CID-Number", h->member_cid_number);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Member-DNIS", member_dnis);
switch_event_fire(&event);
}
@@ -1936,19 +1936,19 @@ static void *SWITCH_THREAD_FUNC outbound_agent_thread_run(switch_thread_t *threa
const char *member_dnis = member_profile->rdnis;
switch_channel_event_set_data(agent_channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Queue", h->queue_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Action", "bridge-agent-start");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Agent", h->agent_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Agent-System", h->agent_system);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Agent-UUID", agent_uuid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Queue", h->queue_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Action", "bridge-agent-start");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Agent", h->agent_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Agent-System", h->agent_system);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Agent-UUID", agent_uuid);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "CC-Agent-Called-Time", "%" SWITCH_TIME_T_FMT, t_agent_called);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "CC-Agent-Answered-Time", "%" SWITCH_TIME_T_FMT, t_agent_answered);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "CC-Member-Joined-Time", "%" SWITCH_TIME_T_FMT, t_member_called);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Member-UUID", h->member_uuid);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Member-Session-UUID", h->member_session_uuid);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Member-CID-Name", h->member_cid_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Member-CID-Number", h->member_cid_number);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Member-DNIS", member_dnis);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Member-UUID", h->member_uuid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Member-Session-UUID", h->member_session_uuid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Member-CID-Name", h->member_cid_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Member-CID-Number", h->member_cid_number);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Member-DNIS", member_dnis);
switch_event_fire(&event);
}
@@ -2048,21 +2048,21 @@ static void *SWITCH_THREAD_FUNC outbound_agent_thread_run(switch_thread_t *threa
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CALLCENTER_EVENT) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(agent_channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Queue", h->queue_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Action", "bridge-agent-end");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Hangup-Cause", switch_channel_cause2str(cause));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Agent", h->agent_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Agent-System", h->agent_system);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Agent-UUID", agent_uuid);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Agent-Bridged", bridged ? "true" : "false");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Queue", h->queue_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Action", "bridge-agent-end");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Hangup-Cause", switch_channel_cause2str(cause));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Agent", h->agent_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Agent-System", h->agent_system);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Agent-UUID", agent_uuid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Agent-Bridged", bridged ? "true" : "false");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "CC-Agent-Called-Time", "%" SWITCH_TIME_T_FMT, t_agent_called);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "CC-Agent-Answered-Time", "%" SWITCH_TIME_T_FMT, t_agent_answered);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "CC-Member-Joined-Time", "%" SWITCH_TIME_T_FMT, t_member_called);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "CC-Bridge-Terminated-Time", "%" SWITCH_TIME_T_FMT, local_epoch_time_now(NULL));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Member-UUID", h->member_uuid);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Member-Session-UUID", h->member_session_uuid);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Member-CID-Name", h->member_cid_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Member-CID-Number", h->member_cid_number);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Member-UUID", h->member_uuid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Member-Session-UUID", h->member_session_uuid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Member-CID-Name", h->member_cid_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Member-CID-Number", h->member_cid_number);
switch_event_fire(&event);
}
if (bridged) {
@@ -2084,14 +2084,14 @@ static void *SWITCH_THREAD_FUNC outbound_agent_thread_run(switch_thread_t *threa
/* Caller off event */
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CALLCENTER_EVENT) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(member_channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Queue", h->queue_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Action", "member-queue-end");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Hangup-Cause",
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Queue", h->queue_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Action", "member-queue-end");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Hangup-Cause",
switch_channel_cause2str(cause));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Cause", "Terminated");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Agent", h->agent_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Agent-System", h->agent_system);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Agent-UUID", agent_uuid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Cause", "Terminated");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Agent", h->agent_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Agent-System", h->agent_system);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Agent-UUID", agent_uuid);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "CC-Agent-Called-Time", "%" SWITCH_TIME_T_FMT,
t_agent_called);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "CC-Agent-Answered-Time", "%" SWITCH_TIME_T_FMT,
@@ -2100,11 +2100,11 @@ static void *SWITCH_THREAD_FUNC outbound_agent_thread_run(switch_thread_t *threa
local_epoch_time_now(NULL));
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "CC-Member-Joined-Time", "%" SWITCH_TIME_T_FMT,
t_member_called);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Member-UUID", h->member_uuid);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Member-Session-UUID",
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Member-UUID", h->member_uuid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Member-Session-UUID",
h->member_session_uuid);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Member-CID-Name", h->member_cid_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Member-CID-Number",
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Member-CID-Name", h->member_cid_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Member-CID-Number",
h->member_cid_number);
switch_event_fire(&event);
}
@@ -2161,12 +2161,12 @@ static void *SWITCH_THREAD_FUNC outbound_agent_thread_run(switch_thread_t *threa
h->agent_name, h->max_no_answer, cc_agent_status2str(h->agent_no_answer_status));
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CALLCENTER_EVENT) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Agent", h->agent_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Action", "agent-max-no-answer");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Agent", h->agent_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Action", "agent-max-no-answer");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "CC-Agent-No-Answer-Count", "%d", h->max_no_answer);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Agent-No-Answer-Status", cc_agent_status2str(h->agent_no_answer_status));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Member-UUID", h->member_uuid);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Member-Session-UUID", h->member_session_uuid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Agent-No-Answer-Status", cc_agent_status2str(h->agent_no_answer_status));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Member-UUID", h->member_uuid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Member-Session-UUID", h->member_session_uuid);
switch_event_fire(&event);
}
@@ -2185,17 +2185,17 @@ static void *SWITCH_THREAD_FUNC outbound_agent_thread_run(switch_thread_t *threa
/* Fire up event when contact agent fails */
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CALLCENTER_EVENT) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Queue", h->queue_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Action", "bridge-agent-fail");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Hangup-Cause", switch_channel_cause2str(cause));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Agent", h->agent_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Agent-System", h->agent_system);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Queue", h->queue_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Action", "bridge-agent-fail");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Hangup-Cause", switch_channel_cause2str(cause));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Agent", h->agent_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Agent-System", h->agent_system);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "CC-Agent-Called-Time", "%" SWITCH_TIME_T_FMT, t_agent_called);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "CC-Agent-Aborted-Time", "%" SWITCH_TIME_T_FMT, local_epoch_time_now(NULL));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Member-UUID", h->member_uuid);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Member-Session-UUID", h->member_session_uuid);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Member-CID-Name", h->member_cid_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Member-CID-Number", h->member_cid_number);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Member-UUID", h->member_uuid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Member-Session-UUID", h->member_session_uuid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Member-CID-Name", h->member_cid_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Member-CID-Number", h->member_cid_number);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "CC-Member-Joined-Time", "%" SWITCH_TIME_T_FMT, t_member_called);
switch_event_fire(&event);
}
@@ -2898,9 +2898,9 @@ void *SWITCH_THREAD_FUNC cc_member_thread_run(switch_thread_t *thread, void *obj
switch_event_t *event;
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", "playback");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "execute-app-arg", "tone_stream://%(200,0,500,600,700)");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "call-command", "execute");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "execute-app-name", "playback");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "execute-app-arg", "tone_stream://%(200,0,500,600,700)");
switch_core_session_queue_private_event(member_session, &event, SWITCH_TRUE);
}
*/
@@ -3095,12 +3095,12 @@ SWITCH_STANDARD_APP(callcenter_function)
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CALLCENTER_EVENT) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(member_channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Queue", queue_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Queue", queue_name);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "CC-Action", "member-queue-%s", (abandoned_epoch==0?"start":"resume"));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Member-UUID", member_uuid);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Member-Session-UUID", member_session_uuid);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Member-CID-Name", switch_str_nil(switch_channel_get_variable(member_channel, "caller_id_name")));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Member-CID-Number", switch_str_nil(switch_channel_get_variable(member_channel, "caller_id_number")));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Member-UUID", member_uuid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Member-Session-UUID", member_session_uuid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Member-CID-Name", switch_str_nil(switch_channel_get_variable(member_channel, "caller_id_name")));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Member-CID-Number", switch_str_nil(switch_channel_get_variable(member_channel, "caller_id_number")));
switch_event_fire(&event);
}
@@ -3252,16 +3252,16 @@ SWITCH_STANDARD_APP(callcenter_function)
/* Generate an event */
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CALLCENTER_EVENT) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(member_channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Queue", queue_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Action", "member-queue-end");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Queue", queue_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Action", "member-queue-end");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "CC-Member-Leaving-Time", "%" SWITCH_TIME_T_FMT, local_epoch_time_now(NULL));
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "CC-Member-Joined-Time", "%" SWITCH_TIME_T_FMT, t_member_called);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Cause", "Cancel");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Cancel-Reason", cc_member_cancel_reason2str(h->member_cancel_reason));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Member-UUID", member_uuid);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Member-Session-UUID", member_session_uuid);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Member-CID-Name", switch_str_nil(switch_channel_get_variable(member_channel, "caller_id_name")));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CC-Member-CID-Number", switch_str_nil(switch_channel_get_variable(member_channel, "caller_id_number")));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Cause", "Cancel");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Cancel-Reason", cc_member_cancel_reason2str(h->member_cancel_reason));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Member-UUID", member_uuid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Member-Session-UUID", member_session_uuid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Member-CID-Name", switch_str_nil(switch_channel_get_variable(member_channel, "caller_id_name")));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CC-Member-CID-Number", switch_str_nil(switch_channel_get_variable(member_channel, "caller_id_number")));
switch_event_fire(&event);
}
@@ -3375,25 +3375,25 @@ static void cc_send_presence(const char *queue_name) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Queue has %d waiting calls.\n", count);
if (switch_event_create(&send_event, SWITCH_EVENT_PRESENCE_IN) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(send_event, SWITCH_STACK_BOTTOM, "proto", "callcenter");
switch_event_add_header_string_dup(send_event, SWITCH_STACK_BOTTOM, "proto", "callcenter");
switch_event_add_header(send_event, SWITCH_STACK_BOTTOM, "login", "%s", queue_name);
switch_event_add_header_string(send_event, SWITCH_STACK_BOTTOM, "from", queue_name);
switch_event_add_header_string_dup(send_event, SWITCH_STACK_BOTTOM, "from", queue_name);
if (count > 0) {
switch_event_add_header(send_event, SWITCH_STACK_BOTTOM, "force-status", "Active (%d waiting)", count);
} else {
switch_event_add_header_string(send_event, SWITCH_STACK_BOTTOM, "force-status", "Idle");
switch_event_add_header_string_dup(send_event, SWITCH_STACK_BOTTOM, "force-status", "Idle");
}
switch_event_add_header_string(send_event, SWITCH_STACK_BOTTOM, "rpid", "unknown");
switch_event_add_header_string(send_event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string(send_event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header_string_dup(send_event, SWITCH_STACK_BOTTOM, "rpid", "unknown");
switch_event_add_header_string_dup(send_event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string_dup(send_event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header(send_event, SWITCH_STACK_BOTTOM, "event_count", "%d", 0);
switch_event_add_header_string(send_event, SWITCH_STACK_BOTTOM, "channel-state", count > 0 ? "CS_ROUTING" : "CS_HANGUP");
switch_event_add_header_string(send_event, SWITCH_STACK_BOTTOM, "unique-id", queue_name);
switch_event_add_header_string(send_event, SWITCH_STACK_BOTTOM, "answer-state", count > 0 ? "confirmed" : "terminated");
switch_event_add_header_string(send_event, SWITCH_STACK_BOTTOM, "presence-call-direction", "inbound");
switch_event_add_header_string_dup(send_event, SWITCH_STACK_BOTTOM, "channel-state", count > 0 ? "CS_ROUTING" : "CS_HANGUP");
switch_event_add_header_string_dup(send_event, SWITCH_STACK_BOTTOM, "unique-id", queue_name);
switch_event_add_header_string_dup(send_event, SWITCH_STACK_BOTTOM, "answer-state", count > 0 ? "confirmed" : "terminated");
switch_event_add_header_string_dup(send_event, SWITCH_STACK_BOTTOM, "presence-call-direction", "inbound");
switch_event_fire(&send_event);
} else {
@@ -447,8 +447,8 @@ static cid_data_t *do_whitepages_lookup(switch_memory_pool_t *pool, switch_event
goto done;
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "whitepages-cid", num);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "whitepages-api-key", globals.whitepages_apikey);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "whitepages-cid", num);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "whitepages-api-key", globals.whitepages_apikey);
query = switch_event_expand_headers(event, "http://api.whitepages.com/reverse_phone/1.0/?phone=${whitepages-cid};api_key=${whitepages-api-key}");
do_lookup_url(pool, event, &xml_s, query, NULL, NULL, 0);
@@ -546,7 +546,7 @@ static cid_data_t *do_lookup(switch_memory_pool_t *pool, switch_event_t *event,
switch_bool_t save_cache = SWITCH_FALSE;
number = string_digitsonly(pool, num);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "caller_id_number", number);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "caller_id_number", number);
/* database always wins */
if (globals.odbc_dsn && globals.sql) {
@@ -705,10 +705,10 @@ SWITCH_STANDARD_APP(cidlookup_app_function)
if (switch_event_create(&event, SWITCH_EVENT_CALL_UPDATE) == SWITCH_STATUS_SUCCESS) {
const char *uuid = switch_channel_get_partner_uuid(channel);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Direction", "RECV");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Direction", "RECV");
if (uuid) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Bridged-To", uuid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Bridged-To", uuid);
}
switch_channel_event_set_data(channel, event);
switch_event_fire(&event);
@@ -1034,9 +1034,9 @@ SWITCH_STANDARD_API(group_call_function)
switch_event_t *params;
switch_event_create(&params, SWITCH_EVENT_REQUEST_PARAMS);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "group", group_name);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "domain", domain);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "action", "group_call");
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "group", group_name);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "domain", domain);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "action", "group_call");
if (switch_xml_locate_group(group_name, domain, &xml, &x_domain, &x_group, params) == SWITCH_STATUS_SUCCESS) {
switch_xml_t x_user, x_users, x_param, x_params, my_x_user;
@@ -1119,9 +1119,9 @@ SWITCH_STANDARD_API(group_call_function)
switch_event_del_header(params, "dialed_user");
switch_event_del_header(params, "dialed_group");
switch_event_del_header(params, "dialed_domain");
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "dialed_user", id);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "dialed_group", group_name);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "dialed_domain", domain);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "dialed_user", id);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "dialed_group", group_name);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "dialed_domain", domain);
d_dest = switch_event_expand_headers(params, dest);
}
} else {
@@ -1201,8 +1201,8 @@ SWITCH_STANDARD_API(in_group_function)
}
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_dup(params, SWITCH_STACK_BOTTOM, "user", user);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "domain", domain);
if (switch_xml_locate_group(group, domain, &xml, &x_domain, &x_group, params) == SWITCH_STATUS_SUCCESS) {
switch_xml_t x_users;
@@ -1255,8 +1255,8 @@ SWITCH_STANDARD_API(domain_data_function)
}
switch_event_create(&params, SWITCH_EVENT_REQUEST_PARAMS);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "domain", domain);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "type", type);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "domain", domain);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "type", type);
if (key && type && switch_xml_locate_domain(domain, params, &xml_root, &x_domain) == SWITCH_STATUS_SUCCESS) {
if (!strcmp(type, "attr")) {
@@ -1326,9 +1326,9 @@ SWITCH_STANDARD_API(user_data_function)
}
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);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "user", user);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "domain", domain);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "type", type);
if (key && type && switch_xml_locate_user_merged("id:number-alias", user, domain, NULL, &x_user, params) == SWITCH_STATUS_SUCCESS) {
if (!strcmp(type, "attr")) {
@@ -1870,18 +1870,18 @@ SWITCH_STANDARD_API(xml_locate_function)
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_dup(params, SWITCH_STACK_BOTTOM, "section", section);
if (tag) {
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "tag", tag);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "tag", tag);
}
if (tag_attr_name) {
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "tag_attr_name", tag_attr_name);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "tag_attr_name", tag_attr_name);
}
if (tag_attr_val) {
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "tag_attr_val", tag_attr_val);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "tag_attr_val", tag_attr_val);
}
if (switch_xml_locate(section, tag, tag_attr_name, tag_attr_val, &xml, &obj, params, SWITCH_FALSE) != SWITCH_STATUS_SUCCESS) {
@@ -2336,7 +2336,7 @@ SWITCH_STANDARD_API(status_function)
if (format.html) {
/* set flag to allow refresh of webpage if web request contained kv-pair refresh=xx */
switch_event_add_header_string(stream->param_event, SWITCH_STACK_BOTTOM, "HTTP-REFRESH", "true");
switch_event_add_header_string_dup(stream->param_event, SWITCH_STACK_BOTTOM, "HTTP-REFRESH", "true");
if (format.api) {
/* "Overwrite" default "api" Content-Type: text/plain */
stream->write_function(stream, "Content-Type: text/html\r\n\r\n");
@@ -5393,10 +5393,10 @@ static void *SWITCH_THREAD_FUNC bgapi_exec(switch_thread_t *thread, void *obj)
}
if (switch_event_create(&event, SWITCH_EVENT_BACKGROUND_JOB) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Job-UUID", job->uuid_str);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Job-Command", job->cmd);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Job-UUID", job->uuid_str);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Job-Command", job->cmd);
if (arg) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Job-Command-Arg", arg);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Job-Command-Arg", arg);
}
switch_event_add_body(event, "%s", reply);
@@ -5800,7 +5800,7 @@ SWITCH_STANDARD_API(show_function)
html = holder.format->html;
if (html) {
/* set flag to allow refresh of webpage if web request contained kv-pair refresh=xx */
switch_event_add_header_string(stream->param_event, SWITCH_STACK_BOTTOM, "HTTP-REFRESH", "true");
switch_event_add_header_string_dup(stream->param_event, SWITCH_STACK_BOTTOM, "HTTP-REFRESH", "true");
if (holder.format->api) {
/* "Overwrite" default "api" Content-Type: text/plain */
stream->write_function(stream, "Content-Type: text/html\r\n\r\n");
@@ -6691,7 +6691,7 @@ SWITCH_STANDARD_API(hupall_api_function)
if (!vars) {
switch_event_create(&vars, SWITCH_EVENT_CLONE);
}
switch_event_add_header_string(vars, SWITCH_STACK_BOTTOM, var, val);
switch_event_add_header_string_dup(vars, SWITCH_STACK_BOTTOM, var, val);
vars_count++;
}
}
@@ -338,7 +338,7 @@ switch_status_t conference_api_sub_mute(conference_member_t *member, switch_stre
if (test_eflag(member->conference, EFLAG_MUTE_MEMBER) &&
switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "mute-member");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "mute-member");
switch_event_fire(&event);
}
@@ -388,7 +388,7 @@ switch_status_t conference_api_sub_unhold(conference_member_t *member, switch_st
if (test_eflag(member->conference, EFLAG_HOLD_MEMBER) &&
switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "unhold-member");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "unhold-member");
switch_event_fire(&event);
}
@@ -439,7 +439,7 @@ switch_status_t conference_api_sub_hold(conference_member_t *member, switch_stre
if (test_eflag(member->conference, EFLAG_HOLD_MEMBER) &&
switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "hold-member");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "hold-member");
switch_event_fire(&event);
}
@@ -491,7 +491,7 @@ switch_status_t conference_api_sub_unmute(conference_member_t *member, switch_st
if (test_eflag(member->conference, EFLAG_MUTE_MEMBER) &&
switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "unmute-member");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "unmute-member");
switch_event_fire(&event);
}
@@ -616,7 +616,7 @@ switch_status_t conference_api_sub_vmute(conference_member_t *member, switch_str
if (test_eflag(member->conference, EFLAG_MUTE_MEMBER) &&
switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "vmute-member");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "vmute-member");
switch_event_fire(&event);
}
@@ -686,7 +686,7 @@ switch_status_t conference_api_sub_unvmute(conference_member_t *member, switch_s
if (test_eflag(member->conference, EFLAG_MUTE_MEMBER) &&
switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "unvmute-member");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "unvmute-member");
switch_event_fire(&event);
}
@@ -719,7 +719,7 @@ switch_status_t conference_api_sub_vblind(conference_member_t *member, switch_st
if (test_eflag(member->conference, EFLAG_BLIND_MEMBER) &&
switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "vblind-member");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "vblind-member");
switch_event_fire(&event);
}
@@ -768,7 +768,7 @@ switch_status_t conference_api_sub_unvblind(conference_member_t *member, switch_
if (test_eflag(member->conference, EFLAG_BLIND_MEMBER) &&
switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "unvblind-member");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "unvblind-member");
switch_event_fire(&event);
}
@@ -796,7 +796,7 @@ switch_status_t conference_api_sub_deaf(conference_member_t *member, switch_stre
}
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "deaf-member");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "deaf-member");
switch_event_fire(&event);
}
@@ -838,7 +838,7 @@ switch_status_t conference_api_sub_undeaf(conference_member_t *member, switch_st
}
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "undeaf-member");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "undeaf-member");
switch_event_fire(&event);
}
@@ -870,7 +870,7 @@ switch_status_t conference_api_sub_hup(conference_member_t *member, switch_strea
if (member->conference && test_eflag(member->conference, EFLAG_HUP_MEMBER)) {
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "hup-member");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "hup-member");
switch_event_fire(&event);
}
}
@@ -901,7 +901,7 @@ switch_status_t conference_api_sub_kick(conference_member_t *member, switch_stre
if (member->conference && test_eflag(member->conference, EFLAG_KICK_MEMBER)) {
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "kick-member");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "kick-member");
switch_event_fire(&event);
}
}
@@ -1048,8 +1048,8 @@ switch_status_t conference_api_sub_dtmf(conference_member_t *member, switch_stre
if (test_eflag(member->conference, EFLAG_DTMF_MEMBER) &&
switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "dtmf-member");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Digits", dtmf);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "dtmf-member");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Digits", dtmf);
switch_event_fire(&event);
}
@@ -1227,7 +1227,7 @@ switch_status_t conference_api_sub_energy(conference_member_t *member, switch_st
if (test_eflag(member->conference, EFLAG_ENERGY_LEVEL_MEMBER) &&
data && switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "energy-level-member");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "energy-level-member");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Energy-Level", "%d", member->energy_level);
switch_event_fire(&event);
}
@@ -1323,7 +1323,7 @@ switch_status_t conference_api_sub_agc(conference_member_t *member, switch_strea
// if (test_eflag(member->conference, EFLAG_AGC_LEVEL_MEMBER) &&
if (data && switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "agc-level-member");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "agc-level-member");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Agc-Level", "%d", member->agc_level);
switch_event_fire(&event);
}
@@ -1369,7 +1369,7 @@ switch_status_t conference_api_sub_auto_energy(conference_member_t *member, swit
if (test_eflag(member->conference, EFLAG_ENERGY_LEVEL_MEMBER) &&
data && switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "auto-energy-level-member");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "auto-energy-level-member");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Auto-Energy-Level", "%d", member->auto_energy_level);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Energy-Level", "%d", member->energy_level);
switch_event_fire(&event);
@@ -1441,7 +1441,7 @@ switch_status_t conference_api_sub_max_energy(conference_member_t *member, switc
if (test_eflag(member->conference, EFLAG_ENERGY_LEVEL_MEMBER) &&
data && switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "max-energy-level-member");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "max-energy-level-member");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Max-Energy-Level", "%d", member->max_energy_level);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Max-Energy-Mute", "%d", member->burst_mute_count * member->conference->interval);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Max-Energy-Hit-Trigger", "%d", member->max_energy_hit_trigger);
@@ -1535,7 +1535,7 @@ switch_status_t conference_api_sub_position(conference_member_t *member, switch_
if (test_eflag(member->conference, EFLAG_SET_POSITION_MEMBER) &&
data && switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "set-position-member");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "set-position-member");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Position", "%0.2f:%0.2f:%0.2f", member->al->pos_x, member->al->pos_y, member->al->pos_z);
switch_event_fire(&event);
}
@@ -1573,7 +1573,7 @@ switch_status_t conference_api_sub_volume_in(conference_member_t *member, switch
if (test_eflag(member->conference, EFLAG_VOLUME_IN_MEMBER) &&
data && switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "volume-in-member");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "volume-in-member");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Volume-Level", "%d", member->volume_in_level);
switch_event_fire(&event);
}
@@ -1608,7 +1608,7 @@ switch_status_t conference_api_sub_volume_out(conference_member_t *member, switc
if (test_eflag(member->conference, EFLAG_VOLUME_OUT_MEMBER) && data &&
switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "volume-out-member");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "volume-out-member");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Volume-Level", "%d", member->volume_out_level);
switch_event_fire(&event);
}
@@ -2821,9 +2821,9 @@ switch_status_t conference_api_sub_play(conference_obj_t *conference, switch_str
switch_event_merge(event, conference->fnode->fh.params);
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "play-file");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "File", argv[2]);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Async", async ? "true" : "false");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "play-file");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "File", argv[2]);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Async", async ? "true" : "false");
switch_event_fire(&event);
}
} else {
@@ -2850,8 +2850,8 @@ switch_status_t conference_api_sub_play(conference_obj_t *conference, switch_str
switch_event_merge(event, member->fnode->fh.params);
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "play-file-member");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "File", argv[2]);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "play-file-member");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "File", argv[2]);
switch_event_fire(&event);
}
} else {
@@ -2884,8 +2884,8 @@ switch_status_t conference_api_sub_say(conference_obj_t *conference, switch_stre
stream->write_function(stream, "+OK (say) OK\n");
if (test_eflag(conference, EFLAG_SPEAK_TEXT) && switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_event_add_data(conference, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "speak-text");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Text", text);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "speak-text");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Text", text);
switch_event_fire(&event);
}
return SWITCH_STATUS_SUCCESS;
@@ -2943,8 +2943,8 @@ switch_status_t conference_api_sub_saymember(conference_obj_t *conference, switc
if (test_eflag(member->conference, EFLAG_SPEAK_TEXT_MEMBER) &&
switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "speak-text-member");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Text", text);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "speak-text-member");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Text", text);
switch_event_fire(&event);
}
ret_status = SWITCH_STATUS_SUCCESS;
@@ -3473,7 +3473,7 @@ switch_status_t conference_api_sub_lock(conference_obj_t *conference, switch_str
stream->write_function(stream, "+OK %s locked\n", argv[0]);
if (test_eflag(conference, EFLAG_LOCK) && switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_event_add_data(conference, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "lock");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "lock");
switch_event_fire(&event);
}
@@ -3495,7 +3495,7 @@ switch_status_t conference_api_sub_unlock(conference_obj_t *conference, switch_s
stream->write_function(stream, "+OK %s unlocked\n", argv[0]);
if (test_eflag(conference, EFLAG_UNLOCK) && switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_event_add_data(conference, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "unlock");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "unlock");
switch_event_fire(&event);
}
@@ -3519,7 +3519,7 @@ switch_status_t conference_api_sub_exit_sound(conference_obj_t *conference, swit
stream->write_function(stream, "+OK %s exit sounds on (%s)\n", argv[0], conference->exit_sound);
if (test_eflag(conference, EFLAG_LOCK) && switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_event_add_data(conference, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "exit-sounds-on");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "exit-sounds-on");
switch_event_fire(&event);
}
} else if ( !strcasecmp(argv[2], "off") || !strcasecmp(argv[2], "none") ) {
@@ -3527,7 +3527,7 @@ switch_status_t conference_api_sub_exit_sound(conference_obj_t *conference, swit
stream->write_function(stream, "+OK %s exit sounds off (%s)\n", argv[0], conference->exit_sound);
if (test_eflag(conference, EFLAG_LOCK) && switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_event_add_data(conference, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "exit-sounds-off");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "exit-sounds-off");
switch_event_fire(&event);
}
} else if ( !strcasecmp(argv[2], "file") ) {
@@ -3540,7 +3540,7 @@ switch_status_t conference_api_sub_exit_sound(conference_obj_t *conference, swit
stream->write_function(stream, "+OK %s exit sound file set to %s\n", argv[0], conference->exit_sound);
if (test_eflag(conference, EFLAG_LOCK) && switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_event_add_data(conference, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "exit-sound-file-changed");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "exit-sound-file-changed");
switch_event_fire(&event);
}
}
@@ -3570,7 +3570,7 @@ switch_status_t conference_api_sub_enter_sound(conference_obj_t *conference, swi
stream->write_function(stream, "+OK %s enter sounds on (%s)\n", argv[0], conference->enter_sound);
if (test_eflag(conference, EFLAG_LOCK) && switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_event_add_data(conference, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "enter-sounds-on");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "enter-sounds-on");
switch_event_fire(&event);
}
} else if ( !strcasecmp(argv[2], "off") || !strcasecmp(argv[2], "none") ) {
@@ -3578,7 +3578,7 @@ switch_status_t conference_api_sub_enter_sound(conference_obj_t *conference, swi
stream->write_function(stream, "+OK %s enter sounds off (%s)\n", argv[0], conference->enter_sound);
if (test_eflag(conference, EFLAG_LOCK) && switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_event_add_data(conference, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "enter-sounds-off");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "enter-sounds-off");
switch_event_fire(&event);
}
} else if ( !strcasecmp(argv[2], "file") ) {
@@ -3590,7 +3590,7 @@ switch_status_t conference_api_sub_enter_sound(conference_obj_t *conference, swi
stream->write_function(stream, "+OK %s enter sound file set to %s\n", argv[0], conference->enter_sound);
if (test_eflag(conference, EFLAG_LOCK) && switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_event_add_data(conference, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "enter-sound-file-changed");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "enter-sound-file-changed");
switch_event_fire(&event);
}
}
@@ -3703,9 +3703,9 @@ switch_status_t conference_api_sub_transfer(conference_obj_t *conference, switch
if (test_eflag(conference, EFLAG_TRANSFER) &&
switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Old-Conference-Name", conference->name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "New-Conference-Name", argv[2]);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "transfer");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Old-Conference-Name", conference->name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "New-Conference-Name", argv[2]);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "transfer");
switch_event_fire(&event);
}
@@ -3861,12 +3861,12 @@ switch_status_t conference_api_sub_pauserec(conference_obj_t *conference, switch
{
conference_event_add_data(conference, event);
if (action == REC_ACTION_PAUSE) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "pause-recording");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "pause-recording");
} else {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "resume-recording");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "resume-recording");
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Path", argv[2]);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Other-Recordings", conference->record_count ? "true" : "false");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Path", argv[2]);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Other-Recordings", conference->record_count ? "true" : "false");
switch_event_fire(&event);
}
}
@@ -751,11 +751,11 @@ void conference_cdr_render(conference_obj_t *conference)
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_CDR) == SWITCH_STATUS_SUCCESS)
// if (switch_event_create(&event, SWITCH_EVENT_CDR) == SWITCH_STATUS_SUCCESS)
{
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CDR-Source", CONF_EVENT_CDR);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CDR-Source", CONF_EVENT_CDR);
if (conference->cdr_event_mode == CDRE_AS_CONTENT) {
switch_event_set_body(event, xml_text);
} else {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CDR-Path", path);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CDR-Path", path);
}
switch_event_fire(&event);
} else {
@@ -724,8 +724,8 @@ void conference_event_send_rfc(conference_obj_t *conference)
if (switch_event_create(&event, SWITCH_EVENT_CONFERENCE_DATA) == SWITCH_STATUS_SUCCESS) {
event->flags |= EF_UNIQ_HEADERS;
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "conference-name", name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "conference-domain", domain);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "conference-name", name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "conference-domain", domain);
body = conference_cdr_rfc4579_render(conference, NULL, event);
switch_event_add_body(event, "%s", body);
@@ -742,12 +742,12 @@ switch_status_t conference_event_add_data(conference_obj_t *conference, switch_e
{
switch_status_t status = SWITCH_STATUS_SUCCESS;
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Conference-Name", conference->name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Conference-Domain", conference->domain);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Conference-Name", conference->name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Conference-Domain", conference->domain);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Conference-Size", "%u", conference->count);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Conference-Ghosts", "%u", conference->count_ghosts);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Conference-Profile-Name", conference->profile_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Conference-Unique-ID", conference->uuid_str);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Conference-Profile-Name", conference->profile_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Conference-Unique-ID", conference->uuid_str);
switch_event_merge(event, conference->variables);
return status;
@@ -774,14 +774,14 @@ void conference_event_chat_message_broadcast(conference_obj_t *conference, switc
continue;
}
switch_event_dup(&reply, event);
switch_event_add_header_string(reply, SWITCH_STACK_BOTTOM, "to", presence_id);
switch_event_add_header_string(reply, SWITCH_STACK_BOTTOM, "conference_name", conference->name);
switch_event_add_header_string(reply, SWITCH_STACK_BOTTOM, "conference_domain", conference->domain);
switch_event_add_header_string_dup(reply, SWITCH_STACK_BOTTOM, "to", presence_id);
switch_event_add_header_string_dup(reply, SWITCH_STACK_BOTTOM, "conference_name", conference->name);
switch_event_add_header_string_dup(reply, SWITCH_STACK_BOTTOM, "conference_domain", conference->domain);
switch_event_set_body(reply, switch_event_get_body(event));
switch_core_chat_deliver(chat_proto, &reply);
switch_event_add_header_string(processed, SWITCH_STACK_BOTTOM, presence_id, "true");
switch_event_add_header_string_dup(processed, SWITCH_STACK_BOTTOM, presence_id, "true");
}
}
}
@@ -824,19 +824,19 @@ void conference_event_call_setup_handler(switch_event_t *event)
for(hp = event->headers; hp; hp = hp->next) {
if (!strncasecmp(hp->name, "var_", 4)) {
switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, hp->name + 4, hp->value);
switch_event_add_header_string_dup(var_event, SWITCH_STACK_BOTTOM, hp->name + 4, hp->value);
}
}
switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, "conference_call_key", key);
switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, "conference_destination_number", ext);
switch_event_add_header_string_dup(var_event, SWITCH_STACK_BOTTOM, "conference_call_key", key);
switch_event_add_header_string_dup(var_event, SWITCH_STACK_BOTTOM, "conference_destination_number", ext);
switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, "conference_invite_uri", dial_uri);
switch_event_add_header_string_dup(var_event, SWITCH_STACK_BOTTOM, "conference_invite_uri", dial_uri);
switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, "conference_track_status", "true");
switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, "conference_track_call_id", call_id);
switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, "sip_invite_domain", domain);
switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, "sip_invite_contact_params", "~isfocus");
switch_event_add_header_string_dup(var_event, SWITCH_STACK_BOTTOM, "conference_track_status", "true");
switch_event_add_header_string_dup(var_event, SWITCH_STACK_BOTTOM, "conference_track_call_id", call_id);
switch_event_add_header_string_dup(var_event, SWITCH_STACK_BOTTOM, "sip_invite_domain", domain);
switch_event_add_header_string_dup(var_event, SWITCH_STACK_BOTTOM, "sip_invite_contact_params", "~isfocus");
if (!strncasecmp(ostr, "url+", 4)) {
ostr += 4;
@@ -878,11 +878,11 @@ void conference_event_call_setup_handler(switch_event_t *event)
if (switch_event_create(&event, SWITCH_EVENT_CONFERENCE_DATA) == SWITCH_STATUS_SUCCESS) {
event->flags |= EF_UNIQ_HEADERS;
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "conference-name", conf);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "conference-domain", domain);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "conference-event", "refer");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "call_id", call_id);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "final", "true");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "conference-name", conf);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "conference-domain", domain);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "conference-event", "refer");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "call_id", call_id);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "final", "true");
switch_event_add_body(event, "%s", "SIP/2.0 481 Failure\r\n");
switch_event_fire(&event);
}
@@ -942,35 +942,35 @@ void conference_event_pres_handler(switch_event_t *event)
if ((conference = conference_find(conference_name, NULL)) || (conference = conference_find(dup_conference_name, NULL))) {
if (switch_event_create(&event, SWITCH_EVENT_PRESENCE_IN) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "proto", CONF_CHAT_PROTO);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "login", conference->name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "proto", CONF_CHAT_PROTO);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "login", conference->name);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "from", "%s@%s", conference->name, conference->domain);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "force-status", "Active (%d caller%s)", conference->count, conference->count == 1 ? "" : "s");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "event_count", "%d", EC++);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "unique-id", conference_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "channel-state", "CS_ROUTING");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "answer-state", conference->count == 1 ? "early" : "confirmed");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "call-direction", conference->count == 1 ? "outbound" : "inbound");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "unique-id", conference_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "channel-state", "CS_ROUTING");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "answer-state", conference->count == 1 ? "early" : "confirmed");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "call-direction", conference->count == 1 ? "outbound" : "inbound");
switch_event_fire(&event);
}
switch_thread_rwlock_unlock(conference->rwlock);
} else if (switch_event_create(&event, SWITCH_EVENT_PRESENCE_IN) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "proto", CONF_CHAT_PROTO);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "login", conference_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "from", to);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "force-status", "Idle");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "rpid", "unknown");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "proto", CONF_CHAT_PROTO);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "login", conference_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "from", to);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "force-status", "Idle");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "rpid", "unknown");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "event_count", "%d", EC++);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "unique-id", conference_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "channel-state", "CS_HANGUP");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "answer-state", "terminated");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "call-direction", "inbound");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "unique-id", conference_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "channel-state", "CS_HANGUP");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "answer-state", "terminated");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "call-direction", "inbound");
switch_event_fire(&event);
}
@@ -67,7 +67,7 @@ switch_status_t conference_file_close(conference_obj_t *conference, conference_f
}
if (node->member_id) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "play-file-member-done");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "play-file-member-done");
if ((member = conference_member_get(conference, node->member_id))) {
conference_member_add_event_data(member, event);
@@ -75,13 +75,13 @@ switch_status_t conference_file_close(conference_obj_t *conference, conference_f
}
} else {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "play-file-done");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "play-file-done");
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "File", node->file);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "File", node->file);
if (node->async) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Async", "true");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Async", "true");
}
switch_event_fire(&event);
@@ -272,10 +272,10 @@ switch_status_t conference_file_play(conference_obj_t *conference, char *file, u
switch_event_merge(event, conference->fnode->fh.params);
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "play-file");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "File", file);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Async", async ? "true" : "false");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Error", "File could not be played");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "play-file");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "File", file);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Async", async ? "true" : "false");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Error", "File could not be played");
switch_event_fire(&event);
}
@@ -230,7 +230,7 @@ void conference_loop_lock_toggle(conference_member_t *member, caller_control_act
if (test_eflag(member->conference, EFLAG_LOCK) &&
switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_event_add_data(member->conference, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "lock");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "lock");
switch_event_fire(&event);
}
} else {
@@ -242,7 +242,7 @@ void conference_loop_lock_toggle(conference_member_t *member, caller_control_act
if (test_eflag(member->conference, EFLAG_UNLOCK) &&
switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_event_add_data(member->conference, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "unlock");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "unlock");
switch_event_fire(&event);
}
}
@@ -328,7 +328,7 @@ void conference_loop_energy_up(conference_member_t *member, caller_control_actio
if (test_eflag(member->conference, EFLAG_ENERGY_LEVEL) &&
switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "energy-level");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "energy-level");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "New-Level", "%d", member->energy_level);
switch_event_fire(&event);
}
@@ -369,7 +369,7 @@ void conference_loop_energy_equ_conf(conference_member_t *member, caller_control
if (test_eflag(member->conference, EFLAG_ENERGY_LEVEL) &&
switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "energy-level");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "energy-level");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "New-Level", "%d", member->energy_level);
switch_event_fire(&event);
}
@@ -409,7 +409,7 @@ void conference_loop_energy_dn(conference_member_t *member, caller_control_actio
if (test_eflag(member->conference, EFLAG_ENERGY_LEVEL) &&
switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "energy-level");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "energy-level");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "New-Level", "%d", member->energy_level);
switch_event_fire(&event);
}
@@ -439,7 +439,7 @@ void conference_loop_volume_talk_up(conference_member_t *member, caller_control_
if (test_eflag(member->conference, EFLAG_VOLUME_LEVEL) &&
switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "volume-level");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "volume-level");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "New-Level", "%d", member->volume_out_level);
switch_event_fire(&event);
}
@@ -470,7 +470,7 @@ void conference_loop_volume_talk_zero(conference_member_t *member, caller_contro
if (test_eflag(member->conference, EFLAG_VOLUME_LEVEL) &&
switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "volume-level");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "volume-level");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "New-Level", "%d", member->volume_out_level);
switch_event_fire(&event);
}
@@ -502,7 +502,7 @@ void conference_loop_volume_talk_dn(conference_member_t *member, caller_control_
if (test_eflag(member->conference, EFLAG_VOLUME_LEVEL) &&
switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "volume-level");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "volume-level");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "New-Level", "%d", member->volume_out_level);
switch_event_fire(&event);
}
@@ -533,7 +533,7 @@ void conference_loop_volume_listen_up(conference_member_t *member, caller_contro
if (test_eflag(member->conference, EFLAG_GAIN_LEVEL) &&
switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "gain-level");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "gain-level");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "New-Level", "%d", member->volume_in_level);
switch_event_fire(&event);
}
@@ -564,7 +564,7 @@ void conference_loop_volume_listen_zero(conference_member_t *member, caller_cont
if (test_eflag(member->conference, EFLAG_GAIN_LEVEL) &&
switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "gain-level");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "gain-level");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "New-Level", "%d", member->volume_in_level);
switch_event_fire(&event);
}
@@ -596,7 +596,7 @@ void conference_loop_volume_listen_dn(conference_member_t *member, caller_contro
if (test_eflag(member->conference, EFLAG_GAIN_LEVEL) &&
switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "gain-level");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "gain-level");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "New-Level", "%d", member->volume_in_level);
switch_event_fire(&event);
}
@@ -618,9 +618,9 @@ void conference_loop_event(conference_member_t *member, caller_control_action_t
switch_event_t *event;
if (test_eflag(member->conference, EFLAG_DTMF) && switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "dtmf");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "DTMF-Key", action->binded_dtmf);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Data", action->expanded_data);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "dtmf");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "DTMF-Key", action->binded_dtmf);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Data", action->expanded_data);
switch_event_fire(&event);
}
}
@@ -638,8 +638,8 @@ void conference_loop_transfer(conference_member_t *member, caller_control_action
if (test_eflag(member->conference, EFLAG_DTMF) && switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "transfer");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Dialplan", action->expanded_data);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "transfer");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Dialplan", action->expanded_data);
switch_event_fire(&event);
}
conference_utils_member_clear_flag_locked(member, MFLAG_RUNNING);
@@ -687,8 +687,8 @@ void conference_loop_exec_app(conference_member_t *member, caller_control_action
if (test_eflag(member->conference, EFLAG_DTMF) && switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "execute_app");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Application", action->expanded_data);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "execute_app");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Application", action->expanded_data);
switch_event_fire(&event);
}
@@ -793,7 +793,7 @@ static void stop_talking_handler(conference_member_t *member)
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "talking-hit-off-percent", "%f", ngcp);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "talking-hit-off-differential", "%f", gcp - ngcp);
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "stop-talking");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "stop-talking");
switch_event_fire(&event);
}
@@ -1101,7 +1101,7 @@ void *SWITCH_THREAD_FUNC conference_loop_input(switch_thread_t *thread, void *ob
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "talk-report");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "talk-report");
switch_event_fire(&event);
}
@@ -1153,7 +1153,7 @@ void *SWITCH_THREAD_FUNC conference_loop_input(switch_thread_t *thread, void *ob
!conference_utils_member_test_flag(member, MFLAG_HOLD) &&
switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "start-talking");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "start-talking");
switch_event_fire(&event);
}
@@ -1166,7 +1166,7 @@ void *SWITCH_THREAD_FUNC conference_loop_input(switch_thread_t *thread, void *ob
if (test_eflag(member->conference, EFLAG_MUTE_DETECT) &&
switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "mute-detect");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "mute-detect");
switch_event_fire(&event);
}
}
@@ -72,11 +72,11 @@ void conference_member_bind_controls(conference_member_t *member, const char *co
int i;
switch_event_create(&params, SWITCH_EVENT_REQUEST_PARAMS);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "Conf-Name", member->conference->name);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "Conf-Profile", member->conference->profile_name);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "Action", "request-controls");
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "Controls", controls);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "Fetch-Call-UUID", switch_core_session_get_uuid(member->session));
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "Conf-Name", member->conference->name);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "Conf-Profile", member->conference->profile_name);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "Action", "request-controls");
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "Controls", controls);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "Fetch-Call-UUID", switch_core_session_get_uuid(member->session));
if (!(cxml = switch_xml_open_cfg(mod_conference_cf_name, &cfg, params))) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Open of %s failed\n", mod_conference_cf_name);
@@ -956,7 +956,7 @@ switch_status_t conference_member_add(conference_obj_t *conference, conference_m
if (!switch_channel_test_app_flag_key("conference_silent", channel, CONF_SILENT_REQ) &&
switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "add-member");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "add-member");
switch_event_fire(&event);
}
@@ -1152,18 +1152,18 @@ void conference_member_set_floor_holder(conference_obj_t *conference, conference
if (test_eflag(conference, EFLAG_FLOOR_CHANGE)) {
switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT);
conference_event_add_data(conference, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "floor-change");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "floor-change");
if (old_id) {
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Old-ID", "%d", old_id);
} else {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Old-ID", "none");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Old-ID", "none");
}
if (conference->floor_holder) {
conference_member_add_event_data(member, event);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "New-ID", "%d", conference->floor_holder);
} else {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "New-ID", "none");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "New-ID", "none");
}
switch_event_fire(&event);
@@ -1344,7 +1344,7 @@ switch_status_t conference_member_del(conference_obj_t *conference, conference_m
if (test_eflag(conference, EFLAG_DEL_MEMBER) &&
switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "del-member");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "del-member");
switch_event_fire(&event);
}
}
@@ -279,9 +279,9 @@ void *SWITCH_THREAD_FUNC conference_record_thread_run(switch_thread_t *thread, v
if (test_eflag(conference, EFLAG_RECORD) &&
switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_event_add_data(conference, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "start-recording");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Path", rec->path);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Error", "File could not be opened for recording");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "start-recording");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Path", rec->path);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Error", "File could not be opened for recording");
switch_event_fire(&event);
}
@@ -318,8 +318,8 @@ void *SWITCH_THREAD_FUNC conference_record_thread_run(switch_thread_t *thread, v
if (test_eflag(conference, EFLAG_RECORD) &&
switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_event_add_data(conference, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "start-recording");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Path", rec->path);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "start-recording");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Path", rec->path);
switch_event_fire(&event);
}
@@ -426,9 +426,9 @@ void *SWITCH_THREAD_FUNC conference_record_thread_run(switch_thread_t *thread, v
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_event_add_data(conference, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "stop-recording");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Path", rec->path);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Other-Recordings", conference->record_count ? "true" : "false");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "stop-recording");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Path", rec->path);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Other-Recordings", conference->record_count ? "true" : "false");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Samples-Out", "%ld", (long) member->rec->fh.samples_out);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Samplerate", "%ld", (long) member->rec->fh.samplerate);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Milliseconds-Elapsed", "%ld", (long) member->rec->fh.samples_out / (member->rec->fh.samplerate / 1000));
@@ -81,7 +81,7 @@ void conference_video_parse_layouts(conference_obj_t *conference, int WIDTH, int
switch_event_create(&params, SWITCH_EVENT_COMMAND);
switch_assert(params);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "conference_name", conference->name);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "conference_name", conference->name);
if (!(cxml = switch_xml_open_cfg(conference->video_layout_conf, &cfg, params))) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Open of %s failed\n", conference->video_layout_conf);
@@ -577,7 +577,7 @@ void conference_video_scale_and_patch(mcu_layer_t *layer, switch_image_t *ximg,
switch_event_t *event;
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "action", "movement-detection");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "action", "movement-detection");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "member_id", "%d", layer->member_id);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "last_x", "%d", layer->manual_geometry.x);
@@ -2514,7 +2514,7 @@ void conference_video_check_avatar(conference_member_t *member, switch_bool_t fo
switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT);
conference_event_add_data(member->conference, event);
conference_member_add_event_data(member, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "vfi-triggered-member");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "vfi-triggered-member");
switch_event_fire(&event);
switch_img_copy(member->video_mute_img, &member->avatar_png_img);
@@ -4814,16 +4814,16 @@ void conference_video_set_floor_holder(conference_obj_t *conference, conference_
if (test_eflag(conference, EFLAG_FLOOR_CHANGE)) {
switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT);
conference_event_add_data(conference, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "video-floor-change");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "video-floor-change");
if (old_id) {
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Old-ID", "%d", old_id);
} else {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Old-ID", "none");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Old-ID", "none");
}
if (conference->video_floor_holder) {
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "New-ID", "%d", conference->video_floor_holder);
} else {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "New-ID", "none");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "New-ID", "none");
}
switch_event_fire(&event);
}
@@ -185,13 +185,13 @@ void conference_send_notify(conference_obj_t *conference, const char *status, co
if (switch_event_create(&event, SWITCH_EVENT_CONFERENCE_DATA) == SWITCH_STATUS_SUCCESS) {
event->flags |= EF_UNIQ_HEADERS;
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "conference-name", name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "conference-domain", domain);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "conference-event", "refer");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "call_id", call_id);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "conference-name", name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "conference-domain", domain);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "conference-event", "refer");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "call_id", call_id);
if (final) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "final", "true");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "final", "true");
}
@@ -264,7 +264,7 @@ void *SWITCH_THREAD_FUNC conference_thread_run(switch_thread_t *thread, void *ob
last_heartbeat_time = now;
switch_event_create_subclass(&heartbeat_event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT);
conference_event_add_data(conference, heartbeat_event);
switch_event_add_header_string(heartbeat_event, SWITCH_STACK_BOTTOM, "Action", "conference-heartbeat");
switch_event_add_header_string_dup(heartbeat_event, SWITCH_STACK_BOTTOM, "Action", "conference-heartbeat");
switch_event_fire(&heartbeat_event);
}
@@ -862,7 +862,7 @@ void *SWITCH_THREAD_FUNC conference_thread_run(switch_thread_t *thread, void *ob
switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT);
conference_event_add_data(conference, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "conference-destroy");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "conference-destroy");
switch_event_fire(&event);
switch_mutex_lock(conference->member_mutex);
@@ -1703,10 +1703,10 @@ void *SWITCH_THREAD_FUNC conference_outcall_run(switch_thread_t *thread, void *o
if (call->conference && test_eflag(call->conference, EFLAG_BGDIAL_RESULT) &&
switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_event_add_data(call->conference, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "bgdial-result");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Result", switch_channel_cause2str(cause));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Job-UUID", call->uuid);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Peer-UUID", peer_uuid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "bgdial-result");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Result", switch_channel_cause2str(cause));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Job-UUID", call->uuid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Peer-UUID", peer_uuid);
switch_event_fire(&event);
}
@@ -1783,7 +1783,7 @@ switch_status_t conference_outcall_bg(conference_obj_t *conference,
if (call_uuid) {
call->uuid = strdup(call_uuid);
if (call->var_event) {
switch_event_add_header_string(call->var_event, SWITCH_STACK_BOTTOM, "conference_bgdial_jobid", call->uuid);
switch_event_add_header_string_dup(call->var_event, SWITCH_STACK_BOTTOM, "conference_bgdial_jobid", call->uuid);
}
}
@@ -2026,9 +2026,9 @@ SWITCH_STANDARD_APP(conference_function)
switch_event_create(&params, SWITCH_EVENT_COMMAND);
switch_assert(params);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "conference_name", conference_name);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "profile_name", profile_name);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "Fetch-Call-UUID", switch_core_session_get_uuid(session));
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "conference_name", conference_name);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "profile_name", profile_name);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "Fetch-Call-UUID", switch_core_session_get_uuid(session));
/* Open the config from the xml registry */
if (!(cxml = switch_xml_open_cfg(mod_conference_cf_name, &cfg, params))) {
@@ -2124,9 +2124,9 @@ SWITCH_STANDARD_APP(conference_function)
/* send event */
switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT);
switch_channel_event_set_basic_data(channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Conference-Name", conference_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Conference-Profile-Name", profile_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "rejected-join-only");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Conference-Name", conference_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Conference-Profile-Name", profile_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "rejected-join-only");
switch_event_fire(&event);
/* check what sound file to play */
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Cannot create a conference since join-only flag is set\n");
@@ -2675,7 +2675,7 @@ void conference_set_variable(conference_obj_t *conference, const char *var, cons
if (!val) {
switch_event_del_header(conference->variables, var);
} else {
switch_event_add_header_string(conference->variables, SWITCH_STACK_BOTTOM, var, val);
switch_event_add_header_string_dup(conference->variables, SWITCH_STACK_BOTTOM, var, val);
}
switch_mutex_unlock(conference->flag_mutex);
}
@@ -3846,7 +3846,7 @@ conference_obj_t *conference_new(char *name, conference_xml_cfg_t cfg, switch_co
if (conference->verbose_events && channel) {
switch_channel_event_set_data(channel, event);
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "conference-create");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "conference-create");
switch_event_fire(&event);
end:
@@ -3864,29 +3864,29 @@ void conference_send_presence(conference_obj_t *conference)
switch_event_t *event;
if (switch_event_create(&event, SWITCH_EVENT_PRESENCE_IN) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "proto", CONF_CHAT_PROTO);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "login", conference->name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "proto", CONF_CHAT_PROTO);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "login", conference->name);
if (strchr(conference->name, '@')) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "from", conference->name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "from", conference->name);
} else {
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "from", "%s@%s", conference->name, conference->domain);
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "event_count", "%d", EC++);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "unique-id", conference->name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "unique-id", conference->name);
if (conference->count) {
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "force-status", "Active (%d caller%s)", conference->count, conference->count == 1 ? "" : "s");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "channel-state", "CS_ROUTING");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "answer-state", conference->count == 1 ? "early" : "confirmed");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "presence-call-direction", conference->count == 1 ? "outbound" : "inbound");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "channel-state", "CS_ROUTING");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "answer-state", conference->count == 1 ? "early" : "confirmed");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "presence-call-direction", conference->count == 1 ? "outbound" : "inbound");
} else {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "force-status", "Inactive");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "channel-state", "CS_HANGUP");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "answer-state", "terminated");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "call-direction", "inbound");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "force-status", "Inactive");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "channel-state", "CS_HANGUP");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "answer-state", "terminated");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "call-direction", "inbound");
}
@@ -3938,7 +3938,7 @@ void send_presence(switch_event_types_t id)
switch_event_create(&params, SWITCH_EVENT_COMMAND);
switch_assert(params);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "presence", "true");
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "presence", "true");
/* Open the config from the xml registry */
@@ -3954,12 +3954,12 @@ void send_presence(switch_event_types_t id)
switch_event_t *event;
if (name && switch_event_create(&event, id) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "proto", CONF_CHAT_PROTO);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "login", name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "from", name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "force-status", status ? status : "Available");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "rpid", "unknown");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "proto", CONF_CHAT_PROTO);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "login", name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "from", name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "force-status", status ? status : "Available");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "rpid", "unknown");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_fire(&event);
}
}
+7 -7
View File
@@ -506,9 +506,9 @@ static switch_status_t http_sendfile_test_file_open(http_sendfile_data_t *http_d
{
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, HTTP_SENDFILE_ACK_EVENT) == SWITCH_STATUS_SUCCESS)
{
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Command-Execution-Identifier", http_data->identifier_str);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Filename", http_data->filename_element);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "File-Access", "Failure");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Command-Execution-Identifier", http_data->identifier_str);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Filename", http_data->filename_element);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "File-Access", "Failure");
switch_event_fire(&event);
switch_event_destroy(&event);
}
@@ -536,10 +536,10 @@ static void http_sendfile_success_report(http_sendfile_data_t *http_data, switch
memset(code_as_string, 0, 16);
switch_snprintf(code_as_string, 16, "%d", http_data->http_response_code);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Command-Execution-Identifier", http_data->identifier_str);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Filename", http_data->filename_element);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "File-Access", "Success");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "REST-HTTP-Code", code_as_string);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Command-Execution-Identifier", http_data->identifier_str);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Filename", http_data->filename_element);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "File-Access", "Success");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "REST-HTTP-Code", code_as_string);
switch_event_add_body(event, "%s", http_data->sendfile_response);
switch_event_fire(&event);
+12 -12
View File
@@ -766,12 +766,12 @@ static switch_status_t video_thread_callback(switch_core_session_t *session, swi
context->detect_event = 1;
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, MY_EVENT_VIDEO_DETECT) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Detect-Type", "primary");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Detect-Disposition", "start");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Detect-Type", "primary");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Detect-Disposition", "start");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Detect-Simo-Count", "%u", context->detected.simo_count);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Detect-Average", "%f", context->detected.avg);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Detect-Last-Score", "%u", context->detected.last_score);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Unique-ID", switch_core_session_get_uuid(session));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Unique-ID", switch_core_session_get_uuid(session));
//switch_channel_event_set_data(channel, event);
DUMP_EVENT(event);
switch_event_fire(&event);
@@ -784,12 +784,12 @@ static switch_status_t video_thread_callback(switch_core_session_t *session, swi
if (context->detected.simo_miss_count >= context->confidence_level) {
if (context->detect_event) {
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, MY_EVENT_VIDEO_DETECT) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Detect-Type", "primary");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Detect-Disposition", "stop");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Detect-Type", "primary");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Detect-Disposition", "stop");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Detect-Simo-Count", "%u", context->detected.simo_count);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Detect-Average", "%f", context->detected.avg);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Detect-Last-Score", "%u", context->detected.last_score);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Unique-ID", switch_core_session_get_uuid(session));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Unique-ID", switch_core_session_get_uuid(session));
//switch_channel_event_set_data(channel, event);
DUMP_EVENT(event);
switch_event_fire(&event);
@@ -818,12 +818,12 @@ static switch_status_t video_thread_callback(switch_core_session_t *session, swi
context->nest_detect_event = 1;
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, MY_EVENT_VIDEO_DETECT) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Detect-Type", "nested");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Detect-Disposition", "start");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Detect-Type", "nested");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Detect-Disposition", "start");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Detect-Simo-Count", "%d", context->nestDetected.simo_count);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Detect-Average", "%f", context->nestDetected.avg);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Detect-Last-Score", "%u", context->nestDetected.last_score);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Unique-ID", switch_core_session_get_uuid(session));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Unique-ID", switch_core_session_get_uuid(session));
//switch_channel_event_set_data(channel, event);
DUMP_EVENT(event);
switch_event_fire(&event);
@@ -834,12 +834,12 @@ static switch_status_t video_thread_callback(switch_core_session_t *session, swi
} else if (context->nestDetected.above_avg_simo_count == 0) {
if (context->nest_detect_event) {
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, MY_EVENT_VIDEO_DETECT) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Detect-Type", "nested");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Detect-Disposition", "stop");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Detect-Type", "nested");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Detect-Disposition", "stop");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Detect-Simo-Count", "%d", context->nestDetected.simo_count);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Detect-Average", "%f", context->nestDetected.avg);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Detect-Last-Score", "%u", context->nestDetected.last_score);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Unique-ID", switch_core_session_get_uuid(session));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Unique-ID", switch_core_session_get_uuid(session));
//switch_channel_event_set_data(channel, event);
DUMP_EVENT(event);
switch_event_fire(&event);
+72 -72
View File
@@ -132,7 +132,7 @@ static switch_status_t digit_nomatch_action_callback(switch_ivr_dmachine_match_t
switch_channel_get_name(channel), match->match_digits);
if (switch_event_create_plain(&event, SWITCH_EVENT_CHANNEL_DATA) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "digits", match->match_digits);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "digits", match->match_digits);
if (switch_core_session_queue_event(use_session, &event) != SWITCH_STATUS_SUCCESS) {
switch_event_destroy(&event);
@@ -209,11 +209,11 @@ static switch_status_t digit_action_callback(switch_ivr_dmachine_match_t *match)
api = 1;
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, string, act->value);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "digits", match->match_digits);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, string, act->value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "digits", match->match_digits);
if (exec) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "execute", exec == 1 ? "non-blocking" : "blocking");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "execute", exec == 1 ? "non-blocking" : "blocking");
}
if (switch_core_session_queue_event(use_session, &event) != SWITCH_STATUS_SUCCESS) {
@@ -1929,16 +1929,16 @@ SWITCH_STANDARD_APP(event_function)
if (!strcasecmp(var, "Event-Name")) {
switch_name_event(val, &event->event_id);
switch_event_del_header(event, var);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, var, val);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, var, val);
} else if (!strcasecmp(var, "Event-Subclass")) {
size_t len = strlen(val) + 1;
void *new = malloc(len);
switch_assert(new);
memcpy(new, val, len);
event->subclass_name = new;
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, var, val);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, var, val);
} else {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, var, val);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, var, val);
}
}
}
@@ -2087,21 +2087,21 @@ SWITCH_STANDARD_API(presence_api_function)
}
if (switch_event_create(&event, type) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "proto", "dp");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "login", __FILE__);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "from", argv[1]);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "rpid", argv[2]);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "status", argv[3]);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "proto", "dp");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "login", __FILE__);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "from", argv[1]);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "rpid", argv[2]);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "status", argv[3]);
if (type == SWITCH_EVENT_PRESENCE_IN) {
if (!strncasecmp(argv[3], "cs_", 3) || switch_stristr("hangup", argv[3])) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "channel-state", "CS_HANGUP");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "status", "CS_HANGUP");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "channel-state", "CS_HANGUP");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "status", "CS_HANGUP");
}
} else {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "status", "CS_HANGUP");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "status", "CS_HANGUP");
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "event_count", "%d", 0);
switch_event_fire(&event);
}
@@ -2167,7 +2167,7 @@ SWITCH_STANDARD_APP(ivr_application_function)
/* Open the config from the xml registry */
switch_event_create(&params, SWITCH_EVENT_REQUEST_PARAMS);
switch_assert(params);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "Menu-Name", name);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "Menu-Name", name);
switch_channel_event_set_data(channel, params);
if ((cxml = switch_xml_open_cfg(ivr_cf_name, &cfg, params)) != NULL) {
@@ -3749,38 +3749,38 @@ static void pickup_send_presence(const char *key_name)
if (count > 0) {
if (switch_event_create(&event, SWITCH_EVENT_PRESENCE_IN) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "proto", PICKUP_PROTO);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "login", dup_id);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "from", dup_id);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "proto", PICKUP_PROTO);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "login", dup_id);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "from", dup_id);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "force-status", "Active (%d call%s)", count, count == 1 ? "" : "s");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "rpid", "active");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "rpid", "active");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "event_count", "%d", EC++);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "unique-id", key_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "channel-state", "CS_ROUTING");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "answer-state", "confirmed");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "call-direction", "inbound");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "unique-id", key_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "channel-state", "CS_ROUTING");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "answer-state", "confirmed");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "call-direction", "inbound");
switch_event_fire(&event);
}
} else {
if (switch_event_create(&event, SWITCH_EVENT_PRESENCE_IN) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "proto", PICKUP_PROTO);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "login", dup_id);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "from", dup_id);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "proto", PICKUP_PROTO);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "login", dup_id);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "from", dup_id);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "force-status", "Idle");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "rpid", "unknown");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "force-status", "Idle");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "rpid", "unknown");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "event_count", "%d", EC++);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "unique-id", dup_id);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "channel-state", "CS_HANGUP");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "answer-state", "terminated");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "call-direction", "inbound");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "unique-id", dup_id);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "channel-state", "CS_HANGUP");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "answer-state", "terminated");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "call-direction", "inbound");
switch_event_fire(&event);
}
}
@@ -3826,33 +3826,33 @@ static void pickup_pres_event_handler(switch_event_t *event)
switch_event_create(&event, SWITCH_EVENT_PRESENCE_IN);
if (count) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "proto", PICKUP_PROTO);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "login", key_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "proto", PICKUP_PROTO);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "login", key_name);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "from", "%s@%s", key_name, domain_name);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "force-status", "Active (%d call%s)", count, count == 1 ? "" : "s");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "rpid", "active");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "rpid", "active");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "event_count", "%d", EC++);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "unique-id", key_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "channel-state", "CS_ROUTING");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "answer-state", "confirmed");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "call-direction", "inbound");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "unique-id", key_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "channel-state", "CS_ROUTING");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "answer-state", "confirmed");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "call-direction", "inbound");
} else {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "proto", PICKUP_PROTO);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "login", key_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "proto", PICKUP_PROTO);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "login", key_name);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "from", "%s@%s", key_name, domain_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "force-status", "Idle");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "rpid", "unknown");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "force-status", "Idle");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "rpid", "unknown");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "event_count", "%d", EC++);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "unique-id", key_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "channel-state", "CS_HANGUP");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "answer-state", "terminated");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "call-direction", "inbound");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "unique-id", key_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "channel-state", "CS_HANGUP");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "answer-state", "terminated");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "call-direction", "inbound");
}
@@ -4148,10 +4148,10 @@ SWITCH_STANDARD_APP(pickup_function)
if (switch_event_create(&event, SWITCH_EVENT_CALL_UPDATE) == SWITCH_STATUS_SUCCESS) {
const char *partner_uuid = switch_channel_get_partner_uuid(channel);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Direction", "RECV");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Direction", "RECV");
if (partner_uuid) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Bridged-To", partner_uuid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Bridged-To", partner_uuid);
}
switch_channel_event_set_data(channel, event);
switch_event_fire(&event);
@@ -4367,8 +4367,8 @@ static switch_call_cause_t user_outgoing_channel(switch_core_session_t *session,
switch_event_create(&params, SWITCH_EVENT_REQUEST_PARAMS);
switch_assert(params);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "as_channel", "true");
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "action", "user_call");
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "as_channel", "true");
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "action", "user_call");
if (var_event) {
switch_event_merge(params, var_event);
@@ -4400,7 +4400,7 @@ static switch_call_cause_t user_outgoing_channel(switch_core_session_t *session,
} else {
switch_event_del_header(var_event, pvar + 9);
}
switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, pvar + 9, val);
switch_event_add_header_string_dup(var_event, SWITCH_STACK_BOTTOM, pvar + 9, val);
}
}
}
@@ -4408,8 +4408,8 @@ static switch_call_cause_t user_outgoing_channel(switch_core_session_t *session,
dialed_user = (char *)switch_xml_attr(x_user, "id");
if (var_event) {
switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, "dialed_user", dialed_user);
switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, "dialed_domain", domain);
switch_event_add_header_string_dup(var_event, SWITCH_STACK_BOTTOM, "dialed_user", dialed_user);
switch_event_add_header_string_dup(var_event, SWITCH_STACK_BOTTOM, "dialed_domain", domain);
if (!zstr(dest) && !strstr(dest, "presence_id=")) {
switch_event_add_header(var_event, SWITCH_STACK_BOTTOM, "presence_id", "%s@%s", dialed_user, domain);
}
@@ -4459,8 +4459,8 @@ static switch_call_cause_t user_outgoing_channel(switch_core_session_t *session,
switch_assert(event);
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "dialed_user", dialed_user);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "dialed_domain", domain);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "dialed_user", dialed_user);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "dialed_domain", domain);
d_dest = switch_event_expand_headers(event, dest);
switch_event_destroy(&event);
}
@@ -4652,7 +4652,7 @@ static switch_status_t event_chat_send(switch_event_t *message_event)
if ((to = switch_event_get_header(event, "to"))) {
char *v;
if ((v = switch_core_get_variable_dup(to))) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Command", v);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Command", v);
free(v);
}
}
@@ -4972,7 +4972,7 @@ static switch_status_t next_file(switch_file_handle_t *handle)
if (switch_test_flag((&context->fh), SWITCH_FILE_OPEN)) {
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, FILE_STRING_CLOSE) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "File", context->argv[(context->index - 1)]);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "File", context->argv[(context->index - 1)]);
switch_event_fire(&event);
}
@@ -5004,7 +5004,7 @@ static switch_status_t next_file(switch_file_handle_t *handle)
*p = '\0';
if (switch_dir_make_recursive(path, SWITCH_DEFAULT_DIR_PERMS, handle->memory_pool) != SWITCH_STATUS_SUCCESS) {
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, FILE_STRING_FAIL) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "File", context->argv[context->index]);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "File", context->argv[context->index]);
switch_event_fire(&event);
}
@@ -5019,7 +5019,7 @@ static switch_status_t next_file(switch_file_handle_t *handle)
if (switch_core_file_open(&context->fh, file, handle->channels, handle->samplerate, handle->flags, NULL) != SWITCH_STATUS_SUCCESS) {
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, FILE_STRING_FAIL) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "File", context->argv[context->index]);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "File", context->argv[context->index]);
switch_event_fire(&event);
}
@@ -5031,7 +5031,7 @@ static switch_status_t next_file(switch_file_handle_t *handle)
}
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, FILE_STRING_OPEN) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "File", context->argv[context->index]);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "File", context->argv[context->index]);
switch_event_fire(&event);
}
+128 -128
View File
@@ -189,7 +189,7 @@ static void change_pos(switch_event_t *event, int pos)
channel = switch_core_session_get_channel(session);
switch_snprintf(tmp, sizeof(tmp), "%d", pos);
switch_channel_set_variable(channel, "fifo_position", tmp);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "fifo_position", tmp);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "fifo_position", tmp);
switch_core_session_rwunlock(session);
}
@@ -1157,10 +1157,10 @@ static void do_unbridge(switch_core_session_t *consumer_session, switch_core_ses
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, FIFO_EVENT) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(consumer_channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Name", MANUAL_QUEUE_NAME);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "bridge-consumer-stop");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Name", MANUAL_QUEUE_NAME);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "bridge-consumer-stop");
if (outbound_id) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Consumer-Outbound-ID", outbound_id);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Consumer-Outbound-ID", outbound_id);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "FIFO-Consumer-Use-Count", "%d", use_count);
}
switch_event_fire(&event);
@@ -1169,16 +1169,16 @@ static void do_unbridge(switch_core_session_t *consumer_session, switch_core_ses
if (caller_channel) {
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, FIFO_EVENT) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(caller_channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Name", MANUAL_QUEUE_NAME);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "bridge-caller-stop");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Name", MANUAL_QUEUE_NAME);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "bridge-caller-stop");
switch_event_fire(&event);
}
}
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, FIFO_EVENT) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(consumer_channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Name", MANUAL_QUEUE_NAME);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "consumer_stop");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Name", MANUAL_QUEUE_NAME);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "consumer_stop");
switch_event_fire(&event);
}
}
@@ -1287,12 +1287,12 @@ static switch_status_t messagehook (switch_core_session_t *session, switch_core_
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, FIFO_EVENT) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(consumer_channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Name", MANUAL_QUEUE_NAME);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "bridge-consumer-start");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Caller-CID-Name", ced_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Caller-CID-Number", ced_number);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Name", MANUAL_QUEUE_NAME);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "bridge-consumer-start");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Caller-CID-Name", ced_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Caller-CID-Number", ced_number);
if (outbound_id) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Consumer-Outbound-ID", outbound_id);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Consumer-Outbound-ID", outbound_id);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "FIFO-Consumer-Use-Count", "%d", fifo_get_use_count(outbound_id));
}
switch_event_fire(&event);
@@ -1301,8 +1301,8 @@ static switch_status_t messagehook (switch_core_session_t *session, switch_core_
if (caller_channel) {
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, FIFO_EVENT) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(caller_channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Name", MANUAL_QUEUE_NAME);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "bridge-caller-start");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Name", MANUAL_QUEUE_NAME);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "bridge-caller-start");
switch_event_fire(&event);
}
@@ -1558,22 +1558,22 @@ static void *SWITCH_THREAD_FUNC outbound_ringall_thread_run(switch_thread_t *thr
switch_event_add_header(ovars, SWITCH_STACK_BOTTOM, "origination_caller_id_name", "(%s) %s", node->outbound_name, caller_id_name);
}
} else {
switch_event_add_header_string(ovars, SWITCH_STACK_BOTTOM, "origination_caller_id_name", caller_id_name);
switch_event_add_header_string_dup(ovars, SWITCH_STACK_BOTTOM, "origination_caller_id_name", caller_id_name);
}
}
}
if (!switch_event_get_header(ovars, "origination_caller_id_number")) {
if ((cid_num = switch_event_get_header(pop, "caller-caller-id-number"))) {
switch_event_add_header_string(ovars, SWITCH_STACK_BOTTOM, "origination_caller_id_number", cid_num);
switch_event_add_header_string_dup(ovars, SWITCH_STACK_BOTTOM, "origination_caller_id_number", cid_num);
}
}
if ((id = switch_event_get_header(pop, "unique-id"))) {
switch_event_add_header_string(ovars, SWITCH_STACK_BOTTOM, "fifo_bridge_uuid", id);
switch_event_add_header_string_dup(ovars, SWITCH_STACK_BOTTOM, "fifo_bridge_uuid", id);
}
switch_event_add_header_string(ovars, SWITCH_STACK_BOTTOM, "fifo_originate_uuid", uuid_str);
switch_event_add_header_string_dup(ovars, SWITCH_STACK_BOTTOM, "fifo_originate_uuid", uuid_str);
if ((export = switch_event_get_header(pop, "variable_fifo_export"))) {
int argc;
@@ -1587,7 +1587,7 @@ static void *SWITCH_THREAD_FUNC outbound_ringall_thread_run(switch_thread_t *thr
char *name = switch_mprintf("variable_%s", argv[x]);
if ((tmp = switch_event_get_header(pop, name))) {
switch_event_add_header_string(ovars, SWITCH_STACK_BOTTOM, argv[x], tmp);
switch_event_add_header_string_dup(ovars, SWITCH_STACK_BOTTOM, argv[x], tmp);
}
free(name);
@@ -1606,12 +1606,12 @@ static void *SWITCH_THREAD_FUNC outbound_ringall_thread_run(switch_thread_t *thr
switch_core_session_rwunlock(session);
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Name", node->name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "pre-dial");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "outbound-strategy", "ringall");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "caller-uuid", id);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "originate_string", originate_string);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Outbound-UUID-List", uuid_list);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Name", node->name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "pre-dial");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "outbound-strategy", "ringall");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "caller-uuid", id);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "originate_string", originate_string);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Outbound-UUID-List", uuid_list);
switch_event_fire(&event);
}
@@ -1635,7 +1635,7 @@ static void *SWITCH_THREAD_FUNC outbound_ringall_thread_run(switch_thread_t *thr
switch_snprintf(nstr, sizeof(nstr), "%s@%si@%sh", codec, ptime, rate);
}
switch_event_add_header_string(ovars, SWITCH_STACK_BOTTOM, "absolute_codec_string", nstr);
switch_event_add_header_string_dup(ovars, SWITCH_STACK_BOTTOM, "absolute_codec_string", nstr);
}
add_caller_outbound_call(id, &cancel_cause);
@@ -1678,15 +1678,15 @@ static void *SWITCH_THREAD_FUNC outbound_ringall_thread_run(switch_thread_t *thr
}
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, FIFO_EVENT) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Name", node->name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "post-dial");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "outbound-strategy", "ringall");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "caller-uuid", id);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "result", "failure");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "acceptable", acceptable);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "cause", switch_channel_cause2str(cause));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "originate_string", originate_string);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Outbound-UUID-List", uuid_list);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Name", node->name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "post-dial");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "outbound-strategy", "ringall");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "caller-uuid", id);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "result", "failure");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "acceptable", acceptable);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "cause", switch_channel_cause2str(cause));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "originate_string", originate_string);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Outbound-UUID-List", uuid_list);
switch_event_fire(&event);
}
@@ -1697,14 +1697,14 @@ static void *SWITCH_THREAD_FUNC outbound_ringall_thread_run(switch_thread_t *thr
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, FIFO_EVENT) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Name", node->name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "post-dial");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "outbound-strategy", "ringall");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "caller-uuid", id);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Outbound-UUID", switch_channel_get_variable(channel, "fifo_outbound_uuid"));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Outbound-UUID-List", uuid_list);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "result", "success");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "originate_string", originate_string);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Name", node->name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "post-dial");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "outbound-strategy", "ringall");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "caller-uuid", id);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Outbound-UUID", switch_channel_get_variable(channel, "fifo_outbound_uuid"));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Outbound-UUID-List", uuid_list);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "result", "success");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "originate_string", originate_string);
switch_event_fire(&event);
}
@@ -1835,11 +1835,11 @@ static void *SWITCH_THREAD_FUNC outbound_enterprise_thread_run(switch_thread_t *
}
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, FIFO_EVENT) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Name", node ? node->name : "");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "pre-dial");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Outbound-UUID", h->uuid);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "outbound-strategy", "enterprise");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "originate_string", originate_string);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Name", node ? node->name : "");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "pre-dial");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Outbound-UUID", h->uuid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "outbound-strategy", "enterprise");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "originate_string", originate_string);
switch_event_fire(&event);
}
@@ -1855,13 +1855,13 @@ static void *SWITCH_THREAD_FUNC outbound_enterprise_thread_run(switch_thread_t *
fifo_execute_sql_queued(&sql, SWITCH_TRUE, SWITCH_TRUE);
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, FIFO_EVENT) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Name", node ? node->name : "");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "post-dial");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Outbound-UUID", h->uuid);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "outbound-strategy", "enterprise");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "result", "failure");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "cause", switch_channel_cause2str(cause));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "originate_string", originate_string);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Name", node ? node->name : "");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "post-dial");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Outbound-UUID", h->uuid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "outbound-strategy", "enterprise");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "result", "failure");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "cause", switch_channel_cause2str(cause));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "originate_string", originate_string);
switch_event_fire(&event);
}
@@ -1872,12 +1872,12 @@ static void *SWITCH_THREAD_FUNC outbound_enterprise_thread_run(switch_thread_t *
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, FIFO_EVENT) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Name", node ? node->name : "");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "post-dial");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Outbound-UUID", h->uuid);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "outbound-strategy", "enterprise");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "result", "success");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "originate_string", originate_string);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Name", node ? node->name : "");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "post-dial");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Outbound-UUID", h->uuid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "outbound-strategy", "enterprise");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "result", "success");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "originate_string", originate_string);
switch_event_fire(&event);
}
@@ -2237,30 +2237,30 @@ static void send_presence(fifo_node_t *node)
}
if (switch_event_create(&event, SWITCH_EVENT_PRESENCE_IN) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "proto", "queue");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "proto", "queue");
if (node->domain_name) {
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "login", "%s@%s", node->name, node->domain_name);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "from", "%s@%s", node->name, node->domain_name);
} else {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "login", node->name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "from", node->name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "login", node->name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "from", node->name);
}
if ((wait_count = node_caller_count(node)) > 0) {
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "force-status", "Active (%d waiting)", wait_count);
} else {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "force-status", "Idle");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "force-status", "Idle");
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "rpid", "unknown");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "rpid", "unknown");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "event_count", "%d", 0);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "channel-state", wait_count > 0 ? "CS_ROUTING" : "CS_HANGUP");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "unique-id", node->name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "answer-state", wait_count > 0 ? "confirmed" : "terminated");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "presence-call-direction", "inbound");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "channel-state", wait_count > 0 ? "CS_ROUTING" : "CS_HANGUP");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "unique-id", node->name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "answer-state", wait_count > 0 ? "confirmed" : "terminated");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "presence-call-direction", "inbound");
switch_event_fire(&event);
}
}
@@ -2331,7 +2331,7 @@ static uint32_t fifo_add_outbound(const char *node_name, const char *url, uint32
switch_mutex_unlock(globals.mutex);
switch_event_create(&call_event, SWITCH_EVENT_CHANNEL_DATA);
switch_event_add_header_string(call_event, SWITCH_STACK_BOTTOM, "dial-url", url);
switch_event_add_header_string_dup(call_event, SWITCH_STACK_BOTTOM, "dial-url", url);
fifo_queue_push(node->fifo_list[priority], call_event);
call_event = NULL;
@@ -2414,11 +2414,11 @@ static void dec_use_count(switch_core_session_t *session, const char *type)
originator_cp = switch_channel_get_caller_profile(channel);
switch_channel_event_set_data(channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Name", MANUAL_QUEUE_NAME);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "channel-consumer-stop");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Type", type);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Name", MANUAL_QUEUE_NAME);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "channel-consumer-stop");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Type", type);
if (outbound_id) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Consumer-Outbound-ID", outbound_id);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Consumer-Outbound-ID", outbound_id);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "FIFO-Consumer-Use-Count", "%d", fifo_get_use_count(outbound_id));
}
hold_usec = originator_cp->times->hold_accum;
@@ -2504,13 +2504,13 @@ SWITCH_STANDARD_APP(fifo_track_call_function)
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, FIFO_EVENT) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Name", MANUAL_QUEUE_NAME);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "channel-consumer-start");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Consumer-Outbound-ID", data);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Name", MANUAL_QUEUE_NAME);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "channel-consumer-start");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Consumer-Outbound-ID", data);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "FIFO-Consumer-Use-Count", "%d", fifo_get_use_count(data));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Type", "manual");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Caller-CID-Name", cid_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Caller-CID-Number", cid_number);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Type", "manual");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Caller-CID-Name", cid_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Caller-CID-Number", cid_number);
switch_event_fire(&event);
}
}
@@ -2742,8 +2742,8 @@ SWITCH_STANDARD_APP(fifo_function)
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, FIFO_EVENT) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Name", argv[0]);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "push");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Name", argv[0]);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "push");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "FIFO-Slot", "%d", p);
switch_event_fire(&event);
}
@@ -2865,8 +2865,8 @@ SWITCH_STANDARD_APP(fifo_function)
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, FIFO_EVENT) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Name", argv[0]);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Action", cd.do_orbit ? "timeout" : "abort");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Name", argv[0]);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Action", cd.do_orbit ? "timeout" : "abort");
switch_event_fire(&event);
}
@@ -2982,8 +2982,8 @@ SWITCH_STANDARD_APP(fifo_function)
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, FIFO_EVENT) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Name", argv[0]);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "consumer_start");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Name", argv[0]);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "consumer_start");
switch_event_fire(&event);
}
@@ -3200,19 +3200,19 @@ SWITCH_STANDARD_APP(fifo_function)
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, FIFO_EVENT) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Name", argv[0]);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "caller_outbound");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Name", argv[0]);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "caller_outbound");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "FIFO-Result", "failure:%s", switch_channel_cause2str(cause));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Outbound-URL", url);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Outbound-URL", url);
switch_event_fire(&event);
}
} else {
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, FIFO_EVENT) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Name", argv[0]);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "caller_outbound");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Result", "success");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Outbound-URL", url);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Name", argv[0]);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "caller_outbound");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Result", "success");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Outbound-URL", url);
switch_event_fire(&event);
}
url = NULL;
@@ -3223,8 +3223,8 @@ SWITCH_STANDARD_APP(fifo_function)
switch_channel_t *other_channel = switch_core_session_get_channel(other_session);
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, FIFO_EVENT) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(other_channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Name", argv[0]);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "caller_pop");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Name", argv[0]);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "caller_pop");
switch_event_fire(&event);
}
}
@@ -3241,9 +3241,9 @@ SWITCH_STANDARD_APP(fifo_function)
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, FIFO_EVENT) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Name", argv[0]);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "consumer_pop");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Caller-UUID", switch_core_session_get_uuid(other_session));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Name", argv[0]);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "consumer_pop");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Caller-UUID", switch_core_session_get_uuid(other_session));
switch_event_fire(&event);
}
@@ -3377,13 +3377,13 @@ SWITCH_STANDARD_APP(fifo_function)
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, FIFO_EVENT) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Name", argv[0]);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "channel-consumer-start");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Type", "onhook");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Caller-CID-Name", cid_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Caller-CID-Number", cid_number);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Name", argv[0]);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "channel-consumer-start");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Type", "onhook");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Caller-CID-Name", cid_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Caller-CID-Number", cid_number);
if (outbound_id) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Consumer-Outbound-ID", outbound_id);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Consumer-Outbound-ID", outbound_id);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "FIFO-Consumer-Use-Count", "%d", fifo_get_use_count(outbound_id));
}
switch_event_fire(&event);
@@ -3391,10 +3391,10 @@ SWITCH_STANDARD_APP(fifo_function)
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, FIFO_EVENT) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Name", argv[0]);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "bridge-consumer-start");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Name", argv[0]);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "bridge-consumer-start");
if (outbound_id) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Consumer-Outbound-ID", outbound_id);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Consumer-Outbound-ID", outbound_id);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "FIFO-Consumer-Use-Count", "%d", fifo_get_use_count(outbound_id));
}
@@ -3402,8 +3402,8 @@ SWITCH_STANDARD_APP(fifo_function)
}
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, FIFO_EVENT) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(other_channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Name", argv[0]);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "bridge-caller-start");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Name", argv[0]);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "bridge-caller-start");
switch_event_fire(&event);
}
@@ -3461,11 +3461,11 @@ SWITCH_STANDARD_APP(fifo_function)
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, FIFO_EVENT) == SWITCH_STATUS_SUCCESS) {
uint64_t hold_usec = 0, tt_usec = 0;
switch_channel_event_set_data(channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Name", arg_fifo_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "channel-consumer-stop");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Type", "onhook");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Name", arg_fifo_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "channel-consumer-stop");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Type", "onhook");
if (outbound_id) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Consumer-Outbound-ID", outbound_id);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Consumer-Outbound-ID", outbound_id);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "FIFO-Consumer-Use-Count", "%d", fifo_get_use_count(outbound_id));
}
hold_usec = originator_cp->times->hold_accum;
@@ -3488,10 +3488,10 @@ SWITCH_STANDARD_APP(fifo_function)
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, FIFO_EVENT) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Name", argv[0]);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "bridge-consumer-stop");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Name", argv[0]);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "bridge-consumer-stop");
if (outbound_id) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Consumer-Outbound-ID", outbound_id);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Consumer-Outbound-ID", outbound_id);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "FIFO-Consumer-Use-Count", "%d", fifo_get_use_count(outbound_id));
}
switch_event_fire(&event);
@@ -3499,8 +3499,8 @@ SWITCH_STANDARD_APP(fifo_function)
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, FIFO_EVENT) == SWITCH_STATUS_SUCCESS) {
uint64_t hold_usec = 0, tt_usec = 0;
switch_channel_event_set_data(other_channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Name", argv[0]);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "bridge-caller-stop");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Name", argv[0]);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "bridge-caller-stop");
hold_usec = originatee_cp->times->hold_accum;
tt_usec = (switch_micro_time_now() - originatee_cp->times->bridged) - hold_usec;
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "FIFO-Caller-Talk-Time-us", "%"SWITCH_TIME_T_FMT, tt_usec);
@@ -3567,8 +3567,8 @@ SWITCH_STANDARD_APP(fifo_function)
switch_channel_set_variable(channel, "fifo_status", "WRAPUP");
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, FIFO_EVENT) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Name", argv[0]);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "consumer_wrapup");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Name", argv[0]);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "consumer_wrapup");
switch_event_fire(&event);
}
}
@@ -3622,8 +3622,8 @@ SWITCH_STANDARD_APP(fifo_function)
if (do_wait && switch_channel_ready(channel)) {
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, FIFO_EVENT) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Name", argv[0]);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "consumer_reentrance");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Name", argv[0]);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "consumer_reentrance");
switch_event_fire(&event);
}
}
@@ -3631,8 +3631,8 @@ SWITCH_STANDARD_APP(fifo_function)
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, FIFO_EVENT) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Name", argv[0]);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "consumer_stop");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Name", argv[0]);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FIFO-Action", "consumer_stop");
switch_event_fire(&event);
}
+1 -1
View File
@@ -262,7 +262,7 @@ static switch_bool_t fsk_detect_callback(switch_media_bug_t *bug, void *user_dat
switch_channel_get_name(channel), varname, val);
switch_channel_set_variable(channel, varname, val);
if (event) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, varname, val);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, varname, val);
}
}
}
+32 -32
View File
@@ -344,7 +344,7 @@ static switch_status_t parse_get_var(const char *tag_name, client_t *client, swi
(!client->profile->var_params.get_var_list || switch_event_check_permission_list(client->profile->var_params.get_var_list, var))) {
const char *vval = switch_channel_get_variable(client->channel, var);
if (vval) {
switch_event_add_header_string(switch_true(perm) ? client->params : client->one_time_params, SWITCH_STACK_BOTTOM, var, vval);
switch_event_add_header_string_dup(switch_true(perm) ? client->params : client->one_time_params, SWITCH_STACK_BOTTOM, var, vval);
}
} else {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "variable %s permission denied!\n", var);
@@ -600,8 +600,8 @@ static switch_status_t parse_playback(const char *tag_name, client_t *client, sw
status = switch_ivr_play_and_detect_speech(client->session, file, sp_engine, sp_grammar, &result, input_timeout, args);
if (!zstr(result)) {
switch_event_add_header_string(client->one_time_params, SWITCH_STACK_BOTTOM, name, result);
switch_event_add_header_string(client->one_time_params, SWITCH_STACK_BOTTOM, "input_type", "detected_speech");
switch_event_add_header_string_dup(client->one_time_params, SWITCH_STACK_BOTTOM, name, result);
switch_event_add_header_string_dup(client->one_time_params, SWITCH_STACK_BOTTOM, "input_type", "detected_speech");
submit = 1;
break;
}
@@ -631,8 +631,8 @@ static switch_status_t parse_playback(const char *tag_name, client_t *client, sw
if (status == SWITCH_STATUS_BREAK) {
if (error_file) {
switch_ivr_play_file(client->session, NULL, error_file, &nullargs);
switch_event_add_header_string(client->one_time_params, SWITCH_STACK_BOTTOM, name, "invalid");
switch_event_add_header_string(client->one_time_params, SWITCH_STACK_BOTTOM, "input_type", "invalid");
switch_event_add_header_string_dup(client->one_time_params, SWITCH_STACK_BOTTOM, name, "invalid");
switch_event_add_header_string_dup(client->one_time_params, SWITCH_STACK_BOTTOM, "input_type", "invalid");
}
status = SWITCH_STATUS_SUCCESS;
} else if (status == SWITCH_STATUS_FOUND) {
@@ -658,8 +658,8 @@ static switch_status_t parse_playback(const char *tag_name, client_t *client, sw
}
}
}
switch_event_add_header_string(client->one_time_params, SWITCH_STACK_BOTTOM, name, client->matching_action_binding->match_digits);
switch_event_add_header_string(client->one_time_params, SWITCH_STACK_BOTTOM, "input_type", "dtmf");
switch_event_add_header_string_dup(client->one_time_params, SWITCH_STACK_BOTTOM, name, client->matching_action_binding->match_digits);
switch_event_add_header_string_dup(client->one_time_params, SWITCH_STACK_BOTTOM, "input_type", "dtmf");
}
if (client->matching_action_binding->action) {
@@ -693,7 +693,7 @@ static switch_status_t parse_playback(const char *tag_name, client_t *client, sw
status = SWITCH_STATUS_FALSE;
} else {
switch_event_add_header_string(client->params, SWITCH_STACK_BOTTOM, "url", sub_action);
switch_event_add_header_string_dup(client->params, SWITCH_STACK_BOTTOM, "url", sub_action);
}
}
}
@@ -807,12 +807,12 @@ static switch_status_t parse_sms(const char *tag_name, client_t *client, switch_
const char *to = switch_xml_attr(tag, "to");
if (to && switch_event_create(&event, SWITCH_EVENT_MESSAGE) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "proto", from_proto);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "to_proto", to_proto);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "proto", from_proto);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "to_proto", to_proto);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "from", switch_channel_get_variable(client->channel, "caller_id_number"));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "to", to);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "text/plain");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "from", switch_channel_get_variable(client->channel, "caller_id_number"));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "to", to);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", "text/plain");
if (body) {
switch_event_add_body(event, "%s", body);
@@ -1105,12 +1105,12 @@ static switch_status_t parse_record(const char *tag_name, client_t *client, swit
}
if (sub_action) {
switch_event_add_header_string(client->params, SWITCH_STACK_BOTTOM, "url", sub_action);
switch_event_add_header_string_dup(client->params, SWITCH_STACK_BOTTOM, "url", sub_action);
}
if (!http && !zstr(tmp_record_path) && switch_file_exists(tmp_record_path, client->pool) == SWITCH_STATUS_SUCCESS) {
char *key = switch_core_sprintf(client->pool, "attach_file:%s:%s.%s", name, fname, ext);
switch_event_add_header_string(client->one_time_params, SWITCH_STACK_BOTTOM, key, tmp_record_path);
switch_event_add_header_string_dup(client->one_time_params, SWITCH_STACK_BOTTOM, key, tmp_record_path);
}
end:
@@ -1128,11 +1128,11 @@ static switch_status_t parse_common(const char *tag_name, client_t *client, swit
const char *tmp_action = switch_xml_attr(tag, "temp-action");
if (action) {
switch_event_add_header_string(client->params, SWITCH_STACK_BOTTOM, "url", action);
switch_event_add_header_string_dup(client->params, SWITCH_STACK_BOTTOM, "url", action);
}
if (tmp_action) {
switch_event_add_header_string(client->one_time_params, SWITCH_STACK_BOTTOM, "url", tmp_action);
switch_event_add_header_string_dup(client->one_time_params, SWITCH_STACK_BOTTOM, "url", tmp_action);
}
return SWITCH_STATUS_SUCCESS;
@@ -1164,7 +1164,7 @@ static switch_status_t parse_xml(client_t *client)
if (zstr(val)) {
val = NULL;
}
switch_event_add_header_string(client->params, SWITCH_STACK_BOTTOM, tag->name, val);
switch_event_add_header_string_dup(client->params, SWITCH_STACK_BOTTOM, tag->name, val);
}
tag = tag->ordered;
}
@@ -1275,7 +1275,7 @@ static size_t get_header_callback(void *ptr, size_t size, size_t nmemb, void *us
*cr = '\0';
}
switch_event_add_header_string(client->headers, SWITCH_STACK_BOTTOM, header, val);
switch_event_add_header_string_dup(client->headers, SWITCH_STACK_BOTTOM, header, val);
}
switch_safe_free(header);
@@ -1383,7 +1383,7 @@ static client_t *client_create(switch_core_session_t *session, const char *profi
switch_event_create(&client->one_time_params, SWITCH_EVENT_CLONE);
client->one_time_params->flags |= EF_UNIQ_HEADERS;
switch_event_add_header_string(client->params, SWITCH_STACK_BOTTOM, "hostname", switch_core_get_switchname());
switch_event_add_header_string_dup(client->params, SWITCH_STACK_BOTTOM, "hostname", switch_core_get_switchname());
return client;
}
@@ -1459,12 +1459,12 @@ static switch_status_t httapi_sync(client_t *client)
if (!(url = switch_event_get_header(client->params, "url"))) {
url = client->profile->url;
switch_event_add_header_string(client->params, SWITCH_STACK_BOTTOM, "url", url);
switch_event_add_header_string_dup(client->params, SWITCH_STACK_BOTTOM, "url", url);
}
get_style_method = method ? strcasecmp(method, "post") : 1;
switch_event_add_header_string(client->params, SWITCH_STACK_TOP, "session_id", session_id);
switch_event_add_header_string_dup(client->params, SWITCH_STACK_TOP, "session_id", session_id);
dynamic_url = switch_event_expand_headers(client->params, url);
@@ -1958,7 +1958,7 @@ static switch_status_t do_config(void)
if (zstr(type)) type = profile->var_params.default_allow ? "deny" : "allow";
if (name) {
switch_event_add_header_string(profile->var_params.set_var_list, SWITCH_STACK_BOTTOM, name, type);
switch_event_add_header_string_dup(profile->var_params.set_var_list, SWITCH_STACK_BOTTOM, name, type);
}
}
}
@@ -1986,7 +1986,7 @@ static switch_status_t do_config(void)
if (zstr(type)) type = profile->var_params.default_allow ? "deny" : "allow";
if (name) {
switch_event_add_header_string(profile->var_params.get_var_list, SWITCH_STACK_BOTTOM, name, type);
switch_event_add_header_string_dup(profile->var_params.get_var_list, SWITCH_STACK_BOTTOM, name, type);
}
}
}
@@ -2016,7 +2016,7 @@ static switch_status_t do_config(void)
if (zstr(type)) type = profile->dial_params.default_allow ? "deny" : "allow";
if (name) {
switch_event_add_header_string(profile->dial_params.app_list, SWITCH_STACK_BOTTOM, name, type);
switch_event_add_header_string_dup(profile->dial_params.app_list, SWITCH_STACK_BOTTOM, name, type);
}
}
}
@@ -2045,7 +2045,7 @@ static switch_status_t do_config(void)
if (zstr(type)) type = profile->var_params.default_allow ? "deny" : "allow";
if (name) {
switch_event_add_header_string(profile->var_params.expand_var_list, SWITCH_STACK_BOTTOM, name, type);
switch_event_add_header_string_dup(profile->var_params.expand_var_list, SWITCH_STACK_BOTTOM, name, type);
}
}
}
@@ -2068,7 +2068,7 @@ static switch_status_t do_config(void)
if (zstr(type)) type = profile->var_params.default_allow ? "deny" : "allow";
if (name) {
switch_event_add_header_string(profile->var_params.api_list, SWITCH_STACK_BOTTOM, name, type);
switch_event_add_header_string_dup(profile->var_params.api_list, SWITCH_STACK_BOTTOM, name, type);
}
}
}
@@ -2207,24 +2207,24 @@ static switch_status_t my_on_reporting(switch_core_session_t *session)
switch_channel_event_set_extended_data(channel, client->one_time_params);
}
switch_event_add_header_string(client->one_time_params, SWITCH_STACK_BOTTOM, "exiting", "true");
switch_event_add_header_string_dup(client->one_time_params, SWITCH_STACK_BOTTOM, "exiting", "true");
if (client->record.file) {
char *key = switch_core_sprintf(client->pool, "attach_file:%s:%s.wav", client->record.name, switch_core_session_get_uuid(session));
switch_ivr_stop_record_session(client->session, client->record.file);
switch_event_add_header_string(client->one_time_params, SWITCH_STACK_BOTTOM, key, client->record.file);
switch_event_add_header_string_dup(client->one_time_params, SWITCH_STACK_BOTTOM, key, client->record.file);
}
var = switch_event_get_header(client->params, "url");
if (var && client->record.action) {
if (strcmp(var, client->record.action)) {
switch_event_add_header_string(client->one_time_params, SWITCH_STACK_BOTTOM, "url", client->record.action);
switch_event_add_header_string_dup(client->one_time_params, SWITCH_STACK_BOTTOM, "url", client->record.action);
httapi_sync(client);
if (client->profile->perms.extended_data) {
switch_channel_event_set_extended_data(channel, client->one_time_params);
}
switch_event_add_header_string(client->one_time_params, SWITCH_STACK_BOTTOM, "exiting", "true");
switch_event_add_header_string_dup(client->one_time_params, SWITCH_STACK_BOTTOM, "exiting", "true");
}
}
@@ -2276,7 +2276,7 @@ SWITCH_STANDARD_APP(httapi_function)
switch_event_create(&params, SWITCH_EVENT_CLONE);
params->flags |= EF_UNIQ_HEADERS;
}
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "url", url);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "url", url);
}
}
+8 -8
View File
@@ -676,7 +676,7 @@ static int route_add_callback(void *pArg, int argc, char **argv, char **columnNa
}
/* add all fields to the fields event */
switch_event_add_header_string(additional->fields, SWITCH_STACK_BOTTOM, columnNames[i], argv[i]);
switch_event_add_header_string_dup(additional->fields, SWITCH_STACK_BOTTOM, columnNames[i], argv[i]);
}
cbt->matches++;
@@ -968,15 +968,15 @@ static switch_status_t lcr_do_lookup(callback_t *cb_struct)
}
if (cb_struct->event) {
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(cb_struct->session), SWITCH_LOG_DEBUG, "we have an event\n");
switch_event_add_header_string(cb_struct->event, SWITCH_STACK_BOTTOM, "lcr_rate_field", rate_field);
switch_event_add_header_string(cb_struct->event, SWITCH_STACK_BOTTOM, "lcr_user_rate_field", user_rate_field);
switch_event_add_header_string(cb_struct->event, SWITCH_STACK_BOTTOM, "lcr_query_digits", digits_copy);
switch_event_add_header_string_dup(cb_struct->event, SWITCH_STACK_BOTTOM, "lcr_rate_field", rate_field);
switch_event_add_header_string_dup(cb_struct->event, SWITCH_STACK_BOTTOM, "lcr_user_rate_field", user_rate_field);
switch_event_add_header_string_dup(cb_struct->event, SWITCH_STACK_BOTTOM, "lcr_query_digits", digits_copy);
id_str = switch_core_sprintf(cb_struct->pool, "%d", cb_struct->profile->id);
switch_event_add_header_string(cb_struct->event, SWITCH_STACK_BOTTOM, "lcr_query_profile", id_str);
switch_event_add_header_string(cb_struct->event, SWITCH_STACK_BOTTOM, "lcr_query_expanded_digits", digits_expanded);
switch_event_add_header_string(cb_struct->event, SWITCH_STACK_BOTTOM, "lcr_query_expanded_lrn_digits", lrn_digits_expanded);
switch_event_add_header_string_dup(cb_struct->event, SWITCH_STACK_BOTTOM, "lcr_query_profile", id_str);
switch_event_add_header_string_dup(cb_struct->event, SWITCH_STACK_BOTTOM, "lcr_query_expanded_digits", digits_expanded);
switch_event_add_header_string_dup(cb_struct->event, SWITCH_STACK_BOTTOM, "lcr_query_expanded_lrn_digits", lrn_digits_expanded);
if ( cb_struct->lrn_number ) {
switch_event_add_header_string(cb_struct->event, SWITCH_STACK_BOTTOM, "lcr_lrn", cb_struct->lrn_number);
switch_event_add_header_string_dup(cb_struct->event, SWITCH_STACK_BOTTOM, "lcr_lrn", cb_struct->lrn_number);
}
}
+1 -1
View File
@@ -189,7 +189,7 @@ static void save_extra_headers(switch_event_t *extra_headers, switch_channel_t *
const char *name = ei->name;
char *value = ei->value;
if (!strncasecmp(name, SIP_OREKA_HEADER_PREFIX, SIP_OREKA_HEADER_PREFIX_LEN)) {
switch_event_add_header_string(extra_headers, SWITCH_STACK_BOTTOM, name, value);
switch_event_add_header_string_dup(extra_headers, SWITCH_STACK_BOTTOM, name, value);
}
}
switch_channel_variable_last(channel);
@@ -752,7 +752,7 @@ switch_status_t load_config()
switch_event_create(&params, SWITCH_EVENT_MESSAGE);
switch_assert(params);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "profile",
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "profile",
"profile_rad_auth");
//vsas
+7 -7
View File
@@ -47,7 +47,7 @@ static void send_report(switch_event_t *event, const char * Status) {
if (switch_event_create_subclass(&report, SWITCH_EVENT_CUSTOM, MY_EVENT_DELIVERY_REPORT) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(report, SWITCH_STACK_BOTTOM, "Status", Status);
switch_event_add_header_string_dup(report, SWITCH_STACK_BOTTOM, "Status", Status);
for (header = event->headers; header; header = header->next) {
@@ -60,10 +60,10 @@ static void send_report(switch_event_t *event, const char * Status) {
if (header->idx) {
int i;
for (i = 0; i < header->idx; i++) {
switch_event_add_header_string(report, SWITCH_STACK_PUSH, header->name, header->array[i]);
switch_event_add_header_string_dup(report, SWITCH_STACK_PUSH, header->name, header->array[i]);
}
} else {
switch_event_add_header_string(report, SWITCH_STACK_BOTTOM, header->name, header->value);
switch_event_add_header_string_dup(report, SWITCH_STACK_BOTTOM, header->name, header->value);
}
}
switch_event_fire(&report);
@@ -263,14 +263,14 @@ static int parse_exten(switch_event_t *event, switch_xml_t xexten, switch_event_
if (xinline) {
switch_core_execute_chat_app(event, application, data);
} else {
switch_event_add_header_string(*extension, SWITCH_STACK_BOTTOM, application, zstr(data) ? "__undef" : data);
switch_event_add_header_string_dup(*extension, SWITCH_STACK_BOTTOM, application, zstr(data) ? "__undef" : data);
}
}
proceed = 1;
}
} else {
if (field && strchr(expression, '(')) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "DP_MATCH", NULL);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "DP_MATCH", NULL);
switch_capture_regex(re, proceed, field_data, ovector, "DP_MATCH", switch_regex_set_event_header_callback, event);
}
@@ -320,7 +320,7 @@ static int parse_exten(switch_event_t *event, switch_xml_t xexten, switch_event_
if (xinline) {
switch_core_execute_chat_app(event, application, app_data);
} else {
switch_event_add_header_string(*extension, SWITCH_STACK_BOTTOM, application, zstr(app_data) ? "__undef" : app_data);
switch_event_add_header_string_dup(*extension, SWITCH_STACK_BOTTOM, application, zstr(app_data) ? "__undef" : app_data);
}
}
switch_safe_free(substituted);
@@ -553,7 +553,7 @@ SWITCH_STANDARD_CHAT_APP(set_function)
if (zstr(val)) {
switch_event_del_header(message, var);
} else {
switch_event_add_header_string(message, SWITCH_STACK_BOTTOM, var, val);
switch_event_add_header_string_dup(message, SWITCH_STACK_BOTTOM, var, val);
}
free(var);
@@ -164,12 +164,12 @@ static int mod_sms_flowroute_profile_request_handler(h2o_handler_t *handler, h2o
}
switch_event_create(&evt, SWITCH_EVENT_MESSAGE);
switch_event_add_header_string(evt, SWITCH_STACK_BOTTOM, "to", cJSON_GetObjectCstr(parsed, "to"));
switch_event_add_header_string(evt, SWITCH_STACK_BOTTOM, "body", cJSON_GetObjectCstr(parsed, "body"));
switch_event_add_header_string(evt, SWITCH_STACK_BOTTOM, "from", cJSON_GetObjectCstr(parsed, "from"));
switch_event_add_header_string(evt, SWITCH_STACK_BOTTOM, "record_id", cJSON_GetObjectCstr(parsed, "id"));
switch_event_add_header_string(evt, SWITCH_STACK_BOTTOM, "context", "default");
switch_event_add_header_string(evt, SWITCH_STACK_BOTTOM, "proto", "sms_flowroute");
switch_event_add_header_string_dup(evt, SWITCH_STACK_BOTTOM, "to", cJSON_GetObjectCstr(parsed, "to"));
switch_event_add_header_string_dup(evt, SWITCH_STACK_BOTTOM, "body", cJSON_GetObjectCstr(parsed, "body"));
switch_event_add_header_string_dup(evt, SWITCH_STACK_BOTTOM, "from", cJSON_GetObjectCstr(parsed, "from"));
switch_event_add_header_string_dup(evt, SWITCH_STACK_BOTTOM, "record_id", cJSON_GetObjectCstr(parsed, "id"));
switch_event_add_header_string_dup(evt, SWITCH_STACK_BOTTOM, "context", "default");
switch_event_add_header_string_dup(evt, SWITCH_STACK_BOTTOM, "proto", "sms_flowroute");
switch_core_chat_send("GLOBAL_SMS", evt);
switch_event_destroy(&evt);
@@ -486,7 +486,7 @@ SWITCH_STANDARD_APP(mod_sms_flowroute_app_send_function)
/* Cycle through all of the channel headers, and ones with 'sms_flowroute_' prefix copy over without the prefix */
for ( chan_var = switch_channel_variable_first(channel); chan_var; chan_var = chan_var->next) {
if ( !strncmp(chan_var->name, "sms_flowroute_", 14) ) {
switch_event_add_header_string(message, SWITCH_STACK_BOTTOM, chan_var->name + 14, chan_var->value);
switch_event_add_header_string_dup(message, SWITCH_STACK_BOTTOM, chan_var->name + 14, chan_var->value);
}
}
@@ -531,8 +531,8 @@ SWITCH_STANDARD_API(mod_sms_flowroute_send_api)
switch_goto_status(SWITCH_STATUS_GENERR, done);
}
switch_event_add_header_string(message, SWITCH_STACK_BOTTOM, "destination_addr", argv[1]);
switch_event_add_header_string(message, SWITCH_STACK_BOTTOM, "source_addr", argv[2]);
switch_event_add_header_string_dup(message, SWITCH_STACK_BOTTOM, "destination_addr", argv[1]);
switch_event_add_header_string_dup(message, SWITCH_STACK_BOTTOM, "source_addr", argv[2]);
switch_event_set_body(message, argv[3]);
if (mod_sms_flowroute_profile_send_message(profile, message) != SWITCH_STATUS_SUCCESS) {
+4 -4
View File
@@ -43,10 +43,10 @@ static switch_bool_t snom_bind_key(const char *key,
if (user && host && profile) {
if (switch_event_create(&event, SWITCH_EVENT_SEND_MESSAGE) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "user", user);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "host", host);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "profile", profile);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "content-type", "application/x-buttons");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "user", user);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "host", host);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "profile", profile);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "content-type", "application/x-buttons");
if (action && action_name) {
switch_event_add_body(event, "k=%s\nc=%s\nl=%s\nn=%s\na=%s\n", key, light, label, action, action_name);
} else {
+2 -2
View File
@@ -197,9 +197,9 @@ SWITCH_STANDARD_APP(sonar_app)
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "ping_recv", "%d", ph.received);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "ping_lost", "%d", lost);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "lost_rate", "%2.2f%%", lost * 1.0 / loops);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "destination_number",
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "destination_number",
switch_channel_get_variable(channel, "ping_destination_number"));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "sonar_ping_ref",
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "sonar_ping_ref",
switch_channel_get_variable(channel, "sonar_ping_ref"));
verbose_event = switch_channel_get_variable(channel, "sonar_channel_event");
@@ -117,11 +117,11 @@ static void put_text_msg(void *user_data, const uint8_t *msg, int len)
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, MY_EVENT_TDD_RECV_MESSAGE) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "login", "mod_spandsp");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "proto", "tdd");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "subject", "TDD MESSAGE");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "TDD-Data", (char *)msg);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Unique-ID", switch_core_session_get_uuid(pvt->session));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "login", "mod_spandsp");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "proto", "tdd");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "subject", "TDD MESSAGE");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "TDD-Data", (char *)msg);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Unique-ID", switch_core_session_get_uuid(pvt->session));
switch_event_add_body(event, "%s\n\n", (char *)msg);
if (switch_core_session_get_partner(pvt->session, &other_session) == SWITCH_STATUS_SUCCESS) {
@@ -927,8 +927,8 @@ static switch_bool_t callprogress_detector_process_buffer(switch_media_bug_t *bu
switch_channel_execute_on(channel, execute_on_tone_var);
switch_channel_api_on(channel, api_on_tone_var);
if (switch_event_create(&event, SWITCH_EVENT_DETECTED_TONE) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Detected-Tone", detected_tone);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Unique-ID", switch_core_session_get_uuid(session));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Detected-Tone", detected_tone);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Unique-ID", switch_core_session_get_uuid(session));
switch_channel_event_set_data(channel, event);
switch_event_fire(&event);
}
@@ -386,17 +386,17 @@ static int phase_b_handler(void *user_data, int result)
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, pvt->app_mode == FUNCTION_TX ? SPANDSP_EVENT_TXFAXNEGOCIATERESULT : SPANDSP_EVENT_RXFAXNEGOCIATERESULT) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "uuid", switch_core_session_get_uuid(session));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "fax-transfer-rate", fax_transfer_rate);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "fax-ecm-used", (t30_stats.error_correcting_mode) ? "on" : "off");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "fax-t38-status", get_t38_status(pvt->t38_mode));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "fax-local-station-id", local_ident);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "fax-remote-station-id", far_ident);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "fax-remote-country", switch_str_nil(t30_get_rx_country(pvt->t30)));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "fax-remote-vendor", switch_str_nil(t30_get_rx_vendor(pvt->t30)));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "fax-remote-model", switch_str_nil(t30_get_rx_model(pvt->t30)));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "uuid", switch_core_session_get_uuid(session));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "fax-transfer-rate", fax_transfer_rate);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "fax-ecm-used", (t30_stats.error_correcting_mode) ? "on" : "off");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "fax-t38-status", get_t38_status(pvt->t38_mode));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "fax-local-station-id", local_ident);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "fax-remote-station-id", far_ident);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "fax-remote-country", switch_str_nil(t30_get_rx_country(pvt->t30)));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "fax-remote-vendor", switch_str_nil(t30_get_rx_vendor(pvt->t30)));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "fax-remote-model", switch_str_nil(t30_get_rx_model(pvt->t30)));
if (pvt->app_mode == FUNCTION_TX) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "fax-document-total-pages", fax_document_total_pages);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "fax-document-total-pages", fax_document_total_pages);
}
switch_event_fire(&event);
}
@@ -521,20 +521,20 @@ static int phase_d_handler(void *user_data, int msg)
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, pvt->app_mode == FUNCTION_TX ? SPANDSP_EVENT_TXFAXPAGERESULT : SPANDSP_EVENT_RXFAXPAGERESULT) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "uuid", switch_core_session_get_uuid(session));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "fax-document-transferred-pages", fax_document_transferred_pages);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "uuid", switch_core_session_get_uuid(session));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "fax-document-transferred-pages", fax_document_transferred_pages);
if (pvt->app_mode == FUNCTION_TX) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "fax-document-total-pages", fax_document_total_pages);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "fax-document-total-pages", fax_document_total_pages);
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "fax-image-resolution", fax_line_image_resolution);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "fax-file-image-resolution", fax_file_image_resolution);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "fax-image-size", fax_image_size);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "fax-image-pixel-size", fax_line_image_pixel_size);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "fax-file-image-pixel-size", fax_file_image_pixel_size);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "fax-bad-rows", fax_bad_rows);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "fax-longest-bad-row-run", fax_longest_bad_row_run);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "fax-encoding", fax_encoding);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "fax-encoding-name", t4_compression_to_str(t30_stats.compression));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "fax-image-resolution", fax_line_image_resolution);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "fax-file-image-resolution", fax_file_image_resolution);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "fax-image-size", fax_image_size);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "fax-image-pixel-size", fax_line_image_pixel_size);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "fax-file-image-pixel-size", fax_file_image_pixel_size);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "fax-bad-rows", fax_bad_rows);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "fax-longest-bad-row-run", fax_longest_bad_row_run);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "fax-encoding", fax_encoding);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "fax-encoding-name", t4_compression_to_str(t30_stats.compression));
switch_event_fire(&event);
}
@@ -676,19 +676,19 @@ static void phase_e_handler(void *user_data, int result)
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, pvt->app_mode == FUNCTION_TX ? SPANDSP_EVENT_TXFAXRESULT : SPANDSP_EVENT_RXFAXRESULT) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "fax-success", (result == T30_ERR_OK) ? "1" : "0");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "fax-result-code", fax_result_code);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "fax-result-text", t30_completion_code_to_str(result));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "fax-document-transferred-pages", fax_document_transferred_pages);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "fax-document-total-pages", fax_document_total_pages);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "fax-image-resolution", fax_image_resolution);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "fax-image-size", fax_image_size);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "fax-bad-rows", fax_bad_rows);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "fax-transfer-rate", fax_transfer_rate);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "fax-ecm-used", (t.error_correcting_mode) ? "on" : "off");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "fax-t38-status", get_t38_status(pvt->t38_mode));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "fax-local-station-id", local_ident);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "fax-remote-station-id", far_ident);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "fax-success", (result == T30_ERR_OK) ? "1" : "0");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "fax-result-code", fax_result_code);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "fax-result-text", t30_completion_code_to_str(result));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "fax-document-transferred-pages", fax_document_transferred_pages);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "fax-document-total-pages", fax_document_total_pages);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "fax-image-resolution", fax_image_resolution);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "fax-image-size", fax_image_size);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "fax-bad-rows", fax_bad_rows);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "fax-transfer-rate", fax_transfer_rate);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "fax-ecm-used", (t.error_correcting_mode) ? "on" : "off");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "fax-t38-status", get_t38_status(pvt->t38_mode));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "fax-local-station-id", local_ident);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "fax-remote-station-id", far_ident);
switch_event_fire(&event);
}
@@ -2021,8 +2021,8 @@ static switch_status_t t38_gateway_on_consume_media(switch_core_session_t *sessi
switch_core_session_receive_message(session, &msg);
if (switch_event_create(&event, SWITCH_EVENT_CHANNEL_BRIDGE) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Bridge-A-Unique-ID", switch_core_session_get_uuid(session));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Bridge-B-Unique-ID", peer_uuid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Bridge-A-Unique-ID", switch_core_session_get_uuid(session));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Bridge-B-Unique-ID", peer_uuid);
switch_channel_event_set_data(channel, event);
switch_event_fire(&event);
}
@@ -2410,7 +2410,7 @@ static switch_bool_t tone_detect_callback(switch_media_bug_t *bug, void *user_da
switch_core_session_t *session = NULL;
switch_channel_t *channel = NULL;
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Detected-Fax-Tone", "true");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Detected-Fax-Tone", "true");
session = switch_core_media_bug_get_session(bug);
if (session) {
@@ -2425,7 +2425,7 @@ static switch_bool_t tone_detect_callback(switch_media_bug_t *bug, void *user_da
if (switch_core_session_queue_event(cont->session, &event) != SWITCH_STATUS_SUCCESS) {
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(switch_core_media_bug_get_session(bug)), SWITCH_LOG_ERROR,
"Event queue failed!\n");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "delivery-failure", "true");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "delivery-failure", "true");
switch_event_fire(&event);
}
}
@@ -173,15 +173,15 @@ static switch_bool_t stress_callback(switch_media_bug_t *bug, void *user_data, s
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(switch_core_media_bug_get_session(bug)), SWITCH_LOG_DEBUG, "Stress %0.2f\n", sth->stress);
if (switch_event_create(&event, SWITCH_EVENT_DETECTED_SPEECH) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Speech-Type", "stress-level");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Speech-Type", "stress-level");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Stress-Level", "%0.2f", sth->stress);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Unique-ID", switch_core_session_get_uuid(sth->session));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Unique-ID", switch_core_session_get_uuid(sth->session));
if (switch_event_dup(&dup, event) == SWITCH_STATUS_SUCCESS) {
switch_event_fire(&dup);
}
if (switch_core_session_queue_event(sth->session, &event) != SWITCH_STATUS_SUCCESS) {
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(switch_core_media_bug_get_session(bug)), SWITCH_LOG_ERROR, "Event queue failed!\n");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "delivery-failure", "true");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "delivery-failure", "true");
switch_event_fire(&event);
}
}
@@ -351,9 +351,9 @@ SWITCH_STANDARD_API(translate_function)
if (zstr(areacode)) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "no default_areacode set, using default of 777\n");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "areacode", "777");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "areacode", "777");
} else {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "areacode", areacode);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "areacode", areacode);
}
}
translate_number(argv[0], argv[1], &translated, session, event, pool);
@@ -331,38 +331,38 @@ static void valet_send_presence(const char *lot_name, valet_lot_t *lot, valet_to
if (count > 0) {
if (switch_event_create(&event, SWITCH_EVENT_PRESENCE_IN) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "proto", VALET_PROTO);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "login", lot_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "proto", VALET_PROTO);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "login", lot_name);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "from", "%s@%s", lot_name, domain_name);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "force-status", "Active (%d caller%s)", count, count == 1 ? "" : "s");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "rpid", "active");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "rpid", "active");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "event_count", "%d", EC++);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "unique-id", lot_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "channel-state", "CS_ROUTING");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "answer-state", "confirmed");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "presence-call-direction", "inbound");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "unique-id", lot_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "channel-state", "CS_ROUTING");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "answer-state", "confirmed");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "presence-call-direction", "inbound");
switch_event_fire(&event);
}
} else {
if (switch_event_create(&event, SWITCH_EVENT_PRESENCE_IN) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "proto", VALET_PROTO);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "login", lot_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "proto", VALET_PROTO);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "login", lot_name);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "from", "%s@%s", lot_name, domain_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "force-status", "Empty");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "rpid", "unknown");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "force-status", "Empty");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "rpid", "unknown");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "event_count", "%d", EC++);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "unique-id", lot_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "channel-state", "CS_HANGUP");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "answer-state", "terminated");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "presence-call-direction", "inbound");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "unique-id", lot_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "channel-state", "CS_HANGUP");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "answer-state", "terminated");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "presence-call-direction", "inbound");
switch_event_fire(&event);
}
}
@@ -371,34 +371,34 @@ static void valet_send_presence(const char *lot_name, valet_lot_t *lot, valet_to
if (in) {
if (switch_event_create(&event, SWITCH_EVENT_PRESENCE_IN) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "proto", VALET_PROTO);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "login", token->ext);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "proto", VALET_PROTO);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "login", token->ext);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "from", "%s@%s", token->ext, domain_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "force-status", token->bridged == 0 ? "Holding" : "Active");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "rpid", "active");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "force-status", token->bridged == 0 ? "Holding" : "Active");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "rpid", "active");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "event_count", "%d", EC++);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "unique-id", token->ext);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "channel-state", "CS_ROUTING");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "answer-state", "confirmed");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "presence-call-direction", token->bridged == 0 ? "outbound" : "inbound");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "unique-id", token->ext);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "channel-state", "CS_ROUTING");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "answer-state", "confirmed");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "presence-call-direction", token->bridged == 0 ? "outbound" : "inbound");
switch_event_fire(&event);
}
} else {
if (switch_event_create(&event, SWITCH_EVENT_PRESENCE_IN) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "proto", VALET_PROTO);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "login", token->ext);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "proto", VALET_PROTO);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "login", token->ext);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "from", "%s@%s", token->ext, domain_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "force-status", "Empty");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "rpid", "unknown");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "force-status", "Empty");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "rpid", "unknown");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "event_count", "%d", EC++);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "unique-id", token->ext);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "channel-state", "CS_HANGUP");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "answer-state", "terminated");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "presence-call-direction", "inbound");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "unique-id", token->ext);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "channel-state", "CS_HANGUP");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "answer-state", "terminated");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "presence-call-direction", "inbound");
switch_event_fire(&event);
}
}
@@ -577,10 +577,10 @@ SWITCH_STANDARD_APP(valet_parking_function)
if (!zstr(token->uuid) && (b_session = switch_core_session_locate(token->uuid))) {
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, VALET_EVENT) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Valet-Lot-Name", lot_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Valet-Extension", ext);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "bridge");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Bridge-To-UUID", switch_core_session_get_uuid(session));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Valet-Lot-Name", lot_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Valet-Extension", ext);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "bridge");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Bridge-To-UUID", switch_core_session_get_uuid(session));
switch_channel_event_set_data(switch_core_session_get_channel(b_session), event);
switch_event_fire(&event);
switch_core_session_rwunlock(b_session);
@@ -682,9 +682,9 @@ SWITCH_STANDARD_APP(valet_parking_function)
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, VALET_EVENT) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Valet-Lot-Name", lot_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Valet-Extension", ext);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "hold");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Valet-Lot-Name", lot_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Valet-Extension", ext);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "hold");
switch_channel_event_set_data(channel, event);
switch_event_fire(&event);
}
@@ -747,9 +747,9 @@ SWITCH_STANDARD_APP(valet_parking_function)
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, VALET_EVENT) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Valet-Lot-Name", lot_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Valet-Extension", ext);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "exit");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Valet-Lot-Name", lot_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Valet-Extension", ext);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action", "exit");
switch_channel_event_set_data(channel, event);
switch_event_fire(&event);
}
@@ -847,41 +847,41 @@ static void pres_event_handler(switch_event_t *event)
if (count) {
if (switch_event_create(&event, SWITCH_EVENT_PRESENCE_IN) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "proto", VALET_PROTO);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "login", lot_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "proto", VALET_PROTO);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "login", lot_name);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "from", "%s@%s", lot_name, domain_name);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "force-status", "Active (%d caller%s)", count, count == 1 ? "" : "s");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "rpid", "active");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "rpid", "active");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "event_count", "%d", EC++);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "unique-id", lot_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "channel-state", "CS_ROUTING");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "answer-state", "confirmed");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "presence-call-direction", "inbound");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "unique-id", lot_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "channel-state", "CS_ROUTING");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "answer-state", "confirmed");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "presence-call-direction", "inbound");
if (call_id) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "call-id", call_id);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "call-id", call_id);
}
switch_event_fire(&event);
}
found++;
} else {
if (switch_event_create(&event, SWITCH_EVENT_PRESENCE_IN) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "proto", VALET_PROTO);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "proto", VALET_PROTO);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "from", "%s@%s", lot_name, domain_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "force-status", "Empty");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "rpid", "unknown");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "force-status", "Empty");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "rpid", "unknown");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "event_count", "%d", EC++);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "unique-id", lot_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "channel-state", "CS_HANGUP");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "answer-state", "terminated");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "presence-call-direction", "inbound");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "unique-id", lot_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "channel-state", "CS_HANGUP");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "answer-state", "terminated");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "presence-call-direction", "inbound");
if (call_id) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "call-id", call_id);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "call-id", call_id);
}
switch_event_fire(&event);
}
@@ -916,20 +916,20 @@ static void pres_event_handler(switch_event_t *event)
found++;
if (switch_event_create(&event, SWITCH_EVENT_PRESENCE_IN) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "proto", VALET_PROTO);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "login", lot_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "proto", VALET_PROTO);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "login", lot_name);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "from", "%s@%s", lot_name, domain_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "force-status", token->bridged == 0 ? "Holding" : "Active");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "force-status", token->bridged == 0 ? "Holding" : "Active");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "event_count", "%d", EC++);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "unique-id", lot_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "channel-state", "CS_ROUTING");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "answer-state", "confirmed");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "presence-call-direction", token->bridged == 0 ? "outbound" : "inbound");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "unique-id", lot_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "channel-state", "CS_ROUTING");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "answer-state", "confirmed");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "presence-call-direction", token->bridged == 0 ? "outbound" : "inbound");
if (call_id) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "call-id", call_id);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "call-id", call_id);
}
switch_event_fire(&event);
}
@@ -943,21 +943,21 @@ static void pres_event_handler(switch_event_t *event)
if (!found && switch_event_create(&event, SWITCH_EVENT_PRESENCE_IN) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "proto", VALET_PROTO);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "login", lot_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "proto", VALET_PROTO);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "login", lot_name);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "from", "%s@%s", lot_name, domain_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "force-status", "Empty");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "rpid", "unknown");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "force-status", "Empty");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "rpid", "unknown");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "event_count", "%d", EC++);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "unique-id", lot_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "channel-state", "CS_HANGUP");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "answer-state", "terminated");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "presence-call-direction", "inbound");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "unique-id", lot_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "channel-state", "CS_HANGUP");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "answer-state", "terminated");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "presence-call-direction", "inbound");
if (call_id) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "call-id", call_id);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "call-id", call_id);
}
switch_event_fire(&event);
}
+3 -3
View File
@@ -315,11 +315,11 @@ static void find_beep(vmd_session_info_t *vmd_info, switch_frame_t *frame)
return;
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Beep-Status", "stop");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Beep-Status", "stop");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Beep-Time", "%d", (int) vmd_info->timestamp / POINTS);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Unique-ID", switch_core_session_get_uuid(vmd_info->session));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Unique-ID", switch_core_session_get_uuid(vmd_info->session));
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Frequency", "%6.4lf", vmd_info->beep_freq);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "call-command", "vmd");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "call-command", "vmd");
if ((switch_event_dup(&event_copy, event)) != SWITCH_STATUS_SUCCESS) {
return;
@@ -739,10 +739,10 @@ static vm_profile_t *load_profile(const char *profile_name)
/* Take care of the custom config structure */
if ((x_email = switch_xml_child(x_profile, "email"))) {
if ((param = switch_xml_child(x_email, "body"))) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "email_body", param->txt);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "email_body", param->txt);
}
if ((param = switch_xml_child(x_email, "headers"))) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "email_headers", param->txt);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "email_headers", param->txt);
}
for (param = switch_xml_child(x_email, "param"); param; param = param->next) {
@@ -751,7 +751,7 @@ static vm_profile_t *load_profile(const char *profile_name)
if ((var = (char *) switch_xml_attr_soft(param, "name")) && (val = (char *) switch_xml_attr_soft(param, "value"))) {
switch_snprintf(buf, 2048, "email_%s", var);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, buf, val);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, buf, val);
}
}
}
@@ -1361,7 +1361,7 @@ static char *resolve_id(const char *myid, const char *domain_name, const char *a
char *ret = (char *) myid;
switch_event_create(&params, SWITCH_EVENT_GENERAL);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "action", action);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "action", action);
if (switch_xml_locate_user_merged("id:number-alias", myid, domain_name, NULL, &xx_user, params) == SWITCH_STATUS_SUCCESS) {
ret = strdup(switch_xml_attr(xx_user, "id"));
@@ -1873,7 +1873,7 @@ static switch_status_t listen_file(switch_core_session_t *session, vm_profile_t
/* this isn't done? it was in the other place
* switch_channel_event_set_data(channel, event);
*/
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Message-Type", "forwarded-voicemail");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Message-Type", "forwarded-voicemail");
switch_event_fire(&event);
}
@@ -1934,8 +1934,8 @@ static void update_mwi(vm_profile_t *profile, const char *id, const char *domain
if (total_new_messages || total_new_urgent_messages) {
yn = "yes";
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "MWI-Messages-Waiting", yn);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Update-Reason", update_reason);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "MWI-Messages-Waiting", yn);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Update-Reason", update_reason);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "MWI-Message-Account", "%s@%s", id, domain_name);
if (profile->send_full_vm_header) {
@@ -1953,9 +1953,9 @@ static void update_mwi(vm_profile_t *profile, const char *id, const char *domain
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Update MWI: Voice Message %d/%d\n", total_new_messages, total_saved_messages);
switch_event_create_subclass(&message_event, SWITCH_EVENT_CUSTOM, VM_EVENT_MAINT);
switch_event_add_header_string(message_event, SWITCH_STACK_BOTTOM, "VM-Action", "mwi-update");
switch_event_add_header_string(message_event, SWITCH_STACK_BOTTOM, "VM-User", id);
switch_event_add_header_string(message_event, SWITCH_STACK_BOTTOM, "VM-Domain", domain_name);
switch_event_add_header_string_dup(message_event, SWITCH_STACK_BOTTOM, "VM-Action", "mwi-update");
switch_event_add_header_string_dup(message_event, SWITCH_STACK_BOTTOM, "VM-User", id);
switch_event_add_header_string_dup(message_event, SWITCH_STACK_BOTTOM, "VM-Domain", domain_name);
switch_event_add_header(message_event, SWITCH_STACK_BOTTOM, "VM-Total-New", "%d", total_new_messages);
switch_event_add_header(message_event, SWITCH_STACK_BOTTOM, "VM-Total-Saved", "%d", total_saved_messages);
switch_event_add_header(message_event, SWITCH_STACK_BOTTOM, "VM-Total-New-Urgent", "%d", total_new_urgent_messages);
@@ -2054,10 +2054,10 @@ static void voicemail_check_main(switch_core_session_t *session, vm_profile_t *p
switch_event_create_subclass(&params, SWITCH_EVENT_CUSTOM, VM_EVENT_MAINT);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "VM-Action", "folder-summary");
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "VM-User", myid);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "VM-Domain", domain_name);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "VM-Folder", myfolder);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "VM-Action", "folder-summary");
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "VM-User", myid);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "VM-Domain", domain_name);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "VM-Folder", myfolder);
switch_event_add_header(params, SWITCH_STACK_BOTTOM, "VM-Total-New-Messages", "%u", total_new_messages);
switch_event_add_header(params, SWITCH_STACK_BOTTOM, "VM-Total-Saved-Messages", "%u", total_saved_messages);
switch_event_add_header(params, SWITCH_STACK_BOTTOM, "VM-Total-New-Urgent-Messages", "%u", total_new_urgent_messages);
@@ -2254,13 +2254,13 @@ static void voicemail_check_main(switch_core_session_t *session, vm_profile_t *p
switch_event_create_subclass(&params, SWITCH_EVENT_CUSTOM, VM_EVENT_MAINT);
if (file_path == NULL) {
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "VM-Action", "remove-greeting");
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "VM-Action", "remove-greeting");
} else {
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "VM-Action", "change-greeting");
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "VM-Greeting-Path", file_path);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "VM-Action", "change-greeting");
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "VM-Greeting-Path", file_path);
}
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "VM-User", myid);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "VM-Domain", domain_name);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "VM-User", myid);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "VM-Domain", domain_name);
switch_channel_event_set_data(channel, params);
switch_event_fire(&params);
}
@@ -2289,10 +2289,10 @@ static void voicemail_check_main(switch_core_session_t *session, vm_profile_t *p
switch_safe_free(tmp_file_path);
switch_event_create_subclass(&params, SWITCH_EVENT_CUSTOM, VM_EVENT_MAINT);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "VM-Action", "record-greeting");
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "VM-Greeting-Path", file_path);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "VM-User", myid);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "VM-Domain", domain_name);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "VM-Action", "record-greeting");
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "VM-Greeting-Path", file_path);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "VM-User", myid);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "VM-Domain", domain_name);
switch_channel_event_set_data(channel, params);
switch_event_fire(&params);
@@ -2314,10 +2314,10 @@ static void voicemail_check_main(switch_core_session_t *session, vm_profile_t *p
switch_event_create_subclass(&params, SWITCH_EVENT_CUSTOM, VM_EVENT_MAINT);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "VM-Action", "change-password");
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "VM-User-Password", buf);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "VM-User", myid);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "VM-Domain", domain_name);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "VM-Action", "change-password");
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "VM-User-Password", buf);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "VM-User", myid);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "VM-Domain", domain_name);
switch_channel_event_set_data(channel, params);
if (zstr(buf) && !profile->allow_empty_password_auth) {
@@ -2365,10 +2365,10 @@ static void voicemail_check_main(switch_core_session_t *session, vm_profile_t *p
switch_safe_free(sql);
switch_event_create_subclass(&params, SWITCH_EVENT_CUSTOM, VM_EVENT_MAINT);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "VM-Action", "record-name");
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "VM-Name-Path", file_path);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "VM-User", myid);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "VM-Domain", domain_name);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "VM-Action", "record-name");
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "VM-Name-Path", file_path);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "VM-User", myid);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "VM-Domain", domain_name);
switch_channel_event_set_data(channel, params);
switch_event_fire(&params);
@@ -2455,9 +2455,9 @@ static void voicemail_check_main(switch_core_session_t *session, vm_profile_t *p
switch_event_create(&params, SWITCH_EVENT_GENERAL);
switch_assert(params);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "action", "voicemail-lookup");
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "destination_number", caller_profile->destination_number);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "caller_id_number", caller_id_number);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "action", "voicemail-lookup");
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "destination_number", caller_profile->destination_number);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "caller_id_number", caller_id_number);
if (switch_xml_locate_user_merged("id:number-alias", myid, domain_name, switch_channel_get_variable(channel, "network_addr"),
&x_user, params) != SWITCH_STATUS_SUCCESS) {
@@ -2605,10 +2605,10 @@ static void voicemail_check_main(switch_core_session_t *session, vm_profile_t *p
}
switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, VM_EVENT_MAINT);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "VM-Action", "authentication");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "VM-Auth-Result", auth ? "success" : "fail");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "VM-User", myid);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "VM-Domain", domain_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "VM-Action", "authentication");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "VM-Auth-Result", auth ? "success" : "fail");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "VM-User", myid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "VM-Domain", domain_name);
switch_channel_event_set_data(channel, event);
switch_event_fire(&event);
@@ -2894,15 +2894,15 @@ static switch_status_t deliver_vm(vm_profile_t *profile,
switch_event_t *message_event;
switch_event_create_subclass(&message_event, SWITCH_EVENT_CUSTOM, VM_EVENT_MAINT);
switch_event_add_header_string(message_event, SWITCH_STACK_BOTTOM, "VM-Action", "leave-message");
switch_event_add_header_string(message_event, SWITCH_STACK_BOTTOM, "VM-User", myid);
switch_event_add_header_string(message_event, SWITCH_STACK_BOTTOM, "VM-Domain", domain_name);
switch_event_add_header_string(message_event, SWITCH_STACK_BOTTOM, "VM-Caller-ID-Name", caller_id_name);
switch_event_add_header_string(message_event, SWITCH_STACK_BOTTOM, "VM-Caller-ID-Number", caller_id_number);
switch_event_add_header_string(message_event, SWITCH_STACK_BOTTOM, "VM-File-Path", file_path);
switch_event_add_header_string(message_event, SWITCH_STACK_BOTTOM, "VM-Flags", read_flags);
switch_event_add_header_string(message_event, SWITCH_STACK_BOTTOM, "VM-Folder", myfolder);
switch_event_add_header_string(message_event, SWITCH_STACK_BOTTOM, "VM-UUID", use_uuid);
switch_event_add_header_string_dup(message_event, SWITCH_STACK_BOTTOM, "VM-Action", "leave-message");
switch_event_add_header_string_dup(message_event, SWITCH_STACK_BOTTOM, "VM-User", myid);
switch_event_add_header_string_dup(message_event, SWITCH_STACK_BOTTOM, "VM-Domain", domain_name);
switch_event_add_header_string_dup(message_event, SWITCH_STACK_BOTTOM, "VM-Caller-ID-Name", caller_id_name);
switch_event_add_header_string_dup(message_event, SWITCH_STACK_BOTTOM, "VM-Caller-ID-Number", caller_id_number);
switch_event_add_header_string_dup(message_event, SWITCH_STACK_BOTTOM, "VM-File-Path", file_path);
switch_event_add_header_string_dup(message_event, SWITCH_STACK_BOTTOM, "VM-Flags", read_flags);
switch_event_add_header_string_dup(message_event, SWITCH_STACK_BOTTOM, "VM-Folder", myfolder);
switch_event_add_header_string_dup(message_event, SWITCH_STACK_BOTTOM, "VM-UUID", use_uuid);
switch_event_add_header(message_event, SWITCH_STACK_BOTTOM, "VM-Message-Len", "%u", message_len);
switch_event_add_header(message_event, SWITCH_STACK_BOTTOM, "VM-Timestamp", "%lu", (unsigned long) switch_epoch_time_now(NULL));
if (channel) {
@@ -2952,37 +2952,37 @@ static switch_status_t deliver_vm(vm_profile_t *profile,
}
formatted_cid_num = switch_format_number(caller_id_number);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "voicemail_current_folder", myfolder);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "voicemail_current_folder", myfolder);
switch_snprintf(tmpvar, sizeof(tmpvar), "%d", total_new_messages);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "voicemail_total_new_messages", tmpvar);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "voicemail_total_new_messages", tmpvar);
switch_snprintf(tmpvar, sizeof(tmpvar), "%d", total_saved_messages);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "voicemail_total_saved_messages", tmpvar);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "voicemail_total_saved_messages", tmpvar);
switch_snprintf(tmpvar, sizeof(tmpvar), "%d", total_new_urgent_messages);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "voicemail_urgent_new_messages", tmpvar);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "voicemail_urgent_new_messages", tmpvar);
switch_snprintf(tmpvar, sizeof(tmpvar), "%d", total_saved_urgent_messages);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "voicemail_urgent_saved_messages", tmpvar);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "voicemail_account", myid);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "voicemail_domain", domain_name);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "voicemail_caller_id_number", caller_id_number);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "voicemail_formatted_caller_id_number", formatted_cid_num);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "voicemail_caller_id_name", caller_id_name);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "voicemail_file_path", file_path);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "voicemail_read_flags", read_flags);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "voicemail_time", date);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "voicemail_uuid", use_uuid);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "voicemail_urgent_saved_messages", tmpvar);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "voicemail_account", myid);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "voicemail_domain", domain_name);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "voicemail_caller_id_number", caller_id_number);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "voicemail_formatted_caller_id_number", formatted_cid_num);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "voicemail_caller_id_name", caller_id_name);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "voicemail_file_path", file_path);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "voicemail_read_flags", read_flags);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "voicemail_time", date);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "voicemail_uuid", use_uuid);
switch_safe_free(formatted_cid_num);
switch_snprintf(tmpvar, sizeof(tmpvar), "%d", priority);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "voicemail_priority", tmpvar);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "voicemail_priority", tmpvar);
if (vm_email) {
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "voicemail_email", vm_email);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "voicemail_email", vm_email);
}
if (vm_email_from) {
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "voicemail_email_from", vm_email_from);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "voicemail_email_from", vm_email_from);
}
if (vm_notify_email) {
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "voicemail_notify_email", vm_notify_email);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "voicemail_notify_email", vm_notify_email);
}
l_duration = switch_time_make(message_len, 0);
switch_core_measure_time(l_duration, &duration);
@@ -2990,7 +2990,7 @@ static switch_status_t deliver_vm(vm_profile_t *profile,
duration.hr += duration.day * 24;
switch_snprintf(duration_str, sizeof(duration_str), "%.2u:%.2u:%.2u", duration.hr, duration.min, duration.sec);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "voicemail_message_len", duration_str);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "voicemail_message_len", duration_str);
if (!zstr(vm_email_from)) {
from = switch_core_strdup(pool, vm_email_from);
@@ -3023,7 +3023,7 @@ static switch_status_t deliver_vm(vm_profile_t *profile,
switch_event_dup(&event, params);
if (event) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Message-Type", "voicemail");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Message-Type", "voicemail");
switch_event_fire(&event);
}
@@ -3077,7 +3077,7 @@ static switch_status_t deliver_vm(vm_profile_t *profile,
switch_event_dup(&event, params);
if (event) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Message-Type", "voicemail-notify");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Message-Type", "voicemail-notify");
switch_event_fire(&event);
}
@@ -3248,20 +3248,20 @@ static switch_status_t voicemail_inject(const char *data, switch_core_session_t
switch_assert(my_params);
if (isgroup) {
switch_event_add_header_string(my_params, SWITCH_STACK_BOTTOM, "group", user);
switch_event_add_header_string_dup(my_params, SWITCH_STACK_BOTTOM, "group", user);
} else {
if (isall) {
switch_event_add_header_string(my_params, SWITCH_STACK_BOTTOM, "user", "_all_");
switch_event_add_header_string_dup(my_params, SWITCH_STACK_BOTTOM, "user", "_all_");
} else {
switch_event_add_header_string(my_params, SWITCH_STACK_BOTTOM, "user", user);
switch_event_add_header_string_dup(my_params, SWITCH_STACK_BOTTOM, "user", user);
}
}
if (forwarded_by) {
switch_event_add_header_string(my_params, SWITCH_STACK_BOTTOM, "Forwarded-By", forwarded_by);
switch_event_add_header_string_dup(my_params, SWITCH_STACK_BOTTOM, "Forwarded-By", forwarded_by);
}
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");
switch_event_add_header_string_dup(my_params, SWITCH_STACK_BOTTOM, "domain", domain);
switch_event_add_header_string_dup(my_params, SWITCH_STACK_BOTTOM, "purpose", "publish-vm");
if (switch_xml_locate_domain(domain, my_params, &xml_root, &x_domain) != SWITCH_STATUS_SUCCESS) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Cannot locate domain %s\n", domain);
@@ -3417,7 +3417,7 @@ static switch_status_t voicemail_leave_main(switch_core_session_t *session, vm_p
switch_event_create(&locate_params, SWITCH_EVENT_REQUEST_PARAMS);
switch_assert(locate_params);
switch_event_add_header_string(locate_params, SWITCH_STACK_BOTTOM, "action", "voicemail-lookup");
switch_event_add_header_string_dup(locate_params, SWITCH_STACK_BOTTOM, "action", "voicemail-lookup");
if (switch_xml_locate_user_merged("id:number-alias", id, domain_name, switch_channel_get_variable(channel, "network_addr"),
&x_user, locate_params) == SWITCH_STATUS_SUCCESS) {
@@ -3962,8 +3962,8 @@ SWITCH_STANDARD_API(prefs_api_function)
if (total_new_messages || total_new_urgent_messages) { \
yn = "yes"; \
} \
switch_event_add_header_string(new_event, SWITCH_STACK_BOTTOM, "MWI-Messages-Waiting", yn); \
switch_event_add_header_string(new_event, SWITCH_STACK_BOTTOM, "MWI-Message-Account", account); \
switch_event_add_header_string_dup(new_event, SWITCH_STACK_BOTTOM, "MWI-Messages-Waiting", yn); \
switch_event_add_header_string_dup(new_event, SWITCH_STACK_BOTTOM, "MWI-Message-Account", account); \
switch_event_add_header(new_event, SWITCH_STACK_BOTTOM, "MWI-Voice-Message", "%d/%d (%d/%d)", \
+total_new_messages, total_saved_messages, total_new_urgent_messages, total_saved_urgent_messages); \
} \
@@ -4024,8 +4024,8 @@ static void actual_message_query_handler(switch_event_t *event)
if (!new_event) {
if (switch_event_create(&new_event, SWITCH_EVENT_MESSAGE_WAITING) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(new_event, SWITCH_STACK_BOTTOM, "MWI-Messages-Waiting", "no");
switch_event_add_header_string(new_event, SWITCH_STACK_BOTTOM, "MWI-Message-Account", account);
switch_event_add_header_string_dup(new_event, SWITCH_STACK_BOTTOM, "MWI-Messages-Waiting", "no");
switch_event_add_header_string_dup(new_event, SWITCH_STACK_BOTTOM, "MWI-Message-Account", account);
}
}
@@ -4034,7 +4034,7 @@ static void actual_message_query_handler(switch_event_t *event)
for (hp = event->headers; hp; hp = hp->next) {
if (!strncasecmp(hp->name, "vm-", 3)) {
switch_event_add_header_string(new_event, SWITCH_STACK_BOTTOM, hp->name + 3, hp->value);
switch_event_add_header_string_dup(new_event, SWITCH_STACK_BOTTOM, hp->name + 3, hp->value);
}
}
@@ -6037,20 +6037,20 @@ SWITCH_STANDARD_API(vm_fsdb_msg_email_function)
formatted_cid_num = switch_format_number(switch_event_get_header(cbt.my_params, "VM-Message-Caller-Number"));
/* Legacy Mod_VoiceMail variable */
switch_event_add_header_string(cbt.my_params, SWITCH_STACK_BOTTOM, "Message-Type", "forwarded-voicemail");
switch_event_add_header_string_dup(cbt.my_params, SWITCH_STACK_BOTTOM, "Message-Type", "forwarded-voicemail");
switch_event_add_header(cbt.my_params, SWITCH_STACK_BOTTOM, "voicemail_total_new_messages", "%d", total_new_messages);
switch_event_add_header(cbt.my_params, SWITCH_STACK_BOTTOM, "voicemail_total_saved_messages", "%d", total_saved_messages);
switch_event_add_header(cbt.my_params, SWITCH_STACK_BOTTOM, "voicemail_urgent_new_messages", "%d", total_new_urgent_messages);
switch_event_add_header(cbt.my_params, SWITCH_STACK_BOTTOM, "voicemail_urgent_saved_messages", "%d", total_saved_urgent_messages);
switch_event_add_header_string(cbt.my_params, SWITCH_STACK_BOTTOM, "voicemail_current_folder", switch_event_get_header(cbt.my_params, "VM-Message-Folder"));
switch_event_add_header_string(cbt.my_params, SWITCH_STACK_BOTTOM, "voicemail_account", id);
switch_event_add_header_string(cbt.my_params, SWITCH_STACK_BOTTOM, "voicemail_domain", domain);
switch_event_add_header_string(cbt.my_params, SWITCH_STACK_BOTTOM, "voicemail_caller_id_number", switch_event_get_header(cbt.my_params, "VM-Message-Caller-Number"));
switch_event_add_header_string(cbt.my_params, SWITCH_STACK_BOTTOM, "voicemail_formatted_caller_id_number", formatted_cid_num);
switch_event_add_header_string(cbt.my_params, SWITCH_STACK_BOTTOM, "voicemail_caller_id_name", switch_event_get_header(cbt.my_params, "VM-Message-Caller-Name"));
switch_event_add_header_string(cbt.my_params, SWITCH_STACK_BOTTOM, "voicemail_file_path", switch_event_get_header(cbt.my_params, "VM-Message-File-Path"));
switch_event_add_header_string(cbt.my_params, SWITCH_STACK_BOTTOM, "voicemail_read_flags", switch_event_get_header(cbt.my_params, "VM-Message-Read-Flags"));
switch_event_add_header_string(cbt.my_params, SWITCH_STACK_BOTTOM, "voicemail_time", date);
switch_event_add_header_string_dup(cbt.my_params, SWITCH_STACK_BOTTOM, "voicemail_current_folder", switch_event_get_header(cbt.my_params, "VM-Message-Folder"));
switch_event_add_header_string_dup(cbt.my_params, SWITCH_STACK_BOTTOM, "voicemail_account", id);
switch_event_add_header_string_dup(cbt.my_params, SWITCH_STACK_BOTTOM, "voicemail_domain", domain);
switch_event_add_header_string_dup(cbt.my_params, SWITCH_STACK_BOTTOM, "voicemail_caller_id_number", switch_event_get_header(cbt.my_params, "VM-Message-Caller-Number"));
switch_event_add_header_string_dup(cbt.my_params, SWITCH_STACK_BOTTOM, "voicemail_formatted_caller_id_number", formatted_cid_num);
switch_event_add_header_string_dup(cbt.my_params, SWITCH_STACK_BOTTOM, "voicemail_caller_id_name", switch_event_get_header(cbt.my_params, "VM-Message-Caller-Name"));
switch_event_add_header_string_dup(cbt.my_params, SWITCH_STACK_BOTTOM, "voicemail_file_path", switch_event_get_header(cbt.my_params, "VM-Message-File-Path"));
switch_event_add_header_string_dup(cbt.my_params, SWITCH_STACK_BOTTOM, "voicemail_read_flags", switch_event_get_header(cbt.my_params, "VM-Message-Read-Flags"));
switch_event_add_header_string_dup(cbt.my_params, SWITCH_STACK_BOTTOM, "voicemail_time", date);
switch_event_add_header(cbt.my_params, SWITCH_STACK_BOTTOM, "voicemail_priority", "%d", priority);
@@ -6064,8 +6064,8 @@ SWITCH_STANDARD_API(vm_fsdb_msg_email_function)
switch_snprintf(duration_str, sizeof(duration_str), "%.2u:%.2u:%.2u", duration.hr, duration.min, duration.sec);
switch_event_add_header_string(cbt.my_params, SWITCH_STACK_BOTTOM, "voicemail_message_len", duration_str);
switch_event_add_header_string(cbt.my_params, SWITCH_STACK_BOTTOM, "voicemail_email", email);
switch_event_add_header_string_dup(cbt.my_params, SWITCH_STACK_BOTTOM, "voicemail_message_len", duration_str);
switch_event_add_header_string_dup(cbt.my_params, SWITCH_STACK_BOTTOM, "voicemail_email", email);
if (zstr(profile->email_from)) {
from = switch_core_sprintf(pool, "%s@%s", id, domain);
@@ -155,7 +155,7 @@ void append_event_message(switch_core_session_t *session, vmivr_profile_t *profi
switch_event_add_header(phrase_params, SWITCH_STACK_BOTTOM, "VM-Message-Type", "%s", "new");
switch_event_add_header(phrase_params, SWITCH_STACK_BOTTOM, "VM-Message-Number", "%"SWITCH_SIZE_T_FMT, current_msg);
switch_event_add_header_string(phrase_params, SWITCH_STACK_BOTTOM, "VM-Message-Private-Local-Copy", "False");
switch_event_add_header_string_dup(phrase_params, SWITCH_STACK_BOTTOM, "VM-Message-Private-Local-Copy", "False");
switch_safe_free(apicmd);
}
+2 -2
View File
@@ -254,8 +254,8 @@ static switch_status_t channel_on_init(switch_core_session_t *session)
snprintf(buf, sizeof(buf), "BRRRRING! BRRRRING! call %s\n", tech_pvt->call_id);
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, MY_EVENT_RINGING) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "event_info", buf);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "call_id", tech_pvt->call_id);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "event_info", buf);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "call_id", tech_pvt->call_id);
switch_channel_event_set_data(channel, event);
switch_event_fire(&event);
}
+67 -67
View File
@@ -1842,12 +1842,12 @@ static switch_status_t compat_chat_send(const char *proto, const char *from, con
switch_status_t status;
if (switch_event_create(&message_event, SWITCH_EVENT_MESSAGE) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(message_event, SWITCH_STACK_BOTTOM, "proto", proto);
switch_event_add_header_string(message_event, SWITCH_STACK_BOTTOM, "from", from);
switch_event_add_header_string(message_event, SWITCH_STACK_BOTTOM, "to", to);
switch_event_add_header_string(message_event, SWITCH_STACK_BOTTOM, "subject", subject);
switch_event_add_header_string(message_event, SWITCH_STACK_BOTTOM, "type", type);
switch_event_add_header_string(message_event, SWITCH_STACK_BOTTOM, "hint", hint);
switch_event_add_header_string_dup(message_event, SWITCH_STACK_BOTTOM, "proto", proto);
switch_event_add_header_string_dup(message_event, SWITCH_STACK_BOTTOM, "from", from);
switch_event_add_header_string_dup(message_event, SWITCH_STACK_BOTTOM, "to", to);
switch_event_add_header_string_dup(message_event, SWITCH_STACK_BOTTOM, "subject", subject);
switch_event_add_header_string_dup(message_event, SWITCH_STACK_BOTTOM, "type", type);
switch_event_add_header_string_dup(message_event, SWITCH_STACK_BOTTOM, "hint", hint);
if (body) {
switch_event_add_body(message_event, "%s", body);
@@ -2836,67 +2836,67 @@ int dump_event_full(private_t *tech_pvt, int is_alarm, int alarm_code, const cha
if (status == SWITCH_STATUS_SUCCESS) {
if (is_alarm) {
snprintf(value, sizeof(value) - 1, "%d", alarm_code);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "alarm_code", value);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "alarm_message", alarm_message);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "alarm_code", value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "alarm_message", alarm_message);
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "interface_name", tech_pvt->name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "interface_id", tech_pvt->id);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "interface_name", tech_pvt->name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "interface_id", tech_pvt->id);
snprintf(value, sizeof(value) - 1, "%d", tech_pvt->active);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "active", value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "active", value);
if (!tech_pvt->network_creg_not_supported) {
snprintf(value, sizeof(value) - 1, "%d", tech_pvt->not_registered);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "not_registered", value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "not_registered", value);
snprintf(value, sizeof(value) - 1, "%d", tech_pvt->home_network_registered);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "home_network_registered", value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "home_network_registered", value);
snprintf(value, sizeof(value) - 1, "%d", tech_pvt->roaming_registered);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "roaming_registered", value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "roaming_registered", value);
} else {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "not_registered", "N/A");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "home_network_registered", "N/A");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "roaming_registered", "N/A");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "not_registered", "N/A");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "home_network_registered", "N/A");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "roaming_registered", "N/A");
}
snprintf(value, sizeof(value) - 1, "%d", tech_pvt->got_signal);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "got_signal", value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "got_signal", value);
snprintf(value, sizeof(value) - 1, "%d", tech_pvt->signal_strength);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "signal_strength", value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "signal_strength", value);
snprintf(value, sizeof(value) - 1, "%d", tech_pvt->running);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "running", value);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "subscriber_number", tech_pvt->subscriber_number);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "device_manufacturer", tech_pvt->device_mfg);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "device_model", tech_pvt->device_model);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "device_firmware", tech_pvt->device_firmware);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "operator", tech_pvt->operator_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "imei", tech_pvt->imei);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "imsi", tech_pvt->imsi);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "running", value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "subscriber_number", tech_pvt->subscriber_number);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "device_manufacturer", tech_pvt->device_mfg);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "device_model", tech_pvt->device_model);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "device_firmware", tech_pvt->device_firmware);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "operator", tech_pvt->operator_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "imei", tech_pvt->imei);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "imsi", tech_pvt->imsi);
snprintf(value, sizeof(value) - 1, "%d", tech_pvt->controldev_dead);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "controldev_dead", value);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "controldevice_name", tech_pvt->controldevice_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "controldev_dead", value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "controldevice_name", tech_pvt->controldevice_name);
snprintf(value, sizeof(value) - 1, "%d", tech_pvt->no_sound);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "no_sound", value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "no_sound", value);
snprintf(value, sizeof(value) - 1, "%f", tech_pvt->playback_boost);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "playback_boost", value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "playback_boost", value);
snprintf(value, sizeof(value) - 1, "%f", tech_pvt->capture_boost);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "capture_boost", value);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "dialplan", tech_pvt->dialplan);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "context", tech_pvt->context);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "destination", tech_pvt->destination);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "capture_boost", value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "dialplan", tech_pvt->dialplan);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "context", tech_pvt->context);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "destination", tech_pvt->destination);
snprintf(value, sizeof(value) - 1, "%lu", tech_pvt->ib_calls);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "ib_calls", value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "ib_calls", value);
snprintf(value, sizeof(value) - 1, "%lu", tech_pvt->ob_calls);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "ob_calls", value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "ob_calls", value);
snprintf(value, sizeof(value) - 1, "%lu", tech_pvt->ib_failed_calls);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "ib_failed_calls", value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "ib_failed_calls", value);
snprintf(value, sizeof(value) - 1, "%lu", tech_pvt->ob_failed_calls);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "ob_failed_calls", value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "ob_failed_calls", value);
snprintf(value, sizeof(value) - 1, "%d", tech_pvt->interface_state);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "interface_state", value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "interface_state", value);
snprintf(value, sizeof(value) - 1, "%d", tech_pvt->phone_callflow);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "phone_callflow", value);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "session_uuid_str", tech_pvt->session_uuid_str);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "phone_callflow", value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "session_uuid_str", tech_pvt->session_uuid_str);
if (strlen(tech_pvt->session_uuid_str)) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "during-call", "true");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "during-call", "true");
} else { //no session
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "during-call", "false");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "during-call", "false");
}
if (channel) {
switch_channel_event_set_data(channel, event);
@@ -2932,20 +2932,20 @@ int sms_incoming(private_t *tech_pvt)
NOTICA("received SMS on interface %s: DATE=%s, SENDER=%s, BODY=|%s|\n", GSMOPEN_P_LOG, tech_pvt->name, tech_pvt->sms_date, tech_pvt->sms_sender,
tech_pvt->sms_body);
if (switch_event_create(&event, SWITCH_EVENT_MESSAGE) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "proto", GSMOPEN_CHAT_PROTO);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "login", tech_pvt->name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "from", tech_pvt->sms_sender);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "date", tech_pvt->sms_date);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "userdataheader", tech_pvt->sms_userdataheader);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "datacodingscheme", tech_pvt->sms_datacodingscheme);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "servicecentreaddress", tech_pvt->sms_servicecentreaddress);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "proto", GSMOPEN_CHAT_PROTO);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "login", tech_pvt->name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "from", tech_pvt->sms_sender);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "date", tech_pvt->sms_date);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "userdataheader", tech_pvt->sms_userdataheader);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "datacodingscheme", tech_pvt->sms_datacodingscheme);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "servicecentreaddress", tech_pvt->sms_servicecentreaddress);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "messagetype", "%d", tech_pvt->sms_messagetype);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "subject", "SIMPLE MESSAGE");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "to", tech_pvt->name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "hint", tech_pvt->name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "to_proto", GSMOPEN_CHAT_PROTO);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "from_user", tech_pvt->sms_sender);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "to_user", tech_pvt->name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "subject", "SIMPLE MESSAGE");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "to", tech_pvt->name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "hint", tech_pvt->name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "to_proto", GSMOPEN_CHAT_PROTO);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "from_user", tech_pvt->sms_sender);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "to_user", tech_pvt->name);
switch_event_add_body(event, "%s\n", tech_pvt->sms_body);
switch_core_chat_send("GLOBAL", event); /* mod_sms */
} else {
@@ -2972,21 +2972,21 @@ int ussd_incoming(private_t *tech_pvt)
/* mod_sms begin */
if (switch_event_create(&event, SWITCH_EVENT_MESSAGE) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "proto", GSMOPEN_CHAT_PROTO);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "login", tech_pvt->name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "from", "ussd");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "proto", GSMOPEN_CHAT_PROTO);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "login", tech_pvt->name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "from", "ussd");
//switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "date", tech_pvt->sms_date);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "datacodingscheme", tech_pvt->ussd_dcs);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "datacodingscheme", tech_pvt->ussd_dcs);
//switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "servicecentreaddress", tech_pvt->sms_servicecentreaddress);
//switch_event_add_header(event, SWITCH_STACK_BOTTOM, "messagetype", "%d", tech_pvt->sms_messagetype);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "subject", "USSD MESSAGE");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "to", tech_pvt->name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "hint", tech_pvt->name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "to_proto", GSMOPEN_CHAT_PROTO);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "from_user", "ussd");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "subject", "USSD MESSAGE");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "to", tech_pvt->name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "hint", tech_pvt->name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "to_proto", GSMOPEN_CHAT_PROTO);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "from_user", "ussd");
//switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "from_host", "from_host");
//switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "from_full", "from_full");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "to_user", tech_pvt->name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "to_user", tech_pvt->name);
//switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "to_host", "to_host");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "ussd_status", "%d", tech_pvt->ussd_status);
switch_event_add_body(event, "%s\n", tech_pvt->ussd_message);
+1 -1
View File
@@ -477,7 +477,7 @@ switch_status_t FSH323EndPoint::ReadConfig(int reload)
switch_event_t *params = NULL;
switch_event_create(&params, SWITCH_EVENT_REQUEST_PARAMS);
switch_assert(params);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "profile", switch_str_nil(""));
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "profile", switch_str_nil(""));
switch_xml_t cfg;
switch_xml_t xml = switch_xml_open_cfg(cf, &cfg, params);
+13 -13
View File
@@ -489,9 +489,9 @@ static switch_status_t channel_on_execute(switch_core_session_t *session)
switch_channel_get_name(other_channel));
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, "loopback::bowout") == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Resigning-UUID", switch_channel_get_uuid(channel));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Resigning-Peer-UUID", switch_channel_get_uuid(tech_pvt->other_channel));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Acquired-UUID", switch_channel_get_uuid(other_channel));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Resigning-UUID", switch_channel_get_uuid(channel));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Resigning-Peer-UUID", switch_channel_get_uuid(tech_pvt->other_channel));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Acquired-UUID", switch_channel_get_uuid(other_channel));
switch_event_fire(&event);
}
@@ -922,19 +922,19 @@ static switch_status_t channel_write_frame(switch_core_session_t *session, switc
switch_event_t *event = NULL;
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, "loopback::direct") == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(tech_pvt->channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Resigning-UUID", switch_channel_get_uuid(tech_pvt->channel));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Resigning-Peer-UUID", switch_channel_get_uuid(tech_pvt->other_channel));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Connecting-Leg-A-UUID", switch_channel_get_uuid(ch_a));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Connecting-Leg-B-UUID", switch_channel_get_uuid(ch_b));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Resigning-UUID", switch_channel_get_uuid(tech_pvt->channel));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Resigning-Peer-UUID", switch_channel_get_uuid(tech_pvt->other_channel));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Connecting-Leg-A-UUID", switch_channel_get_uuid(ch_a));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Connecting-Leg-B-UUID", switch_channel_get_uuid(ch_b));
switch_event_fire(&event);
}
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, "loopback::direct") == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(tech_pvt->other_channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Resigning-UUID", switch_channel_get_uuid(tech_pvt->other_channel));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Resigning-Peer-UUID", switch_channel_get_uuid(tech_pvt->channel));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Connecting-Leg-A-UUID", switch_channel_get_uuid(ch_b));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Connecting-Leg-B-UUID", switch_channel_get_uuid(ch_a));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Resigning-UUID", switch_channel_get_uuid(tech_pvt->other_channel));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Resigning-Peer-UUID", switch_channel_get_uuid(tech_pvt->channel));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Connecting-Leg-A-UUID", switch_channel_get_uuid(ch_b));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Connecting-Leg-B-UUID", switch_channel_get_uuid(ch_a));
switch_event_fire(&event);
}
}
@@ -1209,13 +1209,13 @@ static switch_call_cause_t channel_outgoing_channel(switch_core_session_t *sessi
switch_channel_set_variable(channel, "loopback_app", app);
if (clone) {
switch_event_add_header_string(clone, SWITCH_STACK_BOTTOM, "loopback_app", app);
switch_event_add_header_string_dup(clone, SWITCH_STACK_BOTTOM, "loopback_app", app);
}
if (arg) {
switch_channel_set_variable(channel, "loopback_app_arg", arg);
if (clone) {
switch_event_add_header_string(clone, SWITCH_STACK_BOTTOM, "loopback_app_arg", arg);
switch_event_add_header_string_dup(clone, SWITCH_STACK_BOTTOM, "loopback_app_arg", arg);
}
}
+1 -1
View File
@@ -349,7 +349,7 @@ switch_status_t FSManager::ReadConfig(int reload)
switch_event_t *request_params = NULL;
switch_event_create(&request_params, SWITCH_EVENT_REQUEST_PARAMS);
switch_assert(request_params);
switch_event_add_header_string(request_params, SWITCH_STACK_BOTTOM, "profile", switch_str_nil(""));
switch_event_add_header_string_dup(request_params, SWITCH_STACK_BOTTOM, "profile", switch_str_nil(""));
switch_xml_t cfg;
switch_xml_t xml = switch_xml_open_cfg(ConfigFile, &cfg, request_params);
@@ -383,8 +383,8 @@ static switch_status_t channel_on_routing(switch_core_session_t *session)
switch_snprintf(buf, sizeof(buf), "BRRRRING! BRRRRING! call %s\n", tech_pvt->call_id);
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, MY_EVENT_RINGING) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "event_info", buf);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "call_id", tech_pvt->call_id); /* left behind for backwards compatability */
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "event_info", buf);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "call_id", tech_pvt->call_id); /* left behind for backwards compatability */
switch_channel_set_variable(channel, SWITCH_PA_CALL_ID_VARIABLE, tech_pvt->call_id);
switch_channel_event_set_data(channel, event);
switch_event_fire(&event);
@@ -2370,7 +2370,7 @@ static int create_shared_audio_stream(shared_audio_stream_t *shstream)
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Can't open audio device (indev = %d, outdev = %d, error = %s)\n",
inputParameters.device, outputParameters.device, Pa_GetErrorText(err));
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, MY_EVENT_ERROR_AUDIO_DEV) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Reason", Pa_GetErrorText(err));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Reason", Pa_GetErrorText(err));
switch_event_fire(&event);
}
return -1;
@@ -2442,7 +2442,7 @@ static audio_stream_t *create_audio_stream(int indev, int outdev)
switch_safe_free(stream);
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Can't open audio device\n");
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, MY_EVENT_ERROR_AUDIO_DEV) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Reason", Pa_GetErrorText(err));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Reason", Pa_GetErrorText(err));
switch_event_fire(&event);
}
return NULL;
@@ -3037,8 +3037,8 @@ static switch_status_t place_call(char **argv, int argc, switch_stream_handle_t
char buf[512];
switch_channel_event_set_data(channel, event);
switch_snprintf(buf, sizeof(buf), "Thread error!.\n");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "error", buf);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "fail", "true");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "error", buf);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "fail", "true");
switch_event_fire(&event);
}
} else {
@@ -3047,7 +3047,7 @@ static switch_status_t place_call(char **argv, int argc, switch_stream_handle_t
stream->write_function(stream, "SUCCESS:%s:%s\n", tech_pvt->call_id, switch_core_session_get_uuid(tech_pvt->session));
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, MY_EVENT_MAKE_CALL) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "fail", "false");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "fail", "false");
switch_event_fire(&event);
}
}
@@ -3059,8 +3059,8 @@ static switch_status_t place_call(char **argv, int argc, switch_stream_handle_t
char buf[512];
switch_channel_event_set_data(channel, event);
switch_snprintf(buf, sizeof(buf), "Device fail.\n");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "error", buf);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "fail", "true");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "error", buf);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "fail", "true");
switch_event_fire(&event);
}
}
+21 -21
View File
@@ -820,7 +820,7 @@ switch_status_t rtmp_receive_event(switch_core_session_t *session, switch_event_
switch_assert(tech_pvt != NULL);
/* Deliver the event as a custom message to the target rtmp session */
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Session", switch_core_session_get_uuid(session));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Session", switch_core_session_get_uuid(session));
rtmp_send_event(rsession, event);
@@ -867,15 +867,15 @@ void rtmp_session_rwunlock(rtmp_session_t *rsession)
void rtmp_event_fill(rtmp_session_t *rsession, switch_event_t *event)
{
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "RTMP-Session-ID", rsession->uuid);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "RTMP-Flash-Version", rsession->flashVer);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "RTMP-SWF-URL", rsession->swfUrl);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "RTMP-TC-URL", rsession->tcUrl);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "RTMP-Page-URL", rsession->pageUrl);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "RTMP-Profile", rsession->profile->name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "RTMP-Session-ID", rsession->uuid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "RTMP-Flash-Version", rsession->flashVer);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "RTMP-SWF-URL", rsession->swfUrl);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "RTMP-TC-URL", rsession->tcUrl);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "RTMP-Page-URL", rsession->pageUrl);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "RTMP-Profile", rsession->profile->name);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Network-Port", "%d", rsession->remote_port);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Network-IP", rsession->remote_address);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "RTMP-Profile", rsession->profile->name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Network-IP", rsession->remote_address);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "RTMP-Profile", rsession->profile->name);
}
switch_status_t rtmp_session_request(rtmp_profile_t *profile, rtmp_session_t **newsession)
@@ -1302,9 +1302,9 @@ void rtmp_add_registration(rtmp_session_t *rsession, const char *auth, const cha
reg->user = switch_core_strdup(rsession->pool, user);
reg->domain = switch_core_strdup(rsession->pool, domain);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "User", user);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Domain", domain);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Nickname", switch_str_nil(nickname));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "User", user);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Domain", domain);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Nickname", switch_str_nil(nickname));
switch_event_fire(&event);
switch_core_add_registration(user, domain, token, url, 0, rsession->remote_address, network_port_c, "tcp", "");
free(dup);
@@ -1331,9 +1331,9 @@ static void rtmp_clear_reg_auth(rtmp_session_t *rsession, const char *auth, cons
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, RTMP_EVENT_UNREGISTER) == SWITCH_STATUS_SUCCESS) {
rtmp_event_fill(rsession, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "User", reg->user);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Domain", reg->domain);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Nickname", switch_str_nil(reg->nickname));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "User", reg->user);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Domain", reg->domain);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Nickname", switch_str_nil(reg->nickname));
switch_event_fire(&event);
}
}
@@ -1390,8 +1390,8 @@ switch_status_t rtmp_session_login(rtmp_session_t *rsession, const char *user, c
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, RTMP_EVENT_LOGIN) == SWITCH_STATUS_SUCCESS) {
rtmp_event_fill(rsession, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "User", user);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Domain", domain);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "User", user);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Domain", domain);
switch_event_fire(&event);
}
@@ -1422,8 +1422,8 @@ switch_status_t rtmp_session_logout(rtmp_session_t *rsession, const char *user,
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, RTMP_EVENT_LOGOUT) == SWITCH_STATUS_SUCCESS) {
rtmp_event_fill(rsession, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "User", user);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Domain", domain);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "User", user);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Domain", domain);
switch_event_fire(&event);
}
@@ -1464,7 +1464,7 @@ void rtmp_attach_private(rtmp_session_t *rsession, rtmp_private_t *tech_pvt)
#endif
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, RTMP_EVENT_DETACH) == SWITCH_STATUS_SUCCESS) {
rtmp_event_fill(rsession, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Call-ID",
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Call-ID",
switch_core_session_get_uuid(rsession->tech_pvt->session));
switch_event_fire(&event);
}
@@ -1496,7 +1496,7 @@ void rtmp_attach_private(rtmp_session_t *rsession, rtmp_private_t *tech_pvt)
#endif
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, RTMP_EVENT_ATTACH) == SWITCH_STATUS_SUCCESS) {
rtmp_event_fill(rsession, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Call-ID", switch_core_session_get_uuid(tech_pvt->session));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Call-ID", switch_core_session_get_uuid(tech_pvt->session));
switch_event_fire(&event);
}
}
+5 -5
View File
@@ -218,7 +218,7 @@ switch_status_t rtmp_check_auth(rtmp_session_t *rsession, const char *user, cons
switch_event_create(&locate_params, SWITCH_EVENT_GENERAL);
switch_assert(locate_params);
switch_event_add_header_string(locate_params, SWITCH_STACK_BOTTOM, "source", "mod_rtmp");
switch_event_add_header_string_dup(locate_params, SWITCH_STACK_BOTTOM, "source", "mod_rtmp");
/* Locate user */
if (switch_xml_locate_user_merged("id", user, domain, NULL, &xml, locate_params) != SWITCH_STATUS_SUCCESS) {
@@ -313,7 +313,7 @@ switch_status_t amf_object_to_event(amf0_data *obj, switch_event_t **event)
if (!strcmp(name, "_body")) {
switch_event_add_body(*event, "%s", value);
} else {
switch_event_add_header_string(*event, SWITCH_STACK_BOTTOM, name, value);
switch_event_add_header_string_dup(*event, SWITCH_STACK_BOTTOM, name, value);
}
}
}
@@ -372,7 +372,7 @@ void rtmp_get_user_variables(switch_event_t **event, switch_core_session_t *sess
if ((he = switch_channel_variable_first(channel))) {
for (; he; he = he->next) {
if (!strncmp(he->name, RTMP_USER_VARIABLE_PREFIX, strlen(RTMP_USER_VARIABLE_PREFIX))) {
switch_event_add_header_string(*event, SWITCH_STACK_BOTTOM, he->name, he->value);
switch_event_add_header_string_dup(*event, SWITCH_STACK_BOTTOM, he->name, he->value);
}
}
switch_channel_variable_last(channel);
@@ -391,7 +391,7 @@ void rtmp_get_user_variables_event(switch_event_t **event, switch_event_t *var_e
if ((he = var_event->headers)) {
for (; he; he = he->next) {
if (!strncmp(he->name, RTMP_USER_VARIABLE_PREFIX, strlen(RTMP_USER_VARIABLE_PREFIX))) {
switch_event_add_header_string(*event, SWITCH_STACK_BOTTOM, he->name, he->value);
switch_event_add_header_string_dup(*event, SWITCH_STACK_BOTTOM, he->name, he->value);
}
}
}
@@ -445,7 +445,7 @@ void rtmp_send_incoming_call(switch_core_session_t *session, switch_event_t *var
if (event) {
if (tech_pvt->has_video) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "want_video", "true");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "want_video", "true");
}
amf_event_to_object(&obj, event);
switch_event_destroy(&event);
+2 -2
View File
@@ -1166,7 +1166,7 @@ switch_status_t skinny_handle_register(listener_t *listener, skinny_message_t *r
/* Check directory */
skinny_device_event(listener, &params, SWITCH_EVENT_REQUEST_PARAMS, SWITCH_EVENT_SUBCLASS_ANY);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "action", "skinny-auth");
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "action", "skinny-auth");
/* clean up all traces before adding to database */
skinny_lock_device_name(listener, request->data.reg.device_name);
@@ -1321,7 +1321,7 @@ switch_status_t skinny_handle_register(listener_t *listener, skinny_message_t *r
switch_event_t *message_query_event = NULL;
if (switch_event_create(&message_query_event, SWITCH_EVENT_MESSAGE_QUERY) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header(message_query_event, SWITCH_STACK_BOTTOM, "Message-Account", "skinny:%s@%s", value, profile->domain);
switch_event_add_header_string(message_query_event, SWITCH_STACK_BOTTOM, "VM-Skinny-Profile", profile->name);
switch_event_add_header_string_dup(message_query_event, SWITCH_STACK_BOTTOM, "VM-Skinny-Profile", profile->name);
switch_event_fire(&message_query_event);
}
}
+7 -7
View File
@@ -646,8 +646,8 @@ switch_status_t sofia_on_hangup(switch_core_session_t *session)
if (cause == SWITCH_CAUSE_WRONG_CALL_STATE) {
switch_event_t *s_event;
if (switch_event_create_subclass(&s_event, SWITCH_EVENT_CUSTOM, MY_EVENT_WRONG_CALL_STATE) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "from_user", tech_pvt->from_user);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "network_ip", tech_pvt->mparams.remote_ip);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "from_user", tech_pvt->from_user);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "network_ip", tech_pvt->mparams.remote_ip);
switch_event_add_header(s_event, SWITCH_STACK_BOTTOM, "network_port", "%d", tech_pvt->mparams.remote_port);
switch_event_fire(&s_event);
}
@@ -2097,17 +2097,17 @@ static switch_status_t sofia_receive_message(switch_core_session_t *session, swi
if (switch_event_create(&event, SWITCH_EVENT_CALL_UPDATE) == SWITCH_STATUS_SUCCESS) {
const char *uuid = switch_channel_get_partner_uuid(channel);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Direction", "SEND");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Direction", "SEND");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Sent-Callee-ID-Name", name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Sent-Callee-ID-Number", number);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Sent-Callee-ID-Name", name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Sent-Callee-ID-Number", number);
//switch_channel_set_profile_var(channel, "callee_id_name", name);
//switch_channel_set_profile_var(channel, "callee_id_number", number);
if (uuid) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Bridged-To", uuid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Bridged-To", uuid);
}
switch_channel_event_set_data(channel, event);
switch_event_fire(&event);
@@ -4608,7 +4608,7 @@ SWITCH_STANDARD_API(sofia_function)
} else {
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM,
MY_EVENT_RECOVERY_RECOVERED) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "recovered_calls", "0");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "recovered_calls", "0");
switch_event_fire(&event);
}
+1 -1
View File
@@ -241,7 +241,7 @@ switch_status_t sip_dig_function(_In_opt_z_ const char *cmd, _In_opt_ switch_cor
}
if (!strcasecmp(argv[i], "xml")) {
switch_event_add_header_string(stream->param_event, SWITCH_STACK_BOTTOM, "xml", "true");
switch_event_add_header_string_dup(stream->param_event, SWITCH_STACK_BOTTOM, "xml", "true");
i++;
xml++;
}
+152 -152
View File
@@ -628,15 +628,15 @@ void sofia_handle_sip_i_notify(switch_core_session_t *session, int status,
if (sip->sip_content_type &&
sip->sip_content_type->c_type && sip->sip_payload && sip->sip_payload->pl_data && !strcasecmp(sip->sip_event->o_type, "refer")) {
if (switch_event_create_subclass(&s_event, SWITCH_EVENT_CUSTOM, MY_EVENT_NOTIFY_REFER) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "content-type", sip->sip_content_type->c_type);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "content-type", sip->sip_content_type->c_type);
switch_event_add_body(s_event, "%s", sip->sip_payload->pl_data);
}
}
/* add common headers for the NOTIFY to the switch_event and fire if it exists */
if (s_event != NULL) {
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "event-package", sip->sip_event->o_type);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "event-id", sip->sip_event->o_id);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "event-package", sip->sip_event->o_type);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "event-id", sip->sip_event->o_id);
if (sip->sip_contact) {
switch_event_add_header(s_event, SWITCH_STACK_BOTTOM, "contact", "%s@%s",
@@ -644,27 +644,27 @@ void sofia_handle_sip_i_notify(switch_core_session_t *session, int status,
}
switch_event_add_header(s_event, SWITCH_STACK_BOTTOM, "from", "%s@%s", sip->sip_from->a_url->url_user, sip->sip_from->a_url->url_host);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "from-tag", sip->sip_from->a_tag);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "from-tag", sip->sip_from->a_tag);
switch_event_add_header(s_event, SWITCH_STACK_BOTTOM, "to", "%s@%s", sip->sip_to->a_url->url_user, sip->sip_to->a_url->url_host);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "to-tag", sip->sip_to->a_tag);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "to-tag", sip->sip_to->a_tag);
if (sip->sip_call_id && sip->sip_call_id->i_id) {
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "call-id", sip->sip_call_id->i_id);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "call-id", sip->sip_call_id->i_id);
}
if (sip->sip_subscription_state && sip->sip_subscription_state->ss_substate) {
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "subscription-substate", sip->sip_subscription_state->ss_substate);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "subscription-substate", sip->sip_subscription_state->ss_substate);
}
if (sip->sip_subscription_state && sip->sip_subscription_state->ss_reason) {
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "subscription-reason", sip->sip_subscription_state->ss_reason);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "subscription-reason", sip->sip_subscription_state->ss_reason);
}
if (sip->sip_subscription_state && sip->sip_subscription_state->ss_retry_after) {
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "subscription-retry-after", sip->sip_subscription_state->ss_retry_after);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "subscription-retry-after", sip->sip_subscription_state->ss_retry_after);
}
if (sip->sip_subscription_state && sip->sip_subscription_state->ss_expires) {
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "subscription-expires", sip->sip_subscription_state->ss_expires);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "subscription-expires", sip->sip_subscription_state->ss_expires);
}
if (session) {
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "UniqueID", switch_core_session_get_uuid(session));
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "UniqueID", switch_core_session_get_uuid(session));
}
switch_event_fire(&s_event);
}
@@ -778,15 +778,15 @@ void sofia_handle_sip_i_notify(switch_core_session_t *session, int status,
/* dispatch freeswitch event */
if (switch_event_create(&s_event, SWITCH_EVENT_NOTIFY_IN) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "event", sip->sip_event->o_type);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "pl_data", sip->sip_payload ? sip->sip_payload->pl_data : "");
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "event", sip->sip_event->o_type);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "pl_data", sip->sip_payload ? sip->sip_payload->pl_data : "");
if ( sip->sip_content_type != NULL )
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "sip_content_type", sip->sip_content_type->c_type);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "sip_content_type", sip->sip_content_type->c_type);
switch_event_add_header(s_event, SWITCH_STACK_BOTTOM, "port", "%d", gateway->profile->sip_port);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "module_name", "mod_sofia");
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "profile_name", gateway->profile->name);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "profile_uri", gateway->profile->url);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "gateway_name", gateway->name);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "module_name", "mod_sofia");
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "profile_name", gateway->profile->name);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "profile_uri", gateway->profile->url);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "gateway_name", gateway->name);
if ( sip->sip_call_info != NULL ) {
sip_call_info_t *call_info = sip->sip_call_info;
char *nua_hold = sip_header_as_string(nua_handle_home(nh), (void *) call_info);
@@ -809,7 +809,7 @@ void sofia_handle_sip_i_notify(switch_core_session_t *session, int status,
su_free(nua_handle_home(nh), tmp);
cur_len = cur_len + tmp_len + 2;
}
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "Call-Info", hold);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "Call-Info", hold);
switch_safe_free(hold);
}
switch_event_fire(&s_event);
@@ -860,7 +860,7 @@ void sofia_handle_sip_i_notify(switch_core_session_t *session, int status,
"Forwarding unsolicited MWI ( %s : %s@%s )\n",
mwi_stat, sip->sip_to->a_url->url_user, sip->sip_to->a_url->url_host );
if (switch_event_create(&s_event, SWITCH_EVENT_MESSAGE_WAITING) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "MWI-Messages-Waiting", mwi_stat );
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "MWI-Messages-Waiting", mwi_stat );
switch_event_add_header(s_event, SWITCH_STACK_BOTTOM,
"MWI-Message-Account", "%s@%s", sip->sip_to->a_url->url_user, sip->sip_to->a_url->url_host );
switch_event_fire(&s_event);
@@ -1357,9 +1357,9 @@ void sofia_update_callee_id(switch_core_session_t *session, sofia_profile_t *pro
if (switch_event_create(&event, SWITCH_EVENT_CALL_UPDATE) == SWITCH_STATUS_SUCCESS) {
const char *uuid = switch_channel_get_partner_uuid(channel);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Direction", "RECV");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Direction", "RECV");
if (uuid) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Bridged-To", uuid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Bridged-To", uuid);
}
switch_channel_event_set_data(channel, event);
switch_event_fire(&event);
@@ -1420,9 +1420,9 @@ static void notify_watched_header(switch_core_session_t *session, const char *ms
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Found known watched header in message '%s', %s: %s\n", msgline, hdrname, hdrval);
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, MY_EVENT_NOTIFY_WATCHED_HEADER) == SWITCH_STATUS_SUCCESS) {
switch_channel_t *channel = switch_core_session_get_channel(session);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "SIP-Message", msgline);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Header-Name", hdrname);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Header-Value", hdrval);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "SIP-Message", msgline);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Header-Name", hdrname);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Header-Value", hdrval);
switch_channel_event_set_data(channel, event);
switch_event_fire(&event);
} else {
@@ -1938,28 +1938,28 @@ static void our_sofia_event_callback(nua_event_t event,
}
if (switch_event_create(&event, SWITCH_EVENT_CALL_SETUP_REQ) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Requesting-Component", "mod_sofia");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Target-Component", req_user);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Target-Domain", req_host);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Request-Action", action);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Requesting-Component", "mod_sofia");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Target-Component", req_user);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Target-Domain", req_host);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Request-Action", action);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Request-Target", "sofia/%s/%s", profile->name, refer_to);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Request-Target-URI", "%s", refer_to);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Request-Target-Extension", ref_to_user);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Request-Target-Domain", ref_to_host);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Request-Target-Extension", ref_to_user);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Request-Target-Domain", ref_to_host);
if (switch_true(full_url)) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "full_url", "true");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "full_url", "true");
}
if (sip->sip_call_id && sip->sip_call_id->i_id) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Request-Call-ID", sip->sip_call_id->i_id);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Request-Call-ID", sip->sip_call_id->i_id);
}
if (!zstr(referred_by)) {
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Request-Sender", "sofia/%s/%s", profile->name, referred_by);
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "var_origination_caller_id_number", ref_by_user);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "var_origination_caller_id_name", ref_by_user);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "var_origination_caller_id_number", ref_by_user);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "var_origination_caller_id_name", ref_by_user);
switch_event_fire(&event);
}
@@ -2064,26 +2064,26 @@ static void our_sofia_event_callback(nua_event_t event,
if (switch_event_create(&event, SWITCH_EVENT_PRESENCE_IN) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "proto", SOFIA_CHAT_PROTO);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "rpid", "unknown");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "login", profile->url);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "user-agent",
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "proto", SOFIA_CHAT_PROTO);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "rpid", "unknown");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "login", profile->url);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "user-agent",
(sip && sip->sip_user_agent) ? sip->sip_user_agent->g_string : "unknown");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "from", "%s@%s", sofia_private->user, sofia_private->realm);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "status", "Unregistered");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "presence-source", "register");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "status", "Unregistered");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "presence-source", "register");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_fire(&event);
}
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, MY_EVENT_UNREGISTER) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "profile-name", profile->name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "from-user", sofia_private->user);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "from-host", sofia_private->realm);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "call-id", sofia_private->call_id);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "rpid", "unknown");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "reason", "socket-disconnection");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "profile-name", profile->name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "from-user", sofia_private->user);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "from-host", sofia_private->realm);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "call-id", sofia_private->call_id);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "rpid", "unknown");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "reason", "socket-disconnection");
switch_event_fire(&event);
}
@@ -2660,33 +2660,33 @@ void event_handler(switch_event_t *event)
if (!strcasecmp(class, "PRESENCE_IN")) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "\nGot Presence IN event via MultiCast\n");
if (switch_event_create(&pevent, SWITCH_EVENT_PRESENCE_IN) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(pevent, SWITCH_STACK_BOTTOM, "alt_event_type", switch_event_get_header_nil(event, "orig-alt_event_type"));
switch_event_add_header_string(pevent, SWITCH_STACK_BOTTOM, "answer-state", switch_event_get_header_nil(event, "orig-answer-state"));
switch_event_add_header_string(pevent, SWITCH_STACK_BOTTOM, "astate", switch_event_get_header_nil(event, "orig-astate"));
switch_event_add_header_string(pevent, SWITCH_STACK_BOTTOM, "call-direction", switch_event_get_header_nil(event, "orig-call-direction"));
switch_event_add_header_string(pevent, SWITCH_STACK_BOTTOM, "Caller-Callee-ID-Number", switch_event_get_header_nil(event, "Orig-Caller-Callee-ID-Number"));
switch_event_add_header_string(pevent, SWITCH_STACK_BOTTOM, "Caller-Caller-ID-Name", switch_event_get_header_nil(event, "Orig-Caller-Caller-ID-Name"));
switch_event_add_header_string(pevent, SWITCH_STACK_BOTTOM, "Caller-Caller-ID-Number", switch_event_get_header_nil(event, "Orig-Caller-Caller-ID-Number"));
switch_event_add_header_string(pevent, SWITCH_STACK_BOTTOM, "Caller-Destination-Number", switch_event_get_header_nil(event, "Orig-Caller-Destination-Number"));
switch_event_add_header_string(pevent, SWITCH_STACK_BOTTOM, "Caller-Direction", switch_event_get_header_nil(event, "Orig-Caller-Direction"));
switch_event_add_header_string(pevent, SWITCH_STACK_BOTTOM, "Caller-Username", switch_event_get_header_nil(event, "Orig-Caller-Username"));
switch_event_add_header_string(pevent, SWITCH_STACK_BOTTOM, "channel-state", switch_event_get_header_nil(event, "orig-channel-state"));
switch_event_add_header_string(pevent, SWITCH_STACK_BOTTOM, "force-status", switch_event_get_header_nil(event, "orig-force-status"));
switch_event_add_header_string(pevent, SWITCH_STACK_BOTTOM, "from", switch_event_get_header_nil(event, "orig-from"));
switch_event_add_header_string(pevent, SWITCH_STACK_BOTTOM, "login", switch_event_get_header_nil(event, "orig-login"));
switch_event_add_header_string(pevent, SWITCH_STACK_BOTTOM, "Other-Leg-Caller-ID-Name", switch_event_get_header_nil(event, "Orig-Other-Leg-Caller-ID-Name"));
switch_event_add_header_string(pevent, SWITCH_STACK_BOTTOM, "Other-Leg-Caller-ID-Number", switch_event_get_header_nil(event, "Orig-Other-Leg-Caller-ID-Number"));
switch_event_add_header_string(pevent, SWITCH_STACK_BOTTOM, "presence-call-direction", switch_event_get_header_nil(event, "orig-presence-call-direction"));
switch_event_add_header_string(pevent, SWITCH_STACK_BOTTOM, "presence-call-info-state", switch_event_get_header_nil(event, "orig-presence-call-info-state"));
switch_event_add_header_string(pevent, SWITCH_STACK_BOTTOM, "Presence-Privacy", switch_event_get_header_nil(event, "Orig-Presence-Privacy"));
switch_event_add_header_string(pevent, SWITCH_STACK_BOTTOM, "proto", switch_event_get_header_nil(event, "orig-proto"));
switch_event_add_header_string(pevent, SWITCH_STACK_BOTTOM, "register-source", switch_event_get_header_nil(event, "orig-register-source"));
switch_event_add_header_string(pevent, SWITCH_STACK_BOTTOM, "resub", switch_event_get_header_nil(event, "orig-resub"));
switch_event_add_header_string(pevent, SWITCH_STACK_BOTTOM, "rpid", switch_event_get_header_nil(event, "orig-rpid"));
switch_event_add_header_string(pevent, SWITCH_STACK_BOTTOM, "status", switch_event_get_header_nil(event, "orig-status"));
switch_event_add_header_string(pevent, SWITCH_STACK_BOTTOM, "Unique-ID", switch_event_get_header_nil(event, "Orig-Unique-ID"));
switch_event_add_header_string(pevent, SWITCH_STACK_BOTTOM, "variable_sip_from_user", switch_event_get_header_nil(event, "Orig-variable_sip_from_user"));
switch_event_add_header_string(pevent, SWITCH_STACK_BOTTOM, "variable_sip_to_user", switch_event_get_header_nil(event, "Orig-variable_sip_to_user"));
switch_event_add_header_string_dup(pevent, SWITCH_STACK_BOTTOM, "alt_event_type", switch_event_get_header_nil(event, "orig-alt_event_type"));
switch_event_add_header_string_dup(pevent, SWITCH_STACK_BOTTOM, "answer-state", switch_event_get_header_nil(event, "orig-answer-state"));
switch_event_add_header_string_dup(pevent, SWITCH_STACK_BOTTOM, "astate", switch_event_get_header_nil(event, "orig-astate"));
switch_event_add_header_string_dup(pevent, SWITCH_STACK_BOTTOM, "call-direction", switch_event_get_header_nil(event, "orig-call-direction"));
switch_event_add_header_string_dup(pevent, SWITCH_STACK_BOTTOM, "Caller-Callee-ID-Number", switch_event_get_header_nil(event, "Orig-Caller-Callee-ID-Number"));
switch_event_add_header_string_dup(pevent, SWITCH_STACK_BOTTOM, "Caller-Caller-ID-Name", switch_event_get_header_nil(event, "Orig-Caller-Caller-ID-Name"));
switch_event_add_header_string_dup(pevent, SWITCH_STACK_BOTTOM, "Caller-Caller-ID-Number", switch_event_get_header_nil(event, "Orig-Caller-Caller-ID-Number"));
switch_event_add_header_string_dup(pevent, SWITCH_STACK_BOTTOM, "Caller-Destination-Number", switch_event_get_header_nil(event, "Orig-Caller-Destination-Number"));
switch_event_add_header_string_dup(pevent, SWITCH_STACK_BOTTOM, "Caller-Direction", switch_event_get_header_nil(event, "Orig-Caller-Direction"));
switch_event_add_header_string_dup(pevent, SWITCH_STACK_BOTTOM, "Caller-Username", switch_event_get_header_nil(event, "Orig-Caller-Username"));
switch_event_add_header_string_dup(pevent, SWITCH_STACK_BOTTOM, "channel-state", switch_event_get_header_nil(event, "orig-channel-state"));
switch_event_add_header_string_dup(pevent, SWITCH_STACK_BOTTOM, "force-status", switch_event_get_header_nil(event, "orig-force-status"));
switch_event_add_header_string_dup(pevent, SWITCH_STACK_BOTTOM, "from", switch_event_get_header_nil(event, "orig-from"));
switch_event_add_header_string_dup(pevent, SWITCH_STACK_BOTTOM, "login", switch_event_get_header_nil(event, "orig-login"));
switch_event_add_header_string_dup(pevent, SWITCH_STACK_BOTTOM, "Other-Leg-Caller-ID-Name", switch_event_get_header_nil(event, "Orig-Other-Leg-Caller-ID-Name"));
switch_event_add_header_string_dup(pevent, SWITCH_STACK_BOTTOM, "Other-Leg-Caller-ID-Number", switch_event_get_header_nil(event, "Orig-Other-Leg-Caller-ID-Number"));
switch_event_add_header_string_dup(pevent, SWITCH_STACK_BOTTOM, "presence-call-direction", switch_event_get_header_nil(event, "orig-presence-call-direction"));
switch_event_add_header_string_dup(pevent, SWITCH_STACK_BOTTOM, "presence-call-info-state", switch_event_get_header_nil(event, "orig-presence-call-info-state"));
switch_event_add_header_string_dup(pevent, SWITCH_STACK_BOTTOM, "Presence-Privacy", switch_event_get_header_nil(event, "Orig-Presence-Privacy"));
switch_event_add_header_string_dup(pevent, SWITCH_STACK_BOTTOM, "proto", switch_event_get_header_nil(event, "orig-proto"));
switch_event_add_header_string_dup(pevent, SWITCH_STACK_BOTTOM, "register-source", switch_event_get_header_nil(event, "orig-register-source"));
switch_event_add_header_string_dup(pevent, SWITCH_STACK_BOTTOM, "resub", switch_event_get_header_nil(event, "orig-resub"));
switch_event_add_header_string_dup(pevent, SWITCH_STACK_BOTTOM, "rpid", switch_event_get_header_nil(event, "orig-rpid"));
switch_event_add_header_string_dup(pevent, SWITCH_STACK_BOTTOM, "status", switch_event_get_header_nil(event, "orig-status"));
switch_event_add_header_string_dup(pevent, SWITCH_STACK_BOTTOM, "Unique-ID", switch_event_get_header_nil(event, "Orig-Unique-ID"));
switch_event_add_header_string_dup(pevent, SWITCH_STACK_BOTTOM, "variable_sip_from_user", switch_event_get_header_nil(event, "Orig-variable_sip_from_user"));
switch_event_add_header_string_dup(pevent, SWITCH_STACK_BOTTOM, "variable_sip_to_user", switch_event_get_header_nil(event, "Orig-variable_sip_to_user"));
/* we cannot use switch_event_fire, or otherwise we'll start an endless loop */
sofia_presence_event_handler(pevent);
@@ -2698,9 +2698,9 @@ void event_handler(switch_event_t *event)
} else if (!strcasecmp(class, "MESSAGE_WAITING")) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "\nGot MWI event via MultiCast\n");
if (switch_event_create(&pevent, SWITCH_EVENT_MESSAGE_WAITING) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(pevent, SWITCH_STACK_BOTTOM, "MWI-Messages-Waiting", switch_event_get_header_nil(event, "orig-MWI-Messages-Waiting"));
switch_event_add_header_string(pevent, SWITCH_STACK_BOTTOM, "MWI-Message-Account", switch_event_get_header_nil(event, "orig-MWI-Message-Account"));
switch_event_add_header_string(pevent, SWITCH_STACK_BOTTOM, "MWI-Voice-Message", switch_event_get_header_nil(event, "orig-MWI-Voice-Message"));
switch_event_add_header_string_dup(pevent, SWITCH_STACK_BOTTOM, "MWI-Messages-Waiting", switch_event_get_header_nil(event, "orig-MWI-Messages-Waiting"));
switch_event_add_header_string_dup(pevent, SWITCH_STACK_BOTTOM, "MWI-Message-Account", switch_event_get_header_nil(event, "orig-MWI-Message-Account"));
switch_event_add_header_string_dup(pevent, SWITCH_STACK_BOTTOM, "MWI-Voice-Message", switch_event_get_header_nil(event, "orig-MWI-Voice-Message"));
/* we cannot use switch_event_fire, or otherwise we'll start an endless loop */
sofia_presence_event_handler(pevent);
return;
@@ -2916,13 +2916,13 @@ static void sofia_perform_profile_start_failure(sofia_profile_t *profile, char *
}
if ((switch_event_create(&s_event, SWITCH_EVENT_FAILURE) == SWITCH_STATUS_SUCCESS)) {
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "module_name", "mod_sofia");
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "profile_name", profile_name);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "module_name", "mod_sofia");
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "profile_name", profile_name);
if (profile) {
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "profile_uri", profile->url);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "profile_uri", profile->url);
}
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "failure_message", "Profile failed to start.");
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "file", file);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "failure_message", "Profile failed to start.");
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "file", file);
switch_event_add_header(s_event, SWITCH_STACK_BOTTOM, "line", "%d", line);
switch_event_fire(&s_event);
@@ -3048,7 +3048,7 @@ switch_thread_t *launch_sofia_worker_thread(sofia_profile_t *profile)
/* Parse gateways */
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_dup(params, SWITCH_STACK_BOTTOM, "profile", profile->name);
if (!(xml = switch_xml_open_cfg(cf, &cfg, params))) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Open of %s failed\n", cf);
@@ -3066,8 +3066,8 @@ switch_thread_t *launch_sofia_worker_thread(sofia_profile_t *profile)
switch_event_t *xml_params;
switch_event_create(&xml_params, SWITCH_EVENT_REQUEST_PARAMS);
switch_assert(xml_params);
switch_event_add_header_string(xml_params, SWITCH_STACK_BOTTOM, "purpose", "gateways");
switch_event_add_header_string(xml_params, SWITCH_STACK_BOTTOM, "profile", profile->name);
switch_event_add_header_string_dup(xml_params, SWITCH_STACK_BOTTOM, "purpose", "gateways");
switch_event_add_header_string_dup(xml_params, SWITCH_STACK_BOTTOM, "profile", profile->name);
for (domain_tag = switch_xml_child(domains_tag, "domain"); domain_tag; domain_tag = domain_tag->next) {
switch_xml_t droot, x_domain_tag;
@@ -3438,13 +3438,13 @@ void *SWITCH_THREAD_FUNC sofia_profile_thread_run(switch_thread_t *thread, void
(sofia_test_pflag(profile, PFLAG_TLS)) ? ",_sips._tcp" : "");
switch_event_add_header(s_event, SWITCH_STACK_BOTTOM, "port", "%d", profile->sip_port);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "module_name", "mod_sofia");
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "profile_name", profile->name);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "profile_uri", profile->url);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "module_name", "mod_sofia");
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "profile_name", profile->name);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "profile_uri", profile->url);
if (sofia_test_pflag(profile, PFLAG_TLS)) {
switch_event_add_header(s_event, SWITCH_STACK_BOTTOM, "tls_port", "%d", profile->tls_sip_port);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "profile_tls_uri", profile->tls_url);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "profile_tls_uri", profile->tls_url);
}
switch_event_fire(&s_event);
}
@@ -3548,13 +3548,13 @@ void *SWITCH_THREAD_FUNC sofia_profile_thread_run(switch_thread_t *thread, void
(sofia_test_pflag(profile, PFLAG_TLS)) ? ",_sips._tcp" : "");
switch_event_add_header(s_event, SWITCH_STACK_BOTTOM, "port", "%d", profile->sip_port);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "module_name", "mod_sofia");
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "profile_name", profile->name);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "profile_uri", profile->url);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "module_name", "mod_sofia");
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "profile_name", profile->name);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "profile_uri", profile->url);
if (sofia_test_pflag(profile, PFLAG_TLS)) {
switch_event_add_header(s_event, SWITCH_STACK_BOTTOM, "tls_port", "%d", profile->tls_sip_port);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "profile_tls_uri", profile->tls_url);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "profile_tls_uri", profile->tls_url);
}
switch_event_fire(&s_event);
}
@@ -3871,14 +3871,14 @@ static void parse_gateways(sofia_profile_t *profile, switch_xml_t gateways_tag,
if (!gateway->ib_vars) {
switch_event_create_plain(&gateway->ib_vars, SWITCH_EVENT_GENERAL);
}
switch_event_add_header_string(gateway->ib_vars, SWITCH_STACK_BOTTOM, var, val);
switch_event_add_header_string_dup(gateway->ib_vars, SWITCH_STACK_BOTTOM, var, val);
}
if (out) {
if (!gateway->ob_vars) {
switch_event_create_plain(&gateway->ob_vars, SWITCH_EVENT_GENERAL);
}
switch_event_add_header_string(gateway->ob_vars, SWITCH_STACK_BOTTOM, var, val);
switch_event_add_header_string_dup(gateway->ob_vars, SWITCH_STACK_BOTTOM, var, val);
}
}
}
@@ -4434,9 +4434,9 @@ switch_status_t config_gateway(const char *profile_name, const char *gateway_nam
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");
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "gateway", gateway_name);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "profile", profile_name);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "reconfig", "true");
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "gateway", gateway_name);
if (!(xml = switch_xml_open_cfg(cf, &cfg, params))) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Open of %s failed\n", gateway_name);
@@ -4488,9 +4488,9 @@ switch_status_t config_sofia(sofia_config_t reload, char *profile_name)
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_dup(params, SWITCH_STACK_BOTTOM, "profile", profile_name);
if (reload == SOFIA_CONFIG_RESCAN) {
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "reconfig", "true");
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "reconfig", "true");
}
if (!(xml = switch_xml_open_cfg(cf, &cfg, params))) {
@@ -6270,8 +6270,8 @@ switch_status_t config_sofia(sofia_config_t reload, char *profile_name)
switch_event_t *xml_params;
switch_event_create(&xml_params, SWITCH_EVENT_REQUEST_PARAMS);
switch_assert(xml_params);
switch_event_add_header_string(xml_params, SWITCH_STACK_BOTTOM, "purpose", "gateways");
switch_event_add_header_string(xml_params, SWITCH_STACK_BOTTOM, "profile", profile->name);
switch_event_add_header_string_dup(xml_params, SWITCH_STACK_BOTTOM, "purpose", "gateways");
switch_event_add_header_string_dup(xml_params, SWITCH_STACK_BOTTOM, "profile", profile->name);
for (domain_tag = switch_xml_child(domains_tag, "domain"); domain_tag; domain_tag = domain_tag->next) {
switch_xml_t droot, x_domain_tag;
@@ -6344,9 +6344,9 @@ switch_status_t config_sofia(sofia_config_t reload, char *profile_name)
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Started Profile %s [%s]\n", profile->name, url);
}
if ((switch_event_create_subclass(&s_event, SWITCH_EVENT_CUSTOM, MY_EVENT_PROFILE_START) == SWITCH_STATUS_SUCCESS)) {
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "module_name", "mod_sofia");
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "profile_name", profile->name);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "profile_uri", profile->url);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "module_name", "mod_sofia");
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "profile_name", profile->name);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "profile_uri", profile->url);
switch_event_fire(&s_event);
}
} else {
@@ -8480,7 +8480,7 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status,
}
if (switch_event_create_subclass(&s_event, SWITCH_EVENT_CUSTOM, MY_EVENT_REINVITE) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "Unique-ID", switch_core_session_get_uuid(session));
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "Unique-ID", switch_core_session_get_uuid(session));
switch_event_fire(&s_event);
}
} else {
@@ -9164,21 +9164,21 @@ void sofia_handle_sip_i_refer(nua_t *nua, sofia_profile_t *profile, nua_handle_t
if(sofia_test_pflag(profile, PFLAG_FIRE_TRANFER_EVENTS)) {
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, MY_EVENT_REPLACED) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(channel_b, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "att_xfer_replaced_by", br_a);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "att_xfer_replaced_by", br_a);
switch_event_fire(&event);
}
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, MY_EVENT_TRANSFEROR) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(channel_a, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "att_xfer_original_call_id", br_a);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "att_xfer_destination_call_id", br_b);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "att_xfer_destination_peer_uuid", switch_core_session_get_uuid(b_session));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "att_xfer_original_call_id", br_a);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "att_xfer_destination_call_id", br_b);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "att_xfer_destination_peer_uuid", switch_core_session_get_uuid(b_session));
switch_event_fire(&event);
}
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, MY_EVENT_TRANSFEREE) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(a_channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "att_xfer_replaced_call_id", switch_core_session_get_uuid(b_session));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "att_xfer_replaced_call_id", switch_core_session_get_uuid(b_session));
switch_event_fire(&event);
}
}
@@ -9280,15 +9280,15 @@ void sofia_handle_sip_i_refer(nua_t *nua, sofia_profile_t *profile, nua_handle_t
if(sofia_test_pflag(profile, PFLAG_FIRE_TRANFER_EVENTS)) {
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, MY_EVENT_REPLACED) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(channel_b, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "att_xfer_replaced_by", br_a);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "att_xfer_replaced_by", br_a);
switch_event_fire(&event);
}
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, MY_EVENT_TRANSFEROR) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(channel_a, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "att_xfer_original_call_id", br_a);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "att_xfer_destination_call_id", br_b);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "att_xfer_destination_peer_uuid", switch_core_session_get_uuid(b_session));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "att_xfer_original_call_id", br_a);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "att_xfer_destination_call_id", br_b);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "att_xfer_destination_peer_uuid", switch_core_session_get_uuid(b_session));
switch_event_fire(&event);
}
@@ -9370,9 +9370,9 @@ void sofia_handle_sip_i_refer(nua_t *nua, sofia_profile_t *profile, nua_handle_t
if(sofia_test_pflag(profile, PFLAG_FIRE_TRANFER_EVENTS)) {
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, MY_EVENT_TRANSFEROR) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(channel_a, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "att_xfer_original_call_id", switch_core_session_get_uuid(hup_session));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "att_xfer_destination_call_id", switch_core_session_get_uuid(t_session));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "att_xfer_destination_peer_uuid", switch_channel_get_partner_uuid(t_channel));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "att_xfer_original_call_id", switch_core_session_get_uuid(hup_session));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "att_xfer_destination_call_id", switch_core_session_get_uuid(t_session));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "att_xfer_destination_peer_uuid", switch_channel_get_partner_uuid(t_channel));
switch_event_fire(&event);
}
@@ -9437,17 +9437,17 @@ void sofia_handle_sip_i_refer(nua_t *nua, sofia_profile_t *profile, nua_handle_t
switch_xml_t params = NULL, param = NULL;
switch_event_create(&xml_params, SWITCH_EVENT_REQUEST_PARAMS);
switch_event_add_header_string(xml_params, SWITCH_STACK_BOTTOM, "purpose", "nightmare_xfer");
switch_event_add_header_string(xml_params, SWITCH_STACK_BOTTOM, "profile", profile->name);
switch_event_add_header_string(xml_params, SWITCH_STACK_BOTTOM, "refer-to-user", refer_to->r_url->url_user);
switch_event_add_header_string(xml_params, SWITCH_STACK_BOTTOM, "refer-to-host", refer_to->r_url->url_host);
switch_event_add_header_string(xml_params, SWITCH_STACK_BOTTOM, "refer-to-params", refer_to->r_url->url_params ? refer_to->r_url->url_params : "");
switch_event_add_header_string(xml_params, SWITCH_STACK_BOTTOM, "refer-to-headers", refer_to->r_url->url_headers ? refer_to->r_url->url_headers : "");
switch_event_add_header_string_dup(xml_params, SWITCH_STACK_BOTTOM, "purpose", "nightmare_xfer");
switch_event_add_header_string_dup(xml_params, SWITCH_STACK_BOTTOM, "profile", profile->name);
switch_event_add_header_string_dup(xml_params, SWITCH_STACK_BOTTOM, "refer-to-user", refer_to->r_url->url_user);
switch_event_add_header_string_dup(xml_params, SWITCH_STACK_BOTTOM, "refer-to-host", refer_to->r_url->url_host);
switch_event_add_header_string_dup(xml_params, SWITCH_STACK_BOTTOM, "refer-to-params", refer_to->r_url->url_params ? refer_to->r_url->url_params : "");
switch_event_add_header_string_dup(xml_params, SWITCH_STACK_BOTTOM, "refer-to-headers", refer_to->r_url->url_headers ? refer_to->r_url->url_headers : "");
if (replaces) {
switch_event_add_header_string(xml_params, SWITCH_STACK_BOTTOM, "replaces-call-id", replaces->rp_call_id);
switch_event_add_header_string_dup(xml_params, SWITCH_STACK_BOTTOM, "replaces-call-id", replaces->rp_call_id);
}
switch_event_add_header_string(xml_params, SWITCH_STACK_BOTTOM, "refer-from-channel-id", switch_core_session_get_uuid(session));
switch_event_add_header_string(xml_params, SWITCH_STACK_BOTTOM, "refer-for-channel-id", br_a);
switch_event_add_header_string_dup(xml_params, SWITCH_STACK_BOTTOM, "refer-from-channel-id", switch_core_session_get_uuid(session));
switch_event_add_header_string_dup(xml_params, SWITCH_STACK_BOTTOM, "refer-for-channel-id", br_a);
if (switch_xml_locate("channels", NULL, NULL, NULL,
&xml_root, &xml_channel, xml_params, SWITCH_FALSE) == SWITCH_STATUS_SUCCESS) {
@@ -9547,24 +9547,24 @@ void sofia_handle_sip_i_refer(nua_t *nua, sofia_profile_t *profile, nua_handle_t
rep_h = switch_channel_get_variable(channel, SOFIA_REPLACES_HEADER);
if (rep_h) {
switch_event_add_header_string(nightmare_xfer_helper->vars, SWITCH_STACK_BOTTOM, SOFIA_REPLACES_HEADER, rep_h);
switch_event_add_header_string_dup(nightmare_xfer_helper->vars, SWITCH_STACK_BOTTOM, SOFIA_REPLACES_HEADER, rep_h);
} else {
switch_event_add_header_string(nightmare_xfer_helper->vars, SWITCH_STACK_BOTTOM, SOFIA_REPLACES_HEADER, rep);
switch_event_add_header_string_dup(nightmare_xfer_helper->vars, SWITCH_STACK_BOTTOM, SOFIA_REPLACES_HEADER, rep);
}
if (!zstr(full_ref_by)) {
switch_event_add_header_string(nightmare_xfer_helper->vars, SWITCH_STACK_BOTTOM, "Referred-By", full_ref_by);
switch_event_add_header_string_dup(nightmare_xfer_helper->vars, SWITCH_STACK_BOTTOM, "Referred-By", full_ref_by);
}
if (!zstr(full_ref_to)) {
switch_event_add_header_string(nightmare_xfer_helper->vars, SWITCH_STACK_BOTTOM, SOFIA_REFER_TO_VARIABLE, full_ref_to);
switch_event_add_header_string_dup(nightmare_xfer_helper->vars, SWITCH_STACK_BOTTOM, SOFIA_REFER_TO_VARIABLE, full_ref_to);
}
if(sofia_test_pflag(profile, PFLAG_FIRE_TRANFER_EVENTS)) {
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, MY_EVENT_TRANSFEROR) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "att_xfer_original_call_id", br_a);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "att_xfer_destination_call_id", br_b);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "att_xfer_original_call_id", br_a);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "att_xfer_destination_call_id", br_b);
switch_channel_event_set_data(channel_a, event);
switch_event_fire(&event);
}
@@ -9575,8 +9575,8 @@ void sofia_handle_sip_i_refer(nua_t *nua, sofia_profile_t *profile, nua_handle_t
}
}
switch_event_add_header_string(nightmare_xfer_helper->vars, SWITCH_STACK_BOTTOM, "sip_h_X-FS-Refer-From", switch_core_session_get_uuid(session));
switch_event_add_header_string(nightmare_xfer_helper->vars, SWITCH_STACK_BOTTOM, "sip_h_X-FS-Refer-For", br_a);
switch_event_add_header_string_dup(nightmare_xfer_helper->vars, SWITCH_STACK_BOTTOM, "sip_h_X-FS-Refer-From", switch_core_session_get_uuid(session));
switch_event_add_header_string_dup(nightmare_xfer_helper->vars, SWITCH_STACK_BOTTOM, "sip_h_X-FS-Refer-For", br_a);
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Good Luck, you'll need it......\n");
nightmare_xfer_helper->profile = profile;
@@ -9678,8 +9678,8 @@ void sofia_handle_sip_i_refer(nua_t *nua, sofia_profile_t *profile, nua_handle_t
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, MY_EVENT_ERROR) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Error-Type", "blind_transfer");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Transfer-Exten", exten);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Full-Refer-To", full_ref_to);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Transfer-Exten", exten);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Full-Refer-To", full_ref_to);
switch_channel_event_set_data(channel, event);
switch_event_fire(&event);
}
@@ -9716,48 +9716,48 @@ static switch_status_t create_info_event(sip_t const *sip,
}
if (sip->sip_content_type) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "SIP-Content-Type", sip->sip_content_type->c_type);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "SIP-Content-Type", sip->sip_content_type->c_type);
}
if (sip->sip_from) {
if (sip->sip_from->a_url->url_user) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "SIP-From-User", sip->sip_from->a_url->url_user);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "SIP-From-User", sip->sip_from->a_url->url_user);
}
if (sip->sip_from->a_url->url_host) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "SIP-From-Host", sip->sip_from->a_url->url_host);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "SIP-From-Host", sip->sip_from->a_url->url_host);
}
}
if (sip->sip_to) {
if (sip->sip_to->a_url->url_user) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "SIP-To-User", sip->sip_to->a_url->url_user);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "SIP-To-User", sip->sip_to->a_url->url_user);
}
if (sip->sip_to->a_url->url_host) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "SIP-To-Host", sip->sip_to->a_url->url_host);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "SIP-To-Host", sip->sip_to->a_url->url_host);
}
}
if (sip->sip_contact) {
if (sip->sip_contact->m_url->url_user) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "SIP-Contact-User", sip->sip_contact->m_url->url_user);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "SIP-Contact-User", sip->sip_contact->m_url->url_user);
}
if (sip->sip_contact->m_url->url_host) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "SIP-Contact-Host", sip->sip_contact->m_url->url_host);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "SIP-Contact-Host", sip->sip_contact->m_url->url_host);
}
}
if (sip->sip_call_info) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Call-Info",
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Call-Info",
sip_header_as_string(nua_handle_home(nh), (void *) sip->sip_call_info));
}
if (alert_info) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Alert-Info", sip_header_as_string(nua_handle_home(nh), (void *) alert_info));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Alert-Info", sip_header_as_string(nua_handle_home(nh), (void *) alert_info));
}
@@ -10331,7 +10331,7 @@ switch_status_t sofia_locate_user(char* user, switch_core_session_t *session, si
if (switch_event_create(&v_event, SWITCH_EVENT_REQUEST_PARAMS) == SWITCH_STATUS_SUCCESS) {
sip_unknown_t *un;
for (un = sip->sip_unknown; un; un = un->un_next) {
switch_event_add_header_string(v_event, SWITCH_STACK_BOTTOM, un->un_name, un->un_value);
switch_event_add_header_string_dup(v_event, SWITCH_STACK_BOTTOM, un->un_name, un->un_value);
};
switch_channel_event_set_data(switch_core_session_get_channel(session), v_event);
}
@@ -11745,7 +11745,7 @@ void sofia_handle_sip_i_invite_replaces(switch_core_session_t *session, switch_c
&& sip && sip->sip_call_id
&& switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, MY_EVENT_REPLACED) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(b_channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "att_xfer_replaced_by", sip->sip_call_id->i_id);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "att_xfer_replaced_by", sip->sip_call_id->i_id);
switch_event_fire(&event);
}
} else {
@@ -11796,7 +11796,7 @@ void sofia_handle_sip_i_invite_replaces(switch_core_session_t *session, switch_c
&& sip->sip_call_id
&& switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, MY_EVENT_INTERCEPTED) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(b_channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "intercepted_by", sip->sip_call_id->i_id);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "intercepted_by", sip->sip_call_id->i_id);
switch_event_fire(&event);
}
}
@@ -11823,7 +11823,7 @@ void sofia_handle_sip_i_invite_replaces(switch_core_session_t *session, switch_c
&& sip && sip->sip_call_id
&& switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, MY_EVENT_INTERCEPTED) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(b_channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "intercepted_by", sip->sip_call_id->i_id);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "intercepted_by", sip->sip_call_id->i_id);
switch_event_fire(&event);
}
}
@@ -11839,7 +11839,7 @@ void sofia_handle_sip_i_invite_replaces(switch_core_session_t *session, switch_c
&& sip && sip->sip_call_id
&& switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, MY_EVENT_REPLACED) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(b_channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "att_xfer_replaced_by", sip->sip_call_id->i_id);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "att_xfer_replaced_by", sip->sip_call_id->i_id);
switch_event_fire(&event);
}
switch_channel_hangup(b_channel, SWITCH_CAUSE_ATTENDED_TRANSFER);
+155 -155
View File
@@ -275,10 +275,10 @@ switch_status_t sofia_presence_chat_send(switch_event_t *message_event)
// emit no recipient event
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, MY_EVENT_ERROR) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Error-Type", "chat");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Error-Reason", "no recipient");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Chat-Send-To", to);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Chat-Send-From", from);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Chat-Send-Profile", prof);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Error-Reason", "no recipient");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Chat-Send-To", to);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Chat-Send-From", from);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Chat-Send-Profile", prof);
switch_event_add_body(event, "%s", body);
switch_event_fire(&event);
}
@@ -807,11 +807,11 @@ static void do_normal_probe(switch_event_t *event)
if (!h.rowcount) {
switch_event_t *sevent;
if (switch_event_create(&sevent, SWITCH_EVENT_PRESENCE_IN) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(sevent, SWITCH_STACK_BOTTOM, "proto", SOFIA_CHAT_PROTO);
switch_event_add_header_string(sevent, SWITCH_STACK_BOTTOM, "login", profile->name);
switch_event_add_header_string(sevent, SWITCH_STACK_BOTTOM, "sip_profile", profile->name);
switch_event_add_header_string_dup(sevent, SWITCH_STACK_BOTTOM, "proto", SOFIA_CHAT_PROTO);
switch_event_add_header_string_dup(sevent, SWITCH_STACK_BOTTOM, "login", profile->name);
switch_event_add_header_string_dup(sevent, SWITCH_STACK_BOTTOM, "sip_profile", profile->name);
switch_event_add_header(sevent, SWITCH_STACK_BOTTOM, "from", "%s@%s", probe_euser, probe_host);
switch_event_add_header_string(sevent, SWITCH_STACK_BOTTOM, "status", "Unregistered");
switch_event_add_header_string_dup(sevent, SWITCH_STACK_BOTTOM, "status", "Unregistered");
switch_event_fire(&sevent);
}
}
@@ -1390,24 +1390,24 @@ static switch_event_t *actual_sofia_presence_event_handler(switch_event_t *event
rpid = sofia_presence_translate_rpid(rpid, status);
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Answer-State", "early");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "status", status);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Channel-State", status);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Channel-Call-State", "EARLY");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "astate", "early");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "answer-state", "early");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Answer-State", "early");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "status", status);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Channel-State", status);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Channel-Call-State", "EARLY");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "astate", "early");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "answer-state", "early");
} else {
status = "CS_EXECUTE";
if (rpid) {
rpid = sofia_presence_translate_rpid(rpid, status);
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Answer-State", "answered");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "status", status);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Channel-State", status);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Channel-Call-State", "ACTIVE");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "astate", "confirmed");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "answer-state", "confirmed");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Answer-State", "answered");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "status", status);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Channel-State", status);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Channel-Call-State", "ACTIVE");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "astate", "confirmed");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "answer-state", "confirmed");
}
}
@@ -1536,13 +1536,13 @@ static switch_event_t *actual_sofia_presence_event_handler(switch_event_t *event
if (hup && dh.hits < 1) {
/* so many phones get confused when whe hangup we have to reprobe to get them all to reset to absolute states so the lights stay correct */
if (switch_event_create(&s_event, SWITCH_EVENT_PRESENCE_PROBE) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "proto", SOFIA_CHAT_PROTO);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "login", profile->name);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "sip_profile", profile->name);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "proto", SOFIA_CHAT_PROTO);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "login", profile->name);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "sip_profile", profile->name);
switch_event_add_header(s_event, SWITCH_STACK_BOTTOM, "from", "%s@%s", euser, host);
switch_event_add_header(s_event, SWITCH_STACK_BOTTOM, "to", "%s@%s", euser, host);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
sofia_event_fire(profile, &s_event);
}
}
@@ -1736,8 +1736,8 @@ static int sofia_presence_sub_reg_callback(void *pArg, int argc, char **argv, ch
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_add_header_string(event, SWITCH_STACK_BOTTOM, "VM-Sofia-Profile", profile->name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "VM-sub-call-id", argv[7]);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "VM-Sofia-Profile", profile->name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "VM-sub-call-id", argv[7]);
if (mod_sofia_globals.debug_presence > 0) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Create MESSAGE QUERY EVENT...\n");
@@ -1751,14 +1751,14 @@ static int sofia_presence_sub_reg_callback(void *pArg, int argc, char **argv, ch
}
if (switch_event_create(&event, SWITCH_EVENT_PRESENCE_PROBE) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "proto", SOFIA_CHAT_PROTO);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "login", profile->url);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "sip_profile", profile->name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "proto", SOFIA_CHAT_PROTO);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "login", profile->url);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "sip_profile", profile->name);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "from", "%s@%s", user, host);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "event_subtype", "probe");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "proto-specific-event-name", event_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "expires", expires);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "event_subtype", "probe");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "proto-specific-event-name", event_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "expires", expires);
sofia_event_fire(profile, &event);
}
@@ -1839,9 +1839,9 @@ static int sofia_presence_resub_callback(void *pArg, int argc, char **argv, char
}
if (do_event && switch_event_create(&event, SWITCH_EVENT_PRESENCE_IN) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "proto", proto ? proto : SOFIA_CHAT_PROTO);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "login", profile->url);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "sip_profile", profile->name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "proto", proto ? proto : SOFIA_CHAT_PROTO);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "login", profile->url);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "sip_profile", profile->name);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "from", "%s@%s", user, host);
@@ -1850,37 +1850,37 @@ static int sofia_presence_resub_callback(void *pArg, int argc, char **argv, char
}
if (!zstr(call_id)) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "call-id", call_id);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "call-id", call_id);
}
//switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "resub", "true");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "status", status);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "rpid", rpid);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
//switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "resub", "true");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "status", status);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "rpid", rpid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "event_count", "%d", 0);
if (!zstr(to_user)) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "to-user", to_user);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "to-user", to_user);
}
if (zstr(state)) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "channel-state", "CS_HANGUP");
//switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "answer-state", "resubscribe");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "channel-state", "CS_HANGUP");
//switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "answer-state", "resubscribe");
} else {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "channel-state", "CS_ROUTING");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "channel-state", "CS_ROUTING");
if (uuid) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "unique-id", uuid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "unique-id", uuid);
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "answer-state", state);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "astate", state);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "presence-call-direction", direction);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "answer-state", state);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "astate", state);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "presence-call-direction", direction);
}
if (h->event) {
for (hp = h->event->headers; hp; hp = hp->next) {
if (!strncasecmp(hp->name, "fwd-", 4)) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, hp->name + 4, hp->value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, hp->name + 4, hp->value);
}
}
}
@@ -4001,12 +4001,12 @@ void sofia_presence_handle_sip_i_subscribe(int status,
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "sending pnp NOTIFY for %s to provision to %s\n", uri, profile->pnp_prov_url);
switch_event_create(&params, SWITCH_EVENT_NOTIFY);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "profile", profile->name);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "event-string", sip->sip_event->o_type);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "to-uri", uri);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "from-uri", uri);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "extra-headers", extra_headers);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "content-type", ct);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "profile", profile->name);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "event-string", sip->sip_event->o_type);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "to-uri", uri);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "from-uri", uri);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "extra-headers", extra_headers);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "content-type", ct);
switch_event_add_body(params, "%s", profile->pnp_prov_url);
switch_event_fire(&params);
@@ -4225,14 +4225,14 @@ void sofia_presence_handle_sip_i_subscribe(int status,
switch_snprintf(sip_cseq, sizeof(sip_cseq), "%d", sip->sip_cseq->cs_seq);
switch_event_create(&event, SWITCH_EVENT_PHONE_FEATURE_SUBSCRIBE);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "user", from_user);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "host", from_host);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "contact", contact_str);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "call-id", call_id);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "expires", exp_delta_str);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "cseq", sip_cseq);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "profile_name", profile->name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "hostname", mod_sofia_globals.hostname);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "user", from_user);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "host", from_host);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "contact", contact_str);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "call-id", call_id);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "expires", exp_delta_str);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "cseq", sip_cseq);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "profile_name", profile->name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "hostname", mod_sofia_globals.hostname);
if (sip->sip_payload) {
switch_xml_t xml = NULL;
@@ -4246,43 +4246,43 @@ void sofia_presence_handle_sip_i_subscribe(int status,
switch_xml_t device = NULL;
if ((device = switch_xml_child(xml, "device"))) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "device", device->txt);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "device", device->txt);
}
if (xml->name && !strcmp(xml->name, "SetDoNotDisturb")) {
switch_xml_t action = NULL;
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Feature-Action", "SetDoNotDisturb");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Feature-Action", "SetDoNotDisturb");
if ((action = switch_xml_child(xml, "doNotDisturbOn"))) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Feature-Enabled", action->txt);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action-Name", action->name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Feature-Enabled", action->txt);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action-Name", action->name);
}
}
if (xml->name && !strcmp(xml->name, "SetForwarding")) {
switch_xml_t cfwd_type, cfwd_enable, cfwd_target;
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Feature-Action", "SetCallForward");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Feature-Action", "SetCallForward");
if ((cfwd_type = switch_xml_child(xml, "forwardingType"))
&& (cfwd_enable = switch_xml_child(xml, "activateForward"))
&& (cfwd_target = switch_xml_child(xml, "forwardDN"))) {
if (!strcmp(cfwd_type->txt, "forwardImmediate")) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Feature-Enabled", cfwd_enable->txt);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action-Name", "forward_immediate");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action-Value", cfwd_target->txt);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Feature-Enabled", cfwd_enable->txt);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action-Name", "forward_immediate");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action-Value", cfwd_target->txt);
} else if (!strcmp(cfwd_type->txt, "forwardBusy")) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Feature-Enabled", cfwd_enable->txt);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action-Name", "forward_busy");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action-Value", cfwd_target->txt);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Feature-Enabled", cfwd_enable->txt);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action-Name", "forward_busy");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action-Value", cfwd_target->txt);
} else if (!strcmp(cfwd_type->txt, "forwardNoAns")) {
switch_xml_t rc;
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Feature-Enabled", cfwd_enable->txt);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action-Name", "forward_no_answer");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action-Value", cfwd_target->txt);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Feature-Enabled", cfwd_enable->txt);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action-Name", "forward_no_answer");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Action-Value", cfwd_target->txt);
if ((rc = switch_xml_child(xml, "ringCount"))) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "ringCount", rc->txt);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "ringCount", rc->txt);
}
}
}
@@ -4316,12 +4316,12 @@ void sofia_presence_handle_sip_i_subscribe(int status,
} else if (!strcasecmp(event, "conference")) {
switch_event_t *event;
switch_event_create(&event, SWITCH_EVENT_CONFERENCE_DATA_QUERY);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Conference-Name", to_user);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Conference-Domain", to_host);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Query-From", from_user);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Query-From-Domain", from_host);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Call-Id", call_id);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Sofia-Profile", profile->name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Conference-Name", to_user);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Conference-Domain", to_host);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Query-From", from_user);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Query-From-Domain", from_host);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Call-Id", call_id);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Sofia-Profile", profile->name);
switch_event_fire(&event);
}
@@ -4338,34 +4338,34 @@ void sofia_presence_handle_sip_i_subscribe(int status,
}
if (switch_event_create(&sevent, SWITCH_EVENT_PRESENCE_IN) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(sevent, SWITCH_STACK_BOTTOM, "proto", protocol);
switch_event_add_header_string_dup(sevent, SWITCH_STACK_BOTTOM, "proto", protocol);
if (!zstr(orig_proto)) {
switch_event_add_header_string(sevent, SWITCH_STACK_BOTTOM, "orig_proto", orig_proto);
switch_event_add_header_string_dup(sevent, SWITCH_STACK_BOTTOM, "orig_proto", orig_proto);
}
switch_event_add_header_string(sevent, SWITCH_STACK_BOTTOM, "login", profile->name);
switch_event_add_header_string(sevent, SWITCH_STACK_BOTTOM, "sip_profile", profile->name);
switch_event_add_header_string_dup(sevent, SWITCH_STACK_BOTTOM, "login", profile->name);
switch_event_add_header_string_dup(sevent, SWITCH_STACK_BOTTOM, "sip_profile", profile->name);
switch_event_add_header(sevent, SWITCH_STACK_BOTTOM, "from", "%s@%s", to_user, to_host);
switch_event_add_header_string(sevent, SWITCH_STACK_BOTTOM, "rpid", "active");
switch_event_add_header_string(sevent, SWITCH_STACK_BOTTOM, "status", "Click To Call");
switch_event_add_header_string_dup(sevent, SWITCH_STACK_BOTTOM, "rpid", "active");
switch_event_add_header_string_dup(sevent, SWITCH_STACK_BOTTOM, "status", "Click To Call");
switch_event_fire(&sevent);
}
} else if (to_user && (strcasecmp(proto, SOFIA_CHAT_PROTO) != 0)) {
if (switch_event_create(&sevent, SWITCH_EVENT_PRESENCE_PROBE) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(sevent, SWITCH_STACK_BOTTOM, "proto", proto);
switch_event_add_header_string_dup(sevent, SWITCH_STACK_BOTTOM, "proto", proto);
if (!zstr(orig_proto)) {
switch_event_add_header_string(sevent, SWITCH_STACK_BOTTOM, "orig_proto", orig_proto);
switch_event_add_header_string_dup(sevent, SWITCH_STACK_BOTTOM, "orig_proto", orig_proto);
}
switch_event_add_header_string(sevent, SWITCH_STACK_BOTTOM, "login", profile->name);
switch_event_add_header_string(sevent, SWITCH_STACK_BOTTOM, "sip_profile", profile->name);
switch_event_add_header_string_dup(sevent, SWITCH_STACK_BOTTOM, "login", profile->name);
switch_event_add_header_string_dup(sevent, SWITCH_STACK_BOTTOM, "sip_profile", profile->name);
switch_event_add_header(sevent, SWITCH_STACK_BOTTOM, "from", "%s@%s", from_user, from_host);
switch_event_add_header(sevent, SWITCH_STACK_BOTTOM, "to", "%s%s%s@%s", proto, "+", to_user, to_host);
switch_event_add_header_string(sevent, SWITCH_STACK_BOTTOM, "proto-specific-event-name", event);
switch_event_add_header_string(sevent, SWITCH_STACK_BOTTOM, "expires", exp_delta_str);
switch_event_add_header_string(sevent, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string(sevent, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header_string(sevent, SWITCH_STACK_BOTTOM, "expires", exp_delta_str);
switch_event_add_header_string(sevent, SWITCH_STACK_BOTTOM, "sub-call-id", call_id);
switch_event_add_header_string_dup(sevent, SWITCH_STACK_BOTTOM, "proto-specific-event-name", event);
switch_event_add_header_string_dup(sevent, SWITCH_STACK_BOTTOM, "expires", exp_delta_str);
switch_event_add_header_string_dup(sevent, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string_dup(sevent, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header_string_dup(sevent, SWITCH_STACK_BOTTOM, "expires", exp_delta_str);
switch_event_add_header_string_dup(sevent, SWITCH_STACK_BOTTOM, "sub-call-id", call_id);
switch_event_fire(&sevent);
}
@@ -4373,33 +4373,33 @@ void sofia_presence_handle_sip_i_subscribe(int status,
if (!strcasecmp(event, "dialog")) {
if (switch_event_create(&sevent, SWITCH_EVENT_PRESENCE_PROBE) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(sevent, SWITCH_STACK_BOTTOM, "probe-type", "dialog");
switch_event_add_header_string(sevent, SWITCH_STACK_BOTTOM, "proto", SOFIA_CHAT_PROTO);
switch_event_add_header_string(sevent, SWITCH_STACK_BOTTOM, "login", profile->name);
switch_event_add_header_string(sevent, SWITCH_STACK_BOTTOM, "sip_profile", profile->name);
switch_event_add_header_string_dup(sevent, SWITCH_STACK_BOTTOM, "probe-type", "dialog");
switch_event_add_header_string_dup(sevent, SWITCH_STACK_BOTTOM, "proto", SOFIA_CHAT_PROTO);
switch_event_add_header_string_dup(sevent, SWITCH_STACK_BOTTOM, "login", profile->name);
switch_event_add_header_string_dup(sevent, SWITCH_STACK_BOTTOM, "sip_profile", profile->name);
switch_event_add_header(sevent, SWITCH_STACK_BOTTOM, "from", "%s@%s", from_user, from_host);
switch_event_add_header(sevent, SWITCH_STACK_BOTTOM, "to", "%s@%s", to_user, to_host);
switch_event_add_header_string(sevent, SWITCH_STACK_BOTTOM, "proto-specific-event-name", event);
switch_event_add_header_string(sevent, SWITCH_STACK_BOTTOM, "expires", exp_delta_str);
switch_event_add_header_string(sevent, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string(sevent, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header_string(sevent, SWITCH_STACK_BOTTOM, "expires", exp_delta_str);
switch_event_add_header_string(sevent, SWITCH_STACK_BOTTOM, "sub-call-id", call_id);
switch_event_add_header_string_dup(sevent, SWITCH_STACK_BOTTOM, "proto-specific-event-name", event);
switch_event_add_header_string_dup(sevent, SWITCH_STACK_BOTTOM, "expires", exp_delta_str);
switch_event_add_header_string_dup(sevent, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string_dup(sevent, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header_string_dup(sevent, SWITCH_STACK_BOTTOM, "expires", exp_delta_str);
switch_event_add_header_string_dup(sevent, SWITCH_STACK_BOTTOM, "sub-call-id", call_id);
switch_event_fire(&sevent);
}
} else if (!strcasecmp(event, "presence")) {
if (switch_event_create(&sevent, SWITCH_EVENT_PRESENCE_PROBE) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(sevent, SWITCH_STACK_BOTTOM, "proto", SOFIA_CHAT_PROTO);
switch_event_add_header_string(sevent, SWITCH_STACK_BOTTOM, "login", profile->name);
switch_event_add_header_string(sevent, SWITCH_STACK_BOTTOM, "sip_profile", profile->name);
switch_event_add_header_string(sevent, SWITCH_STACK_BOTTOM, "presence-source", "subscribe");
switch_event_add_header_string_dup(sevent, SWITCH_STACK_BOTTOM, "proto", SOFIA_CHAT_PROTO);
switch_event_add_header_string_dup(sevent, SWITCH_STACK_BOTTOM, "login", profile->name);
switch_event_add_header_string_dup(sevent, SWITCH_STACK_BOTTOM, "sip_profile", profile->name);
switch_event_add_header_string_dup(sevent, SWITCH_STACK_BOTTOM, "presence-source", "subscribe");
switch_event_add_header(sevent, SWITCH_STACK_BOTTOM, "from", "%s@%s", from_user, from_host);
switch_event_add_header(sevent, SWITCH_STACK_BOTTOM, "to", "%s@%s", to_user, to_host);
switch_event_add_header_string(sevent, SWITCH_STACK_BOTTOM, "expires", exp_delta_str);
switch_event_add_header_string(sevent, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header_string(sevent, SWITCH_STACK_BOTTOM, "rpid", "unknown");
switch_event_add_header_string(sevent, SWITCH_STACK_BOTTOM, "status", "Registered");
switch_event_add_header_string(sevent, SWITCH_STACK_BOTTOM, "sub-call-id", call_id);
switch_event_add_header_string_dup(sevent, SWITCH_STACK_BOTTOM, "expires", exp_delta_str);
switch_event_add_header_string_dup(sevent, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header_string_dup(sevent, SWITCH_STACK_BOTTOM, "rpid", "unknown");
switch_event_add_header_string_dup(sevent, SWITCH_STACK_BOTTOM, "status", "Registered");
switch_event_add_header_string_dup(sevent, SWITCH_STACK_BOTTOM, "sub-call-id", call_id);
switch_event_fire(&sevent);
}
}
@@ -4697,14 +4697,14 @@ void sofia_presence_handle_sip_i_publish(nua_t *nua, sofia_profile_t *profile, n
if (sub_count > 0) {
if (switch_event_create(&event, SWITCH_EVENT_PRESENCE_IN) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "proto", SOFIA_CHAT_PROTO);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "rpid", rpid);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "login", profile->url);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "sip_profile", profile->name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "user-agent", full_agent);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "proto", SOFIA_CHAT_PROTO);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "rpid", rpid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "login", profile->url);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "sip_profile", profile->name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "user-agent", full_agent);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "from", "%s@%s", from_user, from_host);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "status", note_txt);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "event_type", event_type);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "status", note_txt);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "event_type", event_type);
switch_event_fire(&event);
}
}
@@ -4890,36 +4890,36 @@ void sofia_presence_handle_sip_i_message(int status,
}
if (switch_event_create(&event, SWITCH_EVENT_MESSAGE) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "login", profile->url);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "proto", SOFIA_CHAT_PROTO);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "login", profile->url);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "proto", SOFIA_CHAT_PROTO);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "to_proto", proto);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "to_proto", proto);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "from", from_addr);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "from_user", from_user);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "from_host", from_host);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "to_user", to_user);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "to_host", to_host);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "from_sip_ip", network_ip);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "from", from_addr);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "from_user", from_user);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "from_host", from_host);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "to_user", to_user);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "to_host", to_host);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "from_sip_ip", network_ip);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "from_sip_port", "%d", network_port);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "to", to_addr);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "subject", "SIMPLE MESSAGE");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "context", profile->context);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "to", to_addr);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "subject", "SIMPLE MESSAGE");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "context", profile->context);
if (sip->sip_content_type && sip->sip_content_type->c_subtype) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", sip->sip_content_type->c_type);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", sip->sip_content_type->c_type);
} else {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "text/plain");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", "text/plain");
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "from_full", full_from);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "sip_profile", profile->name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "from_full", full_from);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "sip_profile", profile->name);
if (sip->sip_call_info) {
sip_call_info_t *call_info = sip->sip_call_info;
char *ci = sip_header_as_string(nua_handle_home(nh), (void *) call_info);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "sip_call_info", ci);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "sip_call_info", ci);
}
/* Loop thru unknown Headers Here so we can do something with them */
@@ -4930,14 +4930,14 @@ void sofia_presence_handle_sip_i_message(int status,
if (!zstr(un->un_value)) {
char *tmp_name;
if ((tmp_name = switch_mprintf("%s%s", SOFIA_SIP_HEADER_PREFIX, un->un_name))) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, tmp_name, un->un_value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, tmp_name, un->un_value);
free(tmp_name);
}
}
} else if (!strncasecmp(un->un_name, "History-Info", 12)) {
if (first_history_info) {
/* If the header exists first time, make sure to remove old info and re-set the variable */
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "sip_history_info", un->un_value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "sip_history_info", un->un_value);
first_history_info = 0;
} else {
/* Append the History-Info into one long string */
@@ -4945,19 +4945,19 @@ void sofia_presence_handle_sip_i_message(int status,
if (!zstr(history_var)) {
char *tmp_str;
if ((tmp_str = switch_mprintf("%s, %s", history_var, un->un_value))) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "sip_history_info", tmp_str);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "sip_history_info", tmp_str);
free(tmp_str);
} else {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "sip_history_info", un->un_value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "sip_history_info", un->un_value);
}
} else {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "sip_history_info", un->un_value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "sip_history_info", un->un_value);
}
}
} else if (!strcasecmp(un->un_name, "Geolocation")) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "sip_geolocation", un->un_value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "sip_geolocation", un->un_value);
} else if (!strcasecmp(un->un_name, "Geolocation-Error")) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "sip_geolocation_error", un->un_value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "sip_geolocation_error", un->un_value);
} else if (!strncasecmp(un->un_name, "X-", 2) || !strncasecmp(un->un_name, "P-", 2) || !strcasecmp(un->un_name, "User-to-User")) {
if (!zstr(un->un_value)) {
char new_name[512] = "";
@@ -4974,7 +4974,7 @@ void sofia_presence_handle_sip_i_message(int status,
continue;
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, new_name, un->un_value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, new_name, un->un_value);
break;
}
}
@@ -4994,7 +4994,7 @@ void sofia_presence_handle_sip_i_message(int status,
if (switch_event_dup(&event_dup, event) == SWITCH_STATUS_SUCCESS) {
event_dup->event_id = SWITCH_EVENT_RECV_MESSAGE;
event_dup->flags |= EF_UNIQ_HEADERS;
switch_event_add_header_string(event_dup, SWITCH_STACK_BOTTOM, "Event-Name", switch_event_name(event_dup->event_id));
switch_event_add_header_string_dup(event_dup, SWITCH_STACK_BOTTOM, "Event-Name", switch_event_name(event_dup->event_id));
switch_event_fire(&event_dup);
}
}
+158 -158
View File
@@ -154,16 +154,16 @@ void sofia_reg_fire_custom_gateway_state_event(sofia_gateway_t *gateway, int sta
{
switch_event_t *s_event;
if (switch_event_create_subclass(&s_event, SWITCH_EVENT_CUSTOM, MY_EVENT_GATEWAY_STATE) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "Gateway", gateway->name);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "State", sofia_state_string(gateway->state));
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "Ping-Status", sofia_gateway_status_name(gateway->status));
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "Gateway", gateway->name);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "State", sofia_state_string(gateway->state));
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "Ping-Status", sofia_gateway_status_name(gateway->status));
if (!zstr_buf(gateway->register_network_ip)) {
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "Register-Network-IP", gateway->register_network_ip);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "Register-Network-IP", gateway->register_network_ip);
switch_event_add_header(s_event, SWITCH_STACK_BOTTOM, "Register-Network-Port", "%d", gateway->register_network_port);
}
if (!zstr(phrase)) {
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "Phrase", phrase);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "Phrase", phrase);
}
if (status) {
switch_event_add_header(s_event, SWITCH_STACK_BOTTOM, "Status", "%d", status);
@@ -177,16 +177,16 @@ void sofia_reg_fire_custom_sip_user_state_event(sofia_profile_t *profile, const
{
switch_event_t *s_event;
if (switch_event_create_subclass(&s_event, SWITCH_EVENT_CUSTOM, MY_EVENT_SIP_USER_STATE) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "sip_contact", contact);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "profile-name", profile->name);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "sip_user", sip_user);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "from-user", from_user);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "from-host", from_host);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "call-id", call_id);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "Ping-Status", sofia_sip_user_status_name(status));
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "sip_contact", contact);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "profile-name", profile->name);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "sip_user", sip_user);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "from-user", from_user);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "from-host", from_host);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "call-id", call_id);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "Ping-Status", sofia_sip_user_status_name(status));
switch_event_add_header(s_event, SWITCH_STACK_BOTTOM, "Status", "%d", options_res);
if (!zstr(phrase)) {
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "Phrase", phrase);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "Phrase", phrase);
}
switch_event_fire(&s_event);
}
@@ -341,8 +341,8 @@ void sofia_reg_check_gateway(sofia_profile_t *profile, time_t now)
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Deleted gateway %s\n", gateway_ptr->name);
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, MY_EVENT_GATEWAY_DEL) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "profile-name", gateway_ptr->profile->name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Gateway", gateway_ptr->name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "profile-name", gateway_ptr->profile->name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Gateway", gateway_ptr->name);
switch_event_fire(&event);
}
if (gateway_ptr->ob_vars) {
@@ -724,35 +724,35 @@ int sofia_reg_del_callback(void *pArg, int argc, char **argv, char **columnNames
if (argc >= 3) {
if (switch_event_create_subclass(&s_event, SWITCH_EVENT_CUSTOM, MY_EVENT_EXPIRE) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "profile-name", argv[10]);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "call-id", argv[0]);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "user", argv[1]);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "username", argv[1]);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "host", argv[2]);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "contact", argv[3]);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "expires", argv[6]);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "user-agent", argv[7]);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "realm", argv[14]);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "network-ip", argv[11]);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "network-port", argv[12]);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "profile-name", argv[10]);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "call-id", argv[0]);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "user", argv[1]);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "username", argv[1]);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "host", argv[2]);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "contact", argv[3]);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "expires", argv[6]);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "user-agent", argv[7]);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "realm", argv[14]);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "network-ip", argv[11]);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "network-port", argv[12]);
sofia_event_fire(profile, &s_event);
}
if (switch_event_create(&s_event, SWITCH_EVENT_PRESENCE_IN) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "proto", SOFIA_CHAT_PROTO);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "rpid", "away");
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "login", profile->url);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "proto", SOFIA_CHAT_PROTO);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "rpid", "away");
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "login", profile->url);
if (argv[4]) {
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "user-agent", argv[4]);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "user-agent", argv[4]);
}
if (argv[1] && argv[2]) {
switch_event_add_header(s_event, SWITCH_STACK_BOTTOM, "from", "%s@%s", argv[1], argv[2]);
}
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "status", "Unregistered");
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "status", "Unregistered");
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "event_type", "presence");
sofia_event_fire(profile, &s_event);
}
@@ -1607,36 +1607,36 @@ uint8_t sofia_reg_handle_register_token(nua_t *nua, sofia_profile_t *profile, nu
realm = switch_event_get_header(auth_params, "sip_auth_realm");
}
if (switch_event_create_subclass(&s_event, SWITCH_EVENT_CUSTOM, MY_EVENT_REGISTER_ATTEMPT) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "profile-name", profile->name);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "from-user", to_user);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "from-host", reg_host);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "profile-name", profile->name);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "from-user", to_user);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "from-host", reg_host);
if (contact)
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "contact", contact_str);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "call-id", call_id);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "rpid", rpid);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "status", reg_desc);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "contact", contact_str);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "call-id", call_id);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "rpid", rpid);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "status", reg_desc);
if (contact)
switch_event_add_header(s_event, SWITCH_STACK_BOTTOM, "expires", "%ld", (long) exptime);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "to-user", from_user);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "to-host", from_host);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "network-ip", network_ip);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "network-port", network_port_c);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "username", username);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "realm", realm);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "user-agent", agent);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "to-user", from_user);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "to-host", from_host);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "network-ip", network_ip);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "network-port", network_port_c);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "username", username);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "realm", realm);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "user-agent", agent);
switch (auth_res) {
case AUTH_OK:
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "auth-result", "SUCCESS");
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "auth-result", "SUCCESS");
break;
case AUTH_RENEWED:
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "auth-result", "RENEWED");
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "auth-result", "RENEWED");
break;
case AUTH_STALE:
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "auth-result", "STALE");
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "auth-result", "STALE");
break;
case AUTH_FORBIDDEN:
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "auth-result", "FORBIDDEN");
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "auth-result", "FORBIDDEN");
break;
}
switch_event_fire(&s_event);
@@ -1794,14 +1794,14 @@ uint8_t sofia_reg_handle_register_token(nua_t *nua, sofia_profile_t *profile, nu
}
if (forbidden && switch_event_create_subclass(&s_event, SWITCH_EVENT_CUSTOM, MY_EVENT_REGISTER_FAILURE) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "profile-name", profile->name);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "to-user", to_user);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "to-host", to_host);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "network-ip", network_ip);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "user-agent", agent);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "profile-name", profile->name);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "network-port", network_port_c);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "registration-type", (regtype == REG_INVITE) ? "INVITE" : "REGISTER");
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "profile-name", profile->name);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "to-user", to_user);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "to-host", to_host);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "network-ip", network_ip);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "user-agent", agent);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "profile-name", profile->name);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "network-port", network_port_c);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "registration-type", (regtype == REG_INVITE) ? "INVITE" : "REGISTER");
switch_event_fire(&s_event);
}
switch_goto_int(r, 1, end);
@@ -1812,21 +1812,21 @@ uint8_t sofia_reg_handle_register_token(nua_t *nua, sofia_profile_t *profile, nu
const char *realm = profile->challenge_realm;
if (switch_event_create_subclass(&s_event, SWITCH_EVENT_CUSTOM, MY_EVENT_PRE_REGISTER) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "profile-name", profile->name);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "from-user", to_user);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "from-host", reg_host);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "profile-name", profile->name);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "from-user", to_user);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "from-host", reg_host);
if (contact)
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "contact", contact_str);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "call-id", call_id);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "rpid", rpid);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "status", reg_desc);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "contact", contact_str);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "call-id", call_id);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "rpid", rpid);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "status", reg_desc);
if (contact)
switch_event_add_header(s_event, SWITCH_STACK_BOTTOM, "expires", "%ld", (long) exptime);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "to-user", from_user);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "to-host", from_host);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "network-ip", network_ip);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "network-port", network_port_c);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "user-agent", agent);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "to-user", from_user);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "to-host", from_host);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "network-ip", network_ip);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "network-port", network_port_c);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "user-agent", agent);
switch_event_fire(&s_event);
}
@@ -2058,24 +2058,24 @@ uint8_t sofia_reg_handle_register_token(nua_t *nua, sofia_profile_t *profile, nu
if (switch_event_create_subclass(&s_event, SWITCH_EVENT_CUSTOM, MY_EVENT_REGISTER) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "profile-name", profile->name);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "from-user", to_user);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "from-host", reg_host);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "presence-hosts", profile->presence_hosts ? profile->presence_hosts : "n/a");
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "contact", contact_str);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "call-id", call_id);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "rpid", rpid);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "status", reg_desc);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "profile-name", profile->name);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "from-user", to_user);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "from-host", reg_host);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "presence-hosts", profile->presence_hosts ? profile->presence_hosts : "n/a");
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "contact", contact_str);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "call-id", call_id);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "rpid", rpid);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "status", reg_desc);
switch_event_add_header(s_event, SWITCH_STACK_BOTTOM, "expires", "%ld", (long) exptime);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "to-user", from_user);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "to-host", from_host);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "network-ip", network_ip);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "network-port", network_port_c);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "username", username);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "realm", realm);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "user-agent", agent);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "to-user", from_user);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "to-host", from_host);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "network-ip", network_ip);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "network-port", network_port_c);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "username", username);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "realm", realm);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "user-agent", agent);
if (update_registration) {
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "update-reg", "true");
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "update-reg", "true");
}
if (v_event && *v_event) {
switch_event_merge(s_event, *v_event);
@@ -2102,15 +2102,15 @@ uint8_t sofia_reg_handle_register_token(nua_t *nua, sofia_profile_t *profile, nu
sofia_reg_check_socket(profile, call_id, network_ip, network_port_c);
if (send && switch_event_create(&event, SWITCH_EVENT_PRESENCE_IN) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "proto", SOFIA_CHAT_PROTO);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "rpid", rpid);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "login", profile->url);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "user-agent",
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "proto", SOFIA_CHAT_PROTO);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "rpid", rpid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "login", profile->url);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "user-agent",
(sip && sip->sip_user_agent) ? sip->sip_user_agent->g_string : "unknown");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "from", "%s@%s", to_user, sub_host);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "status", "Unregistered");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "presence-source", "register");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "status", "Unregistered");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "presence-source", "register");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_fire(&event);
}
@@ -2168,8 +2168,8 @@ uint8_t sofia_reg_handle_register_token(nua_t *nua, sofia_profile_t *profile, nu
if (send_message_query == 2 || (reg_count == 1 && send_message_query == 1 && debounce_ok)) {
if (switch_event_create(&s_mwi_event, SWITCH_EVENT_MESSAGE_QUERY) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header(s_mwi_event, SWITCH_STACK_BOTTOM, "Message-Account", "%s:%s@%s", proto, mwi_user, mwi_host);
switch_event_add_header_string(s_mwi_event, SWITCH_STACK_BOTTOM, "VM-Sofia-Profile", profile->name);
switch_event_add_header_string(s_mwi_event, SWITCH_STACK_BOTTOM, "VM-Call-ID", call_id);
switch_event_add_header_string_dup(s_mwi_event, SWITCH_STACK_BOTTOM, "VM-Sofia-Profile", profile->name);
switch_event_add_header_string_dup(s_mwi_event, SWITCH_STACK_BOTTOM, "VM-Call-ID", call_id);
}
}
@@ -2179,23 +2179,23 @@ uint8_t sofia_reg_handle_register_token(nua_t *nua, sofia_profile_t *profile, nu
if (sofia_test_pflag(profile, PFLAG_PRESENCE_PROBE_ON_REGISTER)) {
if (switch_event_create(&s_event, SWITCH_EVENT_PRESENCE_PROBE) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "proto", SOFIA_CHAT_PROTO);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "login", profile->name);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "proto", SOFIA_CHAT_PROTO);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "login", profile->name);
switch_event_add_header(s_event, SWITCH_STACK_BOTTOM, "from", "%s@%s", to_user, sub_host);
switch_event_add_header(s_event, SWITCH_STACK_BOTTOM, "to", "%s@%s", to_user, sub_host);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "presence-source", "register");
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "presence-source", "register");
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_fire(&s_event);
}
} else {
if (switch_event_create(&s_event, SWITCH_EVENT_PRESENCE_IN) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "proto", SOFIA_CHAT_PROTO);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "login", profile->name);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "presence-source", "register");
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "proto", SOFIA_CHAT_PROTO);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "login", profile->name);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "presence-source", "register");
switch_event_add_header(s_event, SWITCH_STACK_BOTTOM, "from", "%s@%s", to_user, sub_host);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "rpid", "unknown");
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "status", "Registered");
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "rpid", "unknown");
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "status", "Registered");
switch_event_fire(&s_event);
}
}
@@ -2212,17 +2212,17 @@ uint8_t sofia_reg_handle_register_token(nua_t *nua, sofia_profile_t *profile, nu
switch_core_del_registration(to_user, reg_host, call_id);
if (switch_event_create_subclass(&s_event, SWITCH_EVENT_CUSTOM, MY_EVENT_UNREGISTER) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "profile-name", profile->name);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "username", username);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "from-user", to_user);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "from-host", reg_host);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "contact", contact_str);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "call-id", call_id);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "rpid", rpid);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "realm", realm);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "network-ip", network_ip);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "network-port", network_port_c);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "user-agent", agent);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "profile-name", profile->name);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "username", username);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "from-user", to_user);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "from-host", reg_host);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "contact", contact_str);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "call-id", call_id);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "rpid", rpid);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "realm", realm);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "network-ip", network_ip);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "network-port", network_port_c);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "user-agent", agent);
switch_event_add_header(s_event, SWITCH_STACK_BOTTOM, "expires", "%ld", (long) exptime);
if (v_event && *v_event) {
@@ -2796,10 +2796,10 @@ void sofia_reg_handle_sip_r_challenge(int status,
switch_event_create(&locate_params, SWITCH_EVENT_REQUEST_PARAMS);
switch_assert(locate_params);
switch_event_add_header_string(locate_params, SWITCH_STACK_BOTTOM, "action", "reverse-auth-lookup");
switch_event_add_header_string_dup(locate_params, SWITCH_STACK_BOTTOM, "action", "reverse-auth-lookup");
if ( sip->sip_call_id ) {
switch_event_add_header_string(locate_params, SWITCH_STACK_BOTTOM, "sip_call_id", sip->sip_call_id->i_id);
switch_event_add_header_string_dup(locate_params, SWITCH_STACK_BOTTOM, "sip_call_id", sip->sip_call_id->i_id);
}
if (switch_xml_locate_user_merged("id", sip->sip_to->a_url->url_user, sip->sip_to->a_url->url_host, NULL,
@@ -2834,9 +2834,9 @@ void sofia_reg_handle_sip_r_challenge(int status,
if (gateway) {
switch_event_t *s_event;
if (switch_event_create_subclass(&s_event, SWITCH_EVENT_CUSTOM, MY_EVENT_GATEWAY_INVALID_DIGEST_REQ) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "Gateway", gateway->name);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "profile-name", gateway->profile->name);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "realm", realm);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "Gateway", gateway->name);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "profile-name", gateway->profile->name);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "realm", realm);
switch_event_fire(&s_event);
}
}
@@ -3124,50 +3124,50 @@ auth_res_t sofia_reg_parse_auth(sofia_profile_t *profile,
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);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "sip_user_agent", user_agent);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "sip_auth_username", username);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "sip_auth_realm", realm);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "sip_auth_nonce", nonce);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "sip_auth_uri", uri);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "action", "sip_auth");
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "sip_profile", profile->name);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "sip_user_agent", user_agent);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "sip_auth_username", username);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "sip_auth_realm", realm);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "sip_auth_nonce", nonce);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "sip_auth_uri", uri);
if (sip->sip_contact) {
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "sip_contact_user", sip->sip_contact->m_url->url_user);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "sip_contact_host", sip->sip_contact->m_url->url_host);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "sip_contact_user", sip->sip_contact->m_url->url_user);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "sip_contact_host", sip->sip_contact->m_url->url_host);
}
if (sip->sip_to) {
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "sip_to_user", sip->sip_to->a_url->url_user);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "sip_to_host", sip->sip_to->a_url->url_host);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "sip_to_user", sip->sip_to->a_url->url_user);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "sip_to_host", sip->sip_to->a_url->url_host);
if (sip->sip_to->a_url->url_port) {
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "sip_to_port", sip->sip_to->a_url->url_port);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "sip_to_port", sip->sip_to->a_url->url_port);
}
}
if (sip->sip_via) {
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "sip_via_protocol", sofia_glue_transport2str(sofia_glue_via2transport(sip->sip_via)));
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "sip_via_protocol", sofia_glue_transport2str(sofia_glue_via2transport(sip->sip_via)));
}
if (sip->sip_from) {
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "sip_from_user", sip->sip_from->a_url->url_user);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "sip_from_host", sip->sip_from->a_url->url_host);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "sip_from_user", sip->sip_from->a_url->url_user);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "sip_from_host", sip->sip_from->a_url->url_host);
if (sip->sip_from->a_url->url_port) {
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "sip_from_port", sip->sip_from->a_url->url_port);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "sip_from_port", sip->sip_from->a_url->url_port);
}
}
if (sip->sip_call_id && sip->sip_call_id->i_id) {
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "sip_call_id", sip->sip_call_id->i_id);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "sip_call_id", sip->sip_call_id->i_id);
}
if (sip->sip_request) {
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "sip_request_user", sip->sip_request->rq_url->url_user);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "sip_request_host", sip->sip_request->rq_url->url_host);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "sip_request_user", sip->sip_request->rq_url->url_user);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "sip_request_host", sip->sip_request->rq_url->url_host);
if (sip->sip_request->rq_url->url_port) {
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "sip_request_port", sip->sip_request->rq_url->url_port);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "sip_request_port", sip->sip_request->rq_url->url_port);
}
}
@@ -3175,7 +3175,7 @@ auth_res_t sofia_reg_parse_auth(sofia_profile_t *profile,
if (!strncasecmp(un->un_name, "X-", 2)) {
if (!zstr(un->un_value)) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG10, "adding %s => %s to xml_curl request\n", un->un_name, un->un_value);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, un->un_name, un->un_value);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, un->un_name, un->un_value);
}
} else {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG10, "skipping %s => %s from xml_curl request\n", un->un_name, un->un_value);
@@ -3183,19 +3183,19 @@ auth_res_t sofia_reg_parse_auth(sofia_profile_t *profile,
}
if (qop) {
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "sip_auth_qop", qop);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "sip_auth_qop", qop);
}
if (cnonce) {
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "sip_auth_cnonce", cnonce);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "sip_auth_cnonce", cnonce);
}
if (nc) {
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "sip_auth_nc", nc);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "sip_auth_nc", nc);
}
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "sip_auth_response", response);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "sip_auth_response", response);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "sip_auth_method", (sip && sip->sip_request) ? sip->sip_request->rq_method_name : NULL);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "sip_auth_method", (sip && sip->sip_request) ? sip->sip_request->rq_method_name : NULL);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "client_port", client_port);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "client_port", client_port);
if (auth_params) {
switch_event_dup(auth_params, params);
}
@@ -3442,15 +3442,15 @@ auth_res_t sofia_reg_parse_auth(sofia_profile_t *profile,
switch_xml_t xparams[6];
int i = 0;
switch_event_add_header_string(*v_event, SWITCH_STACK_BOTTOM, "sip_number_alias", number_alias);
switch_event_add_header_string(*v_event, SWITCH_STACK_BOTTOM, "sip_auth_username", username);
switch_event_add_header_string(*v_event, SWITCH_STACK_BOTTOM, "sip_auth_realm", realm);
switch_event_add_header_string(*v_event, SWITCH_STACK_BOTTOM, "number_alias", number_alias);
switch_event_add_header_string(*v_event, SWITCH_STACK_BOTTOM, "user_name", username);
switch_event_add_header_string(*v_event, SWITCH_STACK_BOTTOM, "domain_name", domain_name);
switch_event_add_header_string_dup(*v_event, SWITCH_STACK_BOTTOM, "sip_number_alias", number_alias);
switch_event_add_header_string_dup(*v_event, SWITCH_STACK_BOTTOM, "sip_auth_username", username);
switch_event_add_header_string_dup(*v_event, SWITCH_STACK_BOTTOM, "sip_auth_realm", realm);
switch_event_add_header_string_dup(*v_event, SWITCH_STACK_BOTTOM, "number_alias", number_alias);
switch_event_add_header_string_dup(*v_event, SWITCH_STACK_BOTTOM, "user_name", username);
switch_event_add_header_string_dup(*v_event, SWITCH_STACK_BOTTOM, "domain_name", domain_name);
if (mwi_account) {
switch_event_add_header_string(*v_event, SWITCH_STACK_BOTTOM, "mwi-account", mwi_account);
switch_event_add_header_string_dup(*v_event, SWITCH_STACK_BOTTOM, "mwi-account", mwi_account);
}
if ((uparams = switch_xml_child(user, "params"))) {
@@ -3476,7 +3476,7 @@ auth_res_t sofia_reg_parse_auth(sofia_profile_t *profile,
if (profile->debug) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "event_add_header -> '%s' = '%s'\n", var, val);
}
switch_event_add_header_string(*v_event, SWITCH_STACK_BOTTOM, var, val);
switch_event_add_header_string_dup(*v_event, SWITCH_STACK_BOTTOM, var, val);
}
}
}
@@ -3722,8 +3722,8 @@ switch_status_t sofia_reg_add_gateway(sofia_profile_t *profile, const char *key,
switch_event_t *s_event;
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Added gateway '%s' to profile '%s'\n", gateway->name, gateway->profile->name);
if (switch_event_create_subclass(&s_event, SWITCH_EVENT_CUSTOM, MY_EVENT_GATEWAY_ADD) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "Gateway", gateway->name);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "profile-name", gateway->profile->name);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "Gateway", gateway->name);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "profile-name", gateway->profile->name);
switch_event_fire(&s_event);
}
}
+50 -50
View File
@@ -392,7 +392,7 @@ static void presence_ping(const char *event_channel)
if (switch_event_create(&event, SWITCH_EVENT_CHANNEL_CALLSTATE) == SWITCH_STATUS_SUCCESS) {
switch_channel_callstate_t callstate = switch_channel_get_callstate(channel);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Original-Channel-Call-State", switch_channel_callstate2str(callstate));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Original-Channel-Call-State", switch_channel_callstate2str(callstate));
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Channel-Call-State-Number", "%d", callstate);
switch_channel_event_set_data(channel, event);
switch_event_fire(&event);
@@ -854,7 +854,7 @@ static void set_perm(const char *str, switch_event_t **event, switch_bool_t add)
}
if (add) {
switch_event_add_header_string(*event, SWITCH_STACK_BOTTOM, cur, MARKER);
switch_event_add_header_string_dup(*event, SWITCH_STACK_BOTTOM, cur, MARKER);
} else {
switch_event_del_header(*event, cur);
}
@@ -905,7 +905,7 @@ static void check_permissions(jsock_t *jsock, switch_xml_t x_user, cJSON *params
set_perm(allowed_fsapi, &jsock->allowed_fsapi, SWITCH_TRUE);
set_perm(allowed_event_channels, &jsock->allowed_event_channels, SWITCH_TRUE);
switch_event_add_header_string(jsock->allowed_methods, SWITCH_STACK_BOTTOM, "login", MARKER);
switch_event_add_header_string_dup(jsock->allowed_methods, SWITCH_STACK_BOTTOM, "login", MARKER);
}
@@ -940,16 +940,16 @@ static void login_fire_custom_event(jsock_t *jsock, cJSON *params, int success,
switch_event_t *s_event;
if (switch_event_create_subclass(&s_event, SWITCH_EVENT_CUSTOM, MY_EVENT_LOGIN) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "verto_profile_name", jsock->profile->name);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "verto_client_address", jsock->name);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "verto_profile_name", jsock->profile->name);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "verto_client_address", jsock->name);
if (params) {
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "verto_login", cJSON_GetObjectCstr(params, "login"));
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "verto_login", cJSON_GetObjectCstr(params, "login"));
if (success) {
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "verto_sessid", cJSON_GetObjectCstr(params, "sessid"));
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "verto_sessid", cJSON_GetObjectCstr(params, "sessid"));
}
}
switch_event_add_header(s_event, SWITCH_STACK_BOTTOM, "verto_success", "%d", success);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "verto_result_txt", result_txt);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "verto_result_txt", result_txt);
switch_event_fire(&s_event);
}
}
@@ -1027,11 +1027,11 @@ static switch_bool_t check_auth(jsock_t *jsock, cJSON *params, int *code, char *
for(i = json_ptr->child; i; i = i->next) {
if (i->type == cJSON_True) {
switch_event_add_header_string(req_params, SWITCH_STACK_BOTTOM, i->string, "true");
switch_event_add_header_string_dup(req_params, SWITCH_STACK_BOTTOM, i->string, "true");
} else if (i->type == cJSON_False) {
switch_event_add_header_string(req_params, SWITCH_STACK_BOTTOM, i->string, "false");
switch_event_add_header_string_dup(req_params, SWITCH_STACK_BOTTOM, i->string, "false");
} else if (!zstr(i->string) && !zstr(i->valuestring)) {
switch_event_add_header_string(req_params, SWITCH_STACK_BOTTOM, i->string, i->valuestring);
switch_event_add_header_string_dup(req_params, SWITCH_STACK_BOTTOM, i->string, i->valuestring);
}
}
}
@@ -1043,21 +1043,21 @@ static switch_bool_t check_auth(jsock_t *jsock, cJSON *params, int *code, char *
switch_mutex_lock(jsock->flag_mutex);
for(i = json_ptr->child; i; i = i->next) {
if (i->type == cJSON_True) {
switch_event_add_header_string(jsock->user_vars, SWITCH_STACK_BOTTOM, i->string, "true");
switch_event_add_header_string_dup(jsock->user_vars, SWITCH_STACK_BOTTOM, i->string, "true");
} else if (i->type == cJSON_False) {
switch_event_add_header_string(jsock->user_vars, SWITCH_STACK_BOTTOM, i->string, "false");
switch_event_add_header_string_dup(jsock->user_vars, SWITCH_STACK_BOTTOM, i->string, "false");
} else if (!zstr(i->string) && !zstr(i->valuestring)) {
switch_event_add_header_string(jsock->user_vars, SWITCH_STACK_BOTTOM, i->string, i->valuestring);
switch_event_add_header_string_dup(jsock->user_vars, SWITCH_STACK_BOTTOM, i->string, i->valuestring);
}
}
switch_mutex_unlock(jsock->flag_mutex);
}
if (jsock->profile->send_passwd || verto_globals.send_passwd) {
switch_event_add_header_string(req_params, SWITCH_STACK_BOTTOM, "user_supplied_pass", passwd);
switch_event_add_header_string_dup(req_params, SWITCH_STACK_BOTTOM, "user_supplied_pass", passwd);
}
switch_event_add_header_string(req_params, SWITCH_STACK_BOTTOM, "action", "jsonrpc-authenticate");
switch_event_add_header_string_dup(req_params, SWITCH_STACK_BOTTOM, "action", "jsonrpc-authenticate");
if (switch_xml_locate_user_merged("id", id, domain, NULL, &x_user, req_params) != SWITCH_STATUS_SUCCESS && !jsock->profile->blind_reg) {
*code = CODE_AUTH_FAILED;
@@ -1105,7 +1105,7 @@ static switch_bool_t check_auth(jsock_t *jsock, cJSON *params, int *code, char *
verto_dialplan = val;
}
switch_event_add_header_string(jsock->params, SWITCH_STACK_BOTTOM, var, val);
switch_event_add_header_string_dup(jsock->params, SWITCH_STACK_BOTTOM, var, val);
}
}
@@ -1115,8 +1115,8 @@ static switch_bool_t check_auth(jsock_t *jsock, cJSON *params, int *code, char *
const char *val = switch_xml_attr_soft(x_param, "value");
switch_mutex_lock(jsock->flag_mutex);
switch_event_add_header_string(jsock->vars, SWITCH_STACK_BOTTOM, var, val);
switch_event_add_header_string(jsock->user_vars, SWITCH_STACK_BOTTOM, var, val);
switch_event_add_header_string_dup(jsock->vars, SWITCH_STACK_BOTTOM, var, val);
switch_event_add_header_string_dup(jsock->user_vars, SWITCH_STACK_BOTTOM, var, val);
switch_mutex_unlock(jsock->flag_mutex);
switch_clear_flag(jsock, JPFLAG_AUTH_EXPIRED);
@@ -1720,7 +1720,7 @@ static void request_headers_to_event(switch_event_t *event, kws_request_t *reque
for (i = 0; i < KWS_MAX_HEADERS; i++) {
if (!request->headers_k[i]) break;
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, request->headers_k[i], request->headers_v[i]);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, request->headers_k[i], request->headers_v[i]);
}
}
@@ -1814,8 +1814,8 @@ new_req:
stream.raw_write_function = http_stream_raw_write;
request_headers_to_event(stream.param_event, request);
switch_event_add_header_string(stream.param_event, SWITCH_STACK_BOTTOM, "Request-Method", request->method);
switch_event_add_header_string(stream.param_event, SWITCH_STACK_BOTTOM, "HTTP-Request-URI", request->uri);
switch_event_add_header_string_dup(stream.param_event, SWITCH_STACK_BOTTOM, "Request-Method", request->method);
switch_event_add_header_string_dup(stream.param_event, SWITCH_STACK_BOTTOM, "HTTP-Request-URI", request->uri);
if (!jsock->profile->vhosts) goto err;
@@ -1882,7 +1882,7 @@ new_req:
authed:
switch_set_flag(jsock, JPFLAG_AUTHED);
switch_event_add_header_string(stream.param_event, SWITCH_STACK_BOTTOM, "HTTP-USER", auth_user);
switch_event_add_header_string_dup(stream.param_event, SWITCH_STACK_BOTTOM, "HTTP-USER", auth_user);
}
if (vhost->rewrites) {
@@ -1905,7 +1905,7 @@ authed:
}
}
switch_event_add_header_string(stream.param_event, SWITCH_STACK_BOTTOM, "HTTP-URI", request->uri);
switch_event_add_header_string_dup(stream.param_event, SWITCH_STACK_BOTTOM, "HTTP-URI", request->uri);
if ((ext = strrchr(request->uri, '.'))) {
char path[1024];
@@ -2180,9 +2180,9 @@ static void *SWITCH_THREAD_FUNC client_thread(switch_thread_t *thread, void *obj
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%s Ending client thread.\n", jsock->name);
if (switch_event_create_subclass(&s_event, SWITCH_EVENT_CUSTOM, MY_EVENT_CLIENT_DISCONNECT) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "verto_profile_name", jsock->profile->name);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "verto_client_address", jsock->name);
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "verto_login", switch_str_nil(jsock->uid));
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "verto_profile_name", jsock->profile->name);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "verto_client_address", jsock->name);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "verto_login", switch_str_nil(jsock->uid));
switch_event_fire(&s_event);
}
switch_thread_rwlock_wrlock(jsock->rwlock);
@@ -3775,8 +3775,8 @@ static switch_bool_t verto__info_func(const char *method, cJSON *params, jsock_t
json_text = cJSON_PrintUnformatted(jevent);
switch_assert(json_text);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "content-type", "text/json");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "content-source", "verto");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "content-type", "text/json");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "content-source", "verto");
switch_event_add_body(event, "%s", json_text);
switch_safe_free(json_text);
@@ -3873,27 +3873,27 @@ static switch_bool_t verto__info_func(const char *method, cJSON *params, jsock_t
}
if (!zstr(to) && !zstr(body) && switch_event_create(&event, SWITCH_EVENT_MESSAGE) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "proto", VERTO_CHAT_PROTO);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "proto", VERTO_CHAT_PROTO);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "from", jsock->uid);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "from_user", jsock->id);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "from_host", jsock->domain);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "from", jsock->uid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "from_user", jsock->id);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "from_host", jsock->domain);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "to", to);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "text/plain");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "from_full", jsock->id);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "verto_profile", jsock->profile->name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "verto_jsock_uuid", jsock->uuid_str);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "to", to);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", "text/plain");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "from_full", jsock->id);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "verto_profile", jsock->profile->name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "verto_jsock_uuid", jsock->uuid_str);
for(i = msg->child; i; i = i->next) {
if (!zstr(i->string) && !zstr(i->valuestring) && (!strncasecmp(i->string, "from_", 5) || !strncasecmp(i->string, "to_", 3))) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, i->string, i->valuestring);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, i->string, i->valuestring);
}
}
if (is_dialog) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "call_id", call_id);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "call_id", call_id);
}
switch_event_add_body(event, "%s", body);
@@ -3987,7 +3987,7 @@ static switch_bool_t verto__invite_func(const char *method, cJSON *params, jsock
err = 1; goto cleanup;
}
switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, "origination_uuid", call_id);
switch_event_add_header_string_dup(var_event, SWITCH_STACK_BOTTOM, "origination_uuid", call_id);
if ((reason = switch_core_session_outgoing_channel(NULL, var_event, "rtc",
NULL, &session, NULL, SOF_NONE, &cancel_cause)) != SWITCH_CAUSE_SUCCESS) {
@@ -4129,7 +4129,7 @@ static switch_bool_t verto__invite_func(const char *method, cJSON *params, jsock
}
} else if (caller_id_name) {
if (!switch_event_get_header(jsock->params, "caller-id-name")) {
switch_event_add_header_string(jsock->params, SWITCH_STACK_BOTTOM, "caller-id-name", caller_id_name);
switch_event_add_header_string_dup(jsock->params, SWITCH_STACK_BOTTOM, "caller-id-name", caller_id_name);
}
}
@@ -4474,7 +4474,7 @@ static switch_bool_t login_func(const char *method, cJSON *params, jsock_t *jsoc
switch_mutex_lock(jsock->flag_mutex);
if ((var = switch_event_get_header(jsock->vars, "moderator")) && switch_true(var)) {
cJSON_AddItemToObject(*response, "moderator", cJSON_CreateTrue());
switch_event_add_header_string(jsock->vars, SWITCH_STACK_BOTTOM, "conf_mvar_moderator", "true");
switch_event_add_header_string_dup(jsock->vars, SWITCH_STACK_BOTTOM, "conf_mvar_moderator", "true");
}
if ((var = switch_event_get_header(jsock->vars, "stereo_audio")) && switch_true(var)) {
@@ -4482,7 +4482,7 @@ static switch_bool_t login_func(const char *method, cJSON *params, jsock_t *jsoc
}
if ((var = switch_event_get_header(jsock->vars, "superuser")) && switch_true(var)) {
switch_event_add_header_string(jsock->vars, SWITCH_STACK_BOTTOM, "conf_mvar_superuser", "true");
switch_event_add_header_string_dup(jsock->vars, SWITCH_STACK_BOTTOM, "conf_mvar_superuser", "true");
cJSON_AddItemToObject(*response, "superuser", cJSON_CreateTrue());
}
switch_mutex_unlock(jsock->flag_mutex);
@@ -4712,7 +4712,7 @@ static int start_jsock(verto_profile_t *profile, ks_socket_t sock, int family)
jsock->name, jsock->remote_host, jsock->remote_port);
if (switch_event_create_subclass(&s_event, SWITCH_EVENT_CUSTOM, MY_EVENT_CLIENT_CONNECT) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "verto_profile_name", profile->name);
switch_event_add_header_string_dup(s_event, SWITCH_STACK_BOTTOM, "verto_profile_name", profile->name);
switch_event_add_header(s_event, SWITCH_STACK_BOTTOM, "verto_client_address", "%s", jsock->name);
switch_event_fire(&s_event);
}
@@ -5408,7 +5408,7 @@ static switch_status_t parse_config(const char *cf)
if (zstr(expr)) continue;
switch_event_add_header_string(vhost->rewrites, SWITCH_STACK_BOTTOM, expr, val);
switch_event_add_header_string_dup(vhost->rewrites, SWITCH_STACK_BOTTOM, expr, val);
}
}
} // rewrites
@@ -6060,14 +6060,14 @@ static switch_call_cause_t verto_outgoing_channel(switch_core_session_t *session
if (!switch_stristr("u:", dest)) {
char *dial_str = verto_get_dial_string(dest, NULL);
switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, "verto_orig_dest", dest);
switch_event_add_header_string_dup(var_event, SWITCH_STACK_BOTTOM, "verto_orig_dest", dest);
if (zstr(switch_event_get_header(var_event, "origination_callee_id_number"))) {
char *p;
char *trimmed_dest = strdup(dest);
switch_assert(trimmed_dest);
p = strchr(trimmed_dest, '@');
if (p) *p = '\0';
switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, "origination_callee_id_number", trimmed_dest);
switch_event_add_header_string_dup(var_event, SWITCH_STACK_BOTTOM, "origination_callee_id_number", trimmed_dest);
free(trimmed_dest);
}
@@ -6101,10 +6101,10 @@ static switch_call_cause_t verto_outgoing_channel(switch_core_session_t *session
if (dialed_domain) {
switch_event_add_header(var_event, SWITCH_STACK_BOTTOM, "verto_orig_dest", "%s@%s", dialed_user, dialed_domain);
} else {
switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, "verto_orig_dest", dialed_user);
switch_event_add_header_string_dup(var_event, SWITCH_STACK_BOTTOM, "verto_orig_dest", dialed_user);
}
if (zstr(switch_event_get_header(var_event, "origination_callee_id_number"))) {
switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, "origination_callee_id_number", dialed_user);
switch_event_add_header_string_dup(var_event, SWITCH_STACK_BOTTOM, "origination_callee_id_number", dialed_user);
outbound_profile->callee_id_number = switch_sanitize_number(switch_core_strdup(outbound_profile->pool, dialed_user));
}
}
@@ -84,16 +84,16 @@ static void *SWITCH_THREAD_FUNC api_exec(switch_thread_t *thread, void *obj)
if (switch_event_create(&event, SWITCH_EVENT_BACKGROUND_JOB) == SWITCH_STATUS_SUCCESS) {
ei_x_buff ebuf;
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Job-UUID", acs->uuid_str);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Job-Command", acs->api_cmd);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Job-UUID", acs->uuid_str);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Job-Command", acs->api_cmd);
ei_x_new_with_version(&ebuf);
if (acs->arg) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Job-Command-Arg", acs->arg);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Job-Command-Arg", acs->arg);
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Job-Successful", r ? "true" : "false");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Job-Successful", r ? "true" : "false");
switch_event_add_body(event, "%s", reply);
switch_event_fire(&event);
@@ -373,7 +373,7 @@ static switch_status_t handle_msg_filter(listener_t *listener, int arity, ei_x_b
*header_val++ = '\0';
}
}
switch_event_add_header_string(listener->filters, SWITCH_STACK_BOTTOM, header_name, header_val);
switch_event_add_header_string_dup(listener->filters, SWITCH_STACK_BOTTOM, header_name, header_val);
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "+OK filter added. [%s]=[%s]", header_name, header_val);
ei_x_encode_tuple_header(rbuf, 3);
_ei_x_encode_string(rbuf, "added");
@@ -663,8 +663,8 @@ static switch_status_t notify_new_session(listener_t *listener, session_elem_t *
switch_channel_event_set_data(channel, call_event);
switch_core_session_rwunlock(session);
/* TODO reply? sure? */
switch_event_add_header_string(call_event, SWITCH_STACK_BOTTOM, "Content-Type", "command/reply");
switch_event_add_header_string(call_event, SWITCH_STACK_BOTTOM, "Reply-Text", "+OK\n");
switch_event_add_header_string_dup(call_event, SWITCH_STACK_BOTTOM, "Content-Type", "command/reply");
switch_event_add_header_string_dup(call_event, SWITCH_STACK_BOTTOM, "Reply-Text", "+OK\n");
ei_x_new_with_version(&lbuf);
ei_x_encode_tuple_header(&lbuf, 2);
@@ -721,7 +721,7 @@ static switch_status_t check_attached_sessions(listener_t *listener, int *msgs_s
if (status != SWITCH_STATUS_SUCCESS) {
switch_log_printf(SWITCH_CHANNEL_UUID_LOG(sp->uuid_str), SWITCH_LOG_DEBUG, "Notifying new session failed\n");
/* mark this session for removal */
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "delete", (const char *) key);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "delete", (const char *) key);
continue;
}
switch_set_flag_locked(sp, LFLAG_OUTBOUND_INIT);
@@ -767,7 +767,7 @@ static switch_status_t check_attached_sessions(listener_t *listener, int *msgs_s
switch_mutex_unlock(listener->sock_mutex);
ei_x_free(&ebuf);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "delete", (const char *) key);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "delete", (const char *) key);
continue;
} else if (switch_queue_trypop(sp->event_queue, &pop) == SWITCH_STATUS_SUCCESS) {
@@ -496,13 +496,13 @@ static void event_handler(switch_event_t *event)
switch_event_t *local_event;
if (switch_event_create_subclass(&local_event, SWITCH_EVENT_CUSTOM, MULTICAST_PEERUP) == SWITCH_STATUS_SUCCESS) {
char lastseen[21];
switch_event_add_header_string(local_event, SWITCH_STACK_BOTTOM, "Peer", sender);
switch_event_add_header_string_dup(local_event, SWITCH_STACK_BOTTOM, "Peer", sender);
if (p->lastseen) {
switch_snprintf(lastseen, sizeof(lastseen), "%d", (int) p->lastseen);
} else {
switch_snprintf(lastseen, sizeof(lastseen), "%s", "Never");
}
switch_event_add_header_string(local_event, SWITCH_STACK_BOTTOM, "Lastseen", lastseen);
switch_event_add_header_string_dup(local_event, SWITCH_STACK_BOTTOM, "Lastseen", lastseen);
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Peer %s has come up; last seen: %s\n", sender, lastseen);
switch_event_fire(&local_event);
@@ -576,9 +576,9 @@ static void event_handler(switch_event_t *event)
last->active = SWITCH_FALSE;
if (switch_event_create_subclass(&local_event, SWITCH_EVENT_CUSTOM, MULTICAST_PEERDOWN) == SWITCH_STATUS_SUCCESS) {
char lastseen[21];
switch_event_add_header_string(local_event, SWITCH_STACK_BOTTOM, "Peer", host);
switch_event_add_header_string_dup(local_event, SWITCH_STACK_BOTTOM, "Peer", host);
switch_snprintf(lastseen, sizeof(lastseen), "%d", (int) last->lastseen);
switch_event_add_header_string(local_event, SWITCH_STACK_BOTTOM, "Lastseen", lastseen);
switch_event_add_header_string_dup(local_event, SWITCH_STACK_BOTTOM, "Lastseen", lastseen);
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Peer %s has gone down; last seen: %s\n", host, lastseen);
switch_event_fire(&local_event);
@@ -604,7 +604,7 @@ static void event_handler(switch_event_t *event)
case SWITCH_EVENT_LOG:
return;
default:
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Multicast-Sender", switch_core_get_switchname());
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Multicast-Sender", switch_core_get_switchname());
if (switch_event_serialize(event, &packet, SWITCH_TRUE) == SWITCH_STATUS_SUCCESS) {
size_t len;
char *buf;
@@ -760,7 +760,7 @@ static switch_status_t process_packet(char* packet, size_t len)
/*switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "\nEVENT %d\n--------------------------------\n%s\n", (int) len, packet); */
if (switch_event_create_subclass(&local_event, SWITCH_EVENT_CUSTOM, MULTICAST_EVENT) == SWITCH_STATUS_SUCCESS) {
char *var, *val, *term = NULL, tmpname[128];
switch_event_add_header_string(local_event, SWITCH_STACK_BOTTOM, "Multicast", "yes");
switch_event_add_header_string_dup(local_event, SWITCH_STACK_BOTTOM, "Multicast", "yes");
var = packet;
while (var && *var) {
if ((val = strchr(var, ':')) != 0) {
@@ -776,7 +776,7 @@ static switch_status_t process_packet(char* packet, size_t len)
}
switch_url_decode(val);
switch_snprintf(tmpname, sizeof(tmpname), "Orig-%s", var);
switch_event_add_header_string(local_event, SWITCH_STACK_BOTTOM, tmpname, val);
switch_event_add_header_string_dup(local_event, SWITCH_STACK_BOTTOM, tmpname, val);
var = term + 1;
} else {
/* This should be our magic packet, done processing incoming headers */
@@ -800,7 +800,7 @@ SWITCH_STANDARD_API(event_sink_function)
stream->write_function(stream, "<data><reply type=\"error\">Invalid Syntax</reply></data>\n");
goto filter_end;
}
switch_event_add_header_string(listener->filters, SWITCH_STACK_BOTTOM, header_name, header_val);
switch_event_add_header_string_dup(listener->filters, SWITCH_STACK_BOTTOM, header_name, header_val);
stream->write_function(stream, "<data>\n <reply type=\"success\">filter added.</reply>\n<api-command>\n");
} else {
stream->write_function(stream, "<data><reply type=\"error\">Invalid Syntax</reply></data>\n");
@@ -1297,7 +1297,7 @@ static switch_status_t read_packet(listener_t *listener, switch_event_t **event,
count++;
if (count == 1) {
switch_event_create(event, SWITCH_EVENT_CLONE);
switch_event_add_header_string(*event, SWITCH_STACK_BOTTOM, "Command", mbuf);
switch_event_add_header_string_dup(*event, SWITCH_STACK_BOTTOM, "Command", mbuf);
} else if (cur) {
char *var, *val;
var = cur;
@@ -1310,7 +1310,7 @@ static switch_status_t read_packet(listener_t *listener, switch_event_t **event,
}
}
if (val) {
switch_event_add_header_string(*event, SWITCH_STACK_BOTTOM, var, val);
switch_event_add_header_string_dup(*event, SWITCH_STACK_BOTTOM, var, val);
if (!strcasecmp(var, "content-length")) {
clen = atoi(val);
@@ -1570,11 +1570,11 @@ static void *SWITCH_THREAD_FUNC api_exec(switch_thread_t *thread, void *obj)
switch_event_t *event;
if (switch_event_create(&event, SWITCH_EVENT_BACKGROUND_JOB) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Job-UUID", acs->uuid_str);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Job-Owner-UUID", acs->bg_owner_uuid_str);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Job-Command", acs->api_cmd);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Job-UUID", acs->uuid_str);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Job-Owner-UUID", acs->bg_owner_uuid_str);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Job-Command", acs->api_cmd);
if (acs->arg) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Job-Command-Arg", acs->arg);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Job-Command-Arg", acs->arg);
}
switch_event_add_body(event, "%s", reply);
switch_event_fire(&event);
@@ -1807,7 +1807,7 @@ static switch_status_t parse_command(listener_t *listener, switch_event_t **even
switch_event_create(&params, SWITCH_EVENT_REQUEST_PARAMS);
switch_assert(params);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "action", "event_socket_auth");
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "action", "event_socket_auth");
if (switch_xml_locate_user("id", user, domain_name, NULL, &x_domain_root, &x_domain, &x_user, &x_group, params) == SWITCH_STATUS_SUCCESS) {
switch_xml_t list[3];
@@ -1990,7 +1990,7 @@ static switch_status_t parse_command(listener_t *listener, switch_event_t **even
*header_val++ = '\0';
}
}
switch_event_add_header_string(listener->filters, SWITCH_STACK_BOTTOM, header_name, header_val);
switch_event_add_header_string_dup(listener->filters, SWITCH_STACK_BOTTOM, header_name, header_val);
switch_snprintf(reply, reply_len, "+OK filter added. [%s]=[%s]", header_name, header_val);
} else {
switch_snprintf(reply, reply_len, "-ERR invalid syntax");
@@ -2026,10 +2026,10 @@ static switch_status_t parse_command(listener_t *listener, switch_event_t **even
switch_caller_profile_event_set_data(switch_channel_get_caller_profile(channel), "Channel", call_event);
switch_channel_event_set_data(channel, call_event);
}
switch_event_add_header_string(call_event, SWITCH_STACK_BOTTOM, "Content-Type", "command/reply");
switch_event_add_header_string(call_event, SWITCH_STACK_BOTTOM, "Reply-Text", "+OK\n");
switch_event_add_header_string(call_event, SWITCH_STACK_BOTTOM, "Socket-Mode", switch_test_flag(listener, LFLAG_ASYNC) ? "async" : "static");
switch_event_add_header_string(call_event, SWITCH_STACK_BOTTOM, "Control", switch_test_flag(listener, LFLAG_FULL) ? "full" : "single-channel");
switch_event_add_header_string_dup(call_event, SWITCH_STACK_BOTTOM, "Content-Type", "command/reply");
switch_event_add_header_string_dup(call_event, SWITCH_STACK_BOTTOM, "Reply-Text", "+OK\n");
switch_event_add_header_string_dup(call_event, SWITCH_STACK_BOTTOM, "Socket-Mode", switch_test_flag(listener, LFLAG_ASYNC) ? "async" : "static");
switch_event_add_header_string_dup(call_event, SWITCH_STACK_BOTTOM, "Control", switch_test_flag(listener, LFLAG_FULL) ? "full" : "single-channel");
switch_event_serialize(call_event, &event_str, SWITCH_TRUE);
switch_assert(event_str);
@@ -2238,7 +2238,7 @@ static switch_status_t parse_command(listener_t *listener, switch_event_t **even
char uuid_str[SWITCH_UUID_FORMATTED_LENGTH + 1];
switch_uuid_str(uuid_str, sizeof(uuid_str));
switch_event_add_header_string(*event, SWITCH_STACK_BOTTOM, "Event-UUID", uuid_str);
switch_event_add_header_string_dup(*event, SWITCH_STACK_BOTTOM, "Event-UUID", uuid_str);
strip_cr(cmd);
@@ -267,7 +267,7 @@ static size_t header_callback(char *buffer, size_t size, size_t nitems, void *us
char buf[1024];
if(len > 2 && len < 1024) {
snprintf(buf, sizeof(buf), "%s", buffer);
switch_event_add_header_string(event, SWITCH_STACK_PUSH | SWITCH_STACK_BOTTOM, "Reply-Headers", buf);
switch_event_add_header_string_dup(event, SWITCH_STACK_PUSH | SWITCH_STACK_BOTTOM, "Reply-Headers", buf);
}
return nitems * size;
}
@@ -538,8 +538,8 @@ SWITCH_STANDARD_API(kz_contact_fun)
switch_event_create(&params, SWITCH_EVENT_REQUEST_PARAMS);
switch_assert(params);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "action", "call");
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "Fetch-Exclude-Cache", "true");
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "action", "call");
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "Fetch-Exclude-Cache", "true");
/*
if (stream->param_event) {
@@ -549,9 +549,9 @@ SWITCH_STANDARD_API(kz_contact_fun)
/*
if (session) {
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "Fetch-Call-UUID", switch_core_session_get_uuid(session));
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "Fetch-Call-UUID", switch_core_session_get_uuid(session));
} else if (stream->param_event && (var = switch_event_get_header(stream->param_event, "ent_originate_aleg_uuid")) != NULL) {
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "Fetch-Call-UUID", var);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "Fetch-Call-UUID", var);
}
*/
@@ -183,7 +183,7 @@ SWITCH_STANDARD_APP(prefix_unset_function)
const char *name = ei->name;
char *value = ei->value;
if (!strncasecmp(name, arg, strlen(arg))) {
switch_event_add_header_string(clear, SWITCH_STACK_BOTTOM, name, value);
switch_event_add_header_string_dup(clear, SWITCH_STACK_BOTTOM, name, value);
}
}
@@ -885,7 +885,7 @@ void *SWITCH_THREAD_FUNC kz_att_thread_run(switch_thread_t *thread, void *obj)
b_channel = switch_core_session_get_channel(b_session);
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, "sofia::transferee") == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(b_channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "att_xfer_replaced_call_id", switch_core_session_get_uuid(peer_session));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "att_xfer_replaced_call_id", switch_core_session_get_uuid(peer_session));
switch_event_fire(&event);
}
@@ -862,7 +862,7 @@ static void fetch_config_filters(switch_memory_pool_t *pool)
switch_event_t *params;
switch_event_create(&params, SWITCH_EVENT_REQUEST_PARAMS);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "Action", "request-filter");
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "Action", "request-filter");
if (!(xml = switch_xml_open_cfg(cf, &cfg, params))) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Failed to open configuration file %s\n", cf);
@@ -898,7 +898,7 @@ static void fetch_config_handlers(switch_memory_pool_t *pool)
switch_event_t *params;
switch_event_create(&params, SWITCH_EVENT_REQUEST_PARAMS);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "Action", "request-handlers");
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "Action", "request-handlers");
if (!(xml = switch_xml_open_cfg(cf, &cfg, params))) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Failed to open configuration file %s\n", cf);
@@ -52,7 +52,7 @@ static void kz_tweaks_variables_to_event(switch_core_session_t *session, switch_
switch_channel_t *channel = switch_core_session_get_channel(session);
for(i = 0; x_bridge_variables[i] != NULL; i++) {
const char *val = switch_channel_get_variable_dup(channel, x_bridge_variables[i], SWITCH_FALSE, -1);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, x_bridge_variables[i], val);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, x_bridge_variables[i], val);
}
}
@@ -113,10 +113,10 @@ static switch_call_cause_t kz_endpoint_outgoing_channel(switch_core_session_t *s
switch_event_create(&params, SWITCH_EVENT_REQUEST_PARAMS);
switch_assert(params);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "as_channel", "true");
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "action", "user_call");
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "as_channel", "true");
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "action", "user_call");
if (session) {
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "Unique-ID", switch_core_session_get_uuid(session));
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "Unique-ID", switch_core_session_get_uuid(session));
}
if (var_event) {
@@ -156,7 +156,7 @@ static switch_call_cause_t kz_endpoint_outgoing_channel(switch_core_session_t *s
} else {
switch_event_del_header(var_event, pvar);
}
switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, pvar, val);
switch_event_add_header_string_dup(var_event, SWITCH_STACK_BOTTOM, pvar, val);
}
}
@@ -178,7 +178,7 @@ static switch_call_cause_t kz_endpoint_outgoing_channel(switch_core_session_t *s
switch_event_del_header(var_event, pvar + 9);
}
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "adding dialog var to var_event => %s = %s\n", pvar + 9, val);
switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, pvar + 9, val);
switch_event_add_header_string_dup(var_event, SWITCH_STACK_BOTTOM, pvar + 9, val);
}
}
}
@@ -241,8 +241,8 @@ static switch_call_cause_t kz_endpoint_outgoing_channel(switch_core_session_t *s
dialed_user = (char *)switch_xml_attr(x_user, "id");
if (var_event) {
switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, "dialed_user", dialed_user);
switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, "dialed_domain", domain);
switch_event_add_header_string_dup(var_event, SWITCH_STACK_BOTTOM, "dialed_user", dialed_user);
switch_event_add_header_string_dup(var_event, SWITCH_STACK_BOTTOM, "dialed_domain", domain);
}
if (!dest) {
@@ -293,8 +293,8 @@ static switch_call_cause_t kz_endpoint_outgoing_channel(switch_core_session_t *s
switch_assert(event);
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "dialed_user", dialed_user);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "dialed_domain", domain);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "dialed_user", dialed_user);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "dialed_domain", domain);
}
if ((x_params = switch_xml_child(x_user, "profile-variables"))) {
@@ -302,7 +302,7 @@ static switch_call_cause_t kz_endpoint_outgoing_channel(switch_core_session_t *s
const char *pvar = switch_xml_attr_soft(x_param, "name");
const char *val = switch_xml_attr(x_param, "value");
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "adding profile variable to event => %s = %s\n", pvar, val);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, pvar, val);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, pvar, val);
}
}
@@ -311,7 +311,7 @@ static switch_call_cause_t kz_endpoint_outgoing_channel(switch_core_session_t *s
const char *pvar = switch_xml_attr_soft(x_param, "name");
const char *val = switch_xml_attr(x_param, "value");
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "adding variable to event => %s = %s\n", pvar, val);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, pvar, val);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, pvar, val);
}
}
@@ -323,7 +323,7 @@ static switch_call_cause_t kz_endpoint_outgoing_channel(switch_core_session_t *s
if (!strncasecmp(pvar, "dial-var-", 9)) {
switch_event_del_header(event, pvar + 9);
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "adding dialog var to event => %s = %s\n", pvar + 9, val);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, pvar + 9, val);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, pvar + 9, val);
}
}
}
@@ -103,10 +103,10 @@ static switch_status_t kazoo_event_dup(switch_event_t **clone, switch_event_t *e
if (header->idx) {
int i;
for (i = 0; i < header->idx; i++) {
switch_event_add_header_string(*clone, SWITCH_STACK_PUSH, header->name, header->array[i]);
switch_event_add_header_string_dup(*clone, SWITCH_STACK_PUSH, header->name, header->array[i]);
}
} else {
switch_event_add_header_string(*clone, SWITCH_STACK_BOTTOM, header->name, header->value);
switch_event_add_header_string_dup(*clone, SWITCH_STACK_BOTTOM, header->name, header->value);
}
}
@@ -201,8 +201,8 @@ static void event_handler(switch_event_t *event) {
ei_x_encode_version(ebuf);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Target-Node", event_binding->stream->node->peer_nodename);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Switch-Nodename", kazoo_globals.ei_cnode.thisnodename);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Target-Node", event_binding->stream->node->peer_nodename);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Switch-Nodename", kazoo_globals.ei_cnode.thisnodename);
if(event_stream->node->legacy) {
res = encode_event_old(event, ebuf);
@@ -162,7 +162,7 @@ static switch_xml_t fetch_handler(const char *section, const char *tag_name, con
}
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Switch-Nodename", kazoo_globals.ei_cnode.thisnodename);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Switch-Nodename", kazoo_globals.ei_cnode.thisnodename);
/* prepare the reply collector */
switch_uuid_get(&uuid);
@@ -188,16 +188,16 @@ static switch_xml_t fetch_handler(const char *section, const char *tag_name, con
}
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Fetch-UUID", reply.uuid_str);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Fetch-Section", section);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Fetch-Tag", tag_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Fetch-Key-Name", key_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Fetch-Key-Value", key_value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Fetch-UUID", reply.uuid_str);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Fetch-Section", section);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Fetch-Tag", tag_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Fetch-Key-Name", key_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Fetch-Key-Value", key_value);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Fetch-Timeout", "%u", profile->fetch_timeout);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Fetch-Timestamp-Micro", "%" SWITCH_UINT64_T_FMT, (uint64_t)now);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Kazoo-Version", VERSION);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Kazoo-Bundle", BUNDLE);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Kazoo-Release", RELEASE);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Kazoo-Version", VERSION);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Kazoo-Bundle", BUNDLE);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Kazoo-Release", RELEASE);
kz_event_decode(event);
@@ -229,13 +229,13 @@ SWITCH_DECLARE(switch_status_t) kazoo_api_execute(const char *cmd, const char *a
if (stream->param_event) {
if (cmd_used && *cmd_used) {
switch_event_add_header_string(stream->param_event, SWITCH_STACK_BOTTOM, "API-Command", cmd_used);
switch_event_add_header_string_dup(stream->param_event, SWITCH_STACK_BOTTOM, "API-Command", cmd_used);
}
if (arg_used && *arg_used) {
switch_event_add_header_string(stream->param_event, SWITCH_STACK_BOTTOM, "API-Command-Argument", arg_used);
switch_event_add_header_string_dup(stream->param_event, SWITCH_STACK_BOTTOM, "API-Command-Argument", arg_used);
}
if (arg_expanded && *arg_expanded) {
switch_event_add_header_string(stream->param_event, SWITCH_STACK_BOTTOM, "API-Command-Argument-Expanded", arg_expanded);
switch_event_add_header_string_dup(stream->param_event, SWITCH_STACK_BOTTOM, "API-Command-Argument-Expanded", arg_expanded);
}
}
@@ -706,7 +706,7 @@ static switch_status_t handle_request_command(ei_node_t *ei_node, erlang_pid *pi
}
log_sendmsg_request(uuid_str, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "event-uuid", cmd_uuid_str);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "event-uuid", cmd_uuid_str);
switch_core_session_queue_private_event(session, &event, SWITCH_FALSE);
switch_core_session_rwunlock(session);
@@ -746,9 +746,9 @@ static switch_status_t handle_request_commands(ei_node_t *ei_node, erlang_pid *p
}
log_sendmsg_request(uuid_str, event);
if(n == (propslist_length - 1)) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "event-uuid", cmd_uuid_str);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "event-uuid", cmd_uuid_str);
} else {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "event-uuid", "null");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "event-uuid", "null");
// switch_event_del_header_val(event, "event-uuid-name", NULL);
}
switch_core_session_queue_private_event(session, &event, SWITCH_FALSE);
@@ -67,8 +67,8 @@ static switch_status_t kz_tweaks_signal_bridge_on_hangup(switch_core_session_t *
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "tweak signal bridge on hangup: %s , %s\n", switch_core_session_get_uuid(session), peer_uuid);
if (switch_event_create(&my_event, SWITCH_EVENT_CHANNEL_UNBRIDGE) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(my_event, SWITCH_STACK_BOTTOM, "Bridge-A-Unique-ID", switch_core_session_get_uuid(session));
switch_event_add_header_string(my_event, SWITCH_STACK_BOTTOM, "Bridge-B-Unique-ID", peer_uuid);
switch_event_add_header_string_dup(my_event, SWITCH_STACK_BOTTOM, "Bridge-A-Unique-ID", switch_core_session_get_uuid(session));
switch_event_add_header_string_dup(my_event, SWITCH_STACK_BOTTOM, "Bridge-B-Unique-ID", peer_uuid);
switch_channel_event_set_data(channel, my_event);
switch_event_fire(&my_event);
}
@@ -148,9 +148,9 @@ static void kz_tweaks_handle_bridge_replaces_call_id(switch_event_t *event)
if (call_id && (call_session = switch_core_session_locate(call_id)) != NULL) {
switch_channel_t *call_channel = switch_core_session_get_channel(call_session);
if (switch_event_create(&my_event, SWITCH_EVENT_CHANNEL_BRIDGE) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(my_event, SWITCH_STACK_BOTTOM, "Bridge-A-Unique-ID", switch_core_session_get_uuid(call_session));
switch_event_add_header_string(my_event, SWITCH_STACK_BOTTOM, "Bridge-B-Unique-ID", peer_uuid);
switch_event_add_header_string(my_event, SWITCH_STACK_BOTTOM, "Bridge-Event-Processed", "true");
switch_event_add_header_string_dup(my_event, SWITCH_STACK_BOTTOM, "Bridge-A-Unique-ID", switch_core_session_get_uuid(call_session));
switch_event_add_header_string_dup(my_event, SWITCH_STACK_BOTTOM, "Bridge-B-Unique-ID", peer_uuid);
switch_event_add_header_string_dup(my_event, SWITCH_STACK_BOTTOM, "Bridge-Event-Processed", "true");
switch_channel_event_set_data(call_channel, my_event);
switch_event_fire(&my_event);
}
@@ -317,7 +317,7 @@ static switch_status_t kz_tweaks_handle_loopback(switch_core_session_t *session)
} else if(!strncmp(header->name, "sip_loopback_", 13)) {
kz_switch_event_add_variable_name_printf(to_add, SWITCH_STACK_BOTTOM, header->value, "sip_%s", header->name+13);
} else if(!strncmp(header->name, "ecallmgr_", 9)) {
switch_event_add_header_string(to_remove, SWITCH_STACK_BOTTOM, header->name, header->value);
switch_event_add_header_string_dup(to_remove, SWITCH_STACK_BOTTOM, header->name, header->value);
}
}
if(n) {
@@ -600,7 +600,7 @@ void kz_expand_headers(switch_event_t *resolver, switch_event_t *event) {
for(header = event->headers; header; header = header->next) {
char *expanded = kz_event_expand_headers(resolver, header->value);
if (expanded != header->value) {
switch_event_add_header_string(clone, SWITCH_STACK_BOTTOM, header->name, expanded);
switch_event_add_header_string_dup(clone, SWITCH_STACK_BOTTOM, header->name, expanded);
switch_safe_free(expanded);
}
}
+17 -17
View File
@@ -1856,9 +1856,9 @@ void rayo_call_send(struct rayo_actor *call, struct rayo_message *msg)
if (!zstr(body)) {
switch_event_t *event;
if (switch_event_create(&event, SWITCH_EVENT_SEND_MESSAGE) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "content-type", "text/plain");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "uuid", rayo_call_get_uuid(RAYO_CALL(call)));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "subject", iks_find_cdata(stanza, "subject"));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "content-type", "text/plain");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "uuid", rayo_call_get_uuid(RAYO_CALL(call)));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "subject", iks_find_cdata(stanza, "subject"));
switch_event_add_body(event, "%s", body);
switch_event_fire(&event);
}
@@ -2242,11 +2242,11 @@ static iks *exec_conference_app(switch_core_session_t *session, const char *comm
/* send execute conference event to session */
if (switch_event_create(&execute_event, SWITCH_EVENT_COMMAND) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(execute_event, SWITCH_STACK_BOTTOM, "call-command", "execute");
switch_event_add_header_string(execute_event, SWITCH_STACK_BOTTOM, "execute-app-name", "conference");
switch_event_add_header_string(execute_event, SWITCH_STACK_BOTTOM, "execute-app-arg", command);
//switch_event_add_header_string(execute_event, SWITCH_STACK_BOTTOM, "event_uuid", uuid);
switch_event_add_header_string(execute_event, SWITCH_STACK_BOTTOM, "event-lock", "true");
switch_event_add_header_string_dup(execute_event, SWITCH_STACK_BOTTOM, "call-command", "execute");
switch_event_add_header_string_dup(execute_event, SWITCH_STACK_BOTTOM, "execute-app-name", "conference");
switch_event_add_header_string_dup(execute_event, SWITCH_STACK_BOTTOM, "execute-app-arg", command);
//switch_event_add_header_string_dup(execute_event, SWITCH_STACK_BOTTOM, "event_uuid", uuid);
switch_event_add_header_string_dup(execute_event, SWITCH_STACK_BOTTOM, "event-lock", "true");
if (!switch_channel_test_flag(channel, CF_PROXY_MODE)) {
switch_channel_set_flag(channel, CF_BLOCK_BROADCAST_UNTIL_MEDIA);
}
@@ -2703,9 +2703,9 @@ static void *SWITCH_THREAD_FUNC rayo_dial_thread(switch_thread_t *thread, void *
}
/* set originate channel variables */
switch_event_add_header_string(originate_vars, SWITCH_STACK_BOTTOM, "origination_uuid", rayo_call_get_uuid(call));
switch_event_add_header_string(originate_vars, SWITCH_STACK_BOTTOM, "rayo_dcp_jid", dcp_jid);
switch_event_add_header_string(originate_vars, SWITCH_STACK_BOTTOM, "rayo_call_jid", RAYO_JID(call));
switch_event_add_header_string_dup(originate_vars, SWITCH_STACK_BOTTOM, "origination_uuid", rayo_call_get_uuid(call));
switch_event_add_header_string_dup(originate_vars, SWITCH_STACK_BOTTOM, "rayo_dcp_jid", dcp_jid);
switch_event_add_header_string_dup(originate_vars, SWITCH_STACK_BOTTOM, "rayo_call_jid", RAYO_JID(call));
if (!zstr(dial_from)) {
char *from_uri = NULL;
@@ -2717,24 +2717,24 @@ static void *SWITCH_THREAD_FUNC rayo_dial_thread(switch_thread_t *thread, void *
} else if (scheme == RAYO_URI_SCHEME_SIP) {
/* SIP URI */
if (!zstr(from_uri)) {
switch_event_add_header_string(originate_vars, SWITCH_STACK_BOTTOM, "sip_from_uri", from_uri);
switch_event_add_header_string_dup(originate_vars, SWITCH_STACK_BOTTOM, "sip_from_uri", from_uri);
switch_log_printf(SWITCH_CHANNEL_UUID_LOG(rayo_call_get_uuid(call)), SWITCH_LOG_DEBUG, "dial: sip_from_uri=%s\n", from_uri);
}
if (!zstr(from_display)) {
switch_event_add_header_string(originate_vars, SWITCH_STACK_BOTTOM, "sip_from_display", from_display);
switch_event_add_header_string_dup(originate_vars, SWITCH_STACK_BOTTOM, "sip_from_display", from_display);
switch_log_printf(SWITCH_CHANNEL_UUID_LOG(rayo_call_get_uuid(call)), SWITCH_LOG_DEBUG, "dial: sip_from_display=%s\n", from_display);
}
}
if (!zstr(from_uri)) {
switch_event_add_header_string(originate_vars, SWITCH_STACK_BOTTOM, "origination_caller_id_number", from_uri);
switch_event_add_header_string_dup(originate_vars, SWITCH_STACK_BOTTOM, "origination_caller_id_number", from_uri);
switch_log_printf(SWITCH_CHANNEL_UUID_LOG(rayo_call_get_uuid(call)), SWITCH_LOG_DEBUG, "dial: origination_caller_id_number=%s\n", from_uri);
}
if (!zstr(from_display)) {
switch_event_add_header_string(originate_vars, SWITCH_STACK_BOTTOM, "origination_caller_id_name", from_display);
switch_event_add_header_string_dup(originate_vars, SWITCH_STACK_BOTTOM, "origination_caller_id_name", from_display);
switch_log_printf(SWITCH_CHANNEL_UUID_LOG(rayo_call_get_uuid(call)), SWITCH_LOG_DEBUG, "dial: origination_caller_id_name=%s\n", from_display);
} else if (scheme == RAYO_URI_SCHEME_TEL && !zstr(from_uri)) {
/* set caller ID name to same as number if telephone number and a name wasn't specified */
switch_event_add_header_string(originate_vars, SWITCH_STACK_BOTTOM, "origination_caller_id_name", from_uri);
switch_event_add_header_string_dup(originate_vars, SWITCH_STACK_BOTTOM, "origination_caller_id_name", from_uri);
switch_log_printf(SWITCH_CHANNEL_UUID_LOG(rayo_call_get_uuid(call)), SWITCH_LOG_DEBUG, "dial: origination_caller_id_name=%s\n", from_uri);
}
}
@@ -2752,7 +2752,7 @@ static void *SWITCH_THREAD_FUNC rayo_dial_thread(switch_thread_t *thread, void *
if (!zstr(name) && !zstr(value)) {
char *header_name = switch_core_sprintf(dtdata->pool, "%s%s", RAYO_SIP_REQUEST_HEADER, name);
switch_log_printf(SWITCH_CHANNEL_UUID_LOG(rayo_call_get_uuid(call)), SWITCH_LOG_DEBUG, "dial: Adding SIP header: %s: %s\n", name, value);
switch_event_add_header_string(originate_vars, SWITCH_STACK_BOTTOM, header_name, value);
switch_event_add_header_string_dup(originate_vars, SWITCH_STACK_BOTTOM, header_name, value);
}
}
}
@@ -137,7 +137,7 @@ static void subscriber_execute(const char *uuid, const char *signal_type, subscr
const void *jid;
void *dont_care;
switch_core_hash_this(hi, &jid, NULL, &dont_care);
switch_event_add_header_string(subscriber_list, SWITCH_STACK_BOTTOM, "execute", (const char *)jid);
switch_event_add_header_string_dup(subscriber_list, SWITCH_STACK_BOTTOM, "execute", (const char *)jid);
}
} else {
switch_log_printf(SWITCH_CHANNEL_UUID_LOG(uuid), SWITCH_LOG_DEBUG, "No subscribers for %s\n", signal_type);
@@ -174,20 +174,20 @@ static void rayo_cpa_detector_event(switch_event_t *event)
}
switch_log_printf(SWITCH_CHANNEL_UUID_LOG(uuid), SWITCH_LOG_DEBUG, "Got Rayo CPA event %s\n", signal_type);
if (switch_event_create_subclass(&cpa_event, SWITCH_EVENT_CUSTOM, "rayo::cpa") == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(cpa_event, SWITCH_STACK_BOTTOM, "Unique-ID", uuid);
switch_event_add_header_string(cpa_event, SWITCH_STACK_BOTTOM, "detector-name", detector->name);
switch_event_add_header_string(cpa_event, SWITCH_STACK_BOTTOM, "detector-uuid", detector->uuid);
switch_event_add_header_string_dup(cpa_event, SWITCH_STACK_BOTTOM, "Unique-ID", uuid);
switch_event_add_header_string_dup(cpa_event, SWITCH_STACK_BOTTOM, "detector-name", detector->name);
switch_event_add_header_string_dup(cpa_event, SWITCH_STACK_BOTTOM, "detector-uuid", detector->uuid);
switch_event_add_header(cpa_event, SWITCH_STACK_BOTTOM, "signal-type", "%s%s:%s", RAYO_CPA_BASE, signal_type, RAYO_VERSION);
if (!zstr(detector->signal_value_header)) {
const char *value = switch_event_get_header(event, detector->signal_value_header);
if (!zstr(value)) {
switch_event_add_header_string(cpa_event, SWITCH_STACK_BOTTOM, "value", value);
switch_event_add_header_string_dup(cpa_event, SWITCH_STACK_BOTTOM, "value", value);
}
}
if (!zstr(detector->signal_duration_header)) {
const char *duration = switch_event_get_header(event, detector->signal_duration_header);
if (!zstr(duration)) {
switch_event_add_header_string(cpa_event, SWITCH_STACK_BOTTOM, "duration", duration);
switch_event_add_header_string_dup(cpa_event, SWITCH_STACK_BOTTOM, "duration", duration);
}
}
switch_event_fire(&cpa_event);
@@ -204,9 +204,9 @@ static iks *start_sendfax_component(struct rayo_actor *call, struct rayo_message
/* execute txfax APP */
if (switch_event_create(&execute_event, SWITCH_EVENT_COMMAND) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(execute_event, SWITCH_STACK_BOTTOM, "call-command", "execute");
switch_event_add_header_string(execute_event, SWITCH_STACK_BOTTOM, "execute-app-name", "txfax");
switch_event_add_header_string(execute_event, SWITCH_STACK_BOTTOM, "execute-app-arg", fax_document);
switch_event_add_header_string_dup(execute_event, SWITCH_STACK_BOTTOM, "call-command", "execute");
switch_event_add_header_string_dup(execute_event, SWITCH_STACK_BOTTOM, "execute-app-name", "txfax");
switch_event_add_header_string_dup(execute_event, SWITCH_STACK_BOTTOM, "execute-app-arg", fax_document);
if (!switch_channel_test_flag(channel, CF_PROXY_MODE)) {
switch_channel_set_flag(channel, CF_BLOCK_BROADCAST_UNTIL_MEDIA);
}
@@ -307,9 +307,9 @@ static iks *start_receivefax_component(struct rayo_actor *call, struct rayo_mess
/* execute rxfax APP */
if (switch_event_create(&execute_event, SWITCH_EVENT_COMMAND) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(execute_event, SWITCH_STACK_BOTTOM, "call-command", "execute");
switch_event_add_header_string(execute_event, SWITCH_STACK_BOTTOM, "execute-app-name", "rxfax");
switch_event_add_header_string(execute_event, SWITCH_STACK_BOTTOM, "execute-app-arg", receivefax_component->local_filename);
switch_event_add_header_string_dup(execute_event, SWITCH_STACK_BOTTOM, "call-command", "execute");
switch_event_add_header_string_dup(execute_event, SWITCH_STACK_BOTTOM, "execute-app-name", "rxfax");
switch_event_add_header_string_dup(execute_event, SWITCH_STACK_BOTTOM, "execute-app-arg", receivefax_component->local_filename);
if (!switch_channel_test_flag(channel, CF_PROXY_MODE)) {
switch_channel_set_flag(channel, CF_BLOCK_BROADCAST_UNTIL_MEDIA);
}
@@ -290,7 +290,7 @@ static switch_status_t input_handler_on_dtmf(switch_core_session_t *session, con
if (!components_to_remove) {
switch_event_create_subclass(&components_to_remove, SWITCH_EVENT_CLONE, NULL);
}
switch_event_add_header_string(components_to_remove, SWITCH_STACK_BOTTOM, "done", RAYO_JID(component));
switch_event_add_header_string_dup(components_to_remove, SWITCH_STACK_BOTTOM, "done", RAYO_JID(component));
}
}
@@ -338,7 +338,7 @@ static switch_bool_t input_handler_bug_callback(switch_media_bug_t *bug, void *u
if (!components_to_remove) {
switch_event_create_subclass(&components_to_remove, SWITCH_EVENT_CLONE, NULL);
}
switch_event_add_header_string(components_to_remove, SWITCH_STACK_BOTTOM, "done", RAYO_JID(component));
switch_event_add_header_string_dup(components_to_remove, SWITCH_STACK_BOTTOM, "done", RAYO_JID(component));
}
}
+4 -4
View File
@@ -91,9 +91,9 @@ SWITCH_STANDARD_APP(mod_smpp_app_send_function)
/* Cycle through all of the channel headers, and ones with 'smpp_' prefix copy over without the prefix */
for ( chan_var = switch_channel_variable_first(channel); chan_var; chan_var = chan_var->next) {
if ( !strncmp(chan_var->name, "smpp_", 5) ) {
switch_event_add_header_string(message, SWITCH_STACK_BOTTOM, chan_var->name + 5, chan_var->value);
switch_event_add_header_string_dup(message, SWITCH_STACK_BOTTOM, chan_var->name + 5, chan_var->value);
} else {
switch_event_add_header_string(message, SWITCH_STACK_BOTTOM, chan_var->name, chan_var->value);
switch_event_add_header_string_dup(message, SWITCH_STACK_BOTTOM, chan_var->name, chan_var->value);
}
}
@@ -138,8 +138,8 @@ SWITCH_STANDARD_API(mod_smpp_send_api)
switch_goto_status(SWITCH_STATUS_GENERR, done);
}
switch_event_add_header_string(message, SWITCH_STACK_BOTTOM, "to_user", argv[1]);
switch_event_add_header_string(message, SWITCH_STACK_BOTTOM, "from_user", argv[2]);
switch_event_add_header_string_dup(message, SWITCH_STACK_BOTTOM, "to_user", argv[1]);
switch_event_add_header_string_dup(message, SWITCH_STACK_BOTTOM, "from_user", argv[2]);
switch_event_set_body(message, argv[3]);
if (mod_smpp_gateway_send_message(gateway, message) != SWITCH_STATUS_SUCCESS) {
@@ -127,7 +127,7 @@ switch_status_t mod_smpp_message_decode(mod_smpp_gateway_t *gateway, deliver_sm_
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Failed to create new event\n");
}
switch_event_add_header_string(evt, SWITCH_STACK_BOTTOM, "endpoint", "mod_smpp");
switch_event_add_header_string_dup(evt, SWITCH_STACK_BOTTOM, "endpoint", "mod_smpp");
str = switch_mprintf("%d", res->sequence_number);
switch_event_add_header_string(evt, SWITCH_STACK_BOTTOM | SWITCH_STACK_NODUP, "sequence_number", str);
@@ -138,8 +138,8 @@ switch_status_t mod_smpp_message_decode(mod_smpp_gateway_t *gateway, deliver_sm_
str = switch_mprintf("%d", res->command_id);
switch_event_add_header_string(evt, SWITCH_STACK_BOTTOM | SWITCH_STACK_NODUP, "command_id", str);
switch_event_add_header_string(evt, SWITCH_STACK_BOTTOM, "smpp_gateway", gateway->name);
switch_event_add_header_string(evt, SWITCH_STACK_BOTTOM, "proto", "smpp");
switch_event_add_header_string_dup(evt, SWITCH_STACK_BOTTOM, "smpp_gateway", gateway->name);
switch_event_add_header_string_dup(evt, SWITCH_STACK_BOTTOM, "proto", "smpp");
str = switch_mprintf("%d", res->source_addr_ton);
switch_event_add_header_string(evt, SWITCH_STACK_BOTTOM | SWITCH_STACK_NODUP, "source_addr_ton", str);
@@ -147,7 +147,7 @@ switch_status_t mod_smpp_message_decode(mod_smpp_gateway_t *gateway, deliver_sm_
str = switch_mprintf("%d", res->source_addr_npi);
switch_event_add_header_string(evt, SWITCH_STACK_BOTTOM | SWITCH_STACK_NODUP, "source_addr_npi", str);
switch_event_add_header_string(evt, SWITCH_STACK_BOTTOM, "from_user", (const char *) res->source_addr);
switch_event_add_header_string_dup(evt, SWITCH_STACK_BOTTOM, "from_user", (const char *) res->source_addr);
str = switch_mprintf("%d", res->dest_addr_ton);
switch_event_add_header_string(evt, SWITCH_STACK_BOTTOM | SWITCH_STACK_NODUP, "dest_addr_ton", str);
@@ -155,13 +155,13 @@ switch_status_t mod_smpp_message_decode(mod_smpp_gateway_t *gateway, deliver_sm_
str = switch_mprintf("%d", res->dest_addr_npi);
switch_event_add_header_string(evt, SWITCH_STACK_BOTTOM | SWITCH_STACK_NODUP, "dest_addr_npi", str);
switch_event_add_header_string(evt, SWITCH_STACK_BOTTOM, "to_user", (const char *) res->destination_addr);
switch_event_add_header_string_dup(evt, SWITCH_STACK_BOTTOM, "to_user", (const char *) res->destination_addr);
str = switch_mprintf("%d", res->data_coding);
switch_event_add_header_string(evt, SWITCH_STACK_BOTTOM | SWITCH_STACK_NODUP, "data_coding", str);
str = NULL;
switch_event_add_header_string(evt, SWITCH_STACK_BOTTOM, "profile", gateway->profile);
switch_event_add_header_string_dup(evt, SWITCH_STACK_BOTTOM, "profile", gateway->profile);
switch_event_add_body(evt, "%s", (const char *) res->short_message);
+3 -3
View File
@@ -119,11 +119,11 @@ static void *SWITCH_THREAD_FUNC open_pdf_thread_run(switch_thread_t *thread, voi
switch_event_t *event = NULL;
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, "imagick::info") == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "loaded");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "filename", context->path);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", "loaded");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "filename", context->path);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "pagecount", "%d", context->pagecount);
if (context->lazy_cookie) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "cookie", context->lazy_cookie);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "cookie", context->lazy_cookie);
}
switch_event_fire(&event);
}
+1 -1
View File
@@ -1146,7 +1146,7 @@ SWITCH_STANDARD_JSON_API(json_function)
json_text = cJSON_PrintUnformatted(data);
switch_event_create(&stream.param_event, SWITCH_EVENT_REQUEST_PARAMS);
switch_event_add_header_string(stream.param_event, SWITCH_STACK_BOTTOM, "JSON", json_text);
switch_event_add_header_string_dup(stream.param_event, SWITCH_STACK_BOTTOM, "JSON", json_text);
switch_safe_free(json_text);
v8_parse_and_execute(session, (char *) path->valuestring, &stream, NULL, NULL);
+1 -1
View File
@@ -182,7 +182,7 @@ JS_EVENT_FUNCTION_IMPL(AddHeader)
stack_kind = SWITCH_STACK_PUSH;
}
switch_event_add_header_string(_event, stack_kind, hname, hval);
switch_event_add_header_string_dup(_event, stack_kind, hname, hval);
info.GetReturnValue().Set(true);
return;
}
@@ -314,7 +314,7 @@ JS_EVENTHANDLER_FUNCTION_IMPL(AddFilter)
switch_event_create_plain(&_filters, SWITCH_EVENT_CLONE);
}
switch_event_add_header_string(_filters, SWITCH_STACK_BOTTOM, headerName, headerVal);
switch_event_add_header_string_dup(_filters, SWITCH_STACK_BOTTOM, headerName, headerVal);
info.GetReturnValue().Set(true);
@@ -470,10 +470,10 @@ static void *SWITCH_THREAD_FUNC api_exec(switch_thread_t *thread, void *obj)
}
if (switch_event_create(&event, SWITCH_EVENT_BACKGROUND_JOB) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Job-UUID", acs->uuid_str);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Job-Command", acs->cmd);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Job-UUID", acs->uuid_str);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Job-Command", acs->cmd);
if (acs->arg) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Job-Command-Arg", acs->arg);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Job-Command-Arg", acs->arg);
}
switch_event_add_body(event, "%s", reply);
switch_event_fire(&event);
+1 -1
View File
@@ -81,7 +81,7 @@ JS_REQUEST_FUNCTION_IMPL(AddHeader)
String::Utf8Value str2(info[1]);
const char *hname = js_safe_str(*str1);
const char *hval = js_safe_str(*str2);
switch_event_add_header_string(this->_stream->param_event, SWITCH_STACK_BOTTOM, hname, hval);
switch_event_add_header_string_dup(this->_stream->param_event, SWITCH_STACK_BOTTOM, hname, hval);
info.GetReturnValue().Set(true);
return;
}
+1 -1
View File
@@ -299,7 +299,7 @@ static switch_status_t do_config(void)
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Ignoring empty channel variable for session field \"%s\"\n", name);
continue;
}
switch_event_add_header_string(globals.session_fields, SWITCH_STACK_BOTTOM,
switch_event_add_header_string_dup(globals.session_fields, SWITCH_STACK_BOTTOM,
switch_core_strdup(globals.pool, name), switch_core_strdup(globals.pool, variable));
}
}
+5 -5
View File
@@ -187,11 +187,11 @@ static switch_xml_t xml_url_fetch(const char *section, const char *tag_name, con
switch_assert(params);
}
switch_event_add_header_string(params, SWITCH_STACK_TOP, "hostname", hostname);
switch_event_add_header_string(params, SWITCH_STACK_TOP, "section", switch_str_nil(section));
switch_event_add_header_string(params, SWITCH_STACK_TOP, "tag_name", switch_str_nil(tag_name));
switch_event_add_header_string(params, SWITCH_STACK_TOP, "key_name", switch_str_nil(key_name));
switch_event_add_header_string(params, SWITCH_STACK_TOP, "key_value", switch_str_nil(key_value));
switch_event_add_header_string_dup(params, SWITCH_STACK_TOP, "hostname", hostname);
switch_event_add_header_string_dup(params, SWITCH_STACK_TOP, "section", switch_str_nil(section));
switch_event_add_header_string_dup(params, SWITCH_STACK_TOP, "tag_name", switch_str_nil(tag_name));
switch_event_add_header_string_dup(params, SWITCH_STACK_TOP, "key_name", switch_str_nil(key_name));
switch_event_add_header_string_dup(params, SWITCH_STACK_TOP, "key_value", switch_str_nil(key_value));
dynamic_url = switch_event_expand_headers(params, binding->url);
switch_assert(dynamic_url);
} else {
+20 -20
View File
@@ -211,7 +211,7 @@ static switch_status_t http_stream_write(switch_stream_handle_t *handle, const c
ret = HTTPWrite(r, val, (uint32_t) strlen(val));
}
/* flag to prevent running this more than once per http reply */
switch_event_add_header_string(evnt, SWITCH_STACK_BOTTOM, "Content-Type", strstr(val,":")+2);
switch_event_add_header_string_dup(evnt, SWITCH_STACK_BOTTOM, "Content-Type", strstr(val,":")+2);
ct = switch_event_get_header(evnt, "Content-Type");
}
@@ -269,7 +269,7 @@ static abyss_bool user_attributes(const char *user, const char *domain_name,
switch_event_create(&params, SWITCH_EVENT_REQUEST_PARAMS);
switch_assert(params);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "number_alias", "check");
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "number_alias", "check");
if (switch_xml_locate_user_merged("id", user, domain_name, NULL, &x_user, params) != SWITCH_STATUS_SUCCESS) {
@@ -883,25 +883,25 @@ abyss_bool handler_hook(TSession * r)
evnt = stream.param_event;
if (html) {
switch_event_add_header_string(evnt, SWITCH_STACK_BOTTOM, "Content-Type", "text/html");
switch_event_add_header_string_dup(evnt, SWITCH_STACK_BOTTOM, "Content-Type", "text/html");
} else if (text) {
switch_event_add_header_string(evnt, SWITCH_STACK_BOTTOM, "Content-Type", "text/plain");
switch_event_add_header_string_dup(evnt, SWITCH_STACK_BOTTOM, "Content-Type", "text/plain");
} else if (xml) {
switch_event_add_header_string(evnt, SWITCH_STACK_BOTTOM, "Content-Type", "text/xml");
switch_event_add_header_string_dup(evnt, SWITCH_STACK_BOTTOM, "Content-Type", "text/xml");
}
if (api) {
switch_event_add_header_string(evnt, SWITCH_STACK_BOTTOM, "HTTP-API", "api");
switch_event_add_header_string_dup(evnt, SWITCH_STACK_BOTTOM, "HTTP-API", "api");
}
if (fs_user) switch_event_add_header_string(evnt, SWITCH_STACK_BOTTOM, "FreeSWITCH-User", fs_user);
if (fs_domain) switch_event_add_header_string(evnt, SWITCH_STACK_BOTTOM, "FreeSWITCH-Domain", fs_domain);
if (path_info) switch_event_add_header_string(evnt, SWITCH_STACK_BOTTOM, "HTTP-Path-Info", path_info);
if (fs_user) switch_event_add_header_string_dup(evnt, SWITCH_STACK_BOTTOM, "FreeSWITCH-User", fs_user);
if (fs_domain) switch_event_add_header_string_dup(evnt, SWITCH_STACK_BOTTOM, "FreeSWITCH-Domain", fs_domain);
if (path_info) switch_event_add_header_string_dup(evnt, SWITCH_STACK_BOTTOM, "HTTP-Path-Info", path_info);
if (info->host) switch_event_add_header_string(evnt, SWITCH_STACK_BOTTOM, "HTTP-HOST", info->host);
if (info->from) switch_event_add_header_string(evnt, SWITCH_STACK_BOTTOM, "HTTP-FROM", info->from);
if (info->useragent) switch_event_add_header_string(evnt, SWITCH_STACK_BOTTOM, "HTTP-USER-AGENT", info->useragent);
if (info->referer) switch_event_add_header_string(evnt, SWITCH_STACK_BOTTOM, "HTTP-REFERER", info->referer);
if (info->requestline) switch_event_add_header_string(evnt, SWITCH_STACK_BOTTOM, "HTTP-REQUESTLINE", info->requestline);
if (info->user) switch_event_add_header_string(evnt, SWITCH_STACK_BOTTOM, "HTTP-USER", info->user);
if (info->host) switch_event_add_header_string_dup(evnt, SWITCH_STACK_BOTTOM, "HTTP-HOST", info->host);
if (info->from) switch_event_add_header_string_dup(evnt, SWITCH_STACK_BOTTOM, "HTTP-FROM", info->from);
if (info->useragent) switch_event_add_header_string_dup(evnt, SWITCH_STACK_BOTTOM, "HTTP-USER-AGENT", info->useragent);
if (info->referer) switch_event_add_header_string_dup(evnt, SWITCH_STACK_BOTTOM, "HTTP-REFERER", info->referer);
if (info->requestline) switch_event_add_header_string_dup(evnt, SWITCH_STACK_BOTTOM, "HTTP-REQUESTLINE", info->requestline);
if (info->user) switch_event_add_header_string_dup(evnt, SWITCH_STACK_BOTTOM, "HTTP-USER", info->user);
if (info->port) switch_event_add_header(evnt, SWITCH_STACK_BOTTOM, "HTTP-PORT", "%u", info->port);
{
@@ -956,7 +956,7 @@ abyss_bool handler_hook(TSession * r)
/* parse query and add kv-pairs as event headers */
/* a kv pair starts with '&', '+' or \0 mark the end */
if (query) {
switch_event_add_header_string(evnt, SWITCH_STACK_BOTTOM, "HTTP-QUERY", query);
switch_event_add_header_string_dup(evnt, SWITCH_STACK_BOTTOM, "HTTP-QUERY", query);
qd = strdup(query);
} else {
qd = strdup(uri);
@@ -976,7 +976,7 @@ abyss_bool handler_hook(TSession * r)
/* "?" is absent in url so parse uri */
*((char *)uri + (next - q - 1)) = '\0';
query = next;
switch_event_add_header_string(evnt, SWITCH_STACK_BOTTOM, "HTTP-QUERY", next);
switch_event_add_header_string_dup(evnt, SWITCH_STACK_BOTTOM, "HTTP-QUERY", next);
/* and strip uri */
/* the start of first kv pair marks the end of uri */
/* to prevent kv-pairs confusing fs api commands */
@@ -996,7 +996,7 @@ abyss_bool handler_hook(TSession * r)
name = q;
if ((val = strchr(name, '='))) {
*val++ = '\0';
switch_event_add_header_string(evnt, SWITCH_STACK_BOTTOM, name, val);
switch_event_add_header_string_dup(evnt, SWITCH_STACK_BOTTOM, name, val);
}
q = next;
} while (q != NULL);
@@ -1005,7 +1005,7 @@ abyss_bool handler_hook(TSession * r)
}
}
switch_event_add_header_string(evnt, SWITCH_STACK_BOTTOM, "HTTP-URI", uri);
switch_event_add_header_string_dup(evnt, SWITCH_STACK_BOTTOM, "HTTP-URI", uri);
/* We made it this far, always OK */
if (!HTTPWrite(r, "HTTP/1.1 200 OK\r\n", (uint32_t) strlen("HTTP/1.1 200 OK\r\n"))) {
@@ -1273,7 +1273,7 @@ void stop_all_websockets()
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, "websocket::stophook") != SWITCH_STATUS_SUCCESS) {
switch_log_printf(SWITCH_CHANNEL_LOG,SWITCH_LOG_ERROR, "Failed to create event!\n");
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "stop", "now");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "stop", "now");
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "stopping all websockets ...\n");
if (switch_event_fire(&event) != SWITCH_STATUS_SUCCESS) {
switch_log_printf(SWITCH_CHANNEL_LOG,SWITCH_LOG_ERROR, "Failed to fire the event!\n");
+26 -26
View File
@@ -325,88 +325,88 @@ SWITCH_DECLARE(void) switch_caller_profile_event_set_data(switch_caller_profile_
switch_channel_timetable_t *times = NULL;
switch_snprintf(header_name, sizeof(header_name), "%s-Direction", prefix);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->direction == SWITCH_CALL_DIRECTION_INBOUND ?
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->direction == SWITCH_CALL_DIRECTION_INBOUND ?
"inbound" : "outbound");
switch_snprintf(header_name, sizeof(header_name), "%s-Logical-Direction", prefix);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->logical_direction == SWITCH_CALL_DIRECTION_INBOUND ?
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->logical_direction == SWITCH_CALL_DIRECTION_INBOUND ?
"inbound" : "outbound");
if (!zstr(caller_profile->username)) {
switch_snprintf(header_name, sizeof(header_name), "%s-Username", prefix);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->username);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->username);
}
if (!zstr(caller_profile->dialplan)) {
switch_snprintf(header_name, sizeof(header_name), "%s-Dialplan", prefix);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->dialplan);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->dialplan);
}
if (!zstr(caller_profile->caller_id_name)) {
switch_snprintf(header_name, sizeof(header_name), "%s-Caller-ID-Name", prefix);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->caller_id_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->caller_id_name);
}
if (!zstr(caller_profile->caller_id_number)) {
switch_snprintf(header_name, sizeof(header_name), "%s-Caller-ID-Number", prefix);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->caller_id_number);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->caller_id_number);
}
if (!zstr(caller_profile->caller_id_name)) {
switch_snprintf(header_name, sizeof(header_name), "%s-Orig-Caller-ID-Name", prefix);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->orig_caller_id_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->orig_caller_id_name);
}
if (!zstr(caller_profile->caller_id_number)) {
switch_snprintf(header_name, sizeof(header_name), "%s-Orig-Caller-ID-Number", prefix);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->orig_caller_id_number);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->orig_caller_id_number);
}
if (!zstr(caller_profile->callee_id_name)) {
switch_snprintf(header_name, sizeof(header_name), "%s-Callee-ID-Name", prefix);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->callee_id_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->callee_id_name);
}
if (!zstr(caller_profile->callee_id_number)) {
switch_snprintf(header_name, sizeof(header_name), "%s-Callee-ID-Number", prefix);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->callee_id_number);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->callee_id_number);
}
if (!zstr(caller_profile->network_addr)) {
switch_snprintf(header_name, sizeof(header_name), "%s-Network-Addr", prefix);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->network_addr);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->network_addr);
}
if (!zstr(caller_profile->ani)) {
switch_snprintf(header_name, sizeof(header_name), "%s-ANI", prefix);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->ani);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->ani);
}
if (!zstr(caller_profile->aniii)) {
switch_snprintf(header_name, sizeof(header_name), "%s-ANI-II", prefix);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->aniii);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->aniii);
}
if (!zstr(caller_profile->destination_number)) {
switch_snprintf(header_name, sizeof(header_name), "%s-Destination-Number", prefix);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->destination_number);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->destination_number);
}
if (!zstr(caller_profile->uuid)) {
switch_snprintf(header_name, sizeof(header_name), "%s-Unique-ID", prefix);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->uuid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->uuid);
}
if (!zstr(caller_profile->source)) {
switch_snprintf(header_name, sizeof(header_name), "%s-Source", prefix);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->source);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->source);
}
if (!zstr(caller_profile->transfer_source)) {
switch_snprintf(header_name, sizeof(header_name), "%s-Transfer-Source", prefix);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->transfer_source);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->transfer_source);
}
if (!zstr(caller_profile->context)) {
switch_snprintf(header_name, sizeof(header_name), "%s-Context", prefix);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->context);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->context);
}
if (!zstr(caller_profile->rdnis)) {
switch_snprintf(header_name, sizeof(header_name), "%s-RDNIS", prefix);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->rdnis);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->rdnis);
}
if (!zstr(caller_profile->chan_name)) {
switch_snprintf(header_name, sizeof(header_name), "%s-Channel-Name", prefix);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->chan_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->chan_name);
}
if (!zstr(caller_profile->profile_index)) {
switch_snprintf(header_name, sizeof(header_name), "%s-Profile-Index", prefix);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->profile_index);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->profile_index);
}
if (caller_profile->soft) {
@@ -415,9 +415,9 @@ SWITCH_DECLARE(void) switch_caller_profile_event_set_data(switch_caller_profile_
for (pn = caller_profile->soft; pn; pn = pn->next) {
if (switch_test_flag(caller_profile, SWITCH_CPF_SOFT_PREFIX)) {
switch_snprintf(header_name, sizeof(header_name), "%s-%s", prefix, pn->var);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, header_name, pn->val);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, header_name, pn->val);
} else {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, pn->var, pn->val);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, pn->var, pn->val);
}
}
@@ -454,13 +454,13 @@ SWITCH_DECLARE(void) switch_caller_profile_event_set_data(switch_caller_profile_
}
switch_snprintf(header_name, sizeof(header_name), "%s-Screen-Bit", prefix);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, header_name, switch_test_flag(caller_profile, SWITCH_CPF_SCREEN) ? "true" : "false");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, header_name, switch_test_flag(caller_profile, SWITCH_CPF_SCREEN) ? "true" : "false");
switch_snprintf(header_name, sizeof(header_name), "%s-Privacy-Hide-Name", prefix);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, header_name, switch_test_flag(caller_profile, SWITCH_CPF_HIDE_NAME) ? "true" : "false");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, header_name, switch_test_flag(caller_profile, SWITCH_CPF_HIDE_NAME) ? "true" : "false");
switch_snprintf(header_name, sizeof(header_name), "%s-Privacy-Hide-Number", prefix);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, header_name, switch_test_flag(caller_profile, SWITCH_CPF_HIDE_NUMBER) ? "true" : "false");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, header_name, switch_test_flag(caller_profile, SWITCH_CPF_HIDE_NUMBER) ? "true" : "false");
}
SWITCH_DECLARE(switch_status_t) switch_caller_extension_clone(switch_caller_extension_t **new_ext, switch_caller_extension_t *orig,
+54 -54
View File
@@ -298,7 +298,7 @@ SWITCH_DECLARE(void) switch_channel_perform_set_callstate(switch_channel_t *chan
switch_channel_check_device_state(channel, channel->callstate);
if (switch_event_create(&event, SWITCH_EVENT_CHANNEL_CALLSTATE) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Original-Channel-Call-State", switch_channel_callstate2str(o_callstate));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Original-Channel-Call-State", switch_channel_callstate2str(o_callstate));
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Channel-Call-State-Number", "%d", callstate);
switch_channel_event_set_data(channel, event);
switch_event_fire(&event);
@@ -803,18 +803,18 @@ SWITCH_DECLARE(void) switch_channel_perform_presence(switch_channel_t *channel,
if (switch_event_create(&event, type) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "proto", "any");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "login", __FILE__);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "from", id);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "proto", "any");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "login", __FILE__);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "from", id);
if (type == SWITCH_EVENT_PRESENCE_IN) {
if (!rpid) {
rpid = "unknown";
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "rpid", rpid);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "status", status);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "rpid", rpid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "status", status);
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "alt_event_type", "dialog");
if (!strcasecmp(status, "idle") || !switch_channel_up_nosig(channel)) {
@@ -835,22 +835,22 @@ SWITCH_DECLARE(void) switch_channel_perform_presence(switch_channel_t *channel,
}
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "presence-call-info-state", call_info_state);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "presence-call-info-state", call_info_state);
if (call_info) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "presence-call-info", call_info);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "presence-call-info", call_info);
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "presence-call-direction",
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "presence-call-direction",
channel->direction == SWITCH_CALL_DIRECTION_OUTBOUND ? "outbound" : "inbound");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "event_count", "%d", channel->event_count++);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Presence-Calling-File", file);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Presence-Calling-Function", func);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Presence-Calling-File", file);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Presence-Calling-Function", func);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Presence-Calling-Line", "%d", line);
if (switch_true(switch_channel_get_variable(channel, "presence_privacy"))) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Presence-Privacy", "true");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Presence-Privacy", "true");
}
switch_event_fire(&event);
@@ -959,7 +959,7 @@ SWITCH_DECLARE(switch_status_t) switch_channel_get_scope_variables(switch_channe
for (ep = channel->scope_variables; ep; ep = ep->next) {
for (hp = ep->headers; hp; hp = hp->next) {
if (!switch_event_get_header(new_event, hp->value)) {
switch_event_add_header_string(new_event, SWITCH_STACK_BOTTOM, hp->name, hp->value);
switch_event_add_header_string_dup(new_event, SWITCH_STACK_BOTTOM, hp->name, hp->value);
}
}
}
@@ -1244,7 +1244,7 @@ SWITCH_DECLARE(void) switch_channel_process_export(switch_channel_t *channel, sw
if (var_event) {
switch_event_del_header(var_event, export_varname);
switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, export_varname, export_vars);
switch_event_add_header_string_dup(var_event, SWITCH_STACK_BOTTOM, export_varname, export_vars);
}
if (peer_channel) {
@@ -1265,7 +1265,7 @@ SWITCH_DECLARE(void) switch_channel_process_export(switch_channel_t *channel, sw
}
if (var_event) {
switch_event_del_header(var_event, vvar);
switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, vvar, vval);
switch_event_add_header_string_dup(var_event, SWITCH_STACK_BOTTOM, vvar, vval);
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(channel->session), SWITCH_LOG_DEBUG,
"%s EXPORTING[%s] [%s]=[%s] to event\n",
switch_channel_get_name(channel),
@@ -1443,7 +1443,7 @@ SWITCH_DECLARE(switch_status_t) switch_channel_set_log_tag(switch_channel_t *cha
if (zstr(tagvalue)) {
switch_event_del_header(channel->log_tags, tagname);
} else {
switch_event_add_header_string(channel->log_tags, SWITCH_STACK_BOTTOM, tagname, tagvalue);
switch_event_add_header_string_dup(channel->log_tags, SWITCH_STACK_BOTTOM, tagname, tagvalue);
}
status = SWITCH_STATUS_SUCCESS;
}
@@ -1484,7 +1484,7 @@ SWITCH_DECLARE(switch_status_t) switch_channel_set_variable_var_check(switch_cha
ok = !switch_string_var_check_const(value);
}
if (ok) {
switch_event_add_header_string(channel->variables, SWITCH_STACK_BOTTOM, varname, value);
switch_event_add_header_string_dup(channel->variables, SWITCH_STACK_BOTTOM, varname, value);
} else {
switch_log_printf(SWITCH_CHANNEL_CHANNEL_LOG(channel), SWITCH_LOG_CRIT, "Invalid data (${%s} contains a variable)\n", varname);
}
@@ -1526,7 +1526,7 @@ SWITCH_DECLARE(switch_status_t) switch_channel_set_variable_strip_quotes_var_che
ok = !switch_string_var_check_const(r);
}
if (ok) {
switch_event_add_header_string(channel->variables, SWITCH_STACK_BOTTOM, varname, r);
switch_event_add_header_string_dup(channel->variables, SWITCH_STACK_BOTTOM, varname, r);
} else {
switch_log_printf(SWITCH_CHANNEL_CHANNEL_LOG(channel), SWITCH_LOG_CRIT, "Invalid data (${%s} contains a variable)\n", varname);
}
@@ -2649,63 +2649,63 @@ SWITCH_DECLARE(void) switch_channel_event_set_basic_data(switch_channel_t *chann
originatee_caller_profile = caller_profile->originatee_caller_profile;
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Channel-State", switch_channel_state_name(channel->running_state));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Channel-Call-State", switch_channel_callstate2str(channel->callstate));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Channel-State", switch_channel_state_name(channel->running_state));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Channel-Call-State", switch_channel_callstate2str(channel->callstate));
switch_snprintf(state_num, sizeof(state_num), "%d", channel->state);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Channel-State-Number", state_num);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Channel-Name", switch_channel_get_name(channel));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Unique-ID", switch_core_session_get_uuid(channel->session));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Session-External-ID", switch_core_session_get_external_id(channel->session));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Channel-State-Number", state_num);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Channel-Name", switch_channel_get_name(channel));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Unique-ID", switch_core_session_get_uuid(channel->session));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Session-External-ID", switch_core_session_get_external_id(channel->session));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Call-Direction",
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Call-Direction",
channel->direction == SWITCH_CALL_DIRECTION_OUTBOUND ? "outbound" : "inbound");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Presence-Call-Direction",
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Presence-Call-Direction",
channel->direction == SWITCH_CALL_DIRECTION_OUTBOUND ? "outbound" : "inbound");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Channel-HIT-Dialplan",
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Channel-HIT-Dialplan",
switch_channel_direction(channel) == SWITCH_CALL_DIRECTION_INBOUND ||
switch_channel_test_flag(channel, CF_DIALPLAN) ? "true" : "false");
if ((v = switch_channel_get_variable_dup(channel, "presence_id", SWITCH_FALSE, -1))) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Channel-Presence-ID", v);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Channel-Presence-ID", v);
}
if ((v = switch_channel_get_variable_dup(channel, "presence_data", SWITCH_FALSE, -1))) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Channel-Presence-Data", v);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Channel-Presence-Data", v);
}
if ((v = switch_channel_get_variable_dup(channel, "presence_data_cols", SWITCH_FALSE, -1))) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Presence-Data-Cols", v);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Presence-Data-Cols", v);
switch_event_add_presence_data_cols(channel, event, "PD-");
}
if ((v = switch_channel_get_variable_dup(channel, "call_uuid", SWITCH_FALSE, -1))) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Channel-Call-UUID", v);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Channel-Call-UUID", v);
} else {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Channel-Call-UUID", switch_core_session_get_uuid(channel->session));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Channel-Call-UUID", switch_core_session_get_uuid(channel->session));
}
if (switch_channel_down_nosig(channel)) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Answer-State", "hangup");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Answer-State", "hangup");
} else if (switch_channel_test_flag(channel, CF_ANSWERED)) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Answer-State", "answered");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Answer-State", "answered");
} else if (switch_channel_test_flag(channel, CF_EARLY_MEDIA)) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Answer-State", "early");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Answer-State", "early");
} else {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Answer-State", "ringing");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Answer-State", "ringing");
}
if (channel->hangup_cause) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Hangup-Cause", switch_channel_cause2str(channel->hangup_cause));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Hangup-Cause", switch_channel_cause2str(channel->hangup_cause));
}
switch_core_session_get_read_impl(channel->session, &impl);
if (impl.iananame) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Channel-Read-Codec-Name", impl.iananame);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Channel-Read-Codec-Name", impl.iananame);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Channel-Read-Codec-Rate", "%u", impl.actual_samples_per_second);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Channel-Read-Codec-Bit-Rate", "%d", impl.bits_per_second);
}
@@ -2713,7 +2713,7 @@ SWITCH_DECLARE(void) switch_channel_event_set_basic_data(switch_channel_t *chann
switch_core_session_get_write_impl(channel->session, &impl);
if (impl.iananame) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Channel-Write-Codec-Name", impl.iananame);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Channel-Write-Codec-Name", impl.iananame);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Channel-Write-Codec-Rate", "%u", impl.actual_samples_per_second);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Channel-Write-Codec-Bit-Rate", "%d", impl.bits_per_second);
}
@@ -2725,10 +2725,10 @@ SWITCH_DECLARE(void) switch_channel_event_set_basic_data(switch_channel_t *chann
/* Index Originator/ee's Profile */
if (originator_caller_profile && channel->last_profile_type == LP_ORIGINATOR) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Other-Type", "originator");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Other-Type", "originator");
switch_caller_profile_event_set_data(originator_caller_profile, "Other-Leg", event);
} else if (originatee_caller_profile && channel->last_profile_type == LP_ORIGINATEE) { /* Index Originatee's Profile */
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Other-Type", "originatee");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Other-Type", "originatee");
switch_caller_profile_event_set_data(originatee_caller_profile, "Other-Leg", event);
}
@@ -2796,7 +2796,7 @@ SWITCH_DECLARE(void) switch_channel_event_set_extended_data(switch_channel_t *ch
switch_snprintf(buf, sizeof(buf), "scope_variable_%s", vvar);
if (!switch_event_get_header(event, buf)) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, buf, vval);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, buf, vval);
}
}
}
@@ -2812,7 +2812,7 @@ SWITCH_DECLARE(void) switch_channel_event_set_extended_data(switch_channel_t *ch
switch_assert(vvar && vval);
switch_snprintf(buf, sizeof(buf), "variable_%s", vvar);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, buf, vval);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, buf, vval);
}
}
}
@@ -3257,10 +3257,10 @@ SWITCH_DECLARE(void) switch_channel_flip_cid(switch_channel_t *channel)
if (switch_event_create(&event, SWITCH_EVENT_CALL_UPDATE) == SWITCH_STATUS_SUCCESS) {
const char *uuid = switch_channel_get_partner_uuid(channel);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Direction", "RECV");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Direction", "RECV");
if (uuid) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Bridged-To", uuid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Bridged-To", uuid);
}
switch_channel_event_set_data(channel, event);
switch_event_fire(&event);
@@ -4450,7 +4450,7 @@ SWITCH_DECLARE(switch_status_t) switch_channel_get_variables_prefix(switch_chann
for (hi = channel->variables->headers; hi; hi = hi->next) {
if (!strncmp(hi->name, prefix, strlen(prefix))) {
switch_event_add_header_string(vars, SWITCH_STACK_BOTTOM, hi->name, hi->value);
switch_event_add_header_string_dup(vars, SWITCH_STACK_BOTTOM, hi->name, hi->value);
}
}
}
@@ -5116,8 +5116,8 @@ SWITCH_DECLARE(void) switch_channel_clear_device_record(switch_channel_t *channe
int x = 0;
char prefix[80] = "";
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Type", "device");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Device-ID", channel->device_node->parent->device_id);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Type", "device");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Device-ID", channel->device_node->parent->device_id);
switch_mutex_lock(channel->device_node->parent->mutex);
for(np = channel->device_node->parent->uuid_list; np; np = np->next) {
@@ -5303,10 +5303,10 @@ static void switch_channel_check_device_state(switch_channel_t *channel, switch_
if (switch_event_create(&event, SWITCH_EVENT_DEVICE_STATE) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Device-ID", drec->device_id);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Last-Device-State", switch_channel_device_state2str(drec->last_state));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Device-State", switch_channel_device_state2str(drec->state));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Device-Call-State", switch_channel_callstate2str(callstate));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Device-ID", drec->device_id);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Last-Device-State", switch_channel_device_state2str(drec->last_state));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Device-State", switch_channel_device_state2str(drec->state));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Device-Call-State", switch_channel_callstate2str(callstate));
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Device-Total-Legs", "%u", drec->stats.total);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Device-Legs-Offhook", "%u", drec->stats.offhook);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Device-Legs-Ringing", "%u", drec->stats.ringing);
+3 -3
View File
@@ -437,9 +437,9 @@ SWITCH_DECLARE(void) switch_console_printf(switch_text_channel_t channel, const
if (channel == SWITCH_CHANNEL_ID_EVENT &&
switch_event_running() == SWITCH_STATUS_SUCCESS && switch_event_create(&event, SWITCH_EVENT_LOG) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Log-Data", data);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Log-File", filep);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Log-Function", func);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Log-Data", data);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Log-File", filep);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Log-Function", func);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Log-Line", "%d", line);
switch_event_fire(&event);
}
+13 -13
View File
@@ -147,8 +147,8 @@ static void check_ip(void)
} else if (strcmp(hostname, runtime.hostname)) {
if (switch_event_create(&event, SWITCH_EVENT_TRAP) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "condition", "hostname-change");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "old-hostname", hostname ? hostname : "nil");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "new-hostname", runtime.hostname);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "old-hostname", hostname ? hostname : "nil");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "new-hostname", runtime.hostname);
switch_event_fire(&event);
}
@@ -194,12 +194,12 @@ static void check_ip(void)
if (switch_event_create(&event, SWITCH_EVENT_TRAP) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "condition", "network-address-change");
if (!ok4) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "network-address-previous-v4", old_ip4);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "network-address-change-v4", main_ip4);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "network-address-previous-v4", old_ip4);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "network-address-change-v4", main_ip4);
}
if (!ok6) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "network-address-previous-v6", old_ip6);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "network-address-change-v6", main_ip6);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "network-address-previous-v6", old_ip6);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "network-address-change-v6", main_ip6);
}
switch_event_fire(&event);
}
@@ -209,11 +209,11 @@ static void check_ip(void)
if (switch_event_create(&event, SWITCH_EVENT_TRAP) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "condition", "network-outage");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "network-status-v4", ok4 == 2 ? "disconnected" : "active");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "network-address-v4", main_ip4);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "network-status-v4", ok4 == 2 ? "disconnected" : "active");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "network-address-v4", main_ip4);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "network-status-v6", ok6 == 2 ? "disconnected" : "active");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "network-address-v6", main_ip6);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "network-status-v6", ok6 == 2 ? "disconnected" : "active");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "network-address-v6", main_ip6);
switch_event_fire(&event);
}
@@ -451,7 +451,7 @@ SWITCH_DECLARE(void) switch_core_set_variable(const char *varname, const char *v
if (value) {
char *v = strdup(value);
switch_string_var_check(v, SWITCH_TRUE);
switch_event_add_header_string(runtime.global_vars, SWITCH_STACK_BOTTOM, varname, v);
switch_event_add_header_string_dup(runtime.global_vars, SWITCH_STACK_BOTTOM, varname, v);
free(v);
} else {
switch_event_del_header(runtime.global_vars, varname);
@@ -1637,8 +1637,8 @@ SWITCH_DECLARE(void) switch_load_network_lists(switch_bool_t reload)
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");
switch_event_add_header_string_dup(my_params, SWITCH_STACK_BOTTOM, "domain", domain);
switch_event_add_header_string_dup(my_params, SWITCH_STACK_BOTTOM, "purpose", "network-list");
if (switch_xml_locate_domain(domain, my_params, &xml_root, &x_domain) != SWITCH_STATUS_SUCCESS) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Cannot locate domain %s\n", domain);
+5 -5
View File
@@ -163,7 +163,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_set_real_read_codec(switch_c
if (changed_read_codec && session->read_codec && session->read_impl.decoded_bytes_per_packet) {
if (switch_event_create(&event, SWITCH_EVENT_CODEC) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(session->channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "channel-read-codec-name", session->read_impl.iananame);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "channel-read-codec-name", session->read_impl.iananame);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "channel-read-codec-rate", "%d", session->read_impl.actual_samples_per_second);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "channel-read-codec-bit-rate", "%d", session->read_impl.bits_per_second);
if (session->read_impl.actual_samples_per_second != session->read_impl.samples_per_second) {
@@ -272,7 +272,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_set_read_codec(switch_core_s
if (session->read_impl.decoded_bytes_per_packet) {
if (switch_event_create(&event, SWITCH_EVENT_CODEC) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(session->channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "channel-read-codec-name", session->read_impl.iananame);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "channel-read-codec-name", session->read_impl.iananame);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "channel-read-codec-rate", "%d", session->read_impl.actual_samples_per_second);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "channel-read-codec-bit-rate", "%d", session->read_impl.bits_per_second);
if (session->read_impl.actual_samples_per_second != session->read_impl.samples_per_second) {
@@ -443,7 +443,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_set_write_codec(switch_core_
if (codec && session->write_impl.codec_id) {
if (switch_event_create(&event, SWITCH_EVENT_CODEC) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(session->channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Channel-Write-Codec-Name", session->write_impl.iananame);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Channel-Write-Codec-Name", session->write_impl.iananame);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Channel-Write-Codec-Rate", "%d", session->write_impl.actual_samples_per_second);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Channel-Write-codec-bit-rate", "%d", session->write_impl.bits_per_second);
if (session->write_impl.actual_samples_per_second != session->write_impl.samples_per_second) {
@@ -503,7 +503,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_set_video_read_codec(switch_
if (switch_event_create(&event, SWITCH_EVENT_CODEC) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(session->channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "channel-video-read-codec-name", codec->implementation->iananame);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "channel-video-read-codec-name", codec->implementation->iananame);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "channel-video-read-codec-rate", "%d", codec->implementation->actual_samples_per_second);
switch_event_fire(&event);
}
@@ -551,7 +551,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_set_video_write_codec(switch
if (switch_event_create(&event, SWITCH_EVENT_CODEC) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(session->channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "channel-video-write-codec-name", codec->implementation->iananame);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "channel-video-write-codec-name", codec->implementation->iananame);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "channel-video-write-codec-rate", "%d", codec->implementation->actual_samples_per_second);
switch_event_fire(&event);
}
+1 -1
View File
@@ -246,7 +246,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_hash_delete_multi(switch_hash_t *has
void *val;
switch_core_hash_this(hi, &key, NULL, &val);
if (!callback || callback(key, val, pData)) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "delete", (const char *) key);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "delete", (const char *) key);
}
}
+21 -21
View File
@@ -2952,65 +2952,65 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_read_frame(switch_core_session
char *uuid = switch_core_session_get_uuid(session);
if (uuid) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Unique-ID", switch_core_session_get_uuid(session));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Unique-ID", switch_core_session_get_uuid(session));
}
snprintf(value, sizeof(value), "%.8x", rtcp_frame.ssrc);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "SSRC", value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "SSRC", value);
snprintf(value, sizeof(value), "%u", rtcp_frame.ntp_msw);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "NTP-Most-Significant-Word", value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "NTP-Most-Significant-Word", value);
snprintf(value, sizeof(value), "%u", rtcp_frame.ntp_lsw);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "NTP-Least-Significant-Word", value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "NTP-Least-Significant-Word", value);
snprintf(value, sizeof(value), "%u", rtcp_frame.timestamp);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "RTP-Timestamp", value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "RTP-Timestamp", value);
snprintf(value, sizeof(value), "%u", rtcp_frame.packet_count);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Sender-Packet-Count", value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Sender-Packet-Count", value);
snprintf(value, sizeof(value), "%u", rtcp_frame.octect_count);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Octect-Packet-Count", value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Octect-Packet-Count", value);
snprintf(value, sizeof(value), "%u", engine->read_frame.timestamp);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Last-RTP-Timestamp", value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Last-RTP-Timestamp", value);
snprintf(value, sizeof(value), "%u", engine->read_frame.rate);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "RTP-Rate", value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "RTP-Rate", value);
snprintf(value, sizeof(value), "%" SWITCH_TIME_T_FMT, switch_time_now());
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Capture-Time", value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Capture-Time", value);
// Add sources info
for (i = 0; i < rtcp_frame.report_count; i++) {
snprintf(header, sizeof(header), "Source%u-SSRC", i);
snprintf(value, sizeof(value), "%.8x", rtcp_frame.reports[i].ssrc);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, header, value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, header, value);
snprintf(header, sizeof(header), "Source%u-Fraction", i);
snprintf(value, sizeof(value), "%u", rtcp_frame.reports[i].fraction);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, header, value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, header, value);
snprintf(header, sizeof(header), "Source%u-Lost", i);
snprintf(value, sizeof(value), "%u", rtcp_frame.reports[i].lost);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, header, value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, header, value);
snprintf(header, sizeof(header), "Source%u-Loss-Avg", i);
snprintf(value, sizeof(value), "%u", rtcp_frame.reports[i].loss_avg);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, header, value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, header, value);
snprintf(header, sizeof(header), "Source%u-Highest-Sequence-Number-Received", i);
snprintf(value, sizeof(value), "%u", rtcp_frame.reports[i].highest_sequence_number_received);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, header, value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, header, value);
snprintf(header, sizeof(header), "Source%u-Jitter", i);
snprintf(value, sizeof(value), "%u", rtcp_frame.reports[i].jitter);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, header, value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, header, value);
snprintf(header, sizeof(header), "Source%u-LSR", i);
snprintf(value, sizeof(value), "%u", rtcp_frame.reports[i].lsr);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, header, value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, header, value);
snprintf(header, sizeof(header), "Source%u-DLSR", i);
snprintf(value, sizeof(value), "%u", rtcp_frame.reports[i].dlsr);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, header, value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, header, value);
snprintf(header, sizeof(header), "Rtt%u-Avg", i);
snprintf(value, sizeof(value), "%f", rtcp_frame.reports[i].rtt_avg);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, header, value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, header, value);
}
switch_event_fire(&event);
@@ -10145,10 +10145,10 @@ switch_status_t switch_core_media_sdp_map(const char *r_sdp, switch_event_t **fm
switch_snprintf(key, sizeof(key), "%s", map->rm_encoding);
}
switch_event_add_header_string(*pt, SWITCH_STACK_BOTTOM, key, buf);
switch_event_add_header_string_dup(*pt, SWITCH_STACK_BOTTOM, key, buf);
if (map->rm_fmtp) {
switch_event_add_header_string(*fmtp, SWITCH_STACK_BOTTOM, key, map->rm_fmtp);
switch_event_add_header_string_dup(*fmtp, SWITCH_STACK_BOTTOM, key, map->rm_fmtp);
}
}
}
+15 -15
View File
@@ -280,7 +280,7 @@ SWITCH_DECLARE(uint32_t) switch_core_session_hupall_matching_var_ans(const char
return r;
switch_event_create(&vars, SWITCH_EVENT_CLONE);
switch_event_add_header_string(vars, SWITCH_STACK_BOTTOM, var_name, var_val);
switch_event_add_header_string_dup(vars, SWITCH_STACK_BOTTOM, var_name, var_val);
r = switch_core_session_hupall_matching_vars_ans(vars, cause, type);
switch_event_destroy(&vars);
return r;
@@ -2048,7 +2048,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_set_uuid(switch_core_session
switch_channel_set_variable(session->channel, "call_uuid", use_uuid);
switch_event_create(&event, SWITCH_EVENT_CHANNEL_UUID);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Old-Unique-ID", session->uuid_str);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Old-Unique-ID", session->uuid_str);
switch_core_hash_delete(session_manager.session_table, session->uuid_str);
switch_set_string(session->uuid_str, use_uuid);
switch_core_hash_insert(session_manager.session_table, session->uuid_str, session);
@@ -2684,18 +2684,18 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_execute_application_async(sw
}
if (switch_event_create(&execute_event, SWITCH_EVENT_COMMAND) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(execute_event, SWITCH_STACK_BOTTOM, "call-command", "execute");
switch_event_add_header_string(execute_event, SWITCH_STACK_BOTTOM, "execute-app-name", app);
switch_event_add_header_string_dup(execute_event, SWITCH_STACK_BOTTOM, "call-command", "execute");
switch_event_add_header_string_dup(execute_event, SWITCH_STACK_BOTTOM, "execute-app-name", app);
if (arg) {
switch_event_add_header_string(execute_event, SWITCH_STACK_BOTTOM, "execute-app-arg", arg);
switch_event_add_header_string_dup(execute_event, SWITCH_STACK_BOTTOM, "execute-app-arg", arg);
}
if (!switch_channel_test_flag(session->channel, CF_PROXY_MODE)) {
switch_channel_set_flag(session->channel, CF_BLOCK_BROADCAST_UNTIL_MEDIA);
}
switch_event_add_header_string(execute_event, SWITCH_STACK_BOTTOM, "event-lock", "true");
switch_event_add_header_string_dup(execute_event, SWITCH_STACK_BOTTOM, "event-lock", "true");
switch_core_session_queue_private_event(session, &execute_event, SWITCH_FALSE);
return SWITCH_STATUS_SUCCESS;
@@ -2937,10 +2937,10 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_exec(switch_core_session_t *
if (switch_event_create(&event, SWITCH_EVENT_CHANNEL_EXECUTE) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(session->channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Application", application_interface->interface_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Application-Data", expanded);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Application-UUID", app_uuid);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Application-UUID-Name", app_uuid_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Application", application_interface->interface_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Application-Data", expanded);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Application-UUID", app_uuid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Application-UUID-Name", app_uuid_name);
switch_event_fire(&event);
}
@@ -2961,11 +2961,11 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_exec(switch_core_session_t *
if (switch_event_create(&event, SWITCH_EVENT_CHANNEL_EXECUTE_COMPLETE) == SWITCH_STATUS_SUCCESS) {
const char *resp = switch_channel_get_variable(session->channel, SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE);
switch_channel_event_set_data(session->channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Application", application_interface->interface_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Application-Data", expanded);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Application-Response", resp ? resp : "_none_");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Application-UUID", app_uuid);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Application-UUID-Name", app_uuid_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Application", application_interface->interface_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Application-Data", expanded);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Application-Response", resp ? resp : "_none_");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Application-UUID", app_uuid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Application-UUID-Name", app_uuid_name);
switch_event_fire(&event);
}
+2 -2
View File
@@ -941,7 +941,7 @@ SWITCH_DECLARE(void) switch_core_session_reporting_state(switch_core_session_t *
}
if (switch_event_create(&event, SWITCH_EVENT_CHANNEL_HANGUP_COMPLETE) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Hangup-Cause", switch_channel_cause2str(cause));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Hangup-Cause", switch_channel_cause2str(cause));
switch_channel_event_set_data(session->channel, event);
if (switch_true(switch_channel_get_variable(session->channel, "hangup_complete_with_xml"))) {
switch_xml_t cdr = NULL;
@@ -949,7 +949,7 @@ SWITCH_DECLARE(void) switch_core_session_reporting_state(switch_core_session_t *
if (switch_ivr_generate_xml_cdr(session, &cdr) == SWITCH_STATUS_SUCCESS) {
xml_cdr_text = switch_xml_toxml(cdr, SWITCH_FALSE);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "CDR-Attached", "xml");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "CDR-Attached", "xml");
switch_event_add_body(event, "%s", xml_cdr_text);
switch_xml_free(cdr);
switch_safe_free(xml_cdr_text);
+1 -1
View File
@@ -453,7 +453,7 @@ SWITCH_DECLARE(bool) Event::addHeader(const char *header_name, const char *value
this_check(false);
if (event) {
return switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, header_name, value) == SWITCH_STATUS_SUCCESS ? true : false;
return switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, header_name, value) == SWITCH_STATUS_SUCCESS ? true : false;
} else {
switch_log_printf(SWITCH_CHANNEL_LOG,SWITCH_LOG_ERROR, "Trying to addHeader an event that does not exist!\n");
}
+46 -38
View File
@@ -779,7 +779,7 @@ SWITCH_DECLARE(switch_status_t) switch_event_create_subclass_detailed(const char
if (subclass_name) {
(*event)->subclass_name = DUP(subclass_name);
switch_event_add_header_string(*event, SWITCH_STACK_BOTTOM, "Event-Subclass", subclass_name);
switch_event_add_header_string_dup(*event, SWITCH_STACK_BOTTOM, "Event-Subclass", subclass_name);
}
return SWITCH_STATUS_SUCCESS;
@@ -788,7 +788,7 @@ SWITCH_DECLARE(switch_status_t) switch_event_create_subclass_detailed(const char
SWITCH_DECLARE(switch_status_t) switch_event_set_priority(switch_event_t *event, switch_priority_t priority)
{
event->priority = priority;
switch_event_add_header_string(event, SWITCH_STACK_TOP, "priority", switch_priority_name(priority));
switch_event_add_header_string_dup(event, SWITCH_STACK_TOP, "priority", switch_priority_name(priority));
return SWITCH_STATUS_SUCCESS;
}
@@ -992,7 +992,7 @@ SWITCH_DECLARE(int) switch_event_add_array(switch_event_t *event, const char *va
switch_separate_string_string(data, "|:", array, max);
for(i = 0; i < max; i++) {
switch_event_add_header_string(event, SWITCH_STACK_PUSH, var, array[i]);
switch_event_add_header_string_dup(event, SWITCH_STACK_PUSH, var, array[i]);
}
free(array);
@@ -1231,7 +1231,7 @@ SWITCH_DECLARE(switch_status_t) switch_event_set_subclass_name(switch_event_t *e
switch_safe_free(event->subclass_name);
event->subclass_name = DUP(subclass_name);
switch_event_del_header(event, "Event-Subclass");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Event-Subclass", event->subclass_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Event-Subclass", event->subclass_name);
return SWITCH_STATUS_SUCCESS;
}
@@ -1243,6 +1243,14 @@ SWITCH_DECLARE(switch_status_t) switch_event_add_header_string(switch_event_t *e
return SWITCH_STATUS_GENERR;
}
SWITCH_DECLARE(switch_status_t) switch_event_add_header_string_dup(switch_event_t *event, switch_stack_t stack, const char *header_name, const char *data)
{
if (data) {
return switch_event_base_add_header(event, stack, header_name, DUP(data));
}
return SWITCH_STATUS_GENERR;
}
SWITCH_DECLARE(switch_status_t) switch_event_set_body(switch_event_t *event, const char *body)
{
switch_safe_free(event->body);
@@ -1314,10 +1322,10 @@ SWITCH_DECLARE(void) switch_event_merge(switch_event_t *event, switch_event_t *t
int i;
for(i = 0; i < hp->idx; i++) {
switch_event_add_header_string(event, SWITCH_STACK_PUSH, hp->name, hp->array[i]);
switch_event_add_header_string_dup(event, SWITCH_STACK_PUSH, hp->name, hp->array[i]);
}
} else {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, hp->name, hp->value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, hp->name, hp->value);
}
}
}
@@ -1342,10 +1350,10 @@ SWITCH_DECLARE(switch_status_t) switch_event_dup(switch_event_t **event, switch_
if (hp->idx) {
int i;
for (i = 0; i < hp->idx; i++) {
switch_event_add_header_string(*event, SWITCH_STACK_PUSH, hp->name, hp->array[i]);
switch_event_add_header_string_dup(*event, SWITCH_STACK_PUSH, hp->name, hp->array[i]);
}
} else {
switch_event_add_header_string(*event, SWITCH_STACK_BOTTOM, hp->name, hp->value);
switch_event_add_header_string_dup(*event, SWITCH_STACK_BOTTOM, hp->name, hp->value);
}
}
@@ -1398,17 +1406,17 @@ SWITCH_DECLARE(switch_status_t) switch_event_dup_reply(switch_event_t **event, s
if (hp->idx) {
int i;
for (i = 0; i < hp->idx; i++) {
switch_event_add_header_string(*event, SWITCH_STACK_PUSH, name, hp->array[i]);
switch_event_add_header_string_dup(*event, SWITCH_STACK_PUSH, name, hp->array[i]);
}
} else {
switch_event_add_header_string(*event, SWITCH_STACK_BOTTOM, name, value);
switch_event_add_header_string_dup(*event, SWITCH_STACK_BOTTOM, name, value);
}
}
switch_event_add_header_string(*event, SWITCH_STACK_BOTTOM, "replying", "true");
switch_event_add_header_string_dup(*event, SWITCH_STACK_BOTTOM, "replying", "true");
if (todup->body) {
switch_event_add_header_string(*event, SWITCH_STACK_BOTTOM, "orig_body", todup->body);
switch_event_add_header_string_dup(*event, SWITCH_STACK_BOTTOM, "orig_body", todup->body);
}
(*event)->key = todup->key;
@@ -1450,7 +1458,7 @@ SWITCH_DECLARE(switch_status_t) switch_event_binary_deserialize(switch_event_t *
while (tpl_unpack(tn, 1)) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, sh.name, sh.value);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, sh.name, sh.value);
}
*eventp = event;
@@ -1645,7 +1653,7 @@ SWITCH_DECLARE(switch_status_t) switch_event_create_array_pair(switch_event_t **
name = "Unknown";
}
switch_event_add_header_string(*event, SWITCH_STACK_BOTTOM, name, val);
switch_event_add_header_string_dup(*event, SWITCH_STACK_BOTTOM, name, val);
}
return SWITCH_STATUS_SUCCESS;
@@ -1726,7 +1734,7 @@ SWITCH_DECLARE(switch_status_t) switch_event_create_brackets(char *data, char a,
if (switch_separate_string(var_array[x], '=', inner_var_array, (sizeof(inner_var_array) / sizeof(inner_var_array[0]))) == 2) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG1, "Parsing variable [%s]=[%s]\n", inner_var_array[0], inner_var_array[1]);
switch_event_add_header_string(e, SWITCH_STACK_BOTTOM, inner_var_array[0], inner_var_array[1]);
switch_event_add_header_string_dup(e, SWITCH_STACK_BOTTOM, inner_var_array[0], inner_var_array[1]);
}
}
}
@@ -1783,7 +1791,7 @@ SWITCH_DECLARE(switch_status_t) switch_event_create_json(switch_event_t **event,
switch_name_event(value, &new_event->event_id);
}
switch_event_add_header_string(new_event, SWITCH_STACK_BOTTOM, name, value);
switch_event_add_header_string_dup(new_event, SWITCH_STACK_BOTTOM, name, value);
}
} else if (name) {
@@ -1794,7 +1802,7 @@ SWITCH_DECLARE(switch_status_t) switch_event_create_json(switch_event_t **event,
cJSON *item = cJSON_GetArrayItem(cjp, i);
if (item && item->type == cJSON_String && item->valuestring) {
switch_event_add_header_string(new_event, SWITCH_STACK_PUSH, name, item->valuestring);
switch_event_add_header_string_dup(new_event, SWITCH_STACK_PUSH, name, item->valuestring);
}
}
}
@@ -1969,21 +1977,21 @@ SWITCH_DECLARE(void) switch_event_prep_for_delivery_detailed(const char *file, c
switch_mutex_unlock(EVENT_QUEUE_MUTEX);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Event-Name", switch_event_name(event->event_id));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Core-UUID", switch_core_get_uuid());
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FreeSWITCH-Hostname", switch_core_get_hostname());
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FreeSWITCH-Switchname", switch_core_get_switchname());
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FreeSWITCH-IPv4", guess_ip_v4);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "FreeSWITCH-IPv6", guess_ip_v6);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Event-Name", switch_event_name(event->event_id));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Core-UUID", switch_core_get_uuid());
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FreeSWITCH-Hostname", switch_core_get_hostname());
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FreeSWITCH-Switchname", switch_core_get_switchname());
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FreeSWITCH-IPv4", guess_ip_v4);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "FreeSWITCH-IPv6", guess_ip_v6);
switch_time_exp_lt(&tm, ts);
switch_strftime_nocheck(date, &retsize, sizeof(date), "%Y-%m-%d %T", &tm);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Event-Date-Local", date);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Event-Date-Local", date);
switch_rfc822_date(date, ts);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Event-Date-GMT", date);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Event-Date-GMT", date);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Event-Date-Timestamp", "%" SWITCH_UINT64_T_FMT, (uint64_t) ts);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Event-Calling-File", switch_cut_path(file));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Event-Calling-Function", func);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Event-Calling-File", switch_cut_path(file));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Event-Calling-Function", func);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Event-Calling-Line-Number", "%d", line);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Event-Sequence", "%" SWITCH_UINT64_T_FMT, seq);
@@ -2204,17 +2212,17 @@ SWITCH_DECLARE(switch_status_t) switch_event_create_pres_in_detailed(char *file,
switch_event_t *pres_event;
if (switch_event_create_subclass(&pres_event, SWITCH_EVENT_PRESENCE_IN, SWITCH_EVENT_SUBCLASS_ANY) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(pres_event, SWITCH_STACK_TOP, "proto", proto);
switch_event_add_header_string(pres_event, SWITCH_STACK_TOP, "login", login);
switch_event_add_header_string_dup(pres_event, SWITCH_STACK_TOP, "proto", proto);
switch_event_add_header_string_dup(pres_event, SWITCH_STACK_TOP, "login", login);
switch_event_add_header(pres_event, SWITCH_STACK_TOP, "from", "%s@%s", from, from_domain);
switch_event_add_header_string(pres_event, SWITCH_STACK_TOP, "status", status);
switch_event_add_header_string(pres_event, SWITCH_STACK_TOP, "event_type", event_type);
switch_event_add_header_string(pres_event, SWITCH_STACK_TOP, "alt_event_type", alt_event_type);
switch_event_add_header_string_dup(pres_event, SWITCH_STACK_TOP, "status", status);
switch_event_add_header_string_dup(pres_event, SWITCH_STACK_TOP, "event_type", event_type);
switch_event_add_header_string_dup(pres_event, SWITCH_STACK_TOP, "alt_event_type", alt_event_type);
switch_event_add_header(pres_event, SWITCH_STACK_TOP, "event_count", "%d", event_count);
switch_event_add_header_string(pres_event, SWITCH_STACK_TOP, "unique-id", alt_event_type);
switch_event_add_header_string(pres_event, SWITCH_STACK_TOP, "channel-state", channel_state);
switch_event_add_header_string(pres_event, SWITCH_STACK_TOP, "answer-state", answer_state);
switch_event_add_header_string(pres_event, SWITCH_STACK_TOP, "presence-call-direction", call_direction);
switch_event_add_header_string_dup(pres_event, SWITCH_STACK_TOP, "unique-id", alt_event_type);
switch_event_add_header_string_dup(pres_event, SWITCH_STACK_TOP, "channel-state", channel_state);
switch_event_add_header_string_dup(pres_event, SWITCH_STACK_TOP, "answer-state", answer_state);
switch_event_add_header_string_dup(pres_event, SWITCH_STACK_TOP, "presence-call-direction", call_direction);
switch_event_fire_detailed(file, func, line, &pres_event, NULL);
return SWITCH_STATUS_SUCCESS;
}
@@ -2695,7 +2703,7 @@ SWITCH_DECLARE(void) switch_event_add_presence_data_cols(switch_channel_t *chann
switch_snprintf(header_name, sizeof(header_name), "%s%s", prefix, cols[i]);
val = switch_channel_get_variable(channel, cols[i]);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, header_name, val);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, header_name, val);
}
switch_safe_free(data_copy);
@@ -3147,7 +3155,7 @@ SWITCH_DECLARE(void) switch_event_channel_permission_modify(const char *cookie,
}
if (set) {
switch_event_add_header_string(vals, SWITCH_STACK_BOTTOM, event_channel, "true");
switch_event_add_header_string_dup(vals, SWITCH_STACK_BOTTOM, event_channel, "true");
} else {
switch_event_del_header(vals, event_channel);
}
+7 -7
View File
@@ -3709,8 +3709,8 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_say(switch_core_session_t *session,
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", "say_app");
switch_event_add_header_string(hint_data, SWITCH_STACK_BOTTOM, "lang", chan_lang);
switch_event_add_header_string_dup(hint_data, SWITCH_STACK_BOTTOM, "macro_name", "say_app");
switch_event_add_header_string_dup(hint_data, SWITCH_STACK_BOTTOM, "lang", chan_lang);
switch_channel_event_set_data(channel, hint_data);
if (switch_xml_locate_language(&xml, &cfg, hint_data, &language, &phrases, &macros, chan_lang) != SWITCH_STATUS_SUCCESS) {
@@ -3817,8 +3817,8 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_say_string(switch_core_session_t *ses
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", "say_app");
switch_event_add_header_string(hint_data, SWITCH_STACK_BOTTOM, "lang", chan_lang);
switch_event_add_header_string_dup(hint_data, SWITCH_STACK_BOTTOM, "macro_name", "say_app");
switch_event_add_header_string_dup(hint_data, SWITCH_STACK_BOTTOM, "lang", chan_lang);
if (channel) {
switch_channel_event_set_data(channel, hint_data);
@@ -4322,7 +4322,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_create_message_reply(switch_event_t *
abort();
}
switch_event_add_header_string(*reply, SWITCH_STACK_BOTTOM, "proto", new_proto);
switch_event_add_header_string_dup(*reply, SWITCH_STACK_BOTTOM, "proto", new_proto);
return status;
}
@@ -4340,11 +4340,11 @@ SWITCH_DECLARE(char *) switch_ivr_check_presence_mapping(const char *exten_name,
switch_assert(params);
if ( !zstr(domain_name) ) {
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "domain", domain_name);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "domain", domain_name);
}
if ( !zstr(exten_name) ) {
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "exten", exten_name);
switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "exten", exten_name);
}
if (!(xml = switch_xml_open_cfg(cf, &cfg, params))) {
+28 -28
View File
@@ -1215,7 +1215,7 @@ static void merge_recording_variables(struct record_helper *rh, switch_event_t *
switch_assert(vvar && vval);
switch_snprintf(buf, sizeof(buf), "Recording-Variable-%s", vvar);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, buf, vval);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, buf, vval);
}
}
}
@@ -1238,10 +1238,10 @@ static void send_record_stop_event(switch_channel_t *channel, switch_codec_imple
if (switch_event_create(&event, SWITCH_EVENT_RECORD_STOP) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Record-File-Path", rh->file);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Record-File-Path", rh->file);
merge_recording_variables(rh, event);
if (!zstr(rh->completion_cause)) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Record-Completion-Cause", rh->completion_cause);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Record-Completion-Cause", rh->completion_cause);
}
switch_event_fire(&event);
}
@@ -1479,7 +1479,7 @@ static switch_bool_t record_callback(switch_media_bug_t *bug, void *user_data, s
rh->start_event_sent = 1;
if (switch_event_create(&event, SWITCH_EVENT_RECORD_START) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Record-File-Path", rh->file);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Record-File-Path", rh->file);
merge_recording_variables(rh, event);
switch_event_fire(&event);
}
@@ -3929,8 +3929,8 @@ static switch_status_t generate_on_dtmf(switch_core_session_t *session, const sw
switch_channel_event_set_data(channel, event);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "DTMF-Digit", "%c", dtmf->digit);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "DTMF-Duration", "%u", dtmf->duration);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "DTMF-Source", "APP");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "DTMF-Conversion", "native:inband");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "DTMF-Source", "APP");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "DTMF-Conversion", "native:inband");
if (switch_channel_test_flag(channel, CF_DIVERT_EVENTS)) {
switch_core_session_queue_event(session, &event);
} else {
@@ -4267,7 +4267,7 @@ static switch_bool_t tone_detect_callback(switch_media_bug_t *bug, void *user_da
if (switch_event_create(&event, SWITCH_EVENT_DETECTED_TONE) == SWITCH_STATUS_SUCCESS) {
switch_event_t *dup;
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Detected-Tone", cont->list[i].key);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Detected-Tone", cont->list[i].key);
if (switch_event_dup(&dup, event) == SWITCH_STATUS_SUCCESS) {
switch_event_fire(&dup);
@@ -4276,7 +4276,7 @@ static switch_bool_t tone_detect_callback(switch_media_bug_t *bug, void *user_da
if (switch_core_session_queue_event(cont->session, &event) != SWITCH_STATUS_SUCCESS) {
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(switch_core_media_bug_get_session(bug)), SWITCH_LOG_ERROR,
"Event queue failed!\n");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "delivery-failure", "true");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "delivery-failure", "true");
switch_event_fire(&event);
}
}
@@ -5067,7 +5067,7 @@ static void *SWITCH_THREAD_FUNC speech_thread(switch_thread_t *thread, void *obj
if (switch_event_create(&event, SWITCH_EVENT_DETECTED_SPEECH) == SWITCH_STATUS_SUCCESS) {
if (status == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Speech-Type", "detected-speech");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Speech-Type", "detected-speech");
if (headers) {
switch_event_merge(event, headers);
@@ -5075,7 +5075,7 @@ static void *SWITCH_THREAD_FUNC speech_thread(switch_thread_t *thread, void *obj
switch_event_add_body(event, "%s", xmlstr);
} else if (status == SWITCH_STATUS_MORE_DATA) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Speech-Type", "detected-partial-speech");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Speech-Type", "detected-partial-speech");
if (headers) {
switch_event_merge(event, headers);
@@ -5083,7 +5083,7 @@ static void *SWITCH_THREAD_FUNC speech_thread(switch_thread_t *thread, void *obj
switch_event_add_body(event, "%s", xmlstr);
} else {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Speech-Type", "begin-speaking");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Speech-Type", "begin-speaking");
}
if (switch_test_flag(sth->ah, SWITCH_ASR_FLAG_FIRE_EVENTS)) {
@@ -5098,7 +5098,7 @@ static void *SWITCH_THREAD_FUNC speech_thread(switch_thread_t *thread, void *obj
if (switch_core_session_queue_event(sth->session, &event) != SWITCH_STATUS_SUCCESS) {
switch_log_printf(SWITCH_CHANNEL_CHANNEL_LOG(channel), SWITCH_LOG_ERROR, "Event queue failed!\n");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "delivery-failure", "true");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "delivery-failure", "true");
switch_event_fire(&event);
}
}
@@ -5113,7 +5113,7 @@ static void *SWITCH_THREAD_FUNC speech_thread(switch_thread_t *thread, void *obj
done:
if (switch_event_create(&event, SWITCH_EVENT_DETECTED_SPEECH) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Speech-Type", "closed");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Speech-Type", "closed");
if (switch_test_flag(sth->ah, SWITCH_ASR_FLAG_FIRE_EVENTS)) {
switch_event_t *dup;
@@ -5126,7 +5126,7 @@ static void *SWITCH_THREAD_FUNC speech_thread(switch_thread_t *thread, void *obj
if (switch_core_session_queue_event(sth->session, &event) != SWITCH_STATUS_SUCCESS) {
switch_log_printf(SWITCH_CHANNEL_CHANNEL_LOG(channel), SWITCH_LOG_ERROR, "Event queue failed!\n");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "delivery-failure", "true");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "delivery-failure", "true");
switch_event_fire(&event);
}
}
@@ -5695,10 +5695,10 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_broadcast(const char *uuid, const cha
} else {
switch_core_session_get_app_flags(app, &app_flags);
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);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, (flags & SMF_PRIORITY) ? "event-lock-pri" : "event-lock", "true");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "call-command", "execute");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "execute-app-name", app);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "execute-app-arg", path);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, (flags & SMF_PRIORITY) ? "event-lock-pri" : "event-lock", "true");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "lead-frames", "%d", 5);
@@ -5707,7 +5707,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_broadcast(const char *uuid, const cha
}
if ((flags & SMF_HOLD_BLEG)) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "hold-bleg", "true");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "hold-bleg", "true");
}
switch_core_session_queue_private_event(other_session, &event, (flags & SMF_PRIORITY));
@@ -5727,17 +5727,17 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_broadcast(const char *uuid, const cha
switch_core_session_execute_application(session, app, path);
} else {
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);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, (flags & SMF_PRIORITY) ? "event-lock-pri" : "event-lock", "true");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "call-command", "execute");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "execute-app-name", app);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "execute-app-arg", path);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, (flags & SMF_PRIORITY) ? "event-lock-pri" : "event-lock", "true");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "lead-frames", "%d", 5);
if ((flags & SMF_LOOP)) {
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "loops", "%d", -1);
}
if ((flags & SMF_HOLD_BLEG)) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "hold-bleg", "true");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "hold-bleg", "true");
}
switch_core_session_queue_private_event(session, &event, (flags & SMF_PRIORITY));
@@ -5750,10 +5750,10 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_broadcast(const char *uuid, const cha
if (cause) {
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);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, (flags & SMF_PRIORITY) ? "event-lock-pri" : "event-lock", "true");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "call-command", "execute");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "execute-app-name", "hangup");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "execute-app-arg", cause);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, (flags & SMF_PRIORITY) ? "event-lock-pri" : "event-lock", "true");
switch_core_session_queue_private_event(session, &event, (flags & SMF_PRIORITY));
}
}
+18 -18
View File
@@ -1235,15 +1235,15 @@ static switch_status_t uuid_bridge_on_soft_execute(switch_core_session_t *sessio
/* fire events that will change the data table from "show channels" */
if (switch_event_create(&event, SWITCH_EVENT_CHANNEL_EXECUTE) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Application", "uuid_bridge");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Application-Data", switch_core_session_get_uuid(other_session));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Application", "uuid_bridge");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Application-Data", switch_core_session_get_uuid(other_session));
switch_event_fire(&event);
}
if (switch_event_create(&event, SWITCH_EVENT_CHANNEL_EXECUTE) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(other_channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Application", "uuid_bridge");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Application-Data", switch_core_session_get_uuid(session));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Application", "uuid_bridge");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Application-Data", switch_core_session_get_uuid(session));
switch_event_fire(&event);
}
@@ -1377,8 +1377,8 @@ static switch_status_t signal_bridge_on_hibernate(switch_core_session_t *session
if (switch_event_create(&event, SWITCH_EVENT_CHANNEL_BRIDGE) == SWITCH_STATUS_SUCCESS) {
switch_core_session_t *other_session;
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Bridge-A-Unique-ID", switch_core_session_get_uuid(session));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Bridge-B-Unique-ID", msg.string_arg);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Bridge-A-Unique-ID", switch_core_session_get_uuid(session));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Bridge-B-Unique-ID", msg.string_arg);
switch_channel_event_set_data(channel, event);
if ((other_session = switch_core_session_locate(msg.string_arg))) {
switch_channel_t *other_channel = switch_core_session_get_channel(other_session);
@@ -1479,8 +1479,8 @@ static switch_status_t signal_bridge_on_hangup(switch_core_session_t *session)
if (switch_channel_test_flag(channel, CF_BRIDGE_ORIGINATOR)) {
switch_channel_clear_flag_recursive(channel, CF_BRIDGE_ORIGINATOR);
if (switch_event_create(&event, SWITCH_EVENT_CHANNEL_UNBRIDGE) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Bridge-A-Unique-ID", switch_core_session_get_uuid(session));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Bridge-B-Unique-ID", uuid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Bridge-A-Unique-ID", switch_core_session_get_uuid(session));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Bridge-B-Unique-ID", uuid);
switch_event_add_presence_data_cols(other_channel, event, "Bridge-B-PD-");
switch_channel_event_set_data(channel, event);
switch_event_fire(&event);
@@ -1492,8 +1492,8 @@ static switch_status_t signal_bridge_on_hangup(switch_core_session_t *session)
if (switch_channel_test_flag(channel, CF_BRIDGE_ORIGINATOR)) {
switch_channel_clear_flag_recursive(channel, CF_BRIDGE_ORIGINATOR);
if (switch_event_create(&event, SWITCH_EVENT_CHANNEL_UNBRIDGE) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Bridge-A-Unique-ID", switch_core_session_get_uuid(session));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Bridge-B-Unique-ID", uuid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Bridge-A-Unique-ID", switch_core_session_get_uuid(session));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Bridge-B-Unique-ID", uuid);
switch_channel_event_set_data(channel, event);
switch_event_fire(&event);
}
@@ -1569,15 +1569,15 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_signal_bridge(switch_core_session_t *
/* fire events that will change the data table from "show channels" */
if (switch_event_create(&event, SWITCH_EVENT_CHANNEL_EXECUTE) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(caller_channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Application", "signal_bridge");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Application-Data", switch_core_session_get_uuid(peer_session));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Application", "signal_bridge");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Application-Data", switch_core_session_get_uuid(peer_session));
switch_event_fire(&event);
}
if (switch_event_create(&event, SWITCH_EVENT_CHANNEL_EXECUTE) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(peer_channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Application", "signal_bridge");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Application-Data", switch_core_session_get_uuid(session));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Application", "signal_bridge");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Application-Data", switch_core_session_get_uuid(session));
switch_event_fire(&event);
}
@@ -1687,8 +1687,8 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_multi_threaded_bridge(switch_core_ses
switch_channel_set_bridge_time(peer_channel);
if (switch_event_create(&event, SWITCH_EVENT_CHANNEL_BRIDGE) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Bridge-A-Unique-ID", switch_core_session_get_uuid(session));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Bridge-B-Unique-ID", switch_core_session_get_uuid(peer_session));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Bridge-A-Unique-ID", switch_core_session_get_uuid(session));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Bridge-B-Unique-ID", switch_core_session_get_uuid(peer_session));
switch_channel_event_set_data(caller_channel, event);
switch_event_add_presence_data_cols(peer_channel, event, "Bridge-B-PD-");
switch_event_fire(&event);
@@ -1877,8 +1877,8 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_multi_threaded_bridge(switch_core_ses
switch_channel_set_variable(peer_channel, "call_uuid", switch_core_session_get_uuid(peer_session));
if (br && switch_event_create(&event, SWITCH_EVENT_CHANNEL_UNBRIDGE) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Bridge-A-Unique-ID", switch_core_session_get_uuid(session));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Bridge-B-Unique-ID", switch_core_session_get_uuid(peer_session));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Bridge-A-Unique-ID", switch_core_session_get_uuid(session));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Bridge-B-Unique-ID", switch_core_session_get_uuid(peer_session));
switch_channel_event_set_data(caller_channel, event);
switch_event_add_presence_data_cols(peer_channel, event, "Bridge-B-PD-");
switch_event_fire(&event);
+1 -1
View File
@@ -83,7 +83,7 @@ static void ivr_send_event(switch_core_session_t *session, char *event_type, swi
switch_channel_t *channel = switch_core_session_get_channel(session);
switch_event_t *event = NULL;
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, event_type) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Menu-Name", menu->name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Menu-Name", menu->name);
switch_channel_event_set_data(channel, event);
switch_event_fire(&event);
}
+17 -17
View File
@@ -1608,7 +1608,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_enterprise_originate(switch_core_sess
}
if (session) {
switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, "ent_originate_aleg_uuid", switch_core_session_get_uuid(session));
switch_event_add_header_string_dup(var_event, SWITCH_STACK_BOTTOM, "ent_originate_aleg_uuid", switch_core_session_get_uuid(session));
}
if (channel) {
@@ -1617,19 +1617,19 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_enterprise_originate(switch_core_sess
switch_channel_process_export(channel, NULL, var_event, SWITCH_EXPORT_VARS_VARIABLE);
if ((tmp_var = switch_channel_get_variable(channel, "effective_ani"))) {
switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, "origination_ani", tmp_var);
switch_event_add_header_string_dup(var_event, SWITCH_STACK_BOTTOM, "origination_ani", tmp_var);
}
if ((tmp_var = switch_channel_get_variable(channel, "effective_aniii"))) {
switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, "origination_aniii", tmp_var);
switch_event_add_header_string_dup(var_event, SWITCH_STACK_BOTTOM, "origination_aniii", tmp_var);
}
if ((tmp_var = switch_channel_get_variable(channel, "effective_caller_id_name"))) {
switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, "origination_caller_id_name", tmp_var);
switch_event_add_header_string_dup(var_event, SWITCH_STACK_BOTTOM, "origination_caller_id_name", tmp_var);
}
if ((tmp_var = switch_channel_get_variable(channel, "effective_caller_id_number"))) {
switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, "origination_caller_id_number", tmp_var);
switch_event_add_header_string_dup(var_event, SWITCH_STACK_BOTTOM, "origination_caller_id_number", tmp_var);
}
}
@@ -1661,11 +1661,11 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_enterprise_originate(switch_core_sess
if (ovars && ovars != var_event) {
for (hi = ovars->headers; hi; hi = hi->next) {
switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, hi->name, hi->value);
switch_event_add_header_string_dup(var_event, SWITCH_STACK_BOTTOM, hi->name, hi->value);
}
}
switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, "ignore_early_media", "true");
switch_event_add_header_string_dup(var_event, SWITCH_STACK_BOTTOM, "ignore_early_media", "true");
if (data) {
if (!(x_argc = switch_separate_string_string(data, SWITCH_ENT_ORIGINATE_DELIM, x_argv, MAX_PEERS))) {
@@ -2395,7 +2395,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_originate(switch_core_session_t *sess
}
if (ok && !switch_event_get_header(var_event, hi->name)) {
switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, (char *) hi->name, (char *) hi->value);
switch_event_add_header_string_dup(var_event, SWITCH_STACK_BOTTOM, (char *) hi->name, (char *) hi->value);
}
}
switch_channel_variable_last(caller_channel);
@@ -2405,7 +2405,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_originate(switch_core_session_t *sess
for (; hi; hi = switch_core_hash_next(&hi)) {
switch_core_hash_this(hi, &vvar, NULL, &vval);
if (vvar && vval) {
switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, (void *) vvar, (char *) vval);
switch_event_add_header_string_dup(var_event, SWITCH_STACK_BOTTOM, (void *) vvar, (char *) vval);
}
}
switch_channel_variable_last(caller_channel);
@@ -2621,7 +2621,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_originate(switch_core_session_t *sess
if (cid_name_override) {
if (!cid_tmp) {
switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, "origination_caller_id_name", cid_name_override);
switch_event_add_header_string_dup(var_event, SWITCH_STACK_BOTTOM, "origination_caller_id_name", cid_name_override);
}
} else {
cid_name_override = switch_event_get_header(var_event, "origination_caller_id_name");
@@ -2633,7 +2633,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_originate(switch_core_session_t *sess
if (cid_num_override) {
if (!cid_tmp) {
switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, "origination_caller_id_number", cid_num_override);
switch_event_add_header_string_dup(var_event, SWITCH_STACK_BOTTOM, "origination_caller_id_number", cid_num_override);
}
} else {
cid_num_override = switch_event_get_header(var_event, "origination_caller_id_number");
@@ -3018,14 +3018,14 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_originate(switch_core_session_t *sess
}
}
switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, "originate_early_media", oglobals.early_ok ? "true" : "false");
switch_event_add_header_string_dup(var_event, SWITCH_STACK_BOTTOM, "originate_early_media", oglobals.early_ok ? "true" : "false");
if (caller_channel && switch_true(switch_channel_get_variable(caller_channel, "push_channel_name"))) {
char *new_name = switch_core_session_sprintf(session, "%s__B", switch_channel_get_name(caller_channel));
switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, "origination_channel_name", new_name);
switch_event_add_header_string_dup(var_event, SWITCH_STACK_BOTTOM, "origination_channel_name", new_name);
new_name = switch_core_session_sprintf(session, "_%s", switch_channel_get_name(caller_channel));
switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, "sip_h_X-FS-Channel-Name", new_name);
switch_event_add_header_string_dup(var_event, SWITCH_STACK_BOTTOM, "sip_h_X-FS-Channel-Name", new_name);
}
@@ -4331,7 +4331,7 @@ SWITCH_DECLARE(void) switch_dial_handle_list_add_global_var(switch_dial_handle_l
switch_event_create_plain(&hl->global_vars, SWITCH_EVENT_CHANNEL_DATA);
}
switch_event_add_header_string(hl->global_vars, SWITCH_STACK_BOTTOM, var, val);
switch_event_add_header_string_dup(hl->global_vars, SWITCH_STACK_BOTTOM, var, val);
}
SWITCH_DECLARE(void) switch_dial_handle_list_add_global_var_printf(switch_dial_handle_list_t *hl, const char *var, const char *fmt, ...)
@@ -4490,7 +4490,7 @@ SWITCH_DECLARE(void) switch_dial_handle_add_global_var(switch_dial_handle_t *han
switch_event_create_plain(&handle->global_vars, SWITCH_EVENT_CHANNEL_DATA);
}
switch_event_add_header_string(handle->global_vars, SWITCH_STACK_BOTTOM, var, val);
switch_event_add_header_string_dup(handle->global_vars, SWITCH_STACK_BOTTOM, var, val);
}
SWITCH_DECLARE(void) switch_dial_handle_add_global_var_printf(switch_dial_handle_t *handle, const char *var, const char *fmt, ...)
@@ -4519,7 +4519,7 @@ SWITCH_DECLARE(switch_status_t) switch_dial_handle_add_leg_var(switch_dial_leg_t
switch_event_create_plain(&leg->leg_vars, SWITCH_EVENT_CHANNEL_DATA);
}
switch_event_add_header_string(leg->leg_vars, SWITCH_STACK_BOTTOM, var, val);
switch_event_add_header_string_dup(leg->leg_vars, SWITCH_STACK_BOTTOM, var, val);
return SWITCH_STATUS_SUCCESS;
+15 -15
View File
@@ -75,12 +75,12 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_phrase_macro_event(switch_core_sessio
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);
switch_event_add_header_string(hint_data, SWITCH_STACK_BOTTOM, "lang", chan_lang);
switch_event_add_header_string_dup(hint_data, SWITCH_STACK_BOTTOM, "macro_name", macro_name);
switch_event_add_header_string_dup(hint_data, SWITCH_STACK_BOTTOM, "lang", chan_lang);
if (data) {
switch_event_add_header_string(hint_data, SWITCH_STACK_BOTTOM, "data", data);
switch_event_add_header_string_dup(hint_data, SWITCH_STACK_BOTTOM, "data", data);
if (event) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "data", data);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "data", data);
}
} else {
data = "";
@@ -376,7 +376,7 @@ static void merge_recording_variables(switch_event_t *vars, switch_event_t *even
switch_assert(vvar && vval);
switch_snprintf(buf, sizeof(buf), "Recording-Variable-%s", vvar);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, buf, vval);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, buf, vval);
}
}
}
@@ -766,7 +766,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_record_file_event(switch_core_session
if (switch_event_create(&event, SWITCH_EVENT_RECORD_START) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Record-File-Path", file);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Record-File-Path", file);
merge_recording_variables(vars, event);
switch_event_fire(&event);
}
@@ -1029,7 +1029,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_record_file_event(switch_core_session
if (switch_event_create(&event, SWITCH_EVENT_RECORD_STOP) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(channel, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Record-File-Path", file);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Record-File-Path", file);
merge_recording_variables(vars, event);
switch_event_fire(&event);
}
@@ -1651,12 +1651,12 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_play_file(switch_core_session_t *sess
if (switch_event_create(&event, SWITCH_EVENT_PLAYBACK_START) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(channel, event);
if (!strncasecmp(file, "local_stream:", 13)) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Playback-File-Type", "local_stream");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Playback-File-Type", "local_stream");
}
if (!strncasecmp(file, "tone_stream:", 12)) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Playback-File-Type", "tone_stream");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Playback-File-Type", "tone_stream");
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Playback-File-Path", file);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Playback-File-Path", file);
if (fh->params) {
switch_event_merge(event, fh->params);
}
@@ -2025,16 +2025,16 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_play_file(switch_core_session_t *sess
if (switch_event_create(&event, SWITCH_EVENT_PLAYBACK_STOP) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(channel, event);
if (!strncasecmp(file, "local_stream:", 13)) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Playback-File-Type", "local_stream");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Playback-File-Type", "local_stream");
}
if (!strncasecmp(file, "tone_stream:", 12)) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Playback-File-Type", "tone_stream");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Playback-File-Type", "tone_stream");
}
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Playback-File-Path", file);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Playback-File-Path", file);
if (status == SWITCH_STATUS_BREAK) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Playback-Status", "break");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Playback-Status", "break");
} else {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Playback-Status", "done");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Playback-Status", "done");
}
if (fh->params) {
switch_event_merge(event, fh->params);
+3 -3
View File
@@ -62,9 +62,9 @@ SWITCH_DECLARE(void) switch_limit_fire_event(const char *backend, const char *re
switch_event_t *event;
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, LIMIT_EVENT_USAGE) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "backend", backend);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "realm", realm);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "key", key);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "backend", backend);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "realm", realm);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "key", key);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "usage", "%d", usage);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "rate", "%d", rate);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "max", "%d", max);
+149 -149
View File
@@ -172,10 +172,10 @@ static switch_status_t switch_loadable_module_process(char *key, switch_loadable
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Adding Endpoint '%s'\n", ptr->interface_name);
switch_core_hash_insert(loadable_modules.endpoint_hash, ptr->interface_name, (const void *) ptr);
if (switch_event_create(&event, SWITCH_EVENT_MODULE_LOAD) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "endpoint");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "key", new_module->key);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "filename", new_module->filename);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", "endpoint");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "key", new_module->key);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "filename", new_module->filename);
if (!event_hash) {
switch_event_fire(&event);
@@ -243,11 +243,11 @@ static switch_status_t switch_loadable_module_process(char *key, switch_loadable
}
if (switch_event_create(&event, SWITCH_EVENT_MODULE_LOAD) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "codec");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "key", new_module->key);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "filename", new_module->filename);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "module", new_module->module_interface->module_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", "codec");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "key", new_module->key);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "filename", new_module->filename);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "module", new_module->module_interface->module_name);
if (!event_hash) {
switch_event_fire(&event);
@@ -272,10 +272,10 @@ static switch_status_t switch_loadable_module_process(char *key, switch_loadable
} else {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Adding Dialplan '%s'\n", ptr->interface_name);
if (switch_event_create(&event, SWITCH_EVENT_MODULE_LOAD) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "dialplan");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "key", new_module->key);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "filename", new_module->filename);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", "dialplan");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "key", new_module->key);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "filename", new_module->filename);
if (!event_hash) {
switch_event_fire(&event);
@@ -300,10 +300,10 @@ static switch_status_t switch_loadable_module_process(char *key, switch_loadable
} else {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Adding Timer '%s'\n", ptr->interface_name);
if (switch_event_create(&event, SWITCH_EVENT_MODULE_LOAD) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "timer");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "key", new_module->key);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "filename", new_module->filename);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", "timer");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "key", new_module->key);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "filename", new_module->filename);
if (!event_hash) {
switch_event_fire(&event);
@@ -328,12 +328,12 @@ static switch_status_t switch_loadable_module_process(char *key, switch_loadable
} else {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Adding Application '%s'\n", ptr->interface_name);
if (switch_event_create(&event, SWITCH_EVENT_MODULE_LOAD) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "application");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "description", switch_str_nil(ptr->short_desc));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "syntax", switch_str_nil(ptr->syntax));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "key", new_module->key);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "filename", new_module->filename);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", "application");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "description", switch_str_nil(ptr->short_desc));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "syntax", switch_str_nil(ptr->syntax));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "key", new_module->key);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "filename", new_module->filename);
if (!event_hash) {
switch_event_fire(&event);
@@ -358,12 +358,12 @@ static switch_status_t switch_loadable_module_process(char *key, switch_loadable
} else {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Adding Chat Application '%s'\n", ptr->interface_name);
if (switch_event_create(&event, SWITCH_EVENT_MODULE_LOAD) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "application");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "description", switch_str_nil(ptr->short_desc));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "syntax", switch_str_nil(ptr->syntax));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "key", new_module->key);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "filename", new_module->filename);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", "application");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "description", switch_str_nil(ptr->short_desc));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "syntax", switch_str_nil(ptr->syntax));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "key", new_module->key);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "filename", new_module->filename);
if (!event_hash) {
switch_event_fire(&event);
@@ -388,12 +388,12 @@ static switch_status_t switch_loadable_module_process(char *key, switch_loadable
} else {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Adding API Function '%s'\n", ptr->interface_name);
if (switch_event_create(&event, SWITCH_EVENT_MODULE_LOAD) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "api");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "description", switch_str_nil(ptr->desc));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "syntax", switch_str_nil(ptr->syntax));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "key", new_module->key);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "filename", new_module->filename);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", "api");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "description", switch_str_nil(ptr->desc));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "syntax", switch_str_nil(ptr->syntax));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "key", new_module->key);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "filename", new_module->filename);
if (!event_hash) {
switch_event_fire(&event);
@@ -418,12 +418,12 @@ static switch_status_t switch_loadable_module_process(char *key, switch_loadable
} else {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Adding JSON API Function '%s'\n", ptr->interface_name);
if (switch_event_create(&event, SWITCH_EVENT_MODULE_LOAD) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "json_api");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "description", switch_str_nil(ptr->desc));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "syntax", switch_str_nil(ptr->syntax));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "key", new_module->key);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "filename", new_module->filename);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", "json_api");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "description", switch_str_nil(ptr->desc));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "syntax", switch_str_nil(ptr->syntax));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "key", new_module->key);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "filename", new_module->filename);
if (!event_hash) {
switch_event_fire(&event);
@@ -454,11 +454,11 @@ static switch_status_t switch_loadable_module_process(char *key, switch_loadable
for (i = 0; ptr->extens[i]; i++) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Adding File Format '%s'\n", ptr->extens[i]);
if (switch_event_create(&event, SWITCH_EVENT_MODULE_LOAD) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "file");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "name", ptr->extens[i]);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "key", new_module->key);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "filename", new_module->filename);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "module", new_module->module_interface->module_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", "file");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "name", ptr->extens[i]);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "key", new_module->key);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "filename", new_module->filename);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "module", new_module->module_interface->module_name);
if (!event_hash) {
switch_event_fire(&event);
@@ -499,11 +499,11 @@ static switch_status_t switch_loadable_module_process(char *key, switch_loadable
for (i = 0; ptr->prefixes[i]; i++) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Adding dsn prefix '%s'\n", ptr->prefixes[i]);
if (switch_event_create(&event, SWITCH_EVENT_MODULE_LOAD) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "database");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "name", ptr->prefixes[i]);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "key", new_module->key);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "filename", new_module->filename);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "module", new_module->module_interface->module_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", "database");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "name", ptr->prefixes[i]);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "key", new_module->key);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "filename", new_module->filename);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "module", new_module->module_interface->module_name);
if (!event_hash) {
switch_event_fire(&event);
@@ -536,10 +536,10 @@ static switch_status_t switch_loadable_module_process(char *key, switch_loadable
} else {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Adding Speech interface '%s'\n", ptr->interface_name);
if (switch_event_create(&event, SWITCH_EVENT_MODULE_LOAD) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "speech");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "key", new_module->key);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "filename", new_module->filename);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", "speech");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "key", new_module->key);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "filename", new_module->filename);
if (!event_hash) {
switch_event_fire(&event);
@@ -564,10 +564,10 @@ static switch_status_t switch_loadable_module_process(char *key, switch_loadable
} else {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Adding ASR interface '%s'\n", ptr->interface_name);
if (switch_event_create(&event, SWITCH_EVENT_MODULE_LOAD) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "asr");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "key", new_module->key);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "filename", new_module->filename);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", "asr");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "key", new_module->key);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "filename", new_module->filename);
if (!event_hash) {
switch_event_fire(&event);
@@ -592,10 +592,10 @@ static switch_status_t switch_loadable_module_process(char *key, switch_loadable
} else {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Adding Directory interface '%s'\n", ptr->interface_name);
if (switch_event_create(&event, SWITCH_EVENT_MODULE_LOAD) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "directory");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "key", new_module->key);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "filename", new_module->filename);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", "directory");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "key", new_module->key);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "filename", new_module->filename);
if (!event_hash) {
switch_event_fire(&event);
@@ -620,10 +620,10 @@ static switch_status_t switch_loadable_module_process(char *key, switch_loadable
} else {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Adding Chat interface '%s'\n", ptr->interface_name);
if (switch_event_create(&event, SWITCH_EVENT_MODULE_LOAD) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "chat");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "key", new_module->key);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "filename", new_module->filename);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", "chat");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "key", new_module->key);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "filename", new_module->filename);
if (!event_hash) {
switch_event_fire(&event);
@@ -648,10 +648,10 @@ static switch_status_t switch_loadable_module_process(char *key, switch_loadable
} else {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Adding Say interface '%s'\n", ptr->interface_name);
if (switch_event_create(&event, SWITCH_EVENT_MODULE_LOAD) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "say");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "key", new_module->key);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "filename", new_module->filename);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", "say");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "key", new_module->key);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "filename", new_module->filename);
if (!event_hash) {
switch_event_fire(&event);
@@ -682,10 +682,10 @@ static switch_status_t switch_loadable_module_process(char *key, switch_loadable
"Adding Management interface '%s' OID[%s.%s]\n", key, FREESWITCH_OID_PREFIX, ptr->relative_oid);
switch_core_hash_insert(loadable_modules.management_hash, ptr->relative_oid, (const void *) ptr);
if (switch_event_create(&event, SWITCH_EVENT_MODULE_LOAD) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "management");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "name", ptr->relative_oid);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "key", new_module->key);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "filename", new_module->filename);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", "management");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "name", ptr->relative_oid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "key", new_module->key);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "filename", new_module->filename);
if (!event_hash) {
switch_event_fire(&event);
@@ -716,10 +716,10 @@ static switch_status_t switch_loadable_module_process(char *key, switch_loadable
"Adding Limit interface '%s'\n", ptr->interface_name);
switch_core_hash_insert(loadable_modules.limit_hash, ptr->interface_name, (const void *) ptr);
if (switch_event_create(&event, SWITCH_EVENT_MODULE_LOAD) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "limit");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "key", new_module->key);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "filename", new_module->filename);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", "limit");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "key", new_module->key);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "filename", new_module->filename);
if (!event_hash) {
switch_event_fire(&event);
@@ -738,10 +738,10 @@ static switch_status_t switch_loadable_module_process(char *key, switch_loadable
if (!added) {
if (switch_event_create(&event, SWITCH_EVENT_MODULE_LOAD) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "generic");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "name", new_module->key);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "key", new_module->key);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "filename", new_module->filename);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", "generic");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "name", new_module->key);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "key", new_module->key);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "filename", new_module->filename);
if (!event_hash) {
switch_event_fire(&event);
@@ -816,7 +816,7 @@ static switch_status_t do_chat_send(switch_event_t *message_event)
if (!(proto = switch_event_get_header(message_event, "proto"))) {
proto = "global";
switch_event_add_header_string(message_event, SWITCH_STACK_BOTTOM, "proto", proto);
switch_event_add_header_string_dup(message_event, SWITCH_STACK_BOTTOM, "proto", proto);
}
replying = switch_event_get_header(message_event, "replying");
@@ -871,12 +871,12 @@ static switch_status_t do_chat_send(switch_event_t *message_event)
if ( switch_true(switch_event_get_header(message_event, "blocking")) ) {
if (status == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(dup, SWITCH_STACK_BOTTOM, "Delivery-Failure", "false");
switch_event_add_header_string_dup(dup, SWITCH_STACK_BOTTOM, "Delivery-Failure", "false");
} else {
switch_event_add_header_string(dup, SWITCH_STACK_BOTTOM, "Delivery-Failure", "true");
switch_event_add_header_string_dup(dup, SWITCH_STACK_BOTTOM, "Delivery-Failure", "true");
}
} else {
switch_event_add_header_string(dup, SWITCH_STACK_BOTTOM, "Nonblocking-Delivery", "true");
switch_event_add_header_string_dup(dup, SWITCH_STACK_BOTTOM, "Nonblocking-Delivery", "true");
}
switch_event_fire(&dup);
@@ -1035,15 +1035,15 @@ SWITCH_DECLARE(switch_status_t) switch_core_chat_send_args(const char *dest_prot
switch_status_t status;
if (switch_event_create(&message_event, SWITCH_EVENT_MESSAGE) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(message_event, SWITCH_STACK_BOTTOM, "proto", proto);
switch_event_add_header_string(message_event, SWITCH_STACK_BOTTOM, "from", from);
switch_event_add_header_string(message_event, SWITCH_STACK_BOTTOM, "to", to);
switch_event_add_header_string(message_event, SWITCH_STACK_BOTTOM, "subject", subject);
switch_event_add_header_string(message_event, SWITCH_STACK_BOTTOM, "type", type);
switch_event_add_header_string(message_event, SWITCH_STACK_BOTTOM, "hint", hint);
switch_event_add_header_string(message_event, SWITCH_STACK_BOTTOM, "skip_global_process", "true");
switch_event_add_header_string_dup(message_event, SWITCH_STACK_BOTTOM, "proto", proto);
switch_event_add_header_string_dup(message_event, SWITCH_STACK_BOTTOM, "from", from);
switch_event_add_header_string_dup(message_event, SWITCH_STACK_BOTTOM, "to", to);
switch_event_add_header_string_dup(message_event, SWITCH_STACK_BOTTOM, "subject", subject);
switch_event_add_header_string_dup(message_event, SWITCH_STACK_BOTTOM, "type", type);
switch_event_add_header_string_dup(message_event, SWITCH_STACK_BOTTOM, "hint", hint);
switch_event_add_header_string_dup(message_event, SWITCH_STACK_BOTTOM, "skip_global_process", "true");
if (blocking) {
switch_event_add_header_string(message_event, SWITCH_STACK_BOTTOM, "blocking", "true");
switch_event_add_header_string_dup(message_event, SWITCH_STACK_BOTTOM, "blocking", "true");
}
if (body) {
@@ -1054,7 +1054,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_chat_send_args(const char *dest_prot
}
if (dest_proto) {
switch_event_add_header_string(message_event, SWITCH_STACK_BOTTOM, "dest_proto", dest_proto);
switch_event_add_header_string_dup(message_event, SWITCH_STACK_BOTTOM, "dest_proto", dest_proto);
}
@@ -1077,7 +1077,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_chat_send(const char *dest_proto, sw
switch_event_dup(&dup, message_event);
if (dest_proto) {
switch_event_add_header_string(dup, SWITCH_STACK_BOTTOM, "dest_proto", dest_proto);
switch_event_add_header_string_dup(dup, SWITCH_STACK_BOTTOM, "dest_proto", dest_proto);
}
chat_queue_message(&dup);
@@ -1089,7 +1089,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_chat_deliver(const char *dest_proto,
{
if (dest_proto) {
switch_event_add_header_string(*message_event, SWITCH_STACK_BOTTOM, "dest_proto", dest_proto);
switch_event_add_header_string_dup(*message_event, SWITCH_STACK_BOTTOM, "dest_proto", dest_proto);
}
chat_queue_message(message_event);
@@ -1122,8 +1122,8 @@ static switch_status_t switch_loadable_module_unprocess(switch_loadable_module_t
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Deleting Endpoint '%s'\n", ptr->interface_name);
if (switch_event_create(&event, SWITCH_EVENT_MODULE_UNLOAD) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "endpoint");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", "endpoint");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_fire(&event);
removed++;
}
@@ -1176,9 +1176,9 @@ static switch_status_t switch_loadable_module_unprocess(switch_loadable_module_t
}
}
if (switch_event_create(&event, SWITCH_EVENT_MODULE_UNLOAD) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "codec");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "module", old_module->module_interface->module_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", "codec");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "module", old_module->module_interface->module_name);
switch_event_fire(&event);
removed++;
}
@@ -1194,8 +1194,8 @@ static switch_status_t switch_loadable_module_unprocess(switch_loadable_module_t
if (ptr->interface_name) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Deleting Dialplan '%s'\n", ptr->interface_name);
if (switch_event_create(&event, SWITCH_EVENT_MODULE_UNLOAD) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "dialplan");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", "dialplan");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_fire(&event);
removed++;
}
@@ -1211,8 +1211,8 @@ static switch_status_t switch_loadable_module_unprocess(switch_loadable_module_t
if (ptr->interface_name) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Deleting Timer '%s'\n", ptr->interface_name);
if (switch_event_create(&event, SWITCH_EVENT_MODULE_UNLOAD) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "timer");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", "timer");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_fire(&event);
removed++;
}
@@ -1236,10 +1236,10 @@ static switch_status_t switch_loadable_module_unprocess(switch_loadable_module_t
}
if (switch_event_create(&event, SWITCH_EVENT_MODULE_UNLOAD) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "application");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "description", switch_str_nil(ptr->short_desc));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "syntax", switch_str_nil(ptr->syntax));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", "application");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "description", switch_str_nil(ptr->short_desc));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "syntax", switch_str_nil(ptr->syntax));
switch_event_fire(&event);
removed++;
}
@@ -1263,10 +1263,10 @@ static switch_status_t switch_loadable_module_unprocess(switch_loadable_module_t
}
if (switch_event_create(&event, SWITCH_EVENT_MODULE_UNLOAD) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "application");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "description", switch_str_nil(ptr->short_desc));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "syntax", switch_str_nil(ptr->syntax));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", "application");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "description", switch_str_nil(ptr->short_desc));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "syntax", switch_str_nil(ptr->syntax));
switch_event_fire(&event);
removed++;
}
@@ -1293,12 +1293,12 @@ static switch_status_t switch_loadable_module_unprocess(switch_loadable_module_t
if (switch_event_create(&event, SWITCH_EVENT_MODULE_UNLOAD) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "api");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "description", switch_str_nil(ptr->desc));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "syntax", switch_str_nil(ptr->syntax));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "key", old_module->key);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "filename", old_module->filename);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", "api");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "description", switch_str_nil(ptr->desc));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "syntax", switch_str_nil(ptr->syntax));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "key", old_module->key);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "filename", old_module->filename);
switch_event_fire(&event);
removed++;
}
@@ -1325,10 +1325,10 @@ static switch_status_t switch_loadable_module_unprocess(switch_loadable_module_t
if (switch_event_create(&event, SWITCH_EVENT_MODULE_UNLOAD) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "json_api");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "description", switch_str_nil(ptr->desc));
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "syntax", switch_str_nil(ptr->syntax));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", "json_api");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "description", switch_str_nil(ptr->desc));
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "syntax", switch_str_nil(ptr->syntax));
switch_event_fire(&event);
removed++;
}
@@ -1357,9 +1357,9 @@ static switch_status_t switch_loadable_module_unprocess(switch_loadable_module_t
for (i = 0; ptr->extens[i]; i++) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Deleting File Format '%s'\n", ptr->extens[i]);
if (switch_event_create(&event, SWITCH_EVENT_MODULE_UNLOAD) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "file");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "name", ptr->extens[i]);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "module", old_module->module_interface->module_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", "file");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "name", ptr->extens[i]);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "module", old_module->module_interface->module_name);
switch_event_fire(&event);
removed++;
}
@@ -1409,9 +1409,9 @@ static switch_status_t switch_loadable_module_unprocess(switch_loadable_module_t
for (i = 0; ptr->prefixes[i]; i++) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Deleting dsn prefix '%s'\n", ptr->prefixes[i]);
if (switch_event_create(&event, SWITCH_EVENT_MODULE_UNLOAD) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "database");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "name", ptr->prefixes[i]);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "module", old_module->module_interface->module_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", "database");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "name", ptr->prefixes[i]);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "module", old_module->module_interface->module_name);
switch_event_fire(&event);
removed++;
}
@@ -1462,8 +1462,8 @@ static switch_status_t switch_loadable_module_unprocess(switch_loadable_module_t
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Deleting Speech interface '%s'\n", ptr->interface_name);
if (switch_event_create(&event, SWITCH_EVENT_MODULE_UNLOAD) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "speech");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", "speech");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_fire(&event);
removed++;
}
@@ -1489,8 +1489,8 @@ static switch_status_t switch_loadable_module_unprocess(switch_loadable_module_t
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Deleting Asr interface '%s'\n", ptr->interface_name);
if (switch_event_create(&event, SWITCH_EVENT_MODULE_UNLOAD) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "asr");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", "asr");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_fire(&event);
removed++;
}
@@ -1516,8 +1516,8 @@ static switch_status_t switch_loadable_module_unprocess(switch_loadable_module_t
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Deleting Directory interface '%s'\n", ptr->interface_name);
if (switch_event_create(&event, SWITCH_EVENT_MODULE_UNLOAD) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "directory");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", "directory");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_fire(&event);
removed++;
}
@@ -1543,8 +1543,8 @@ static switch_status_t switch_loadable_module_unprocess(switch_loadable_module_t
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Deleting Chat interface '%s'\n", ptr->interface_name);
if (switch_event_create(&event, SWITCH_EVENT_MODULE_UNLOAD) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "chat");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", "chat");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_fire(&event);
removed++;
}
@@ -1568,8 +1568,8 @@ static switch_status_t switch_loadable_module_unprocess(switch_loadable_module_t
}
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Deleting Say interface '%s'\n", ptr->interface_name);
if (switch_event_create(&event, SWITCH_EVENT_MODULE_UNLOAD) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "say");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", "say");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_fire(&event);
removed++;
}
@@ -1587,8 +1587,8 @@ static switch_status_t switch_loadable_module_unprocess(switch_loadable_module_t
"Deleting Management interface '%s' OID[%s.%s]\n", old_module->key, FREESWITCH_OID_PREFIX, ptr->relative_oid);
switch_core_hash_delete(loadable_modules.management_hash, ptr->relative_oid);
if (switch_event_create(&event, SWITCH_EVENT_MODULE_UNLOAD) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "management");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "name", ptr->relative_oid);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", "management");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "name", ptr->relative_oid);
switch_event_fire(&event);
removed++;
}
@@ -1605,8 +1605,8 @@ static switch_status_t switch_loadable_module_unprocess(switch_loadable_module_t
"Deleting Limit interface '%s'\n", ptr->interface_name);
switch_core_hash_delete(loadable_modules.limit_hash, ptr->interface_name);
if (switch_event_create(&event, SWITCH_EVENT_MODULE_UNLOAD) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "limit");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", "limit");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "name", ptr->interface_name);
switch_event_fire(&event);
removed++;
}
@@ -1616,8 +1616,8 @@ static switch_status_t switch_loadable_module_unprocess(switch_loadable_module_t
if (!removed) {
if (switch_event_create(&event, SWITCH_EVENT_MODULE_UNLOAD) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "generic");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "name", old_module->key);
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "type", "generic");
switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "name", old_module->key);
switch_event_fire(&event);
removed++;
}
@@ -2951,10 +2951,10 @@ SWITCH_DECLARE(switch_status_t) switch_api_execute(const char *cmd, const char *
if (stream->param_event) {
if (cmd_used && *cmd_used) {
switch_event_add_header_string(stream->param_event, SWITCH_STACK_BOTTOM, "API-Command", cmd_used);
switch_event_add_header_string_dup(stream->param_event, SWITCH_STACK_BOTTOM, "API-Command", cmd_used);
}
if (arg_used && *arg_used) {
switch_event_add_header_string(stream->param_event, SWITCH_STACK_BOTTOM, "API-Command-Argument", arg_used);
switch_event_add_header_string_dup(stream->param_event, SWITCH_STACK_BOTTOM, "API-Command-Argument", arg_used);
}
}

Some files were not shown because too many files have changed in this diff Show More