From 8d0c81103e0382d3d898036b5f4f4777cab34847 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Thu, 24 Jun 2010 17:28:20 -0500 Subject: [PATCH] add call_uuid var --- src/switch_ivr_originate.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/switch_ivr_originate.c b/src/switch_ivr_originate.c index c89013eb84..03dbd4dd25 100644 --- a/src/switch_ivr_originate.c +++ b/src/switch_ivr_originate.c @@ -1922,6 +1922,27 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_originate(switch_core_session_t *sess } } + if (var_event) { + switch_uuid_t uuid; + char uuid_str[SWITCH_UUID_FORMATTED_LENGTH + 1]; + char *use_uuid; + + if (caller_channel) { + use_uuid = switch_core_session_get_uuid(session); + } else { + switch_uuid_get(&uuid); + switch_uuid_format(uuid_str, &uuid); + use_uuid = uuid_str; + } + + switch_event_del_header(var_event, "call_uuid"); + switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, "call_uuid", use_uuid); + + if (caller_channel) { + switch_channel_set_variable(caller_channel, "call_uuid", use_uuid); + } + } + /* A comma (,) separated list of variable names that should ne propagated from originator to originatee */ if (caller_channel && (export_vars = switch_channel_get_variable(caller_channel, SWITCH_EXPORT_VARS_VARIABLE))) { char *cptmp = switch_core_session_strdup(session, export_vars);