new_profile->destination_number = switch_core_strdup(new_profile->pool, extension);
new_profile->rdnis = switch_core_strdup(new_profile->pool, profile->destination_number);
+ if (switch_channel_direction(channel) == SWITCH_CALL_DIRECTION_OUTBOUND) {
+ if (profile->callee_id_name) {
+ switch_channel_set_variable(channel, "pre_transfer_caller_id_name", new_profile->caller_id_name);
+ new_profile->caller_id_name = switch_core_strdup(new_profile->pool, profile->callee_id_name);
+ profile->callee_id_name = NULL;
+ }
+
+ if (profile->callee_id_number) {
+ switch_channel_set_variable(channel, "pre_transfer_caller_id_number", new_profile->caller_id_number);
+ new_profile->caller_id_number = switch_core_strdup(new_profile->pool, profile->callee_id_number);
+ profile->callee_id_number = NULL;
+ }
+ }
+
+
switch_channel_set_variable(channel, SWITCH_SIGNAL_BOND_VARIABLE, NULL);
/* If HANGUP_AFTER_BRIDGE is set to 'true', SWITCH_SIGNAL_BRIDGE_VARIABLE
caller_channel = switch_core_session_get_channel(session);
caller_profile = switch_channel_get_caller_profile(caller_channel);
- if (switch_channel_direction(caller_channel) == SWITCH_CALL_DIRECTION_OUTBOUND) {
+ // if (switch_channel_direction(caller_channel) == SWITCH_CALL_DIRECTION_OUTBOUND) {
+ if (!switch_channel_test_flag(caller_channel, CF_BRIDGE_ORIGINATOR)) {
name = caller_profile->callee_id_name;
number = caller_profile->callee_id_number;