diff --git a/src/switch_ivr_originate.c b/src/switch_ivr_originate.c index a8b9ddfb44..e3944e7cb9 100644 --- a/src/switch_ivr_originate.c +++ b/src/switch_ivr_originate.c @@ -1670,6 +1670,16 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_enterprise_originate(switch_core_sess getcause = 0; status = hp->status; *bleg = hp->bleg; + if (*bleg) { + switch_channel_t *bchan = switch_core_session_get_channel(*bleg); + switch_caller_profile_t *cloned_profile, *peer_profile = switch_channel_get_caller_profile(switch_core_session_get_channel(*bleg)); + if (peer_profile && (cloned_profile = switch_caller_profile_clone(session, peer_profile))) { + switch_channel_set_originatee_caller_profile(channel, cloned_profile); + } + if (bchan && cp && (cloned_profile = switch_caller_profile_clone(*bleg, cp))) { + switch_channel_set_originator_caller_profile(bchan, cloned_profile); + } + } switch_mutex_unlock(hp->mutex); switch_thread_join(&tstatus, hp->thread); switch_event_destroy(&hp->ovars);