diff --git a/src/switch_caller.c b/src/switch_caller.c index ca6be0b7ac..fd81fe9918 100644 --- a/src/switch_caller.c +++ b/src/switch_caller.c @@ -136,15 +136,6 @@ SWITCH_DECLARE(switch_caller_profile_t *) switch_caller_profile_dup(switch_memor profile->flags = tocopy->flags; profile->pool = pool; profile->direction = tocopy->direction; - if ((profile->times = tocopy->times)) { - profile->times->answered = 0; - profile->times->progress = 0; - profile->times->progress_media = 0; - profile->times->created = switch_time_now(); - profile->times->profile_created = profile->times->created; - profile->times->hungup = 0; - profile->times->transferred = 0; - } if (tocopy->soft) { profile_node_t *pn; diff --git a/src/switch_core_session.c b/src/switch_core_session.c index 40a25627f6..76a89b1fc2 100644 --- a/src/switch_core_session.c +++ b/src/switch_core_session.c @@ -2321,6 +2321,8 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_execute_exten(switch_core_se new_profile = switch_caller_profile_clone(session, profile); new_profile->destination_number = switch_core_strdup(new_profile->pool, exten); + new_profile->times = profile->times; + if (!zstr(dialplan)) { new_profile->dialplan = switch_core_strdup(new_profile->pool, dialplan);