]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
put transfer_source in a variable too
authorAnthony Minessale <anthm@freeswitch.org>
Thu, 8 Dec 2011 23:33:31 +0000 (17:33 -0600)
committerAnthony Minessale <anthm@freeswitch.org>
Thu, 8 Dec 2011 23:33:31 +0000 (17:33 -0600)
src/include/switch_types.h
src/mod/endpoints/mod_sofia/sofia.c
src/switch_ivr.c
src/switch_ivr_bridge.c

index d88d0539f79020f994737116e68d6b27fda67723..351de2213ff76d92a0f7e7a7b71f1f295d98a9f3 100644 (file)
@@ -132,6 +132,7 @@ SWITCH_BEGIN_EXTERN_C
 #define SWITCH_CURRENT_APPLICATION_VARIABLE "current_application"
 #define SWITCH_PROTO_SPECIFIC_HANGUP_CAUSE_VARIABLE "proto_specific_hangup_cause"
 #define SWITCH_TRANSFER_HISTORY_VARIABLE "transfer_history"
+#define SWITCH_TRANSFER_SOURCE_VARIABLE "transfer_source"
 
 #define SWITCH_CHANNEL_EXECUTE_ON_ANSWER_VARIABLE "execute_on_answer"
 #define SWITCH_CHANNEL_EXECUTE_ON_PRE_ANSWER_VARIABLE "execute_on_pre_answer"
index 20b48f77b44060a888becd03c3c162144b21336b..c71fedab5c62272e28949061a20516e712afe7ff 100644 (file)
@@ -5267,7 +5267,8 @@ static void mark_transfer_record(switch_core_session_t *session, const char *br_
                                                                                                  switch_channel_get_variable(br_a_channel, dvar2));
                
                switch_channel_add_variable_var_check(br_a_channel, SWITCH_TRANSFER_HISTORY_VARIABLE, cp->transfer_source, SWITCH_FALSE, SWITCH_STACK_PUSH);
-               
+               switch_channel_set_variable(br_a_channel, SWITCH_TRANSFER_SOURCE_VARIABLE, cp->transfer_source);
+
                switch_core_session_rwunlock(br_a_session);
        }
                                                                                
index 4622f1f684d2a9a39bb8e45f4e4db57be537361c..1429a108f3b223d1770c557ffe3fc4ff546bb207 100644 (file)
@@ -1716,7 +1716,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_session_transfer(switch_core_session_
                                                                                                                   (long) switch_epoch_time_now(NULL), new_profile->uuid_str,
                                                                                                                   extension, use_context, use_dialplan);
                switch_channel_add_variable_var_check(channel, SWITCH_TRANSFER_HISTORY_VARIABLE, new_profile->transfer_source, SWITCH_FALSE, SWITCH_STACK_PUSH);
-               
+               switch_channel_set_variable(channel, SWITCH_TRANSFER_SOURCE_VARIABLE, new_profile->transfer_source);
                return SWITCH_STATUS_SUCCESS;
        }
 
index bd245d2373faf094f1bdbe833a41ed49be406aab..6fd926d6c5cb5495758c20c2d88db3eafd9c3f99 100644 (file)
@@ -1586,14 +1586,15 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_uuid_bridge(const char *originator_uu
                                                                                                                                 switch_core_session_get_uuid(originatee_session));
                        switch_channel_add_variable_var_check(originator_channel, SWITCH_TRANSFER_HISTORY_VARIABLE, 
                                                                                                  originator_cp->transfer_source, SWITCH_FALSE, SWITCH_STACK_PUSH);
+                       switch_channel_set_variable(originator_channel, SWITCH_TRANSFER_SOURCE_VARIABLE, originator_cp->transfer_source);
 
-
+                       
                        originatee_cp->transfer_source = switch_core_sprintf(originatee_cp->pool,
                                                                                                                                 "%ld:%s:uuid_br:%s", (long)switch_epoch_time_now(NULL), originatee_cp->uuid_str, 
                                                                                                                                 switch_core_session_get_uuid(originator_session));
                        switch_channel_add_variable_var_check(originatee_channel, SWITCH_TRANSFER_HISTORY_VARIABLE, 
                                                                                                  originatee_cp->transfer_source, SWITCH_FALSE, SWITCH_STACK_PUSH);
-
+                       switch_channel_set_variable(originatee_channel, SWITCH_TRANSFER_SOURCE_VARIABLE, originatee_cp->transfer_source);
 
                        /* change the states and let the chips fall where they may */