/* 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];
\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)
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); \
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
}
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);
}
}
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:
switch_event_create(¶ms, 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;
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);
}
}
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);
}
} 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);
}
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);
}
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);
}
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")) {
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 {
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);
}
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);
}
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) {
/* 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,
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);
}
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);
}
/* 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);
}
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);
}
*/
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);
}
/* 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);
}
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 {
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);
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) {
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);
switch_event_t *params;
switch_event_create(¶ms, 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;
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 {
}
switch_event_create(¶ms, 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;
}
switch_event_create(¶ms, 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")) {
}
switch_event_create(¶ms, 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")) {
switch_event_create(¶ms, 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) {
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");
}
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);
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");
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++;
}
}
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);
}
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);
}
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);
}
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);
}
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);
}
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);
}
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);
}
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);
}
}
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);
}
}
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);
}
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);
}
}
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);
}
}
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);
}
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);
}
// 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);
}
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);
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);
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);
}
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);
}
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);
}
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 {
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 {
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;
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;
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);
}
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);
}
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") ) {
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") ) {
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);
}
}
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") ) {
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") ) {
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);
}
}
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);
}
{
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);
}
}
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 {
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);
{
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;
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");
}
}
}
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;
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);
}
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);
}
}
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);
}
} 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);
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);
}
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 {
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);
}
}
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);
}
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);
}
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);
}
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);
}
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);
}
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);
}
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);
}
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);
}
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);
}
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);
}
}
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);
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);
}
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);
}
}
- 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);
}
!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);
}
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);
}
}
int i;
switch_event_create(¶ms, 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);
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);
}
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);
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);
}
}
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);
}
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);
}
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));
switch_event_create(¶ms, 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);
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);
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);
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);
}
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");
}
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);
}
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);
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);
}
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);
}
}
switch_event_create(¶ms, 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))) {
/* 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");
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);
}
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:
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");
}
switch_event_create(¶ms, 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 */
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);
}
}
{
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);
}
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);
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);
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);
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);
} 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);
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);
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) {
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);
}
}
}
}
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);
}
/* Open the config from the xml registry */
switch_event_create(¶ms, 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) {
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);
}
}
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");
}
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);
switch_event_create(¶ms, 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);
} 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);
}
}
}
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);
}
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);
}
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);
}
}
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);
}
*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);
}
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);
}
}
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);
}
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);
}
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);
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);
}
}
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);
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);
}
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;
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);
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);
}
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);
}
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);
}
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);
}
}
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);
}
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);
}
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);
}
}
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);
}
}
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;
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;
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);
}
}
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);
}
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);
}
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);
}
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;
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);
}
}
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);
}
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);
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));
}
}
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);
}
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;
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);
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);
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);
}
}
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);
}
}
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);
}
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);
}
}
}
(!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);
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;
}
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) {
}
}
}
- 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) {
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);
}
}
}
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);
}
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:
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;
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;
}
*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);
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;
}
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);
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);
}
}
}
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);
}
}
}
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);
}
}
}
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);
}
}
}
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);
}
}
}
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");
}
}
switch_event_create(¶ms, 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);
}
}
}
/* 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++;
}
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);
}
}
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);
switch_event_create(¶ms, 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
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) {
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);
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);
}
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);
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);
}
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);
/* 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);
}
}
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) {
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 {
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");
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) {
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);
}
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);
}
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(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-document-total-pages", fax_document_total_pages);
+ }
+ 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);
}
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);
}
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);
}
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) {
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);
}
}
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);
}
}
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);
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);
}
}
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);
}
}
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);
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);
}
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);
}
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);
}
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);
}
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);
}
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;
/* 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) {
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);
}
}
}
char *ret = (char *) myid;
switch_event_create(¶ms, 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"));
/* 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);
}
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) {
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);
switch_event_create_subclass(¶ms, 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);
switch_event_create_subclass(¶ms, 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(¶ms);
}
switch_safe_free(tmp_file_path);
switch_event_create_subclass(¶ms, 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(¶ms);
switch_event_create_subclass(¶ms, 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) {
switch_safe_free(sql);
switch_event_create_subclass(¶ms, 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(¶ms);
switch_event_create(¶ms, 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) {
}
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);
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) {
}
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);
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);
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);
}
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);
}
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);
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) {
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); \
} \
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);
}
}
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);
}
}
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);
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);
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);
}
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);
}
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);
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);
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 {
/* 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);
switch_event_t *params = NULL;
switch_event_create(¶ms, 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);
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);
}
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);
}
}
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);
}
}
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);
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);
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;
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;
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 {
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);
}
}
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);
}
}
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);
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)
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);
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);
}
}
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);
}
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);
}
#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);
}
#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);
}
}
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) {
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);
}
}
}
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);
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);
}
}
}
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);
/* Check directory */
skinny_device_event(listener, ¶ms, 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);
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);
}
}
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);
}
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);
} 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);
}
}
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++;
}
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",
}
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);
}
/* 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);
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);
"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);
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);
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 {
}
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);
}
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);
}
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);
} 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;
}
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);
/* Parse gateways */
switch_event_create(¶ms, 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);
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;
(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);
}
(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);
}
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);
}
}
}
switch_event_create(¶ms, 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);
switch_event_create(¶ms, 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))) {
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;
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 {
}
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 {
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);
}
}
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(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);
}
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) {
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);
}
}
}
- 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;
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);
}
}
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));
}
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);
}
&& 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 {
&& 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);
}
}
&& 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);
}
}
&& 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);
// 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);
}
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);
}
}
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");
}
}
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);
}
}
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");
}
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);
}
}
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);
}
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);
}
}
}
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(¶ms, 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(¶ms);
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;
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);
}
}
}
} 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);
}
}
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);
}
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);
}
}
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);
}
}
}
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 */
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 */
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] = "";
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;
}
}
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);
}
}
{
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);
{
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);
}
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) {
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);
}
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);
}
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);
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);
}
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);
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);
}
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);
}
}
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);
}
}
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) {
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,
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);
}
}
switch_event_create(¶ms, 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);
}
}
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);
}
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);
}
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"))) {
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);
}
}
}
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);
}
}
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);
}
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);
}
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);
}
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);
}
}
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);
}
}
}
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;
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);
}
}
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);
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]);
}
}
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;
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) {
}
}
- 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];
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);
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);
}
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);
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) {
}
} 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);
}
}
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)) {
}
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);
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);
}
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
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);
}
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));
}
}
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);
*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");
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);
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);
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) {
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);
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);
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;
/*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) {
}
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 */
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");
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;
}
}
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);
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);
switch_event_create(¶ms, 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];
*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");
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);
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);
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;
}
switch_event_create(¶ms, 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) {
/*
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);
}
*/
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);
}
}
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);
}
switch_event_t *params;
switch_event_create(¶ms, 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);
switch_event_t *params;
switch_event_create(¶ms, 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);
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);
}
}
switch_event_create(¶ms, 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) {
} 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);
}
}
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);
}
}
}
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) {
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"))) {
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);
}
}
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);
}
}
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);
}
}
}
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);
}
}
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);
}
}
- 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);
}
}
- 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);
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);
}
}
}
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);
}
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);
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);
}
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);
}
} 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) {
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);
}
}
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);
}
/* 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);
}
}
/* 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;
} 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);
}
}
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);
}
}
}
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);
}
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);
/* 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);
}
/* 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);
}
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));
}
}
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));
}
}
/* 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);
}
}
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) {
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);
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);
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);
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);
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);
}
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);
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;
}
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);
}
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);
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;
}
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));
}
}
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 {
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");
}
switch_event_create(¶ms, 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) {
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 (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 (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_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);
{
/* 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);
/* "?" 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 */
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);
}
}
- 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"))) {
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");
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) {
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);
}
}
}
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,
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);
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)) {
}
}
- 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);
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);
}
}
}
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) {
}
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),
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;
}
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);
}
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);
}
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);
}
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);
}
/* 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);
}
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);
}
}
}
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);
}
}
}
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);
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);
}
}
}
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) {
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);
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);
}
} 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);
}
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);
}
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);
}
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);
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);
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) {
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) {
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) {
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);
}
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);
}
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);
}
}
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);
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);
}
}
}
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;
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);
}
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;
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);
}
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);
}
}
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;
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);
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");
}
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;
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;
}
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);
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;
}
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);
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);
}
}
}
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);
}
}
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;
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;
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;
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]);
}
}
}
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) {
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);
}
}
}
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);
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;
}
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);
}
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);
}
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, ¯os, chan_lang) != SWITCH_STATUS_SUCCESS) {
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);
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;
}
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))) {
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);
}
}
}
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);
}
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);
}
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 {
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);
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);
}
}
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);
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);
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)) {
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);
}
}
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;
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);
}
}
} 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);
}
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));
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));
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));
}
}
/* 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);
}
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);
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);
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);
}
/* 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);
}
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);
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);
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);
}
}
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) {
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);
}
}
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))) {
}
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);
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);
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");
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");
}
}
- 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);
}
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, ...)
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, ...)
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;
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 = "";
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);
}
}
}
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);
}
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);
}
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);
}
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);
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);
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);
}
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);
} 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);
} 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);
} 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);
} 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);
} 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);
} 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);
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);
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);
} 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);
} 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);
} 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);
} 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);
} 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);
"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);
"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);
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);
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");
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);
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) {
}
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);
}
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);
{
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);
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++;
}
}
}
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++;
}
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++;
}
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++;
}
}
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++;
}
}
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++;
}
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++;
}
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++;
}
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++;
}
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++;
}
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++;
}
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++;
}
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++;
}
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++;
}
}
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++;
}
"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++;
}
"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++;
}
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++;
}
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 (!log_fields) {
switch_event_create_plain(&log_fields, SWITCH_EVENT_CHANNEL_DATA);
}
- switch_event_add_header_string(log_fields, SWITCH_STACK_BOTTOM, hp->name, val);
+ switch_event_add_header_string_dup(log_fields, SWITCH_STACK_BOTTOM, hp->name, val);
}
}
}
if (channel == SWITCH_CHANNEL_ID_EVENT) {
switch_event_t *event;
if (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", funcp);
+ 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", funcp);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Log-Line", "%d", line);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Log-Level", "%d", (int) level);
if (!zstr(userdata)) {
- switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "User-Data", userdata);
+ switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "User-Data", userdata);
}
switch_event_fire(&event);
data = NULL;
return SWITCH_STATUS_MEMERR;
}
- status = switch_event_add_header_string(msrp_msg->headers, SWITCH_STACK_BOTTOM, switch_msrp_msg_header_name(htype), data);
+ status = switch_event_add_header_string_dup(msrp_msg->headers, SWITCH_STACK_BOTTOM, switch_msrp_msg_header_name(htype), data);
switch (htype) {
case MSRP_H_TRASACTION_ID:
do_repub = SWITCH_TRUE;
switch_event_create(&event, SWITCH_EVENT_TRAP);
- switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "condition", "network-external-address-change");
- switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "network-external-address-previous-v4", nat_globals.pub_addr);
- switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "network-external-address-change-v4", newip);
+ switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "condition", "network-external-address-change");
+ switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "network-external-address-previous-v4", nat_globals.pub_addr);
+ switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "network-external-address-change-v4", newip);
switch_event_fire(&event);
switch_set_string(nat_globals.pub_addr, newip);
if (publish && status == SWITCH_STATUS_SUCCESS) {
switch_event_create(&event, SWITCH_EVENT_NAT);
- switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "op", "add");
+ switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "op", "add");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "port", "%d", port);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "proto", "%d", proto);
- switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "sticky", (sticky ? "true" : "false"));
+ switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "sticky", (sticky ? "true" : "false"));
switch_event_fire(&event);
}
if (status == SWITCH_STATUS_SUCCESS) {
switch_event_create(&event, SWITCH_EVENT_NAT);
- switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "op", "del");
+ switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "op", "del");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "port", "%d", port);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "proto", "%d", proto);
switch_event_fire(&event);
{
switch_event_t *event = (switch_event_t *) user_data;
- switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, var, val);
+ switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, var, val);
}
uint32_t tmpLost;
char *uuid = switch_core_session_get_uuid(rtp_session->session);
if (uuid) {
- switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Unique-ID", switch_core_session_get_uuid(rtp_session->session));
+ switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Unique-ID", switch_core_session_get_uuid(rtp_session->session));
}
snprintf(value, sizeof(value), "%.8x", rtp_session->stats.rtcp.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", ntohl(sr->sender_info.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", ntohl(sr->sender_info.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", ntohl(sr->sender_info.ts));
- 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", ntohl(sr->sender_info.pc));
- 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", ntohl(sr->sender_info.oc));
- 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", ntohl(sr->sender_info.ts));
- 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), "%" 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 */
snprintf(header, sizeof(header), "Source-SSRC");
snprintf(value, sizeof(value), "%.8x", rtp_session->stats.rtcp.peer_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-Fraction");
snprintf(value, sizeof(value), "%u", (uint8_t)rtcp_report_block->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-Lost");
#if SWITCH_BYTE_ORDER == __BIG_ENDIAN
tmpLost = rtcp_report_block->lost; /* signed 24bit will extended signess to int32_t automatically */
tmpLost = tmpLost | ((tmpLost & 0x00800000) ? 0xff000000 : 0x00000000); /* ...and signess compensation */
#endif
snprintf(value, sizeof(value), "%u", tmpLost);
- 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-Highest-Sequence-Number-Received");
snprintf(value, sizeof(value), "%u", ntohl(rtcp_report_block->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-Jitter");
snprintf(value, sizeof(value), "%u", ntohl(rtcp_report_block->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-LSR");
snprintf(value, sizeof(value), "%u", ntohl(rtcp_report_block->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-DLSR");
snprintf(value, sizeof(value), "%u", ntohl(rtcp_report_block->dlsr));
- 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);
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(rtp_session->session), SWITCH_LOG_DEBUG10, "Dispatched RTCP SEND event\n");
} else {
switch_event_add_header(fsevent, SWITCH_STACK_BOTTOM, "secure_type", "srtp:sdes:%s", switch_channel_get_variable(channel, "rtp_has_crypto"));
}
- switch_event_add_header_string(fsevent, SWITCH_STACK_BOTTOM, "caller-unique-id", switch_channel_get_uuid(channel));
+ switch_event_add_header_string_dup(fsevent, SWITCH_STACK_BOTTOM, "caller-unique-id", switch_channel_get_uuid(channel));
switch_event_fire(&fsevent);
}
tp->executed = 0;
if (switch_event_create(&event, SWITCH_EVENT_RE_SCHEDULE) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Task-ID", "%u", tp->task.task_id);
- switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Task-Desc", tp->desc);
- switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Task-Group", switch_str_nil(tp->task.group));
+ switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Task-Desc", tp->desc);
+ switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Task-Group", switch_str_nil(tp->task.group));
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Task-Runtime", "%" SWITCH_INT64_T_FMT, tp->task.runtime);
switch_queue_push(globals.event_queue, event);
event = NULL;
if (switch_event_create(&event, SWITCH_EVENT_DEL_SCHEDULE) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Task-ID", "%u", tofree->task.task_id);
- switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Task-Desc", tofree->desc);
- switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Task-Group", switch_str_nil(tofree->task.group));
+ switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Task-Desc", tofree->desc);
+ switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Task-Group", switch_str_nil(tofree->task.group));
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Task-Runtime", "%" SWITCH_INT64_T_FMT, tofree->task.runtime);
switch_queue_push(globals.event_queue, event);
event = NULL;
if (switch_event_create(&event, SWITCH_EVENT_ADD_SCHEDULE) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Task-ID", "%u", tp->task.task_id);
- switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Task-Desc", tp->desc);
- switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Task-Group", switch_str_nil(tp->task.group));
+ switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Task-Desc", tp->desc);
+ switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Task-Group", switch_str_nil(tp->task.group));
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Task-Runtime", "%" SWITCH_INT64_T_FMT, tp->task.runtime);
switch_queue_push(globals.event_queue, event);
event = NULL;
name = q;
if ((val = strchr(name, '='))) {
*val++ = '\0';
- switch_event_add_header_string(request->headers, SWITCH_STACK_BOTTOM, name, val);
+ switch_event_add_header_string_dup(request->headers, SWITCH_STACK_BOTTOM, name, val);
}
q = next;
} while (q);
if (len && *(value + len - 1) == '\r') *(value + len - 1) = '\0';
- switch_event_add_header_string(request->headers, SWITCH_STACK_BOTTOM, header, value);
+ switch_event_add_header_string_dup(request->headers, SWITCH_STACK_BOTTOM, header, value);
if (!strncasecmp(header, "User-Agent", 10)) {
request->user_agent = value;
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "codec: %s, profile: %s\n", name, profile);
- switch_event_add_header_string(my_cfg->codecs, SWITCH_STACK_BOTTOM, name, profile);
+ switch_event_add_header_string_dup(my_cfg->codecs, SWITCH_STACK_BOTTOM, name, profile);
}
}
if (!params) {
switch_event_create(&my_params, SWITCH_EVENT_REQUEST_PARAMS);
switch_assert(my_params);
- switch_event_add_header_string(my_params, SWITCH_STACK_BOTTOM, "domain", domain_name);
+ switch_event_add_header_string_dup(my_params, SWITCH_STACK_BOTTOM, "domain", domain_name);
params = my_params;
}
}
if (group_name) {
- switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "group_name", group_name);
+ switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "group_name", group_name);
}
if (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 ((status = switch_xml_locate_domain(domain_name, params, root, domain)) != SWITCH_STATUS_SUCCESS) {
params = my_params;
}
- switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "key", key);
+ switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "key", key);
if (user_name) {
- switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "user", user_name);
+ switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "user", user_name);
}
if (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 (ip) {
- switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "ip", ip);
+ switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "ip", ip);
}
if ((status = switch_xml_locate_domain(domain_name, params, root, domain)) != SWITCH_STATUS_SUCCESS) {
*secondary++ = '\0';
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING,
"language %s not found. trying %s by removing %s\n", str_language, str_language_dup, secondary);
- switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "lang", str_language_dup);
+ switch_event_add_header_string_dup(params, SWITCH_STACK_BOTTOM, "lang", str_language_dup);
status = switch_xml_locate_language_ex(root, node, params, language, phrases, macros, str_language_dup);
}
switch_safe_free(str_language_dup);
const char *key = switch_xml_attr_soft(node, keyname);
const char *value = switch_xml_attr_soft(node, valuename);
if (key && value) {
- switch_event_add_header_string(*event, SWITCH_STACK_BOTTOM, key, value);
+ switch_event_add_header_string_dup(*event, SWITCH_STACK_BOTTOM, key, value);
count++;
}
}
switch_event_t* event;
if (switch_event_create(&event, SWITCH_EVENT_CHANNEL_CALLSTATE) == SWITCH_STATUS_SUCCESS) {
- switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Channel-Call-State-Number[0]", "1");
+ switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Channel-Call-State-Number[0]", "1");
switch_event_fire(&event);
}
if (switch_event_create(&event, SWITCH_EVENT_CHANNEL_CALLSTATE) == SWITCH_STATUS_SUCCESS) {
- switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Channel-Call-State-Number[5000]", "12");
+ switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, "Channel-Call-State-Number[5000]", "12");
switch_event_fire(&event);
}
}
#ifndef BENCHMARK
for ( x = 0; x < loops; x++) {
- status = switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, index[x], index[x]);
+ status = switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, index[x], index[x]);
fst_xcheck(status == SWITCH_STATUS_SUCCESS, "Failed to add header to event");
}
#else
small_start_ts = switch_time_now();
for ( x = 0; x < loops; x++) {
- if ( switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, index[x], index[x]) != SWITCH_STATUS_SUCCESS) {
+ if ( switch_event_add_header_string_dup(event, SWITCH_STACK_BOTTOM, index[x], index[x]) != SWITCH_STATUS_SUCCESS) {
fst_fail("Failed to add header to event");
}
}
// record READ stream only- should be complete silence which will trigger the initial timeout.
// Min seconds set to 2, which will cause the recording to be discarded.
// Expect the record_start_test_pass and record_stop_test_pass variables set to true
- switch_event_add_header_string(rec_vars, SWITCH_STACK_BOTTOM, "execute_on_record_start", "set record_start_test_pass=true");
- switch_event_add_header_string(rec_vars, SWITCH_STACK_BOTTOM, "execute_on_record_stop", "set record_stop_test_pass=true");
- switch_event_add_header_string(rec_vars, SWITCH_STACK_BOTTOM, SWITCH_RECORD_POST_PROCESS_EXEC_APP_VARIABLE, "set record_post_process_test_pass=true");
- switch_event_add_header_string(rec_vars, SWITCH_STACK_BOTTOM, "RECORD_READ_ONLY", "true");
- switch_event_add_header_string(rec_vars, SWITCH_STACK_BOTTOM, "RECORD_INITIAL_TIMEOUT_MS", "500");
- switch_event_add_header_string(rec_vars, SWITCH_STACK_BOTTOM, "RECORD_MIN_SEC", "2");
+ switch_event_add_header_string_dup(rec_vars, SWITCH_STACK_BOTTOM, "execute_on_record_start", "set record_start_test_pass=true");
+ switch_event_add_header_string_dup(rec_vars, SWITCH_STACK_BOTTOM, "execute_on_record_stop", "set record_stop_test_pass=true");
+ switch_event_add_header_string_dup(rec_vars, SWITCH_STACK_BOTTOM, SWITCH_RECORD_POST_PROCESS_EXEC_APP_VARIABLE, "set record_post_process_test_pass=true");
+ switch_event_add_header_string_dup(rec_vars, SWITCH_STACK_BOTTOM, "RECORD_READ_ONLY", "true");
+ switch_event_add_header_string_dup(rec_vars, SWITCH_STACK_BOTTOM, "RECORD_INITIAL_TIMEOUT_MS", "500");
+ switch_event_add_header_string_dup(rec_vars, SWITCH_STACK_BOTTOM, "RECORD_MIN_SEC", "2");
status = switch_ivr_record_session_event(fst_session, record_filename, 0, NULL, rec_vars);
fst_xcheck(status == SWITCH_STATUS_SUCCESS, "Expect switch_ivr_record_session() to return SWITCH_STATUS_SUCCESS");
switch_call_cause_t cause;
switch_event_t *ovars = NULL;
switch_event_create(&ovars, SWITCH_EVENT_CLONE);
- switch_event_add_header_string(ovars, SWITCH_STACK_BOTTOM, "origination_external_id", "zzzz");
+ switch_event_add_header_string_dup(ovars, SWITCH_STACK_BOTTOM, "origination_external_id", "zzzz");
status = switch_ivr_originate(NULL, &session, &cause, "null/+15553334444", 2, NULL, NULL, NULL, NULL, ovars, SOF_NONE, NULL, NULL);
fst_requires(session);
fst_check(status == SWITCH_STATUS_SUCCESS);
fst_requires(rec_vars);
switch_event_bind("record_file_event", SWITCH_EVENT_RECORD_START, SWITCH_EVENT_SUBCLASS_ANY, on_record_start, NULL);
switch_event_bind("record_file_event", SWITCH_EVENT_RECORD_STOP, SWITCH_EVENT_SUBCLASS_ANY, on_record_stop, NULL);
- switch_event_add_header_string(rec_vars, SWITCH_STACK_BOTTOM, "execute_on_record_start", "set record_start_test_pass=true");
- switch_event_add_header_string(rec_vars, SWITCH_STACK_BOTTOM, "execute_on_record_stop", "set record_stop_test_pass=true");
- switch_event_add_header_string(rec_vars, SWITCH_STACK_BOTTOM, "ID", "foo");
+ switch_event_add_header_string_dup(rec_vars, SWITCH_STACK_BOTTOM, "execute_on_record_start", "set record_start_test_pass=true");
+ switch_event_add_header_string_dup(rec_vars, SWITCH_STACK_BOTTOM, "execute_on_record_stop", "set record_stop_test_pass=true");
+ switch_event_add_header_string_dup(rec_vars, SWITCH_STACK_BOTTOM, "ID", "foo");
switch_ivr_displace_session(fst_session, "file_string://silence_stream://500,0!tone_stream://%%(2000,0,350,440)", 0, "r");
status = switch_ivr_record_file_event(fst_session, NULL, record_filename, NULL, 4, rec_vars);
fst_check(status == SWITCH_STATUS_SUCCESS);
switch_event_bind("record_file_event", SWITCH_EVENT_RECORD_STOP, SWITCH_EVENT_SUBCLASS_ANY, on_record_stop, NULL);
switch_channel_set_variable(fst_channel, "execute_on_record_start_1", "set record_start_test_pass=true");
switch_channel_set_variable(fst_channel, "execute_on_record_stop_1", "set record_stop_test_pass=true");
- switch_event_add_header_string(rec_vars, SWITCH_STACK_BOTTOM, "ID", "foo");
+ switch_event_add_header_string_dup(rec_vars, SWITCH_STACK_BOTTOM, "ID", "foo");
switch_ivr_displace_session(fst_session, "file_string://silence_stream://500,0!tone_stream://%%(2000,0,350,440)", 0, "r");
status = switch_ivr_record_file_event(fst_session, NULL, record_filename, NULL, 4, rec_vars);
fst_check(status == SWITCH_STATUS_SUCCESS);